Jekyll and Forestry Sitting in Tree

written by nikki

Forest

There is life outside of WordPress — shocking, I know. While WordPress powers millions of sites and we use it almost exclusively at Manoverboard,  there is simply no perfect way to build a site. (In every situation, it is important to assess requirements and goals and then to determine the most appropriate technical solution.)

WordPress was and always will be a blogging platform. It started out that way and it continues to do blogging well. And developers have pulled, twisted and turned WordPress into a more robust system that today is a mega platform powering a whopping 30% of the Internet. But what if WordPress someday goes away? Will it take a third of the internet with it?

We decided to see what other tools are out there. Specifically, we looked for solutions that do not rely on a specific Content Management System to function (i.e. WordPress), that does not have bloated plugins and that does not make redundant database calls.

Enter Jekyll and Forestry. After much research, I tried both out and was pleasantly surprised by the results.

Jekyll

What is it? Jekyll is what is known as a static site generator. It is powered by Ruby and built by GitHub. I managed to sit down and learn how to build a basic site using Jekyll and incorporate it into a CMS (Forestry) within a few days. Surprisingly, Jekyll was very easy to learn. It took just a couple of weeks to get the hang of it and to fix all the mistakes I had made along the way. When I came back to Jekyll a month later, I ironed out the wrinkles and learned how it performs.

In a nutshell, Jekyll takes Liquid code within HTML templates and uses markdown files to populate it. It then bundles all of that up and shoves it into a single folder. Inside that folder is the actual website itself — just like back in the good old days when websites were static; you can place that single folder on a server and present the site to the world.

Why it’s so cool

The static files that Jekyll generates are in essence a complete website that requires no additional build time or database calls. In turn, a site is much faster and lighter. Because it uses less energy, it’s also better for the environment and for everybody using it.

Jekyll is also inherently more secure since there is no database that can be hacked. A site built with Jekyll requires nearly zero minutes of maintenance per month (Ruby Gem updates are as complicated as it gets). Shall I go on?

I find it to be refreshing. It’s simple, minimalistic, and takes everything unnecessary in building a site out of the equation. If you’re interested in learning more about developing with Jekyll, this is a good place to start.

Forestry

Then there is Forestry, a full-featured CMS that is more than just a pretty face. Built by developers in Prince Edward Island, Canada, Forestry takes code from a number of different static site generators (i.e. Jekyll) and offers up a graphical user interface (or GUI). This gives clients, writers, and non-developers the power to create content for a static site just like they would using something like WordPress.

Forestry merges the developer’s environment with the content creator’s content through GitHub. Front-end developers write the code and use a GitHub repository to store their primetime-ready code. Then, content creators log in via Forestry’s admin panel and they can make new pages and posts, or edit existing ones. After saving edits in Forestry, it pushes that content to a specified destination on the web, making it live.

Typical workflow

Here is how it generally works:

  1. The developer writes or updates code using Liquid
  2. The code gets pushed to the repository via commit
  3. Forestry sees the new commit and pulls it to the server
  4. The content creator writes or updates content (copy and images)
  5. Forestry sees the new content and syncs it with the repository and the server

Conclusion

I still have much to learn about static site generators and how they behave. But even with my current level of knowledge, I can attest that static sites are a highly viable way to build websites that require little maintenance — and use less energy to perform.

The end result is an incredibly fast, lean, and reliable site. It’s a no-muss-no-fuss way to build a small site when you want to keep things simple. And if simple’s not quite your style, static site generators can also churn out thousands of pages for a fully customized e-commerce site. Again, it all depends on the project and what end results are desired.

In this case, the final product was a site for our teammate Andrew Boardman. Jekyll combined with Forestry made it easy to build a custom static site.

As a member organization of 1% for the Planet, Manoverboard gives the equivalent of one percent of all revenues to select nonprofit partners that are benefiting the environment.

Manoverboard is a Certified B Corporation, which means that we meet ongoing, rigorous standards of social and environmental performance, accountability, and transparency.