Before I started at Editorially, I was a big believer in Object Oriented CSS. It was my preferred method for building out a site. I have to say that I still really like a lot of the components, but now I also see that there are valid reasons for coding things a bit differently as well.
Last fall we launched STET, an online journal that relies heavily on custom art and custom page designs for each post. It also is the place where we post news and information about Editorially. Keeping all of this in mind, I needed to build out a template system that would have support for base styles in place for regular posts and also give enough hooks in the markup for custom CSS for the articles.
With all of this in mind, I built out the basic designs as flat files and then translated them into the templates in Siteleaf, our CMS. After the initial phase, it was really about working with Jason to make sure we had all the hooks needed for him to be able to move around the header information appropriately based on the artwork used in each piece.
In working through the designs and figuring out what would work, I will admit, I started to let go of complete modularity. The more I work on a site such as STET, where design may need to trump code, the more I am OK with letting go of completely modularizing everything. Not every site is about getting the CSS to be as small and modular as possible. Yes, it is important to be performant, but sometimes, the site is about pushing boundaries and being beautiful. With STET I learned a lot about how to support a great designer with a set of templates that some may see the markup and scoff; but it allows completely interesting designs to launch on an almost weekly basis without changing the markup at all.
So while systems are a good thing, sometimes systems should be broken. And if you are breaking out of one, knowing why is the key. With STET it is about flexibility with design from post to post. But sometimes it may be for other reasons and that’s OK. As a colleague and friend once told me, “as long as you are thinking about the code you are writing, that’s what matters.”
Thanks to Jason Santa Maria for giving feedback on this piece.