2013-07-06 19:36:30 -04:00
|
|
|
---
|
|
|
|
title: "Configuring Hugo"
|
2013-08-17 08:34:25 -04:00
|
|
|
date: "2013-07-01"
|
|
|
|
aliases: ["/doc/configuration/"]
|
2013-10-25 18:42:46 -04:00
|
|
|
groups: ['gettingStarted']
|
|
|
|
linktitle: "Configuration"
|
2013-10-26 02:18:14 -04:00
|
|
|
groups_weight: 40
|
2014-01-28 23:29:05 -05:00
|
|
|
notoc: true
|
2013-07-08 17:57:01 -04:00
|
|
|
---
|
2013-07-04 11:32:55 -04:00
|
|
|
|
|
|
|
The directory structure and templates provide the majority of the
|
2013-11-18 18:31:02 -05:00
|
|
|
configuration for a site. In fact a config file isn't even needed for many
|
|
|
|
websites since the defaults used follow commonly used patterns.
|
2013-07-04 11:32:55 -04:00
|
|
|
|
2013-07-11 22:04:57 -04:00
|
|
|
Hugo expects to find the config file in the root of the source directory and
|
2013-11-18 18:31:02 -05:00
|
|
|
will look there first for a `config.yaml` file. If none is present it will
|
|
|
|
then look for a `config.json` file, followed by a `config.toml` file.
|
2013-07-06 22:31:43 -04:00
|
|
|
|
2013-07-11 22:04:57 -04:00
|
|
|
**Please note the field names must be all lowercase**
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
2013-08-17 08:34:25 -04:00
|
|
|
The following is an example of a yaml config file with the default values:
|
2014-01-10 21:19:19 -05:00
|
|
|
{{% highlight yaml %}}
|
|
|
|
---
|
|
|
|
contentdir: "content"
|
|
|
|
layoutdir: "layouts"
|
|
|
|
publishdir: "public"
|
|
|
|
builddrafts: false
|
|
|
|
indexes:
|
|
|
|
category: "categories"
|
|
|
|
tag: "tags"
|
|
|
|
baseurl: "http://yoursite.example.com/"
|
2014-01-03 18:36:53 -05:00
|
|
|
canonifyurls: true
|
2014-01-10 21:19:19 -05:00
|
|
|
...
|
|
|
|
{{% /highlight %}}
|
2013-07-11 22:04:57 -04:00
|
|
|
|
2013-08-17 08:34:25 -04:00
|
|
|
The following is an example of a json config file with the default values:
|
2013-07-11 23:29:14 -04:00
|
|
|
|
2014-01-10 21:19:19 -05:00
|
|
|
{{% highlight json %}}
|
|
|
|
{
|
|
|
|
"contentdir": "content",
|
|
|
|
"layoutdir": "layouts",
|
|
|
|
"publishdir": "public",
|
|
|
|
"builddrafts": false,
|
|
|
|
"indexes": {
|
|
|
|
"category": "categories",
|
|
|
|
"tag": "tags"
|
|
|
|
},
|
2014-02-03 06:55:38 -05:00
|
|
|
"baseurl": "http://yoursite.example.com/",
|
2014-01-03 18:36:53 -05:00
|
|
|
"canonifyurls": true
|
2014-01-10 21:19:19 -05:00
|
|
|
}
|
|
|
|
{{% /highlight %}}
|
2013-07-11 22:04:57 -04:00
|
|
|
|
2013-08-17 08:34:25 -04:00
|
|
|
The following is an example of a toml config file with the default values:
|
2013-07-11 22:04:57 -04:00
|
|
|
|
2013-08-05 14:14:40 -04:00
|
|
|
contentdir = "content"
|
2013-07-11 22:04:57 -04:00
|
|
|
layoutdir = "layouts"
|
|
|
|
publishdir = "public"
|
|
|
|
builddrafts = false
|
2013-11-18 18:31:02 -05:00
|
|
|
baseurl = "http://yoursite.example.com/"
|
2014-01-03 18:36:53 -05:00
|
|
|
canonifyurls = true
|
2013-07-11 22:04:57 -04:00
|
|
|
[indexes]
|
|
|
|
category = "categories"
|
|
|
|
tag = "tags"
|
|
|
|
|
2013-11-18 18:31:02 -05:00
|
|
|
Here is a yaml configuration file which sets a few more options
|
|
|
|
|
2014-01-10 21:19:19 -05:00
|
|
|
{{% highlight yaml %}}
|
|
|
|
---
|
|
|
|
baseurl: "http://yoursite.example.com/"
|
|
|
|
title: "Yoyodyne Widget Blogging"
|
|
|
|
permalinks:
|
|
|
|
post: /:year/:month/:title/
|
|
|
|
params:
|
|
|
|
Subtitle: "Spinning the cogs in the widgets"
|
|
|
|
AuthorName: "John Doe"
|
|
|
|
GitHubUser: "spf13"
|
|
|
|
ListOfFoo:
|
|
|
|
- "foo1"
|
|
|
|
- "foo2"
|
|
|
|
SidebarRecentLimit: 5
|
|
|
|
...
|
|
|
|
{{% /highlight %}}
|