Open navClose nav

The Forestry Blog

Welcome to the Forestry blog! Read up on news regarding our product and the JAMStack!

Keeping Content DRY: Data Relationships In Hugo

Don’t Repeat Yourself is the perennial mantra of the software developer. It doesn’t mean you should never do the same thing twice, but instead refers to having a single, authoritative source of truth for every piece of information used in your software. Don’t Repeat Yourself is frequently applied to code, where knowledge is susceptible to duplication through the copying and pasting of code blocks where an abstraction should be used instead.

VuePress Brings Your Documentation to Life

VuePress is a static site generator based on Vue JavaScript framework. With the first release appearing back in April and the current version being 0.14.1, VuePress is a young project that shows a lot of promise. VuePress has the flexibility to build any static site, but it particularly excels at working with documentation. In this article, I’ll show you how to adapt your docs to VuePress for documentation that survives on Github, but thrives on its own.

Support for VuePress [Beta]

VuePress support is here! 🎉🎉🎉 Support for Static Site Generators (SSGs), beyond Jekyll and Hugo, was on our roadmap for a while now. In fact, Jordan mentioned adding other SSGs to Forestry back when our first beta was leaked on Producthunt two years ago. Why did you make us wait? We love to create a great content management experience and make an app that is as easy-to-use for developers as it is for editors.

Creating a Multilingual Blog With Jekyll

Reaching an international audience means having international content. Having your content available in multiple languages is great for maximizing your potential audience. On top of that, ensuring your multilingual site’s content is easy to edit is especially important, to enable translators without development experience to work effectively and reduce the incidence of translation errors. In this post, I will explore how to set up a Jekyll site to support multiple languages, and use Forestry to provide an interface for creating translations.

Snippets, Custom Content Sections and More

I’m happy to announce some new features today! ☀️ Long awaited, our Snippets feature is finally here. Our Hugo users felt especially strong about using Hugo’s powerful Shortcodes feature in Forestry. You can now add HTML snippets to your Markdown Editor whether you’re using Hugo or Jekyll. Moreover, the team has continued to improve the sidebar. We added advanced configuration of content sections so you can control the structure of your content in Forestry.

Why We Created a Git-Backed Content Manager

Software developers have long used Version Control Systems for tracking changes to code. Any code project will benefit greatly from using version control, and any developer worth her salt should be wary of a codebase that does not use version control. Version control makes it easy to monitor changes to code, track down bugs, and manage releases. Forestry’s content manager is supported by Git, one of the most popular version control systems available today.

Creating a Form Builder With Formspree and Forestry Blocks

When we announced the Blocks feature, we touted it as a great way to create a page builder for your site. While this use case drove the development of Blocks, we knew there would be other interesting things that could be done with it. When I previously showed you how to integrate Snipcart with your Forestry site, I used Blocks to configure custom fields for Snipcart products. Today, I’m going to take that idea to a whole new level by using Blocks to create a full-fledged form builder that your website editors can use to create web forms.

Add Functionality to Your Hugo Site With Theme Components

Theme Components are a relatively new addition to Hugo, first appearing in the 0.42 release. When Hugo looks for certain files (such as data and layout files,) it will first look in the top level of your project, and then look in the subdirectory of themes/ that matches the theme you have set in config.toml. Previously, you could only specify a single theme in your config.toml file. The way theme components work is pretty simple: they allow you to specify an array of themes in config.

Harness the Power of Static Site Generators to Create Presentations

As a developer evangelist, I make a lot of presentations. Over the years, I’ve used a variety of different drag-and-drop tools to make slides including Powerpoint, Keynote and Google Docs. I’ve also used more developer-friendly frameworks like Reveal.js. For me, Reveal.js takes the cake. Reveal.js presentations are written in HTML, CSS and JavaScript. I can store the files in git and edit, version, and deploy them with a familiar, git-based workflow.

Customize Your Sidebar and Limit Front Matter Templates to Sections

Another week full of new features! While the marketing team launched the Blocks theme uBuild for Jekyll and Hugo, the development team kept working on new product features. Making the sidebar configurable was really high up on your wish list and this week we made it happen. Some of you also wanted to limit access to Front Matter Templates to specific content sections. You can do that now, too.