PieCrust

Site configuration

Your website can be configured with the _content/config.yml file. You write it using the YAML syntax, like this:

site:
    title: My new fancy website
    author: John Doe
    pretty_urls: true    

The “site” section is by convention for, well, the site’s settings. Some of them are used by PieCrust during processing. Other sections would be for plugins like formatters or template engines. You can even specify settings in custom sections of your own, since the whole configuration will be exposed to your pages and templates.

site:
    title: My new fancy website
    author: John Doe

something:
    key: value
    key2:
        - this is
        - how you
        - specify arrays

Reference

Here’s a reference of the site configuration settings used by PieCrust. They must be all in the site section.

  • pretty_urls: Enables URL rewriting for prettier looking page addresses.

  • posts_per_page: The number of posts to return for displaying on a single page. See the pagination documentation. The default value is 5 posts.

  • posts_fs: The file system organization for the blog posts. Should be flat, shallow or hierarchy. See how to create a blog post.

  • post_url: The URL pattern for blog post addresses. The default pattern is %year%/%month%/%day%/%slug%. It’s recommended to use all of the pattern captures (%year%, %month%, %day% and %slug%). If you don’t (e.g you may want to use a Wordpress-like pattern: %year%/%month%/%slug%), PieCrust will do its best to find the correct article — assuming there are no ambiguities like 2 articles with the same slug!

  • tag_url: The URL pattern for the pages listing blog posts tagged with a given tag. The default pattern is tag/%tag%.

  • category_url: The URL pattern for the pages listing blog posts belonging to a given category. The default pattern is %category%.

  • date_format: The date format to use for exposing formatted blog post dates to the template engine. The default format is F j, Y.

  • enable_gzip: Enables gzip compression of rendered pages if the client browser supports it.

  • cache_time: Specifies the client cache time to specify in the HTTP headers. See caching for more information. The default value is 28800 (8 hours).

  • default_format: Specifies the default text formatter to use. Markdown is the default formatter.

  • default_template_engine: Specifies what template engine to use. Twig is the default engine.

  • templates_dirs: Specifies additional template directories besides _content/templates. Can either be a single path, or an array of paths. You can specify paths relative to the site’s root path.

  • plugins_dirs: Specifies additional plugins directories besides _content/plugins. Can either be a single path, or an array of paths. You can specify paths relative to the site’s root path.

  • enable_debug_info: If you’re using PieCrust in dynamic CMS mode, visitors could use the debugging features to expose potentially private information. You can disable those features on the production server to prevent that.

  • auto_formats: Specifies a list that maps an extension to a format name. For example to use different file extensions for pages and posts, like .md for Markdown content or .textile for Textile content.

Fork me on GitHub