Pages with a Front Matter header will first be precompiled as using Pebble.

See Also: Edit this page

Typically files are processed as a compiler of their file extension. For example, a file with the .md extension will be processed as Markdown.

But before it is processed as Markdown, if it has a Front Matter header, it will be precompiled as Pebble. You can use the full power of Pebble templates to add additional dynamic content to otherwise static content.


# {{ page.title }} --> # Custom Page Title

Any variables set in the Front Matter may be accessed as variables in Pebble.

title: Custom Page Title
foo: 'bar'

# {{ foo }} --> # bar

There are a number of predefined variables that are available on every page:

  • page: refers to the current Page object
  • theme: refers to the theme rendering the current page
  • site: refers contains basic info about your Orchid site
  • data: all custom data loaded from data.yml and data/ files

If you need to use a Front Matter header but don't want to precompile that page, you can set precompile: false in the Front Matter:

precompile: false

# {{ page.title }} --> # {{ page.title }}

Alternatively, you may choose to use another language as your precompiler language of choice. This may be done individually by a single page by setting precompileAs to the desired language extension in its Front Matter, or for all pages by setting the defaultPrecompilerExtension option in your config.yml:

precompileAs: 'html'

# {{ page.title }} --> # {{ page.title }}

# config.yml
    defaultPrecompilerExtension: 'html'