hugo/content/getting-started/configuration.md

401 lines
15 KiB
Markdown
Raw Normal View History

---
title: Configure Hugo
linktitle: Configuration
description: Often the default settings are good enough, but the config file can provide highly granular control over how your site is rendered.
date: 2013-07-01
publishdate: 2017-01-02
lastmod: 2017-03-05
categories: [getting started,fundamentals]
keywords: [configuration,toml,yaml,json]
menu:
docs:
parent: "getting-started"
weight: 60
weight: 60
sections_weight: 60
draft: false
aliases: [/overview/source-directory/,/overview/configuration/]
toc: true
---
The [directory structure][] of a Hugo website—or more precisely, the source organization of files containing the website's content and templates—provides most of the configuration information that Hugo needs in order to generate a finished website.
Because of Hugo's sensible defaults, many websites may not need a configuration file. Hugo is designed to recognize certain typical usage patterns.
## Configuration Lookup Order
Similar to the template [lookup order][], Hugo has a default set of rules for searching for a configuration file in the root of your website's source directory as a default behavior:
1. `./config.toml`
2. `./config.yaml`
3. `./config.json`
In your `config` file, you can direct Hugo as to how you want your website rendered, control your website's menus, and arbitrarily define site-wide parameters specific to your project.
## YAML Configuration
The following is a typical example of a YAML configuration file. The values nested under `params:` will populate the [`.Site.Params`][] variable for use in [templates][]:
{{< code file="config.yml">}}
baseURL: "https://yoursite.example.com/"
title: "My Hugo Site"
footnoteReturnLinkContents: "↩"
permalinks:
post: /:year/:month/:title/
params:
Subtitle: "Hugo is Absurdly Fast!"
AuthorName: "Jon Doe"
GitHubUser: "spf13"
ListOfFoo:
- "foo1"
- "foo2"
SidebarRecentLimit: 5
{{< /code >}}
### All Variables, YAML
The following is the full list of Hugo-defined variables in an example YAML file. The values provided in this example represent the default values used by Hugo.
{{< code file="config.yml" download="config.yml" >}}
archetypeDir: "archetypes"
# hostname (and path) to the root, e.g. http://spf13.com/
baseURL: ""
# include content marked as draft
buildDrafts: false
# include content with publishdate in the future
buildFuture: false
# include content already expired
buildExpired: false
# enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs. See the "URL Management" page
relativeURLs: false
canonifyURLs: false
# config file (default is path/config.yaml|json|toml)
config: "config.toml"
contentDir: "content"
dataDir: "data"
defaultExtension: "html"
defaultLayout: "post"
# Missing translations will default to this content language
defaultContentLanguage: "en"
# Renders the default content language in subdir, e.g. /en/. The root directory / will redirect to /en/
defaultContentLanguageInSubdir: false
disableLiveReload: false
# Do not build RSS files
disableRSS: false
# Do not build Sitemap file
disableSitemap: false
# Enable GitInfo feature
enableGitInfo: false
# Build robots.txt file
enableRobotsTXT: false
# Do not render 404 page
disable404: false
# Do not inject generator meta tag on homepage
disableHugoGeneratorInject: false
# Allows you to disable all page types and will render nothing related to 'kind';
# values = "page", "home", "section", "taxonomy", "taxonomyTerm", "RSS", "sitemap", "robotsTXT", "404"
disableKinds: []
# Do not make the url/path to lowercase
disablePathToLower: false ""
# Enable Emoji emoticons support for page content; see emoji-cheat-sheet.com
enableEmoji: false
# Show a placeholder instead of the default value or an empty string if a translation is missing
enableMissingTranslationPlaceholders: false
footnoteAnchorPrefix: ""
footnoteReturnLinkContents: ""
# google analytics tracking id
googleAnalytics: ""
# if true, auto-detect Chinese/Japanese/Korean Languages in the content. (.Summary and .WordCount can work properly in CJKLanguage)
hasCJKLanguage: false
languageCode: ""
Squashed 'docs/' changes from 4628b9ec2..e65df1059 e65df1059 Bump to v0.30 e9e118730 releaser: Prepare repository for 0.31-DEV e6f2508d4 releaser: Add release notes to /docs for release of 0.30 9c5d6a65b releaser: Bump versions for release of 0.30 88bf0e663 Merge commit 'ecf5e081b5540e69f4af330233f39a07baf53846' 6c7191331 Merge commit 'dae5a7c61cceeb0de59f2d755f63e453f71dd9b2' efd1821bd tpl: Add errorf template function 0cf8dc046 Change SummaryLength to be configurable (#3924) 9e8c09652 tpl: Add os.fileExists template function e969cfcd7 Merge commit '9d68f695e782c6a83c77aff13317c7a22c694c98' 1a2d516a0 tpl: Add float template function 5310162dc releaser: Prepare repository for 0.30-DEV 648fdf2d0 releaser: Add release notes to /docs for release of 0.29 b2f46992c releaser: Bump versions for release of 0.29 ec447e043 releaser: Prepare repository for 0.29-DEV 9f469e93a releaser: Add release notes to /docs for release of 0.28 c91c18ebc releaser: Bump versions for release of 0.28 253d2ede2 Merge commit '61c27b58b353c73772aae572c7d822fdfdf7791b' e35b93cc7 Merge commit '30694a133a88d5f76a51d0372646e10cbeca7691' 9fad59f66 Merge commit '7a89dce53bfbd67a17442a8f9be8fa895fc4f9b1' 4221c2855 Merge commit 'ba45da9d03056447e4873de13d4e0f8d658a769b' 0010b6743 releaser: Prepare repository for 0.28-DEV 9e71765cd releaser: Add release notes to /docs for release of 0.27.1 56206b90d releaser: Bump versions for release of 0.27.1 59522fca0 releaser: Prepare repository for 0.28-DEV 4686686d2 releaser: Add release notes to /docs for release of 0.27 0cd9a5d58 releaser: Bump versions for release of 0.27 d21a59d2d docs: Merge commit '1b4319be62ba071f79e90ef32dbe92eb893429f7' 9c4ff2d8e docs: Document Related Content 887fb1af7 docs: Merge commit '7d63a23b0c68d9cd7c7c09c2755619237bc03485' c8163b51b Update docs versiona and README f782c9959 Merge commit 'ec4e6f9df2ab9ffdc62a3f59675369096e0d3f77' as 'docs' d384c661f docs: Re-integrate 9a2eb0f1d Revert "Squashed 'docs/' changes from 35abbc86..f887bd7b" 0373e4310 Squashed 'docs/' changes from 35abbc86..f887bd7b ea2cc26b3 Remove the theme submodule from /docs 0f9f73cce Add support for multiple config files via --config a.toml,b.toml,c.toml c8257f8b7 Render task list item inside label for correct accessibility 0abdeeef6 source: Normalize UniqueID between Windows & Linux e2f8664ef hugolib: More spelling 46ac74537 all: Fix spelling 4b54fb070 all: gofmt -s 40d7d3baa releaser: Prepare repository for 0.27-DEV f090c2711 releaser: Add release notes to /docs for release of 0.26 b36f6e31e releaser: Bump versions for release of 0.26 0f51e4926 releaser: Add release notes draft for 0.26 62583db50 vendor: Update checksum for inflect 0d495d537 releaser: Update to new release notes location 22b213b1a Merge commit 'e81208265bb3cdb7606d051a23d83aeebcb7d34d' e81208265 Squashed 'docs/' changes from ef02e34e..35abbc86 11e5d456e releaser: Include stats from hugoDocs f768c27f0 helpers: Remove some unused funcs 81c13171a Add some missing doc comments 9891c0fb0 Remove sourceRelativeLinks 481924b34 helpers: Fix broken TaskList in Markdown 09907d36a Switch from fork bep/inflect to markbates/inflect 8fb594bfb Make the title case style guide configurable 9b4170ce7 Remove unused dependencies from vendor.json 6acbe41f0 media: Add missing JSON tags to Type e321306c6 media: Add JSON tags to Type 9c1977872 output: Add JSON tags to Format 50ec65fbe Squashed 'docs/' changes from 73f355ce..ef02e34e 1c18f3fc4 Merge commit '50ec65fbe1a48475d3320775dab2c47389c02114' cb9dfc261 helpers: Add support for French Guillemets c4a0b6e8a vendor: Add support for French Guillemets a8080c084 Remove CODEOWNERS 84710eb3e Add -u flag for go get govendor in CONTRIBUTING.md 555a9bc80 tpl: Accommodate gccgo in TestMethodToName 55d0b8941 tpl/collections: Fix intersect on []interface{} handling aee2b0678 Add --debug option to be improved on over time c1a5da977 vendor: Update dependencies for 0.26-DEV 9ed48c1c9 Dockerfile: Run go install with -ldflags '-s -w' bfe0bfbbd Dockerfile: Reduce image size from 277MB to 27MB 606d6a8c9 Dockerfile: Optimize Docker image size 12e049520 docs: Add RSS template lookup example 6cd33f695 tpl: Use hash for cache key dbe63970e hugolib: Support reflinks starting with a slash 0c90e6d71 Change "hugodocs" to "hugoDocs" to match GitHub's default URL b60aa1a50 helpers: Add --trace to asciidoctor args ff433f981 Add script to pull in docs changes 2c0d1ccdc Squashed 'docs/' changes from b0470688..73f355ce f387cb1b3 doc: Merge commit '2c0d1ccdcd95de0bddeb39dca2e4d08f0d8056d7' 40566ec98 Remove ^M from file to make line-endings consistent 7759a98f7 Clarify the repo choice in the contribution guidelines 720786cd3 Add note about doc-related pull requests in contribution guide 214e16eca appveyor: Update submodules a2fb8150c Add some README info about the docs repo 73273d4e8 Add the docs theme to .gitmodules 4c220c4ac Merge commit '6dbde8d731f221b027c0c60b772ba82dad759943' 6dbde8d73 Squashed 'docs/' changes from f3c88b08..b0470688 deccc5400 hubolib: Add HasShortcode 00b590d7a Improve the twitter card template ea5e9e346 Add GOEXE to support building with different versions of `go` 61bb3ccab hugolib: Improve panic handling in layout rendering 794ea21e9 hugolib: Make template panics into nice error messages 91f410ea9 Bump versions to 0.26-DEV 0e25f1e96 Revert "Revert "vendor: Update dependencies for 0.26-DEV"" aded65b71 releaser: Prepare repository for 0.25-DEV bbd33dbf5 releaser: Add release notes to /docs for release of 0.25.1 0e09be7b3 releaser: Bump versions for release of 0.25.1 195f94575 releaser: Ignore openbsd/arm 44b8f740e releaser: Add release notes draft for 0.25.1 a48e13234 Revert "vendor: Update dependencies for 0.26-DEV" 7f82b41a2 parser: Final (!) fix for issue with escaped JSON front matter 84db6c74a parser: Fix issue with escaped JSON front matter e0cf2e05b tpl/collections: Add some empty slice tests to intersect dbbc5c481 tpl/collections: Fix union when the first slice is empty 7bcc1ce65 commands: Navigate to changed on CREATE When working with content from IntelliJ IDE, like WebStorm, every file save is followed by two events: "RENAME" and then "CREATE". fd41e70cf Add first draft of CODEOWNERS 4ec8ee7fb vendor: Update dependencies for 0.26-DEV 1e19a9845 releaser: Prepare repository for 0.26-DEV 6fb556367 releaser: Add release notes to /docs for release of 0.25 51bcd5083 releaser: Fix tag push 6e086e3d0 releaser: Bump versions for release of 0.25 5895e32b0 releaser: Add release notes draft for 0.25 b2dcd867f Revert "vendor: Update dependencies" d2c24baaf vendor: Update dependencies 4989950d4 releaser: Use real theme count in template a358b33f2 docs: Regenerate the docs helpers a392fca96 docs: Regenerate commands doc 75f782f03 Revert "commands: Adjust docs path" 37c69054e Squashed 'docs/' changes from 5d9a6703..f3c88b08 e00f5c9c0 docs: Merge docs commit '37c69054e294bf554be03cf7e4c01e1f586e6943' 477684022 releaser: Adjustments 70d8ddcb6 releaser: Revise the docs handling to match new subtree 5f831a622 releaser: Replace the magic version handling e7a54e7af releaser: Add --try flag to ease testing aa6b1b9be output: Support templates per site/language a1d260b41 hugolib: Extend the sections API dd9b1baab hugolib: Make .Site.Sections return the top level sections 1039356ed commands: Support human-readable YAML boolean values in undraft ccdd08d57 tpl/collections: Add Pages support to Intersect and Union d12cf5a25 tpl/collections: Fix In function for JSON arrays e10e51a00 parser: Fix handling of JSON front matter with escaped quotes 34c566773 tpl/math: Add log function 41805dca9 hugolib: Render 404.html for all languages 7ee1f25e9 hugo import jekyll support nested _posts directories 3aa0e16d0 cache: Add even more concurrency to test b3c8056de cache: Add concurrent cache test fe132e1c3 vendor: Add missing WebP dependencies 8431c8d39 tpl: Add WebP images support da72805a4 tpl: Only show post's own keywords in schema.org 72fd87171 hugolib: Add more summary test 118f8f7cf Dockerfile: Update Dockerfile and add Docker optimizations 56d82aa02 hugofs: Fix typo in code comment eccb06478 tpl: Simplify the Disqus template a little bit (#3655) 2e1e4934b tpl: Improve the built-in Disqus template (#3639) a54404968 helpers: Add Blackfriday 'joinLines' extension support (#3574) bfce30d85 helpers: add --initial-header-level=2 to rst2html (#3528) 30e14cc31 Make `--navigateToChanged` more robust on Windows c825a7312 Support open "current content page" in browser 7198ea8a1 Revert "Remove docs building from CI builds" dd78d5b23 Squashed 'docs/' content from commit 5d9a6703 a7765bb3c Merge commit 'dd78d5b23fe597f4461aa4199401b4e07c0612e2' as 'docs' git-subtree-dir: docs git-subtree-split: e65df1059549d951a45853576374be4088ded1d3
2017-10-19 01:58:46 -04:00
# the length of text to show in a .Summary
summaryLength: 70
layoutDir: "layouts"
# Enable Logging
log: false
# Log File path (if set, logging enabled automatically)
logFile: ""
# "toml","yaml", or "json"
metaDataFormat: "toml"
newContentEditor: ""
# Don't sync permission mode of files
noChmod: false
# Don't sync modification time of files
noTimes: false
# Pagination
paginate: 10
paginatePath: "page"
# See "content-management/permalinks"
permalinks:
# Pluralize titles in lists using inflect
pluralizeListTitles: true
# Preserve special characters in taxonomy names ("Gérard Depardieu" vs "Gerard Depardieu")
preserveTaxonomyNames: false
# filesystem path to write files to
publishDir: "public"
# enables syntax guessing for code fences without specified language
pygmentsCodeFencesGuessSyntax: false
# color-codes for highlighting derived from this style
pygmentsStyle: "monokai"
# true use pygments-css or false will color code directly
pygmentsUseClasses: false
# maximum number of items in the RSS feed
rssLimit: 15
# see "Section Menu for Lazy Bloggers", /templates/menu-templates for more info
SectionPagesMenu: ""
# default sitemap configuration map
sitemap:
# filesystem path to read files relative from
source: ""
staticDir: "static"
# display memory and timing of different steps of the program
stepAnalysis: false
# display metrics about template executions
templateMetrics: false
# theme to use (located by default in /themes/THEMENAME/)
themesDir: "themes"
theme: ""
title: ""
# Title Case style guide for the title func and other automatic title casing in Hugo.
// Valid values are "AP" (default), "Chicago" and "Go" (which was what you had in Hugo <= 0.25.1).
// See https://www.apstylebook.com/ and http://www.chicagomanualofstyle.org/home.html
titleCaseStyle: "AP"
# if true, use /filename.html instead of /filename/
uglyURLs: false
# verbose output
verbose: false
# verbose logging
verboseLog: false
# watch filesystem for changes and recreate as needed
watch: true
taxonomies:
- category: "categories"
- tag: "tags"
{{< /code >}}
## TOML Configuration
The following is an example of a TOML configuration file. The values under `[params]` will populate the `.Site.Params` variable for use in [templates][]:
{{< code file="config.toml">}}
contentDir = "content"
layoutDir = "layouts"
publishDir = "public"
buildDrafts = false
baseURL = "https://yoursite.example.com/"
canonifyURLs = true
title = "My Hugo Site"
[taxonomies]
category = "categories"
tag = "tags"
[params]
subtitle = "Hugo is Absurdly Fast!"
author = "John Doe"
{{< /code >}}
### All Variables, TOML
The following is the full list of Hugo-defined variables in an example TOML file. The values provided in this example represent the default values used by Hugo.
{{< code file="config.toml" download="config.toml">}}
archetypeDir = "archetypes"
# hostname (and path) to the root, e.g. http://spf13.com/
baseURL = ""
# include content marked as draft
buildDrafts = false
# include content with publishdate in the future
buildFuture = false
# include content already expired
buildExpired = false
# enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs.
relativeURLs = false
canonifyURLs = false
# config file (default is path/config.yaml|json|toml)
config = "config.toml"
contentDir = "content"
dataDir = "data"
defaultExtension = "html"
defaultLayout = "post"
# Missing translations will default to this content language
defaultContentLanguage = "en"
# Renders the default content language in subdir, e.g. /en/. The root directory / will redirect to /en/
defaultContentLanguageInSubdir = false
disableLiveReload = false
# Do not build RSS files
disableRSS = false
# Do not build Sitemap file
disableSitemap = false
# Enable GitInfo feature
enableGitInfo = false
# Build robots.txt file
enableRobotsTXT = false
# Do not render 404 page
disable404 = false
# Do not inject generator meta tag on homepage
disableHugoGeneratorInject = false
# Allows you to disable all page types and will render nothing related to 'kind';
# values = "page", "home", "section", "taxonomy", "taxonomyTerm", "RSS", "sitemap", "robotsTXT", "404"
disableKinds = []
# Do not make the url/path to lowercase
disablePathToLower = false
# Enable Emoji emoticons support for page content; see emoji-cheat-sheet.com
enableEmoji = false
# Show a placeholder instead of the default value or an empty string if a translation is missing
enableMissingTranslationPlaceholders = false
footnoteAnchorPrefix = ""
footnoteReturnLinkContents = ""
# google analytics tracking id
googleAnalytics = ""
# if true, auto-detect Chinese/Japanese/Korean Languages in the content. (.Summary and .WordCount can work properly in CJKLanguage)
hasCJKLanguage = false
languageCode = ""
Squashed 'docs/' changes from 4628b9ec2..e65df1059 e65df1059 Bump to v0.30 e9e118730 releaser: Prepare repository for 0.31-DEV e6f2508d4 releaser: Add release notes to /docs for release of 0.30 9c5d6a65b releaser: Bump versions for release of 0.30 88bf0e663 Merge commit 'ecf5e081b5540e69f4af330233f39a07baf53846' 6c7191331 Merge commit 'dae5a7c61cceeb0de59f2d755f63e453f71dd9b2' efd1821bd tpl: Add errorf template function 0cf8dc046 Change SummaryLength to be configurable (#3924) 9e8c09652 tpl: Add os.fileExists template function e969cfcd7 Merge commit '9d68f695e782c6a83c77aff13317c7a22c694c98' 1a2d516a0 tpl: Add float template function 5310162dc releaser: Prepare repository for 0.30-DEV 648fdf2d0 releaser: Add release notes to /docs for release of 0.29 b2f46992c releaser: Bump versions for release of 0.29 ec447e043 releaser: Prepare repository for 0.29-DEV 9f469e93a releaser: Add release notes to /docs for release of 0.28 c91c18ebc releaser: Bump versions for release of 0.28 253d2ede2 Merge commit '61c27b58b353c73772aae572c7d822fdfdf7791b' e35b93cc7 Merge commit '30694a133a88d5f76a51d0372646e10cbeca7691' 9fad59f66 Merge commit '7a89dce53bfbd67a17442a8f9be8fa895fc4f9b1' 4221c2855 Merge commit 'ba45da9d03056447e4873de13d4e0f8d658a769b' 0010b6743 releaser: Prepare repository for 0.28-DEV 9e71765cd releaser: Add release notes to /docs for release of 0.27.1 56206b90d releaser: Bump versions for release of 0.27.1 59522fca0 releaser: Prepare repository for 0.28-DEV 4686686d2 releaser: Add release notes to /docs for release of 0.27 0cd9a5d58 releaser: Bump versions for release of 0.27 d21a59d2d docs: Merge commit '1b4319be62ba071f79e90ef32dbe92eb893429f7' 9c4ff2d8e docs: Document Related Content 887fb1af7 docs: Merge commit '7d63a23b0c68d9cd7c7c09c2755619237bc03485' c8163b51b Update docs versiona and README f782c9959 Merge commit 'ec4e6f9df2ab9ffdc62a3f59675369096e0d3f77' as 'docs' d384c661f docs: Re-integrate 9a2eb0f1d Revert "Squashed 'docs/' changes from 35abbc86..f887bd7b" 0373e4310 Squashed 'docs/' changes from 35abbc86..f887bd7b ea2cc26b3 Remove the theme submodule from /docs 0f9f73cce Add support for multiple config files via --config a.toml,b.toml,c.toml c8257f8b7 Render task list item inside label for correct accessibility 0abdeeef6 source: Normalize UniqueID between Windows & Linux e2f8664ef hugolib: More spelling 46ac74537 all: Fix spelling 4b54fb070 all: gofmt -s 40d7d3baa releaser: Prepare repository for 0.27-DEV f090c2711 releaser: Add release notes to /docs for release of 0.26 b36f6e31e releaser: Bump versions for release of 0.26 0f51e4926 releaser: Add release notes draft for 0.26 62583db50 vendor: Update checksum for inflect 0d495d537 releaser: Update to new release notes location 22b213b1a Merge commit 'e81208265bb3cdb7606d051a23d83aeebcb7d34d' e81208265 Squashed 'docs/' changes from ef02e34e..35abbc86 11e5d456e releaser: Include stats from hugoDocs f768c27f0 helpers: Remove some unused funcs 81c13171a Add some missing doc comments 9891c0fb0 Remove sourceRelativeLinks 481924b34 helpers: Fix broken TaskList in Markdown 09907d36a Switch from fork bep/inflect to markbates/inflect 8fb594bfb Make the title case style guide configurable 9b4170ce7 Remove unused dependencies from vendor.json 6acbe41f0 media: Add missing JSON tags to Type e321306c6 media: Add JSON tags to Type 9c1977872 output: Add JSON tags to Format 50ec65fbe Squashed 'docs/' changes from 73f355ce..ef02e34e 1c18f3fc4 Merge commit '50ec65fbe1a48475d3320775dab2c47389c02114' cb9dfc261 helpers: Add support for French Guillemets c4a0b6e8a vendor: Add support for French Guillemets a8080c084 Remove CODEOWNERS 84710eb3e Add -u flag for go get govendor in CONTRIBUTING.md 555a9bc80 tpl: Accommodate gccgo in TestMethodToName 55d0b8941 tpl/collections: Fix intersect on []interface{} handling aee2b0678 Add --debug option to be improved on over time c1a5da977 vendor: Update dependencies for 0.26-DEV 9ed48c1c9 Dockerfile: Run go install with -ldflags '-s -w' bfe0bfbbd Dockerfile: Reduce image size from 277MB to 27MB 606d6a8c9 Dockerfile: Optimize Docker image size 12e049520 docs: Add RSS template lookup example 6cd33f695 tpl: Use hash for cache key dbe63970e hugolib: Support reflinks starting with a slash 0c90e6d71 Change "hugodocs" to "hugoDocs" to match GitHub's default URL b60aa1a50 helpers: Add --trace to asciidoctor args ff433f981 Add script to pull in docs changes 2c0d1ccdc Squashed 'docs/' changes from b0470688..73f355ce f387cb1b3 doc: Merge commit '2c0d1ccdcd95de0bddeb39dca2e4d08f0d8056d7' 40566ec98 Remove ^M from file to make line-endings consistent 7759a98f7 Clarify the repo choice in the contribution guidelines 720786cd3 Add note about doc-related pull requests in contribution guide 214e16eca appveyor: Update submodules a2fb8150c Add some README info about the docs repo 73273d4e8 Add the docs theme to .gitmodules 4c220c4ac Merge commit '6dbde8d731f221b027c0c60b772ba82dad759943' 6dbde8d73 Squashed 'docs/' changes from f3c88b08..b0470688 deccc5400 hubolib: Add HasShortcode 00b590d7a Improve the twitter card template ea5e9e346 Add GOEXE to support building with different versions of `go` 61bb3ccab hugolib: Improve panic handling in layout rendering 794ea21e9 hugolib: Make template panics into nice error messages 91f410ea9 Bump versions to 0.26-DEV 0e25f1e96 Revert "Revert "vendor: Update dependencies for 0.26-DEV"" aded65b71 releaser: Prepare repository for 0.25-DEV bbd33dbf5 releaser: Add release notes to /docs for release of 0.25.1 0e09be7b3 releaser: Bump versions for release of 0.25.1 195f94575 releaser: Ignore openbsd/arm 44b8f740e releaser: Add release notes draft for 0.25.1 a48e13234 Revert "vendor: Update dependencies for 0.26-DEV" 7f82b41a2 parser: Final (!) fix for issue with escaped JSON front matter 84db6c74a parser: Fix issue with escaped JSON front matter e0cf2e05b tpl/collections: Add some empty slice tests to intersect dbbc5c481 tpl/collections: Fix union when the first slice is empty 7bcc1ce65 commands: Navigate to changed on CREATE When working with content from IntelliJ IDE, like WebStorm, every file save is followed by two events: "RENAME" and then "CREATE". fd41e70cf Add first draft of CODEOWNERS 4ec8ee7fb vendor: Update dependencies for 0.26-DEV 1e19a9845 releaser: Prepare repository for 0.26-DEV 6fb556367 releaser: Add release notes to /docs for release of 0.25 51bcd5083 releaser: Fix tag push 6e086e3d0 releaser: Bump versions for release of 0.25 5895e32b0 releaser: Add release notes draft for 0.25 b2dcd867f Revert "vendor: Update dependencies" d2c24baaf vendor: Update dependencies 4989950d4 releaser: Use real theme count in template a358b33f2 docs: Regenerate the docs helpers a392fca96 docs: Regenerate commands doc 75f782f03 Revert "commands: Adjust docs path" 37c69054e Squashed 'docs/' changes from 5d9a6703..f3c88b08 e00f5c9c0 docs: Merge docs commit '37c69054e294bf554be03cf7e4c01e1f586e6943' 477684022 releaser: Adjustments 70d8ddcb6 releaser: Revise the docs handling to match new subtree 5f831a622 releaser: Replace the magic version handling e7a54e7af releaser: Add --try flag to ease testing aa6b1b9be output: Support templates per site/language a1d260b41 hugolib: Extend the sections API dd9b1baab hugolib: Make .Site.Sections return the top level sections 1039356ed commands: Support human-readable YAML boolean values in undraft ccdd08d57 tpl/collections: Add Pages support to Intersect and Union d12cf5a25 tpl/collections: Fix In function for JSON arrays e10e51a00 parser: Fix handling of JSON front matter with escaped quotes 34c566773 tpl/math: Add log function 41805dca9 hugolib: Render 404.html for all languages 7ee1f25e9 hugo import jekyll support nested _posts directories 3aa0e16d0 cache: Add even more concurrency to test b3c8056de cache: Add concurrent cache test fe132e1c3 vendor: Add missing WebP dependencies 8431c8d39 tpl: Add WebP images support da72805a4 tpl: Only show post's own keywords in schema.org 72fd87171 hugolib: Add more summary test 118f8f7cf Dockerfile: Update Dockerfile and add Docker optimizations 56d82aa02 hugofs: Fix typo in code comment eccb06478 tpl: Simplify the Disqus template a little bit (#3655) 2e1e4934b tpl: Improve the built-in Disqus template (#3639) a54404968 helpers: Add Blackfriday 'joinLines' extension support (#3574) bfce30d85 helpers: add --initial-header-level=2 to rst2html (#3528) 30e14cc31 Make `--navigateToChanged` more robust on Windows c825a7312 Support open "current content page" in browser 7198ea8a1 Revert "Remove docs building from CI builds" dd78d5b23 Squashed 'docs/' content from commit 5d9a6703 a7765bb3c Merge commit 'dd78d5b23fe597f4461aa4199401b4e07c0612e2' as 'docs' git-subtree-dir: docs git-subtree-split: e65df1059549d951a45853576374be4088ded1d3
2017-10-19 01:58:46 -04:00
# the length of text to show in a .Summary
summaryLength: 70
layoutDir = "layouts"
# Enable Logging
log = false
# Log File path (if set, logging enabled automatically)
logFile =
# maximum number of items in the RSS feed
rssLimit = 15
# "toml","yaml", or "json"
metaDataFormat = "toml"
newContentEditor = ""
# Don't sync permission mode of files
noChmod = false
# Don't sync modification time of files
noTimes = false
# Pagination
paginate = 10
paginatePath = "page"
# See "content-management/permalinks"
permalinks =
# Pluralize titles in lists using inflect
pluralizeListTitles = true
# Preserve special characters in taxonomy names ("Gérard Depardieu" vs "Gerard Depardieu")
preserveTaxonomyNames = false
# filesystem path to write files to
publishDir = "public"
# enables syntax guessing for code fences without specified language
pygmentsCodeFencesGuessSyntax = false
# color-codes for highlighting derived from this style
pygmentsStyle = "monokai"
# true: use pygments-css or false: color-codes directly
pygmentsUseClasses = false
# see "Section Menu for Lazy Bloggers", /templates/menu-templates for more info
SectionPagesMenu =
# default sitemap configuration map
sitemap =
# filesystem path to read files relative from
source = ""
staticDir = "static"
# display memory and timing of different steps of the program
stepAnalysis = false
# theme to use (located by default in /themes/THEMENAME/)
themesDir = "themes"
theme = ""
title = ""
# if true, use /filename.html instead of /filename/
uglyURLs = false
# verbose output
verbose = false
# verbose logging
verboseLog = false
# watch filesystem for changes and recreate as needed
watch = true
[taxonomies]
category = "categories"
tag = "tags"
{{< /code >}}
{{% note %}}
If you are developing your site on a \*nix machine, here is a handy shortcut for finding a configuration option from the command line:
```
cd ~/sites/yourhugosite
hugo config | grep emoji
```
which shows output like
```
enableemoji: true
```
{{% /note %}}
## Environmental Variables
In addition to the 3 config options already mentioned, configuration key-values can be defined through operating system environment variables.
For example, the following command will effectively set a website's title on Unix-like systems:
```
$ env HUGO_TITLE="Some Title" hugo
```
{{% note "Setting Environment Variables" %}}
Names must be prefixed with `HUGO_` and the configuration key must be set in uppercase when setting operating system environment variables.
{{% /note %}}
## Ignore Files When Rendering
The following statement inside `./config.toml` will cause Hugo to ignore files ending with `.foo` and `.boo` when rendering:
```
ignoreFiles = [ "\\.foo$", "\\.boo$" ]
```
The above is a list of regular expressions. Note that the backslash (`\`) character is escaped in this example to keep TOML happy.
## Configure Blackfriday
[Blackfriday](https://github.com/russross/blackfriday) is Hugo's built-in Markdown rendering engine.
Hugo typically configures Blackfriday with sane default values that should fit most use cases reasonably well.
However, if you have specific needs with respect to Markdown, Hugo exposes some of its Blackfriday behavior options for you to alter. The following table lists these Hugo options, paired with the corresponding flags from Blackfriday's source code ( [html.go](https://github.com/russross/blackfriday/blob/master/html.go) and [markdown.go](https://github.com/russross/blackfriday/blob/master/markdown.go)).
{{< readfile file="/content/readfiles/bfconfig.md" markdown="true" >}}
{{% note %}}
1. Blackfriday flags are *case sensitive* as of Hugo v0.15.
2. Blackfriday flags must be grouped under the `blackfriday` key and can be set on both the site level *and* the page level. Any setting on a page will override its respective site setting.
{{% /note %}}
{{< code file="bf-config.toml" >}}
[blackfriday]
angledQuotes = true
fractions = false
plainIDAnchors = true
extensions = ["hardLineBreak"]
{{< /code >}}
{{< code file="bf-config.yml" >}}
blackfriday:
angledQuotes: true
fractions: false
plainIDAnchors: true
extensions:
- hardLineBreak
{{< /code >}}
## Configure Additional Output Formats
Hugo v0.20 introduced the ability to render your content to multiple output formats (e.g., to JSON, AMP html, or CSV). See [Output Formats][] for information on how to add these values to your Hugo project's configuration file.
## Configuration Format Specs
* [TOML Spec][toml]
* [YAML Spec][yaml]
* [JSON Spec][json]
[`.Site.Params`]: /variables/site/
[directory structure]: /getting-started/directory-structure
[json]: https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf "Specification for JSON, JavaScript Object Notation"
[lookup order]: /templates/lookup-order/
[Output Formats]: /templates/output-formats/
[templates]: /templates/
[toml]: https://github.com/toml-lang/toml
[yaml]: http://yaml.org/spec/