Frontmatter

Frontmatter is found at the starting of the file and can contain any field you wish.

Note : the frontmatter is completely optional, but do look at the defaults before skipping out of frontmatter all together.

Common fields and some defaults

Some common frontmatter fields are :

---
title: can be used to store the title of the site 
template: specifies what template to render a given markdown file using
link: specifies where this given page must be served
name:  Is related with the `link` tag
---

And some default values for important fields :

  • template: default is index.html
  • link: default is the name tag in frontmatter
  • name: default is the files name

An example frontmatter :

---
template: "blogs_templates/blog.html"
title: "Blog1-OwO"
link: "/blogs/blog1-OwO"
data_merge : "blog"
authors : [navin,navin_clone]
---

Accessing frontmatter variables

To access these variables in your templates you have to use {{frontmatter.x}}, something like this :

<html>
   <head>
      {% block head %}
      <title>{{ frontmatter.title.main }}</title>
      {% endblock head %}
   </head>
   ...
</html>

Forward index and reverse index

To be able to access frontmatter of other posts, you can use 2 types of indexes.

  • Forward indices : Simply collects all frontmatter under a key.
  • Reverse indices : Collects all frontmatters based on values present in frontmatter tags of the given file.

This is where sapling might get little confusing, refer forward index and reverse index sections.