Mercurial > piecrust2
view docs/docs/99_reference/01_website-configuration.md @ 561:624559e72d3b
routes: Add better support for taxonomy slugification.
* The `site/slugify_mode` can change slugification mode for all sources in
one go.
* Add support for replacing spaces with dashes.
* Add tests.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 14 Aug 2015 22:46:06 -0700 |
parents | f43e911cecac |
children | fd8bd08d1fa8 |
line wrap: on
line source
--- title: "Appendix 1: Site Configuration Reference" short_title: Site Configuration --- This is a list of the settings handled by PieCrust in the website configuration file. ## Site section The following settings can be set under the `site` section. The default value is given between parenthesis: * `auto_formats` (special, see [formatting documentation][fmt]): Specifies a list that maps an extension to a format name. This makes it possible to use certain file extensions for pages, like `.md` for Markdown content or `.textile` for Textile content. * `blogs` (`['blog']`): When using the default content model, the list of blogs for which to create posts sources. * `cache_time` (`28800`): Specifies the client cache time, in seconds, to specify in the HTTP headers. * `category_url` (`%category%`): The URL pattern for the pages listing blog posts belonging to a given category. This is only meaningful if you use the default content model. * `date_format` (`%b %d, %Y`): The date format to use for exposing formatted blog post dates to the template engine. * `default_auto_format` (`md`): The default extension to use when creating pages with the `chef prepare` command. * `default_format` (`markdown`): Specifies the default text formatter to use. * `default_page_layout` (`default`): Specifies the default page layout when using the default content model. * `default_post_layout` (`post`): Specifies the default blog post layout when using the default content model. * `default_template_engine` (`jinja`): Specifies what template engine to use. * `enable_debug_info` (`true`): 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. * `enable_gzip` (`true`): Enables gzip compression of rendered pages if the client browser supports it. * `pagination_suffix` (`/%num%`): The suffix to use for sub-pages, i.e. additional pages that are created when pagination is used. It must start with a slash, and use the `%num%` placeholder. * `posts_fs` (`flat`): The file system organization for the blog posts. Should be `flat`, `shallow` or `hierarchy`, although other types exist. This is only meaningful if you use the default content model. * `posts_per_page` (`5`): The number of posts to return for displaying on a single page. This is only meaningful if you use the default content model. * `post_url` (`%year%/%month%/%day%/%slug%`): The URL pattern for blog posts. You don’t have to use all of the pattern captures (`%year%`, `%month%`, `%day%` and `%slug%`), but you have to at least use `%slug%`. This is only meaningful if you use the default content model. * `pretty_urls` (`false`): Tells PieCrust to use URLs without a `.html` file extension. * `root`: The root URL of the website. It defaults to `/`, which should be what you want in most cases. It will be prepended to page slugs by PieCrust in several places, like with the URL functions. * `routes` (special, see [content model][cm]): Defines how URLs are parsed and generated for this site. * `sources` (special, see [content model][cm]): Defines the page sources that define where the site's contents are located. * `tag_url` (`tag/%tag%`): The URL pattern for the pages listing blog posts tagged with a given tag. This is only meaningful if you use the default content model. * `taxonomies` (special, see [content model][cm]): Defines the taxonomies usable by pages in this site. * `templates_dirs` (empty): Specifies additional template directories besides `templates`. It can either be a single path, or an array of paths. Paths are relative to the root directory. If the default path (`templates`) doesn't exist, it is simply ignored. * `trailing_slash` (`false`): If true, and `pretty_urls` is also true, PieCrust will generate links to other pages with a trailing slash, thus preventing redirection by the web server. * `use_default_content` (`true`): If true, the default content model (_i.e._ pages, posts, and tags and categories as taxonomies) will be always appended to whatever custom sources and taxonomies are defined by the user. By setting this to `false`, PieCrust starts from scratch, with no content sources whatsoever. See the documentation on the [content model][cm]. [fmt]: {{docurl('content/formatters')}} [cm]: {{docurl('content-model')}} ## Baker The following settings are under the `baker` section, and are used by the `chef bake` command: * `assets_dirs` (`assets`): The name(s) of the directory(ies) on which to run the built-in asset pipeline. * `force` (`[]`): Patterns to use for always forcing re-processing of some assets with the built-in asset pipeline. * `ignore` (`[]`): Patterns to use for ignoring certain assets with the built-in asset pipeline. Patterns are either glob-like (_i.e._ using wildcards) or regex-like (when the pattern starts and ends with a slash). Some patterns will always be added to the list: `_cache`, `_counter`, `theme_info.yml`, `.DS_Store`, `Thumbs.db`, `.git*`, `.hg*`, and `.svn`. * `is_baking` (`false`): This setting is read-only, and will be set to true while baking the website (_i.e._ while the `chef bake` command is running). This is useful for generating things only when baking the website for publishing, and not while previewing (but see the `server/is_serving` setting too). * `workers` (`4`): The number of threads to run for baking. ## Server The following settings are under the `server` section, and are used by the `chef serve` command: * `is_serving` (`false`): This setting is read-only, and will be set to true while previewing the webste (_i.e._ while the `chef serve` command is running and the server is generating a page). This is useful for generating things only for preview purposes. ## Template engines ### Jinja Settings for the Jinja template engine are under the `jinja` section: * `auto_escape` (`true`): Turns on auto-escaping of text for safer HTML output. ## Formatters ### Markdown Settings for the Markdown formatter are under the `markdown` section: * `extensions` (`[]`): The list of [Markdown extensions][mdext] to enable. [mdext]: https://pythonhosted.org/Markdown/extensions/index.html ### Smartypants Settings for the Smartypants formatter are under the `smartypants` section: * `enable` (`false`): Enables Smartypants on any formatter that outputs HTML. ## Asset processors ### CleanCSS Settings for the CleanCSS processor are under the `cleancss` section: * `bin` (`cleancss`): The path to the CleanCSS executable. By default, PieCrust assumes it will be in your `PATH` environment variable. * `options` (`--skip-rebase`): Custom options and arguments to pass to the CleanCSS executable. ### Compass Settings for the Compass processor are under the `compass` section: * `bin` (`compass`): The path to the Compass executable. By default, PieCrust assumes it will be in your `PATH` environment variable. * `config_path` (`config.rb`): The path to the Compass project's configuration file, relative to the PieCrust website's root directory. * `enable` (`false`): Enables Compass processing for this website. This means that the standalone Scss/Sass processor will be disabled and replaced by the Compass processor. * `frameworks` (empty): A list of Compass frameworks to enable for this website, either as a YAML list, or just comma-separated. * `options` (empty): Custom options and arguments to pass to the Compass executable. ### LessC Settings for the Less CSS processor are under the `less` section: * `bin` (`lessc`): The path to the Less compiler. By default, PieCrust assumes it will be in your `PATH` environment variable. * `options` (`--compress`): Custom options and arguments to pass to the Less compiler. ### Sass Settings for the Scss/Sass CSS processor are under the `sass` section: * `bin` (`scss`): The path to the Sass compiler. By default, PieCrust assumes it will be in your `PATH` environment variable. * `load_paths` (empty): A list of include paths to pass to the Sass compiler. * `style` (`nested`): The output CSS style to use. * `options` (empty): Custom options and arguments to pass to the Sass compiler. ### UglifyJS Settings for the UglifyJS processor are under the `uglifyjs` section: * `bin` (`uglifyjs`): The path to the UglifyJS executable. By default, PieCrust assumes it will be in your `PATH` environment variable. * `options` (`--compress`): Custom options and arguments to pass to the UglifyJS executable.