The problem with jekyll and other static site generators

Akshat Jiwan Sharma, Mon Jun 24 2013

Those of you that don't know, static site generators are tools that make creating html pages easy. Here is how they usually work

  • They take in a template (the details for creating the templates vary from one generator to other) that serves a a layout of the common parts of your page. For instance in all of the pages of your website the header and footer parts are the same. So instead of adding them over and over you just create a template and reuse.
  • They take in the data to render on a template. The data is usually in the form of handwritten markdown files.
  • They combine the templates with the data and produce the html page as the output.

The simplicity of the process is very alluring. Recently I too was charmed by the ease of use of static site generators and moved my entire blog to jekyll hosted on github pages.

There are a few glaring faults with static site generators however. One of them is they don't manipulate your data well. Sure if you want a simple blog with some posts, ordered by their date of posting, you will do fine. But cracks start to show if you plan on doing anything more dynamic.

The other problem is with the actual management of the data. Since your posts are in flat files once you have written a considerable amount of blog posts all of that data arranged in files will start to look scary. Though there is an upside to that in easy backing up.

There is also the problem of editing the posts. Once again since all of the posts are in flat files that are sitting in your directory the only way to edit them if you have your computer with you. On top of that you are limited to native os based applications to edit your posts. Most people my self included prefer the convenience that the browser based editors offer.

  • Light weight - check
  • Portable - check
  • Built in spell check - check

To be fair this is not the fault of static site generators. They do their jobs well, which is making it easy for you to create raw html. This makes them extremely good tools for prototyping but I am not too sure about using them for bigger applications where it is necessary to expose the data in a variety of formats. A blog that is updated regularly can have a lot of posts in a short amount of time and it can become cumbersome to mange all that data.

I agree with the sentiment of static site generators though. That is blogging should not be hard. Hosting you blogging software should not be hard. Writing your posts should not be hard. I created specter to address these issues.

  • Specter runs on elastic search which you can host for free in minutes with qbox
  • The writing environment of specter is based on abstract a minimalist editor that I created before I even started work on specter. Because writing is the most important aspect of blogging.
  • Specter is easy to use. create , edit, delete handlers perform the bulk of operations on data. There are no sessions, just a static file that identifies the contributors of your blogs.

The core functionality and defaults of specter are small and highly extensible.This makes is very easy to build your own specter in tune with the philosophy of the platform that it is built upon


comments powered by Disqus