Content Management and an Open Source Contribution
For several years, we used Wordpress as a Content Management System for the Admail blog and all of the customer facing content, like pricing, FAQs, contact info and our home page. We made that move when it become untenable to keep our content in the same codebase as our application. Moving all of that content to Wordpress allowed us to develop system features independently from blog posts, which was helpful.
Over the years, we've made changes to how we deliver and develop our content, which made
it harder to manage Wordpress upgrades, template file updates, and syncing content across
development and production servers. Simply put, there were growing pains with Wordpress.
After trying a few other solutions, I settled on Jekyll as the new way
to manage our content. Jekyll is a small tool that looks at a folder full of articles and
generates a blog. It uses the Liquid templating language
and it was fairly simple to migrate our existing Wordpress templates over. And now, each
Admail developer or designer can work on their own copy and all of our content resides in the
same source control as our design and layout.
We made this change a few weeks back and we've had the best possible result: no one noticed a thing!
The entire transition was straightforward, until it came time to export all of the blog posts and
and content pages out of Wordpress. Jekyll has a tool for that purpose, but I found
it lacking. All of our content pages were dumped into the same folder as the blog posts,
without any real indication of what was what.
Since all of the Jekyll tools have their source code available on Github, I created a fork of
the code and, with a little time and effort, updated it to export Wordpress pages into separate
index files, located in the appropriate directory structures.
A few days later, I decided that the changes I made could be useful to others, so I
suggested my changes as a pull request to the Jekyll team. As of a few days ago, my changes have been
accepted and are in the latest builds of
the Jekyll-Import project. That's the joy of shared code!