Directory Structure
Overview of Orchid's directory structure
A typical Orchid site looks like this:
. / (resources root)
├── homepage.md
├── config.yml
├── config/
├── data.yml
├── data/
├── assets/
| ├── css/
| ├── js/
| └── media/
└── templates/
├── layouts/
├── pages/
├── components/
├── tags/
└── includes/
Directory Structure Overview
None of the files listed above are required. Orchid will work just fine if you choose to omit any (or all) of them.
The following is a high-level overview of the main directories and important files you'll need to know to customize your site.
config.yml
The config.yml
file is the main configuration for everything. In here you can configure plugins, themes, and certain
core Orchid functionality. It doesn't have to be YAML either, can be set up in any format you choose, such as TOML or
JSON. You can break up large config.yml
files by moving parts of it into individual files in config/
. Learn more
about this here.
data.yml
These data.yml
and data/
files will be loaded in exactly the same way as config.yml
, and then made available in
your templates through the data
variable.
homepage.md
This file is the landing page for your entire site. If it is not present, Orchid will create a basic landing page for you.
assets/
Put all the CSS, JS, images, or other assets you need here. Typically, CSS and SCSS files go in assets/css
and JS
files go in assets/js
, and these will only be coped to the built site if you actually use them. All files in
assets/media
are copied over by default, but you can set additional directories to always copy over if you need.
templates/
Unlike many static site generators, Orchid distributes its themes as plugins which fully encapsulate their templates and
assets. This means you do not need to copy a bunch of files into your project to use a theme. However, you may want to
customize of the default templates. Any templates in the templates/
directory will override those defined by the theme
or other plugins.
Content
Content in Orchid comes from plugins, such as OrchidPages, OrchidPosts, or OrchidWiki. Each plugin is free to use whatever directory structure it wants, so make sure to check out the documentation for your plugins to know where they get their content from.