Open navClose nav

Project Structure

In Jekyll, project structure and naming is very important. The way you structure and name your project directly affects the organization of your built static site.

For example, a Jekyll site may look like this:

├── _config.yml
├── _data/
|   └── members.yml
├── _drafts/
|   ├──
|   └──
├── _includes/
|   ├── footer.html
|   └── header.html
├── _layouts/
|   ├── default.html
|   └── post.html
├── _posts/
|   ├──
|   └──
├── _sass/
|   ├── _base.scss
|   └── _layout.scss
├── _site/
├── .jekyll-metadata
└── index.html

For a full breakdown on how this directory structure works, see the Jekyll docs.

How Forestry Parses Jekyll

Based on the example structure above, let’s explain how Forestry parses your site.


Forestry parses the root of your project for any .html files, as well your _drafts/ folder and your _posts/ folder for content and displays them under the “Content” section of the CMS.

Any .html files get added to the Page content type, and can be accessed from there in the CMS.

Content found in both the _drafts/ and _posts/ folder are parsed as a Post content type, and can be accessed from there in the CMS.

Any other folder following the _NAME/ format are parsed as additional content types, and a new section is added to the CMS.

For example, everything in the _sample/ folder will be added to the Sample content type and can be accessed from there in the CMS.

Data Files

Any files found inside the _data/ folder are parsed as data files and are displayed individually in the CMS under the “Data” section.

Front Matter Templates

Upon initial import, we will parse your site to generate Front Matter Templates. More details found in the Front Matter Templates doc.


Jekyll also supports Gem based themes. See the references below for more information.

Further Reading

Last updated on July 24, 2017