hugo/docs/content/overview/configuration.md

95 lines
3.1 KiB
Markdown
Raw Normal View History

2013-07-06 19:36:30 -04:00
---
2014-05-29 18:42:05 -04:00
aliases:
- /doc/configuration/
date: 2013-07-01
linktitle: Configuration
menu:
main:
2014-05-29 18:42:05 -04:00
parent: getting started
next: /overview/source-directory
notoc: true
prev: /overview/usage
title: Configuring Hugo
weight: 40
---
2013-07-04 11:32:55 -04:00
The directory structure and templates provide the majority of the
configuration for a site. In fact, a config file isn't even needed for many
websites since the defaults follow commonly used patterns.
2013-07-04 11:32:55 -04:00
Hugo expects to find the config file in the root of the source directory and
will look there first for a `config.toml` file. If none is present, it will
then look for a `config.yaml` file, followed by a `config.json` file.
The config file is a site-wide config. The config file provides directions to
hugo on how to build the site as well as site-wide parameters and menus.
## Examples
The following is an example of a typical yaml config file:
---
baseurl: "http://yoursite.example.com/"
...
The following is an example of a toml config file with some of the default values. Values under `[params]` will populate the `.Site.Params` variable for use in templates:
2013-08-05 14:14:40 -04:00
contentdir = "content"
layoutdir = "layouts"
publishdir = "public"
builddrafts = false
baseurl = "http://yoursite.example.com/"
canonifyurls = true
[indexes]
category = "categories"
tag = "tags"
[params]
description = "Tesla's Awesome Hugo Site"
author = "Nikola Tesla"
Here is a yaml configuration file which sets a few more options
---
baseurl: "http://yoursite.example.com/"
title: "Yoyodyne Widget Blogging"
footnotereturnlinkcontents: "↩"
permalinks:
post: /:year/:month/:title/
params:
Subtitle: "Spinning the cogs in the widgets"
AuthorName: "John Doe"
GitHubUser: "spf13"
ListOfFoo:
- "foo1"
- "foo2"
SidebarRecentLimit: 5
...
## Configure Blackfriday rendering
[Blackfriday](https://github.com/russross/blackfriday) is the [Markdown](http://daringfireball.net/projects/markdown/) rendering engine used in Hugo. The Blackfriday configuration in Hugo is mostly a set of sane defaults that should fit most use cases.
But Hugo does expose some options -- in the table below matched with the corresponding flag in the [Blackfriday source](https://github.com/russross/blackfriday/blob/master/html.go):
Flag | Default | Blackfriday flag | Purpose
--- | --- | --- | ---
angledQuotes | false | HTML_SMARTYPANTS_ANGLED_QUOTES | Enable angled double quotes (`« »`)
2015-01-05 14:00:56 -05:00
plainIdAnchors | false | FootnoteAnchorPrefix and HeaderIDSuffix | If true, then header and footnote IDs are generated without the document ID (so, `#my-header` instead of `#my-header:bec3ed8ba720b9073ab75abcf3ba5d97`)
**Note** that these flags must be grouped under the `blackfriday` key and can be set on **both site and page level**. If set on page, it will override the site setting.
```
blackfriday:
2014-12-26 12:11:05 -05:00
angledQuotes = true
2015-01-05 14:00:56 -05:00
plainIdAnchors = true
```
## Notes
Config changes do not reflect with [Live Reload](/extras/livereload).
Please restart `hugo server --watch` whenever you make a config change.