Neverland can be build

Cranes In The Sky.Some of you dear readers might know about Neverland. The theme “engine” that drives a lot of our current KDE websites.

It is basically a design that is based on the Bootstrap CSS Framework, for which we write themes for the nearly dozen CMS we have. That includes phpBB, Drupal, Mediawiki, WordPress and others.

And that is the pain point basically. You have to maintain a lot of different theme files, all of them written in a different way, on top of a different CMS, with a different markup as well.

So we end up with one core css file on our CDN, and nearly a dozen customized css files for each of them. Plus the theme files.

That made me wonder if the situation could be improved with a custom build system. And after some fiddling – surprise surprise – i can proudly say i found a way to automate the build of each of those themes!

It – as of now – basically consists of a simple Makefile, which builds the CSS out of the less files, and fetches skeleton files to output theme files for each CMS, done with the help of node.js . The best is, not matter of what language the theme file is based on, it can be written.

It is extendable, every CMS gets its own build file. But the important thing is, you change your markup in one place, and each CMS theme can reflect that change.

Of course it is in a very early stage, and not finished, but once done maintenance mode goes down to just a single command and the server sync :P

That might sound quite boring for some, especially those who are used to build systems, but for me that is an exciting step forward. So exciting that i write such a blogpost.

Learn something new every day – Done for today 

 

 

3 thoughts on “Neverland can be build”

Leave a Reply

Your email address will not be published. Required fields are marked *

* Copy This Password *

* Type Or Paste Password Here *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>