Open navClose nav

The Forestry Blog

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

Using JSON Configuration With VuePress

Here at Forestry, we think VuePress is pretty cool. When it came time to set our sights on supporting SSGs beyond Hugo and Jekyll, we selected VuePress as our guinea pig. Our adoption of VuePress has helped to highlight the differences among the variety of Static Site Generators, and move us in a direction that will enable users of SSGs beyond Hugo and Jekyll to take advantage of Forestry’s content manager.

Introducing Custom Build Commands

We’re excited to announce Custom Build Commands! You can now decide what build command should be run for your project. Until now Forestry chose the build command that needed to be run for you, which worked fine for most cases. However, this meant that projects that needed a custom build process were unable to use Forestry’s deployment tools and (in some cases) previews. Picking your own commands enables you to really choose your own workflow and give you the flexibility you need.

Creating Lambda@Edge and Route 53 Resources with CloudFormation

Previously, I showed you how to automatically provision AWS resources with CloudFormation. CloudFormation provides a concise, declarative syntax for configuring a “stack” of AWS resources. Given the sizable catalog of services provided by AWS, and the need to connect services together for most use cases, being able to declare a stack of connected services all together in a single configuration file will help you keep track of your project’s infrastructure and reduce the likelihood of misconfiguration.

Custom Configuration for Data Files 📊

We’re excited to announce custom configuration for data files. A little over two months ago we made it possible to customize the sidebar for your content files (i.e. .md and .html). With today’s update we expand that capability to data files. You can now use the sidebar settings to import other file formats (e.g. .json, .toml, .yml) and choose how they are displayed. All new sites will have this feature enabled by default.

Automate Your Static Hosting Environment With AWS CloudFormation

I love automation. If you’ve been following this blog, you’ll know I’ve written a few times about using continuous integration to automate the deployment of your software. Why stop at deployment? Can we use automation to improve our infrastructure? The answer, unsurprisingly, is yes (this would be a pretty short article otherwise.) There are many different tools out there that can be used to automate the provisioning of hosting infrastructure.

Block Labels 🔖, Read-Only Docs 📝😍 and More

Last week we added a bunch of features to make your life a little easier! You are shaping Forestry every day with your feedback and this is exactly what happened with this improvement. You made us aware that Blocks can get hard to navigate when you add the same Block multiple times. To make this easier you can now add a display_field to label your Blocks. We believe the best way to explain intricate settings or features is documentation right at your fingertips.

Create In-App Documentation For Content Editors

Say you’re writing some code and you hit a road block: what was the name of that method again? Which parameters do I need to send in this API request? What does this error message mean? At times like this, developers reach for the documentation. Ideally, this documentation is close at hand in order to minimize the interruption to your coding flow. Forestry’s content editor plays an interesting role in the creation of static sites.

Migrating to Key-based Authentication

Head’s up! We’re making some changes to how Forestry authenticates with your Git repos. Today, we rolled out an update that uses persistent SSH keys to interact with your repo. Previously, we were relying on OAuth tokens to gain access as needed, but some users were encountering problems with this method as tokens would intermittently expire before they could be refreshed. Using long-lived SSH credentials is intended to solve this problem.

In Search of the Best Continuous Deployment Service

We’ve written before about the advantages of automated deployment, particularly for static sites. Continuous Integration and Continuous Deployment are a ubiquitous strategy for managing the release of software. There are several options out there for running your CI/CD pipelines, with their own strengths and weaknesses. Which one should you use? In this article, we will look at 5 different services that you can use to build, test, and deploy your code.

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.