Our website is public display of our skills and self description of the company at the same time and should be up to date - concerning the content as well as the used technology. To reach that goal the website should be easy to update (so somebody will actually do it) and not need mandatory security updates to run safe.

The solution to that problem is not new, but works quite well: Jekyll for static website generation. We have no dynamic and user generated content, so a static website will suffice. It also has the big advantage to not need any security updates, because there is no running code generating the website.

How do we update the page?

Every article is written in markdown or is generated using data from YAML-files. These notations are very easy and well structured, so there is almost no learning curve and you can find what you are looking for quite fast.

To preview the current modification you can use RVM to get the correct version of ruby and install the dependencies for jekyll and the project itself. Some text editors already have a markdown preview built in, so editing and previewing is easy without installing the website locally at all.

When all changes are made, you can simply publish the new version via git push to the right branch. A Jenkins buildserver will automatically start processing the changes and deploy the new version to the webspace, if all tests are positive.

Other technologies

We only use normalize.css for the frontend and have made the decision to avoid any other javascript/CSS Frameworks. Javascript has grown more standardized in the last years and is safe to use cross browser (with current browsers). When using CSS frameworks we noticed that you mostly use very little of the supplied code, so for a small website like ours most of the framework would be useless ballast. Our main goal was to have a blazing fast website, so it will be fun to visit.