Merge commit '74309fe5699a595080fdb3a14711e0869babce99'
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 29 Oct 2018 08:23:25 +0000 (09:23 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 29 Oct 2018 08:23:25 +0000 (09:23 +0100)
59 files changed:
1  2 
docs/archetypes/showcase/bio.md
docs/archetypes/showcase/featured.png
docs/archetypes/showcase/index.md
docs/config.toml
docs/content/en/about/new-in-032/index.md
docs/content/en/commands/hugo.md
docs/content/en/commands/hugo_benchmark.md
docs/content/en/commands/hugo_check.md
docs/content/en/commands/hugo_check_ulimit.md
docs/content/en/commands/hugo_config.md
docs/content/en/commands/hugo_convert.md
docs/content/en/commands/hugo_convert_toJSON.md
docs/content/en/commands/hugo_convert_toTOML.md
docs/content/en/commands/hugo_convert_toYAML.md
docs/content/en/commands/hugo_env.md
docs/content/en/commands/hugo_gen.md
docs/content/en/commands/hugo_gen_autocomplete.md
docs/content/en/commands/hugo_gen_chromastyles.md
docs/content/en/commands/hugo_gen_doc.md
docs/content/en/commands/hugo_gen_man.md
docs/content/en/commands/hugo_import.md
docs/content/en/commands/hugo_import_jekyll.md
docs/content/en/commands/hugo_list.md
docs/content/en/commands/hugo_list_drafts.md
docs/content/en/commands/hugo_list_expired.md
docs/content/en/commands/hugo_list_future.md
docs/content/en/commands/hugo_new.md
docs/content/en/commands/hugo_new_site.md
docs/content/en/commands/hugo_new_theme.md
docs/content/en/commands/hugo_server.md
docs/content/en/commands/hugo_version.md
docs/content/en/content-management/cross-references.md
docs/content/en/content-management/formats.md
docs/content/en/content-management/front-matter.md
docs/content/en/content-management/image-processing/index.md
docs/content/en/content-management/multilingual.md
docs/content/en/content-management/page-resources.md
docs/content/en/content-management/related.md
docs/content/en/contribute/development.md
docs/content/en/functions/anchorize.md
docs/content/en/functions/humanize.md
docs/content/en/functions/range.md
docs/content/en/getting-started/configuration.md
docs/content/en/getting-started/installing.md
docs/content/en/news/0.45-relnotes/index.md
docs/content/en/news/0.49-relnotes/featured-hugo-49-poster.png
docs/content/en/news/0.49-relnotes/index.md
docs/content/en/news/0.49.1-relnotes/index.md
docs/content/en/news/0.49.2-relnotes/index.md
docs/content/en/showcase/template/index.md
docs/content/en/templates/internal.md
docs/content/en/templates/output-formats.md
docs/content/en/templates/shortcode-templates.md
docs/content/en/tools/frontends.md
docs/content/en/tools/search.md
docs/content/en/troubleshooting/faq.md
docs/netlify.toml
docs/resources/_gen/images/news/0.49-relnotes/featured-hugo-49-poster_hud9cdb0f9aa2ec95d28fc3f49c81e7940_66352_480x0_resize_catmullrom_2.png
docs/resources/_gen/images/news/0.49-relnotes/featured-hugo-49-poster_hud9cdb0f9aa2ec95d28fc3f49c81e7940_66352_640x0_resize_catmullrom_2.png

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2443c2f35dcd14bf5e5275b89d1a39872582ba42
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++
++Add some **general info** about {{ replace .Name "-" " " | title }} here.
++
++The site is built by:
++
++* [Person 1](https://example.com)
++* [Person 1](https://example.com)
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4f390132eb13d9640019d30f13aa1cb882e5c5eb
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a21bb97264fd758c9a666102199cbd08d6e49a86
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++---
++
++title: {{ replace .Name "-" " " | title }}
++date: {{ now.Format "2006-01-02" }}
++
++description: "A short description of this page."
++
++# The URL to the site on the internet.
++siteURL: https://gohugo.io/
++
++# Link to the site's Hugo source code if public and you can/want to share.
++# Remove or leave blank if not needed/wanted.
++siteSource: https://github.com/gohugoio/hugoDocs
++
++# Add credit to the article author. Leave blank or remove if not needed/wanted.
++byline: "[bep](https://github.com/bep), Hugo Lead"
++
++---
++
++To complete this showcase:
++
++1. Write the story about your site in this file.
++2. Add a summary to the `bio.md` file in this folder.
++3. Replace the `featured-template.png` with a screenshot of your site. You can rename it, but it must contain the word `featured`.
++4. Create a new pull request in https://github.com/gohugoio/hugoDocs/pulls
++
++The content of this bundle explained:
++
++index.md
++: The main content file. Fill in required front matter metadata and write your story. I does not have to be a novel. It can even be self-promotional, but it should include Hugo in some form.
++
++bio.md
++: A short summary of the website. Site credits (who built it) fits nicely here.
++
++featured.png
++: A reasonably sized screenshot of your website. It can be named anything, but the name must start with "featured". The sample image is `1500x750` (2:1 aspect ratio).
++
index 054ccab5685f25b4b018c031c9863eb743c9f9c7,0000000000000000000000000000000000000000..98dcf08650544c47005a31e3f28a0c7afba02bf5
mode 100644,000000..100644
--- /dev/null
@@@ -1,412 -1,0 +1,412 @@@
- # Defatult JPEG quality setting. Default is 75.
 +baseURL = "https://gohugo.io/"
 +paginate =  100
 +defaultContentLanguage = "en"
 +enableEmoji = true
 +# Set the unicode character used for the "return" link in page footnotes.
 +footnotereturnlinkcontents = "↩"
 +languageCode = "en-us"
 +metaDataFormat = "yaml"
 +title = "Hugo"
 +theme = "gohugoioTheme"
 +
 +googleAnalytics = "UA-7131036-4"
 +
 +pluralizeListTitles = false
 +
 +# We do redirects via Netlify's _redirects file, generated by Hugo (see "outputs" below).
 +disableAliases = true
 +
 +# Highlighting config (Pygments)
 +# It is (currently) not in use, but you can do ```go in a content file if you want to.
 +pygmentsCodeFences = true
 +
 +pygmentsOptions = ""
 +# Use the Chroma stylesheet
 +pygmentsUseClasses = true
 +pygmentsUseClassic = false
 +
 +# See https://help.farbox.com/pygments.html
 +pygmentsStyle = "trac"
 +
 +[outputs]
 +home = [ "HTML", "RSS", "REDIR", "HEADERS" ]
 +section = [ "HTML", "RSS"]
 +
 +[mediaTypes]
 +[mediaTypes."text/netlify"]
 +delimiter = ""
 +
 +[outputFormats]
 +[outputFormats.REDIR]
 +mediatype = "text/netlify"
 +baseName = "_redirects"
 +isPlainText = true
 +notAlternative = true
 +[outputFormats.HEADERS]
 +mediatype = "text/netlify"
 +baseName = "_headers"
 +isPlainText = true
 +notAlternative = true
 +
 +[related]
 +
 +threshold = 80
 +includeNewer = true
 +toLower = false
 +
 +[[related.indices]]
 +name = "keywords"
 +weight = 100
 +[[related.indices]]
 +name  = "date"
 +weight = 10
 +pattern = "2006"
 +
 +[social]
 +twitter = "GoHugoIO"
 +
 +#CUSTOM PARAMS
 +[params]
 +  description = "The world’s fastest framework for building websites"
 +  ## Used for views in rendered HTML (i.e., rather than using the .Hugo variable)
 +  release = "0.50-DEV"
 +  ## Setting this to true will add a "noindex" to *EVERY* page on the site
 +  removefromexternalsearch = false
 +  ## Gh repo for site footer (include trailing slash)
 +  ghrepo = "https://github.com/gohugoio/hugoDocs/"
 +  ## GH Repo for filing a new issue
 +  github_repo = "https://github.com/gohugoio/hugo/issues/new"
 +  ### Edit content repo (set to automatically enter "edit" mode; this is good for "improve this page" links)
 +  ghdocsrepo = "https://github.com/gohugoio/hugoDocs/tree/master/docs"
 +  ## Gitter URL
 +  gitter = "https://gitter.im/spf13/hugo"
 +  ## Discuss Forum URL
 +  forum = "https://discourse.gohugo.io/"
 +  ## Google Tag Manager
 +  gtmid = ""
 +
 +  # First one is picked as the Twitter card image if not set on page.
 +  images = ["images/gohugoio-card.png"]
 +
 +  flex_box_interior_classes = "flex-auto w-100 w-40-l mr3 mb3 bg-white ba b--moon-gray nested-copy-line-height"
 +
 +  #sidebar_direction = "sidebar_left"
 +
 +# MARKDOWN
 +## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday
 +[blackfriday]
 +      plainIDAnchors = true
 +  # See https://github.com/gohugoio/hugo/issues/2424
 +      hrefTargetBlank = false
 +  angledQuotes = false
 +  latexDashes = true
 +
 +[imaging]
 +# See https://github.com/disintegration/imaging
 +# CatmullRom is a sharp bicubic filter which should fit the docs site well with its many screenshots.
 +# Note that you can also set this per image processing.
 +resampleFilter = "CatmullRom"
 +
++# Default JPEG quality setting. Default is 75.
 +quality = 75
 +
 +anchor = "smart"
 +
 +
 +## As of v0.20, all content files include a default "categories" value that's the same as the section. This was a cheap future-proofing method and should/could be changed accordingly.
 +[taxonomies]
 +  category = "categories"
 +
 +# High level items
 +
 +[[menu.docs]]
 +  name = "About Hugo"
 +  weight = 1
 +  identifier = "about"
 +  url = "/about/"
 +
 +[[menu.docs]]
 +  name = "Getting Started"
 +  weight = 5
 +  identifier = "getting-started"
 +  url = "/getting-started/"
 +
 +
 +[[menu.docs]]
 +  name = "Themes"
 +  weight = 15
 +  identifier = "themes"
 +  post = "break"
 +  url = "/themes/"
 +
 +# Core Menus
 +
 +[[menu.docs]]
 +  name = "Content Management"
 +  weight = 20
 +  identifier = "content-management"
 +  post = "expanded"
 +  url = "/content-management/"
 +
 +[[menu.docs]]
 +  name = "Templates"
 +  weight = 25
 +  identifier = "templates"
 +
 +  url = "/templates/"
 +
 +[[menu.docs]]
 +  name = "Functions"
 +  weight = 30
 +  identifier = "functions"
 +  url = "/functions/"
 +
 +[[menu.docs]]
 +  name = "Variables"
 +  weight = 35
 +  identifier = "variables"
 +  url = "/variables/"
 +[[menu.docs]]
 +  name = "Hugo Pipes"
 +  weight = 36
 +  identifier = "pipes"
 +  url = "/hugo-pipes/"
 +[[menu.docs]]
 +  name = "CLI"
 +  weight = 40
 +  post = "break"
 +  identifier = "commands"
 +  url = "/commands/"
 +
 +
 +
 +# LOW LEVEL ITEMS
 +
 +
 +[[menu.docs]]
 +  name = "Troubleshooting"
 +  weight = 60
 +  identifier = "troubleshooting"
 +  url = "/troubleshooting/"
 +
 +[[menu.docs]]
 +  name = "Tools"
 +  weight = 70
 +  identifier = "tools"
 +  url = "/tools/"
 +
 +[[menu.docs]]
 +  name = "Hosting & Deployment"
 +  weight = 80
 +  identifier = "hosting-and-deployment"
 +  url = "/hosting-and-deployment/"
 +
 +[[menu.docs]]
 +  name = "Contribute"
 +  weight = 100
 +  post = "break"
 +  identifier = "contribute"
 +  url = "/contribute/"
 +
 +#[[menu.docs]]
 +#  name = "Tags"
 +#  weight = 120
 +#  identifier = "tags"
 +#  url = "/tags/"
 +
 +
 +# [[menu.docs]]
 +#   name = "Categories"
 +#   weight = 140
 +#   identifier = "categories"
 +#   url = "/categories/"
 +
 +######## QUICKLINKS
 +
 +  [[menu.quicklinks]]
 +    name = "Fundamentals"
 +    weight = 1
 +    identifier = "fundamentals"
 +    url = "/tags/fundamentals/"
 +
 +
 +
 +
 +######## GLOBAL ITEMS TO BE SHARED WITH THE HUGO SITES
 +
 +[[menu.global]]
 +    name = "News"
 +    weight = 1
 +    identifier = "news"
 +    url = "/news/"
 +
 +  [[menu.global]]
 +    name = "Docs"
 +    weight = 5
 +    identifier = "docs"
 +    url = "/documentation/"
 +
 +  [[menu.global]]
 +    name = "Themes"
 +    weight = 10
 +    identifier = "themes"
 +    url = "https://themes.gohugo.io/"
 +
 +    [[menu.global]]
 +      name = "Showcase"
 +      weight = 20
 +      identifier = "showcase"
 +      url = "/showcase/"
 +
 +  # Anything with a weight > 100 gets an external icon
 +  [[menu.global]]
 +    name = "Community"
 +    weight = 150
 +    icon = true
 +    identifier = "community"
 +    post = "external"
 +    url = "https://discourse.gohugo.io/"
 +
 +
 +  [[menu.global]]
 +    name = "GitHub"
 +    weight = 200
 +    identifier = "github"
 +    post = "external"
 +    url = "https://github.com/gohugoio/hugo"
 +
 +### LANGUAGES ###
 +
 +[languages]
 +  [languages.en]
 +    contentDir = "content/en"
 +    languageName = "English"
 +    weight = 1
 +  [languages.zh]
 +    contentDir = "content/zh"
 +    languageName = "中文"
 +    weight = 2
 +
 +
 +### LANGUAGE-SPECIFIC MENUS ###
 +
 +# Chinese menus
 +
 +[[languages.zh.menu.docs]]
 +  name = "关于 Hugo"
 +  weight = 1
 +  identifier = "about"
 +  url = "/zh/about/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "入门"
 +  weight = 5
 +  identifier = "getting-started"
 +  url = "/zh/getting-started/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "主题"
 +  weight = 15
 +  identifier = "themes"
 +  post = "break"
 +  url = "/zh/themes/"
 +
 +# Core languages.zh.menus
 +
 +[[languages.zh.menu.docs]]
 +  name = "内容管理"
 +  weight = 20
 +  identifier = "content-management"
 +  post = "expanded"
 +  url = "/zh/content-management/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "模板"
 +  weight = 25
 +  identifier = "templates"
 +  url = "/zh/templates/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "函数"
 +  weight = 30
 +  identifier = "functions"
 +  url = "/zh/functions/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "变量"
 +  weight = 35
 +  identifier = "variables"
 +  url = "/zh/variables/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "CLI"
 +  weight = 40
 +  post = "break"
 +  identifier = "commands"
 +  url = "/commands/"
 +
 +# LOW LEVEL ITEMS
 +[[languages.zh.menu.docs]]
 +  name = "故障排除"
 +  weight = 60
 +  identifier = "troubleshooting"
 +  url = "/zh/troubleshooting/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "工具"
 +  weight = 70
 +  identifier = "tools"
 +  url = "/zh/tools/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "托管与部署"
 +  weight = 80
 +  identifier = "hosting-and-deployment"
 +  url = "/zh/hosting-and-deployment/"
 +
 +[[languages.zh.menu.docs]]
 +  name = "贡献"
 +  weight = 100
 +  post = "break"
 +  identifier = "contribute"
 +  url = "/zh/contribute/"
 +
 +[[languages.zh.menu.global]]
 +  name = "新闻"
 +  weight = 1
 +  identifier = "news"
 +  url = "/zh/news/"
 +
 +[[languages.zh.menu.global]]
 +  name = "文档"
 +  weight = 5
 +  identifier = "docs"
 +  url = "/zh/documentation/"
 +
 +[[languages.zh.menu.global]]
 +  name = "主题"
 +  weight = 10
 +  identifier = "themes"
 +  url = "https://themes.gohugo.io/"
 +
 +[[languages.zh.menu.global]]
 +  name = "作品展示"
 +  weight = 20
 +  identifier = "showcase"
 +  url = "/zh/showcase/"
 +
 +# Anything with a weight > 100 gets an external icon
 +[[languages.zh.menu.global]]
 +  name = "社区"
 +  weight = 150
 +  icon = true
 +  identifier = "community"
 +  post = "external"
 +  url = "https://discourse.gohugo.io/"
 +
 +[[languages.zh.menu.global]]
 +  name = "GitHub"
 +  weight = 200
 +  identifier = "github"
 +  post = "external"
 +  url = "https://github.com/gohugoio/hugo"
index 5ae688fc6b92dc5adad11540beb8a35e72f81a84,0000000000000000000000000000000000000000..f3e56dc6bffca3c3bce3192e812689e09852bc9a
mode 100644,000000..100644
--- /dev/null
@@@ -1,209 -1,0 +1,209 @@@
- # Defatult JPEG quality setting. Default is 75.
 +---
 +title: Hugo 0.32 HOWTO
 +description: About page bundles, image processing and more.
 +date: 2017-12-28
 +keywords: [ssg,static,performance,security]
 +menu:
 +  docs:
 +    parent: "about"
 +    weight: 10
 +weight: 10
 +sections_weight: 10
 +draft: false
 +aliases: []
 +toc: true
 +images:
 +- images/blog/sunset.jpg
 +---
 +
 +
 +{{% note %}}
 +This documentation belongs in other places in this documentation site, but is put here first ... to get something up and running fast.
 +{{% /note %}}
 +
 +
 +Also see this demo project from [bep](https://github.com/bep/), the clever Norwegian behind these new features:
 +
 +* https://temp.bep.is/hugotest/
 +* https://github.com/bep/hugotest (source)
 +
 +## Page Resources
 +
 +### Organize Your Content
 +
 +{{< figure src="/images/hugo-content-bundles.png" title="Pages with image resources" >}}
 +
 +The content folder above shows a mix of content pages (`md` (i.e. markdown) files) and image resources.
 +
 +{{% note %}}
 +You can use any file type as a content resource as long as it is a MIME type recognized by Hugo (`json` files will, as one example, work fine). If you want to get exotic, you can define your [own media type](/templates/output-formats/#media-types).
 +{{% /note %}}
 +
 +The 3 page bundles marked in red explained from top to bottom:
 +
 +1. The home page with one image resource (`1-logo.png`)
 +2. The blog section with two images resources and two pages resources (`content1.md`, `content2.md`). Note that the `_index.md` represents the URL for this section.
 +3. An article (`hugo-is-cool`) with a folder with some images and one content resource (`cats-info.md`). Note that the `index.md` represents the URL for this article.
 +
 +The content files below `blog/posts` are just regular standalone pages.
 +
 +{{% note %}}
 +Note that changes to any resource inside the `content` folder will trigger a reload when running in watch (aka server or live reload mode), it will even work with `--navigateToChanged`.
 +{{% /note %}}
 +
 +#### Sort Order
 +
 +* Pages are sorted according to standard Hugo page sorting rules.
 +* Images and other resources are sorted in lexicographical order.
 +
 +### Handle Page Resources in Templates
 +
 +
 +#### List all Resources
 +
 +```go-html-template
 +{{ range .Resources }}
 +<li><a href="{{ .RelPermalink }}">{{ .ResourceType | title }}</a></li>
 +{{ end }}
 +```
 +
 +For an absolute URL, use `.Permalink`.
 +
 +**Note:** The permalink will be relative to the content page, respecting permalink settings. Also, included page resources will not have a value for `RelPermalink`.
 +
 +#### List All Resources by Type
 +
 +```go-html-template
 +{{ with .Resources.ByType "image" }}
 +{{ end }}
 +
 +```
 +
 +Type here is `page` for pages, else the main type in the MIME type, so `image`, `json` etc.
 +
 +#### Get a Specific Resource
 +
 +```go-html-template
 +{{ $logo := .Resources.GetByPrefix "logo" }}
 +{{ with $logo }}
 +{{ end }}
 +```
 +
 +#### Include Page Resource Content
 +
 +```go-html-template
 +{{ with .Resources.ByType "page" }}
 +{{ range . }}
 +<h3>{{ .Title }}</h3>
 +{{ .Content }}
 +{{ end }}
 +{{ end }}
 +
 +```
 +
 +
 +## Image Processing
 +
 +The `image` resource implements the methods `Resize`, `Fit` and `Fill`:
 +
 +Resize
 +: Resize to the given dimension, `{{ $logo.Resize "200x" }}` will resize to 200 pixels wide and preserve the aspect ratio. Use `{{ $logo.Resize "200x100" }}` to control both height and width.
 +
 +Fit
 +: Scale down the image to fit the given dimensions, e.g. `{{ $logo.Fit "200x100" }}` will fit the image inside a box that is 200 pixels wide and 100 pixels high.
 +
 +Fill
 +: Resize and crop the image given dimensions, e.g. `{{ $logo.Fill "200x100" }}` will resize and crop to width 200 and height 100
 +
 +
 +{{% note %}}
 +Image operations in Hugo currently **do not preserve EXIF data** as this is not supported by Go's [image package](https://github.com/golang/go/search?q=exif&type=Issues&utf8=%E2%9C%93). This will be improved on in the future.
 +{{% /note %}}
 +
 +
 +### Image Processing Examples
 +
 +_The photo of the sunset used in the examples below is Copyright [Bjørn Erik Pedersen](https://commons.wikimedia.org/wiki/User:Bep) (Creative Commons Attribution-Share Alike 4.0 International license)_
 +
 +
 +{{< imgproc sunset Resize "300x" />}}
 +
 +{{< imgproc sunset Fill "90x120 left" />}}
 +
 +{{< imgproc sunset Fill "90x120 right" />}}
 +
 +{{< imgproc sunset Fit "90x90" />}}
 +
 +{{< imgproc sunset Resize "300x q10" />}}
 +
 +
 +This is the shortcode used in the examples above:
 +
 +
 +{{< code file="layouts/shortcodes/imgproc.html" >}}
 +{{< readfile file="layouts/shortcodes/imgproc.html" >}}   
 +{{< /code >}}
 +
 +And it is used like this:
 +
 +```go-html-template
 +{{</* imgproc sunset Resize "300x" */>}}
 +```
 +
 +### Image Processing Options
 +
 +In addition to the dimensions (e.g. `200x100`) where either height or width can be omitted, Hugo supports a set of additional image options:
 +
 +Anchor
 +: Only relevant for `Fill`. This is useful for thumbnail generation where the main motive is located in, say, the left corner. Valid are `Center`, `TopLeft`, `Top`, `TopRight`, `Left`, `Right`, `BottomLeft`, `Bottom`, `BottomRight`. Example: `{{ $logo.Fill "200x100 BottomLeft" }}`
 +
 +JPEG Quality
 +: Only relevant for JPEG images, values 1 to 100 inclusive, higher is better. Default is 75. `{{ $logo.Resize "200x q50" }}`
 +
 +Rotate
 +: Rotates an image by the given angle counter-clockwise. The rotation will be performed first to get the dimensions correct. `{{ $logo.Resize "200x r90" }}`. The main use of this is to be able to manually correct for [EXIF orientation](https://github.com/golang/go/issues/4341) of JPEG images.
 +
 +Resample Filter
 +: Filter used in resizing. Default is `Box`, a simple and fast resampling filter appropriate for downscaling. See https://github.com/disintegration/imaging for more. If you want to trade quality for faster processing, this may be a option to test. 
 +
 +
 +
 +### Performance
 +
 +Processed images are stored below `<project-dir>/resources` (can be set with `resourceDir` config setting). This folder is deliberately placed in the project, as it is recommended to check these into source control as part of the project. These images are not "Hugo fast" to generate, but once generated they can be reused.
 +
 +If you change your image settings (e.g. size), remove or rename images etc., you will end up with unused images taking up space and cluttering your project. 
 +
 +To clean up, run:
 +
 +```bash
 +hugo --gc
 +```
 +
 +
 +{{% note %}}
 +**GC** is short for **Garbage Collection**.
 +{{% /note %}}
 +
 +
 +## Configuration
 +
 +### Default Image Processing Config
 +
 +You can configure an `imaging` section in `config.toml` with default image processing options:
 +
 +```toml
 +[imaging]
 +# Default resample filter used for resizing. Default is Box,
 +# a simple and fast averaging filter appropriate for downscaling.
 +# See https://github.com/disintegration/imaging
 +resampleFilter = "box"
 +
++# Default JPEG quality setting. Default is 75.
 +quality = 68
 +```
 +
 +
 +
 +
 +
index fd4884c9059eacf7bb01a9a6a72bd6fb54ea110e,0000000000000000000000000000000000000000..add644e1ca71cd015b431491d18f168347f6e16f
mode 100644,000000..100644
--- /dev/null
@@@ -1,77 -1,0 +1,77 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo"
 +slug: hugo
 +url: /commands/hugo/
 +---
 +## hugo
 +
 +hugo builds your site
 +
 +### Synopsis
 +
 +hugo is the main command, used to build your Hugo site.
 +
 +Hugo is a Fast and Flexible Static Site Generator
 +built with love by spf13 and friends in Go.
 +
 +Complete documentation is available at http://gohugo.io/.
 +
 +```
 +hugo [flags]
 +```
 +
 +### Options
 +
 +```
 +  -b, --baseURL string         hostname (and path) to the root, e.g. http://spf13.com/
 +  -D, --buildDrafts            include content marked as draft
 +  -E, --buildExpired           include expired content
 +  -F, --buildFuture            include content with publishdate in the future
 +      --cacheDir string        filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/
 +      --cleanDestinationDir    remove files from destination not found in static directories
 +      --config string          config file (default is path/config.yaml|json|toml)
 +  -c, --contentDir string      filesystem path to content directory
 +      --debug                  debug output
 +  -d, --destination string     filesystem path to write files to
 +      --disableKinds strings   disable different kind of pages (home, RSS etc.)
 +      --enableGitInfo          add Git revision, date and author info to the pages
 +      --forceSyncStatic        copy all files when static is changed.
 +      --gc                     enable to run some cleanup tasks (remove unused cache files) after the build
 +  -h, --help                   help for hugo
 +      --i18n-warnings          print missing translations
 +      --ignoreCache            ignores the cache directory
 +  -l, --layoutDir string       filesystem path to layout directory
 +      --log                    enable Logging
 +      --logFile string         log File path (if set, logging enabled automatically)
 +      --minify                 minify any supported output format (HTML, XML etc.)
 +      --noChmod                don't sync permission mode of files
 +      --noTimes                don't sync modification time of files
 +      --quiet                  build in quiet mode
 +      --renderToMemory         render to memory (only useful for benchmark testing)
 +  -s, --source string          filesystem path to read files relative from
 +      --stepAnalysis           display memory and timing of different steps of the program
 +      --templateMetrics        display metrics about template executions
 +      --templateMetricsHints   calculate some improvement hints when combined with --templateMetrics
 +  -t, --theme string           theme to use (located in /themes/THEMENAME/)
 +      --themesDir string       filesystem path to themes directory
 +  -v, --verbose                verbose output
 +      --verboseLog             verbose logging
 +  -w, --watch                  watch filesystem for changes and recreate as needed
 +```
 +
 +### SEE ALSO
 +
 +* [hugo benchmark](/commands/hugo_benchmark/)  - Benchmark Hugo by building a site a number of times.
 +* [hugo check](/commands/hugo_check/)  - Contains some verification checks
 +* [hugo config](/commands/hugo_config/)        - Print the site configuration
 +* [hugo convert](/commands/hugo_convert/)      - Convert your content to different formats
 +* [hugo env](/commands/hugo_env/)      - Print Hugo version and environment info
 +* [hugo gen](/commands/hugo_gen/)      - A collection of several useful generators.
 +* [hugo import](/commands/hugo_import/)        - Import your site from others.
 +* [hugo list](/commands/hugo_list/)    - Listing out various types of content
 +* [hugo new](/commands/hugo_new/)      - Create new content for your site
 +* [hugo server](/commands/hugo_server/)        - A high performance webserver
 +* [hugo version](/commands/hugo_version/)      - Print the version number of Hugo
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index f299305cf4df15263297652c6e42c1386e4fd381,0000000000000000000000000000000000000000..3a8c58846af29f12737bf2af3b6975beaa742148
mode 100644,000000..100644
--- /dev/null
@@@ -1,69 -1,0 +1,69 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo benchmark"
 +slug: hugo_benchmark
 +url: /commands/hugo_benchmark/
 +---
 +## hugo benchmark
 +
 +Benchmark Hugo by building a site a number of times.
 +
 +### Synopsis
 +
 +Hugo can build a site many times over and analyze the running process
 +creating a benchmark.
 +
 +```
 +hugo benchmark [flags]
 +```
 +
 +### Options
 +
 +```
 +  -b, --baseURL string         hostname (and path) to the root, e.g. http://spf13.com/
 +  -D, --buildDrafts            include content marked as draft
 +  -E, --buildExpired           include expired content
 +  -F, --buildFuture            include content with publishdate in the future
 +      --cacheDir string        filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/
 +      --cleanDestinationDir    remove files from destination not found in static directories
 +  -c, --contentDir string      filesystem path to content directory
 +  -n, --count int              number of times to build the site (default 13)
 +      --cpuprofile string      path/filename for the CPU profile file
 +  -d, --destination string     filesystem path to write files to
 +      --disableKinds strings   disable different kind of pages (home, RSS etc.)
 +      --enableGitInfo          add Git revision, date and author info to the pages
 +      --forceSyncStatic        copy all files when static is changed.
 +      --gc                     enable to run some cleanup tasks (remove unused cache files) after the build
 +  -h, --help                   help for benchmark
 +      --i18n-warnings          print missing translations
 +      --ignoreCache            ignores the cache directory
 +  -l, --layoutDir string       filesystem path to layout directory
 +      --memprofile string      path/filename for the memory profile file
 +      --noChmod                don't sync permission mode of files
 +      --noTimes                don't sync modification time of files
 +      --renderToMemory         render to memory (only useful for benchmark testing)
 +  -s, --source string          filesystem path to read files relative from
 +      --stepAnalysis           display memory and timing of different steps of the program
 +      --templateMetrics        display metrics about template executions
 +      --templateMetricsHints   calculate some improvement hints when combined with --templateMetrics
 +  -t, --theme string           theme to use (located in /themes/THEMENAME/)
 +      --themesDir string       filesystem path to themes directory
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index a820de6e5fc74d13757397bab012afeb269ead1e,0000000000000000000000000000000000000000..ef982f32d55717ade0d57d6c1787257a62dc44da
mode 100644,000000..100644
--- /dev/null
@@@ -1,38 -1,0 +1,38 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo check"
 +slug: hugo_check
 +url: /commands/hugo_check/
 +---
 +## hugo check
 +
 +Contains some verification checks
 +
 +### Synopsis
 +
 +Contains some verification checks
 +
 +### Options
 +
 +```
 +  -h, --help   help for check
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +* [hugo check ulimit](/commands/hugo_check_ulimit/)    - Check system ulimit settings
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index a87640468b234c3535a8a0c841ce3bd09e09df4a,0000000000000000000000000000000000000000..5c2f1a5d2fd35c2e949c156c63dc38ff4f7e7482
mode 100644,000000..100644
--- /dev/null
@@@ -1,42 -1,0 +1,42 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo check ulimit"
 +slug: hugo_check_ulimit
 +url: /commands/hugo_check_ulimit/
 +---
 +## hugo check ulimit
 +
 +Check system ulimit settings
 +
 +### Synopsis
 +
 +Hugo will inspect the current ulimit settings on the system.
 +This is primarily to ensure that Hugo can watch enough files on some OSs
 +
 +```
 +hugo check ulimit [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for ulimit
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo check](/commands/hugo_check/)  - Contains some verification checks
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index f016b4f6fd96c92252f53031cc5b8e3841e969e0,0000000000000000000000000000000000000000..a7b47fbbe8e7cc30544d06cabb11080e2078f1cd
mode 100644,000000..100644
--- /dev/null
@@@ -1,42 -1,0 +1,42 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo config"
 +slug: hugo_config
 +url: /commands/hugo_config/
 +---
 +## hugo config
 +
 +Print the site configuration
 +
 +### Synopsis
 +
 +Print the site configuration, both default and custom settings.
 +
 +```
 +hugo config [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help            help for config
 +  -s, --source string   filesystem path to read files relative from
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 0a906eb62410bc19d2dc427488dfc79fcecd16da,0000000000000000000000000000000000000000..18bce9182a0a654ac8f28e22eb587229765a4a2a
mode 100644,000000..100644
--- /dev/null
@@@ -1,45 -1,0 +1,45 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo convert"
 +slug: hugo_convert
 +url: /commands/hugo_convert/
 +---
 +## hugo convert
 +
 +Convert your content to different formats
 +
 +### Synopsis
 +
 +Convert your content (e.g. front matter) to different formats.
 +
 +See convert's subcommands toJSON, toTOML and toYAML for more information.
 +
 +### Options
 +
 +```
 +  -h, --help            help for convert
 +  -o, --output string   filesystem path to write files to
 +  -s, --source string   filesystem path to read files relative from
 +      --unsafe          enable less safe operations, please backup first
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +* [hugo convert toJSON](/commands/hugo_convert_tojson/)        - Convert front matter to JSON
 +* [hugo convert toTOML](/commands/hugo_convert_totoml/)        - Convert front matter to TOML
 +* [hugo convert toYAML](/commands/hugo_convert_toyaml/)        - Convert front matter to YAML
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index f73dbc70c46fe40d24dddd26d1d8026fcc502a50,0000000000000000000000000000000000000000..cd3fa68a1ab147f1e5cd0b72df72f6b76056127d
mode 100644,000000..100644
--- /dev/null
@@@ -1,45 -1,0 +1,45 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo convert toJSON"
 +slug: hugo_convert_toJSON
 +url: /commands/hugo_convert_tojson/
 +---
 +## hugo convert toJSON
 +
 +Convert front matter to JSON
 +
 +### Synopsis
 +
 +toJSON converts all front matter in the content directory
 +to use JSON for the front matter.
 +
 +```
 +hugo convert toJSON [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for toJSON
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +  -o, --output string    filesystem path to write files to
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +      --unsafe           enable less safe operations, please backup first
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo convert](/commands/hugo_convert/)      - Convert your content to different formats
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index e0a7c8beeec915a12c51e4a8a4a395494642af6f,0000000000000000000000000000000000000000..78f5591a4fbaa47103512ab534537a394164faf1
mode 100644,000000..100644
--- /dev/null
@@@ -1,45 -1,0 +1,45 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo convert toTOML"
 +slug: hugo_convert_toTOML
 +url: /commands/hugo_convert_totoml/
 +---
 +## hugo convert toTOML
 +
 +Convert front matter to TOML
 +
 +### Synopsis
 +
 +toTOML converts all front matter in the content directory
 +to use TOML for the front matter.
 +
 +```
 +hugo convert toTOML [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for toTOML
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +  -o, --output string    filesystem path to write files to
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +      --unsafe           enable less safe operations, please backup first
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo convert](/commands/hugo_convert/)      - Convert your content to different formats
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 81e81d1d50efff6ba1962622fe64b048d47ed125,0000000000000000000000000000000000000000..75b0990ea38a504378676c09c83dc790dcfba434
mode 100644,000000..100644
--- /dev/null
@@@ -1,45 -1,0 +1,45 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo convert toYAML"
 +slug: hugo_convert_toYAML
 +url: /commands/hugo_convert_toyaml/
 +---
 +## hugo convert toYAML
 +
 +Convert front matter to YAML
 +
 +### Synopsis
 +
 +toYAML converts all front matter in the content directory
 +to use YAML for the front matter.
 +
 +```
 +hugo convert toYAML [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for toYAML
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +  -o, --output string    filesystem path to write files to
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +      --unsafe           enable less safe operations, please backup first
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo convert](/commands/hugo_convert/)      - Convert your content to different formats
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index c3c507ea4ef44a9f88c23ae3e127b76668602ebd,0000000000000000000000000000000000000000..8721b7f515393354a2f64fd6d230880289c3a180
mode 100644,000000..100644
--- /dev/null
@@@ -1,41 -1,0 +1,41 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo env"
 +slug: hugo_env
 +url: /commands/hugo_env/
 +---
 +## hugo env
 +
 +Print Hugo version and environment info
 +
 +### Synopsis
 +
 +Print Hugo version and environment info. This is useful in Hugo bug reports.
 +
 +```
 +hugo env [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for env
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index d2aef23b4a77eecb2e2d8e150f6ce76d1ea154d6,0000000000000000000000000000000000000000..5d06b3c9dfbc63dacf67660ca0a316bef878af5b
mode 100644,000000..100644
--- /dev/null
@@@ -1,41 -1,0 +1,41 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo gen"
 +slug: hugo_gen
 +url: /commands/hugo_gen/
 +---
 +## hugo gen
 +
 +A collection of several useful generators.
 +
 +### Synopsis
 +
 +A collection of several useful generators.
 +
 +### Options
 +
 +```
 +  -h, --help   help for gen
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +* [hugo gen autocomplete](/commands/hugo_gen_autocomplete/)    - Generate shell autocompletion script for Hugo
 +* [hugo gen chromastyles](/commands/hugo_gen_chromastyles/)    - Generate CSS stylesheet for the Chroma code highlighter
 +* [hugo gen doc](/commands/hugo_gen_doc/)      - Generate Markdown documentation for the Hugo CLI.
 +* [hugo gen man](/commands/hugo_gen_man/)      - Generate man pages for the Hugo CLI
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index f725ee322ae27897c630c3de4c7ab7f35a760c5e,0000000000000000000000000000000000000000..906b58c82b2756716c7c4a2d235f4b2100470ab4
mode 100644,000000..100644
--- /dev/null
@@@ -1,59 -1,0 +1,59 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo gen autocomplete"
 +slug: hugo_gen_autocomplete
 +url: /commands/hugo_gen_autocomplete/
 +---
 +## hugo gen autocomplete
 +
 +Generate shell autocompletion script for Hugo
 +
 +### Synopsis
 +
 +Generates a shell autocompletion script for Hugo.
 +
 +NOTE: The current version supports Bash only.
 +      This should work for *nix systems with Bash installed.
 +
 +By default, the file is written directly to /etc/bash_completion.d
 +for convenience, and the command may need superuser rights, e.g.:
 +
 +      $ sudo hugo gen autocomplete
 +
 +Add `--completionfile=/path/to/file` flag to set alternative
 +file-path and name.
 +
 +Logout and in again to reload the completion scripts,
 +or just source them in directly:
 +
 +      $ . /etc/bash_completion
 +
 +```
 +hugo gen autocomplete [flags]
 +```
 +
 +### Options
 +
 +```
 +      --completionfile string   autocompletion file (default "/etc/bash_completion.d/hugo.sh")
 +  -h, --help                    help for autocomplete
 +      --type string             autocompletion type (currently only bash supported) (default "bash")
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo gen](/commands/hugo_gen/)      - A collection of several useful generators.
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 912ec5d141f4cd5351f7e0c3a83b0e5dc353c1c0,0000000000000000000000000000000000000000..7e6b8dadaee17f97c20412cb730e382603c0d934
mode 100644,000000..100644
--- /dev/null
@@@ -1,46 -1,0 +1,46 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo gen chromastyles"
 +slug: hugo_gen_chromastyles
 +url: /commands/hugo_gen_chromastyles/
 +---
 +## hugo gen chromastyles
 +
 +Generate CSS stylesheet for the Chroma code highlighter
 +
 +### Synopsis
 +
 +Generate CSS stylesheet for the Chroma code highlighter for a given style. This stylesheet is needed if pygmentsUseClasses is enabled in config.
 +
 +See https://help.farbox.com/pygments.html for preview of available styles
 +
 +```
 +hugo gen chromastyles [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help                    help for chromastyles
 +      --highlightStyle string   style used for highlighting lines (see https://github.com/alecthomas/chroma) (default "bg:#ffffcc")
 +      --linesStyle string       style used for line numbers (see https://github.com/alecthomas/chroma)
 +      --style string            highlighter style (see https://help.farbox.com/pygments.html) (default "friendly")
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo gen](/commands/hugo_gen/)      - A collection of several useful generators.
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index d1e59830496f92f3fe9eb7876a0c61410d6f1c2f,0000000000000000000000000000000000000000..b2d5b6afef0307022e39d50d35520972743e2a03
mode 100644,000000..100644
--- /dev/null
@@@ -1,48 -1,0 +1,48 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo gen doc"
 +slug: hugo_gen_doc
 +url: /commands/hugo_gen_doc/
 +---
 +## hugo gen doc
 +
 +Generate Markdown documentation for the Hugo CLI.
 +
 +### Synopsis
 +
 +Generate Markdown documentation for the Hugo CLI.
 +
 +This command is, mostly, used to create up-to-date documentation
 +of Hugo's command-line interface for http://gohugo.io/.
 +
 +It creates one Markdown file per command with front matter suitable
 +for rendering in Hugo.
 +
 +```
 +hugo gen doc [flags]
 +```
 +
 +### Options
 +
 +```
 +      --dir string   the directory to write the doc. (default "/tmp/hugodoc/")
 +  -h, --help         help for doc
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo gen](/commands/hugo_gen/)      - A collection of several useful generators.
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 9586c02decd7e0db57622f709dbb32ae9a6ddfb7,0000000000000000000000000000000000000000..a3ef86306f57a8081d7ec42bf07a350a3d4db3be
mode 100644,000000..100644
--- /dev/null
@@@ -1,44 -1,0 +1,44 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo gen man"
 +slug: hugo_gen_man
 +url: /commands/hugo_gen_man/
 +---
 +## hugo gen man
 +
 +Generate man pages for the Hugo CLI
 +
 +### Synopsis
 +
 +This command automatically generates up-to-date man pages of Hugo's
 +command-line interface.  By default, it creates the man page files
 +in the "man" directory under the current directory.
 +
 +```
 +hugo gen man [flags]
 +```
 +
 +### Options
 +
 +```
 +      --dir string   the directory to write the man pages. (default "man/")
 +  -h, --help         help for man
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo gen](/commands/hugo_gen/)      - A collection of several useful generators.
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 5dfa2844b3c6f82006e01ee613334e8e3f7cfeee,0000000000000000000000000000000000000000..21dc4b2bd005fe354139ebb07f6398fadd48b6f5
mode 100644,000000..100644
--- /dev/null
@@@ -1,40 -1,0 +1,40 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo import"
 +slug: hugo_import
 +url: /commands/hugo_import/
 +---
 +## hugo import
 +
 +Import your site from others.
 +
 +### Synopsis
 +
 +Import your site from other web site generators like Jekyll.
 +
 +Import requires a subcommand, e.g. `hugo import jekyll jekyll_root_path target_path`.
 +
 +### Options
 +
 +```
 +  -h, --help   help for import
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +* [hugo import jekyll](/commands/hugo_import_jekyll/)  - hugo import from Jekyll
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 6e07d80d587fcc01a6599c7bce492334d593d75c,0000000000000000000000000000000000000000..7103000a38a97d963644409d5a7aa6fd98b7718b
mode 100644,000000..100644
--- /dev/null
@@@ -1,44 -1,0 +1,44 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo import jekyll"
 +slug: hugo_import_jekyll
 +url: /commands/hugo_import_jekyll/
 +---
 +## hugo import jekyll
 +
 +hugo import from Jekyll
 +
 +### Synopsis
 +
 +hugo import from Jekyll.
 +
 +Import from Jekyll requires two paths, e.g. `hugo import jekyll jekyll_root_path target_path`.
 +
 +```
 +hugo import jekyll [flags]
 +```
 +
 +### Options
 +
 +```
 +      --force   allow import into non-empty target directory
 +  -h, --help    help for jekyll
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo import](/commands/hugo_import/)        - Import your site from others.
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 2cf839a21fe1791f06b1734d96957314dbdd25c8,0000000000000000000000000000000000000000..538c362e4cfc7651bfbe559a3d72f009d2c34e52
mode 100644,000000..100644
--- /dev/null
@@@ -1,43 -1,0 +1,43 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo list"
 +slug: hugo_list
 +url: /commands/hugo_list/
 +---
 +## hugo list
 +
 +Listing out various types of content
 +
 +### Synopsis
 +
 +Listing out various types of content.
 +
 +List requires a subcommand, e.g. `hugo list drafts`.
 +
 +### Options
 +
 +```
 +  -h, --help            help for list
 +  -s, --source string   filesystem path to read files relative from
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +* [hugo list drafts](/commands/hugo_list_drafts/)      - List all drafts
 +* [hugo list expired](/commands/hugo_list_expired/)    - List all posts already expired
 +* [hugo list future](/commands/hugo_list_future/)      - List all posts dated in the future
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 4e01709c15661c1a5966cfa179224f9cdc7254ad,0000000000000000000000000000000000000000..8e5d461bd2b8d3318d6bdfbfcadc318941a86668
mode 100644,000000..100644
--- /dev/null
@@@ -1,42 -1,0 +1,42 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo list drafts"
 +slug: hugo_list_drafts
 +url: /commands/hugo_list_drafts/
 +---
 +## hugo list drafts
 +
 +List all drafts
 +
 +### Synopsis
 +
 +List all of the drafts in your content directory.
 +
 +```
 +hugo list drafts [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for drafts
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo list](/commands/hugo_list/)    - Listing out various types of content
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index d435341b7160c7a59e47e66366b403ba51c671b0,0000000000000000000000000000000000000000..c276640dcf502dc87927a0761a94b13c33ff48a8
mode 100644,000000..100644
--- /dev/null
@@@ -1,43 -1,0 +1,43 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo list expired"
 +slug: hugo_list_expired
 +url: /commands/hugo_list_expired/
 +---
 +## hugo list expired
 +
 +List all posts already expired
 +
 +### Synopsis
 +
 +List all of the posts in your content directory which has already
 +expired.
 +
 +```
 +hugo list expired [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for expired
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo list](/commands/hugo_list/)    - Listing out various types of content
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 97bf5fd6b8fdaa364948b61f407f113da32f75bd,0000000000000000000000000000000000000000..c5c887636b768c2cc429debadc9ceed7dff53f74
mode 100644,000000..100644
--- /dev/null
@@@ -1,43 -1,0 +1,43 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo list future"
 +slug: hugo_list_future
 +url: /commands/hugo_list_future/
 +---
 +## hugo list future
 +
 +List all posts dated in the future
 +
 +### Synopsis
 +
 +List all of the posts in your content directory which will be
 +posted in the future.
 +
 +```
 +hugo list future [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for future
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo list](/commands/hugo_list/)    - Listing out various types of content
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index faf918e3db8e719303b18a7b34201eff2b1ec08e,0000000000000000000000000000000000000000..0ff1076ecfe0b19dbed1b76e61567586111d6192
mode 100644,000000..100644
--- /dev/null
@@@ -1,53 -1,0 +1,51 @@@
- date: 2018-10-26
 +---
- Ensure you run this within the root directory of your site.
++date: 2018-09-24
 +title: "hugo new"
 +slug: hugo_new
 +url: /commands/hugo_new/
 +---
 +## hugo new
 +
 +Create new content for your site
 +
 +### Synopsis
 +
 +Create a new content file and automatically set the date and title.
 +It will guess which kind of file to create based on the path provided.
 +
 +You can also specify the kind with `-k KIND`.
 +
 +If archetypes are provided in your theme or site, they will be used.
 +
- ###### Auto generated by spf13/cobra on 26-Oct-2018
 +```
 +hugo new [path] [flags]
 +```
 +
 +### Options
 +
 +```
 +      --editor string   edit new content with this editor, if provided
 +  -h, --help            help for new
 +  -k, --kind string     content type to create
 +  -s, --source string   filesystem path to read files relative from
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +* [hugo new site](/commands/hugo_new_site/)    - Create a new site (skeleton)
 +* [hugo new theme](/commands/hugo_new_theme/)  - Create a new theme
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 812edda89f4b3a1d6237b65b4e3c0204157fb6ed,0000000000000000000000000000000000000000..a2d05491322c95787320d3d92a13b3250d860615
mode 100644,000000..100644
--- /dev/null
@@@ -1,46 -1,0 +1,46 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo new site"
 +slug: hugo_new_site
 +url: /commands/hugo_new_site/
 +---
 +## hugo new site
 +
 +Create a new site (skeleton)
 +
 +### Synopsis
 +
 +Create a new site in the provided directory.
 +The new site will have the correct structure, but no content or theme yet.
 +Use `hugo new [contentPath]` to create new content.
 +
 +```
 +hugo new site [path] [flags]
 +```
 +
 +### Options
 +
 +```
 +      --force           init inside non-empty directory
 +  -f, --format string   config & frontmatter format (default "toml")
 +  -h, --help            help for site
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo new](/commands/hugo_new/)      - Create new content for your site
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 575687d01ce9e4abc8a17ff90b716a4604135b80,0000000000000000000000000000000000000000..6395b11da3c0464330d49641d073e83942a31a67
mode 100644,000000..100644
--- /dev/null
@@@ -1,45 -1,0 +1,45 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo new theme"
 +slug: hugo_new_theme
 +url: /commands/hugo_new_theme/
 +---
 +## hugo new theme
 +
 +Create a new theme
 +
 +### Synopsis
 +
 +Create a new theme (skeleton) called [name] in the current directory.
 +New theme is a skeleton. Please add content to the touched files. Add your
 +name to the copyright line in the license and adjust the theme.toml file
 +as you see fit.
 +
 +```
 +hugo new theme [name] [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for theme
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -s, --source string    filesystem path to read files relative from
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo new](/commands/hugo_new/)      - Create new content for your site
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 94410be8e161b11eb09a506070113a998c761070,0000000000000000000000000000000000000000..ffb3ee280c44875639e9e40d51d6e27fa23f7b91
mode 100644,000000..100644
--- /dev/null
@@@ -1,88 -1,0 +1,87 @@@
- date: 2018-10-26
 +---
-       --disableBrowserError    do not show build errors in the browser
++date: 2018-09-24
 +title: "hugo server"
 +slug: hugo_server
 +url: /commands/hugo_server/
 +---
 +## hugo server
 +
 +A high performance webserver
 +
 +### Synopsis
 +
 +Hugo provides its own webserver which builds and serves the site.
 +While hugo server is high performance, it is a webserver with limited options.
 +Many run it in production, but the standard behavior is for people to use it
 +in development and use a more full featured server such as Nginx or Caddy.
 +
 +'hugo server' will avoid writing the rendered and served content to disk,
 +preferring to store it in memory.
 +
 +By default hugo will also watch your files for any changes you make and
 +automatically rebuild the site. It will then live reload any open browser pages
 +and push the latest content to them. As most Hugo sites are built in a fraction
 +of a second, you will be able to save and see your changes nearly instantly.
 +
 +```
 +hugo server [flags]
 +```
 +
 +### Options
 +
 +```
 +      --appendPort             append port to baseURL (default true)
 +  -b, --baseURL string         hostname (and path) to the root, e.g. http://spf13.com/
 +      --bind string            interface to which the server will bind (default "127.0.0.1")
 +  -D, --buildDrafts            include content marked as draft
 +  -E, --buildExpired           include expired content
 +  -F, --buildFuture            include content with publishdate in the future
 +      --cacheDir string        filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/
 +      --cleanDestinationDir    remove files from destination not found in static directories
 +  -c, --contentDir string      filesystem path to content directory
 +  -d, --destination string     filesystem path to write files to
- ###### Auto generated by spf13/cobra on 26-Oct-2018
 +      --disableFastRender      enables full re-renders on changes
 +      --disableKinds strings   disable different kind of pages (home, RSS etc.)
 +      --disableLiveReload      watch without enabling live browser reload on rebuild
 +      --enableGitInfo          add Git revision, date and author info to the pages
 +      --forceSyncStatic        copy all files when static is changed.
 +      --gc                     enable to run some cleanup tasks (remove unused cache files) after the build
 +  -h, --help                   help for server
 +      --i18n-warnings          print missing translations
 +      --ignoreCache            ignores the cache directory
 +  -l, --layoutDir string       filesystem path to layout directory
 +      --liveReloadPort int     port for live reloading (i.e. 443 in HTTPS proxy situations) (default -1)
 +      --meminterval string     interval to poll memory usage (requires --memstats), valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". (default "100ms")
 +      --memstats string        log memory usage to this file
 +      --navigateToChanged      navigate to changed content file on live browser reload
 +      --noChmod                don't sync permission mode of files
 +      --noHTTPCache            prevent HTTP caching
 +      --noTimes                don't sync modification time of files
 +  -p, --port int               port on which the server will listen (default 1313)
 +      --renderToDisk           render to Destination path (default is render to memory & serve from there)
 +  -s, --source string          filesystem path to read files relative from
 +      --stepAnalysis           display memory and timing of different steps of the program
 +      --templateMetrics        display metrics about template executions
 +      --templateMetricsHints   calculate some improvement hints when combined with --templateMetrics
 +  -t, --theme string           theme to use (located in /themes/THEMENAME/)
 +      --themesDir string       filesystem path to themes directory
 +  -w, --watch                  watch filesystem for changes and recreate as needed (default true)
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index bbf69c5c1ad5b8b89c1c36152b901fee876b23e7,0000000000000000000000000000000000000000..9a573ae4f893d27951d5729e364327077ecbf882
mode 100644,000000..100644
--- /dev/null
@@@ -1,41 -1,0 +1,41 @@@
- date: 2018-10-26
 +---
- ###### Auto generated by spf13/cobra on 26-Oct-2018
++date: 2018-09-24
 +title: "hugo version"
 +slug: hugo_version
 +url: /commands/hugo_version/
 +---
 +## hugo version
 +
 +Print the version number of Hugo
 +
 +### Synopsis
 +
 +All software has versions. This is Hugo's.
 +
 +```
 +hugo version [flags]
 +```
 +
 +### Options
 +
 +```
 +  -h, --help   help for version
 +```
 +
 +### Options inherited from parent commands
 +
 +```
 +      --config string    config file (default is path/config.yaml|json|toml)
 +      --debug            debug output
 +      --log              enable Logging
 +      --logFile string   log File path (if set, logging enabled automatically)
 +      --quiet            build in quiet mode
 +  -v, --verbose          verbose output
 +      --verboseLog       verbose logging
 +```
 +
 +### SEE ALSO
 +
 +* [hugo](/commands/hugo/)      - hugo builds your site
 +
++###### Auto generated by spf13/cobra on 24-Sep-2018
index 00f6ad1c12a60b7e652dd2d1a43d8e029aaff9e8,0000000000000000000000000000000000000000..59733555bd542a6a93c65286d4b0c1a6c27bc002
mode 100644,000000..100644
--- /dev/null
@@@ -1,88 -1,0 +1,88 @@@
- {{</* relref path="document.md" lang="jp" */>}}
 +---
 +title: Links and Cross References
 +description: Shortcodes for creating links to documents.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-03-31
 +categories: [content management]
 +keywords: ["cross references","references", "anchors", "urls"]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 100
 +weight: 100   #rem
 +aliases: [/extras/crossreferences/]
 +toc: true
 +---
 +
 +
 +The `ref` and `relref` shortcode resolves the absolute or relative permalink given a path to a document.
 +
 +## Use `ref` and `relref`
 +
 +```go-html-template
 +{{</* ref "document.md" */>}}
 +{{</* ref "#anchor" */>}}
 +{{</* ref "document.md#anchor" */>}}
 +{{</* ref "/blog/my-post" */>}}
 +{{</* ref "/blog/my-post.md" */>}}
 +{{</* relref "document.md" */>}}
 +{{</* relref "#anchor" */>}}
 +{{</* relref "document.md#anchor" */>}}
 +```
 +
 +The single parameter to `ref` is a string with a content `documentname` (e.g., `about.md`) with or without an appended in-document `anchor` (`#who`) without spaces. Hugo is flexible in how we search for documents, so the file suffix may be omitted.
 +
 +**Paths without a leading `/` will first  be tried resolved relative to the current page.**
 +
 +You will get an error if you document could not be uniquely resolved. The error behaviour can be configured, see below.
 +
 +### Link to another language version
 +
 +Link to another language version of a document, you need to use this syntax:
 +
 +```go-html-template
++{{</* relref path="document.md" lang="ja" */>}}
 +```
 +
 +### Get another Output Format
 +
 +To link to a given Output Format of a document, you can use this syntax:
 +
 +```go-html-template
 +{{</* relref path="document.md" outputFormat="rss" */>}}
 +```
 +
 +### Anchors
 +
 +When an `anchor` is provided by itself, the current page’s unique identifier will be appended; when an `anchor` is provided appended to `documentname`, the found page's unique identifier will be appended:
 +
 +```go-html-template
 +{{</* relref "#anchors" */>}} => #anchors:9decaf7
 +```
 +
 +The above examples render as follows for this very page as well as a reference to the "Content" heading in the Hugo docs features pageyoursite
 +
 +```go-html-template
 +{{</* relref "#who" */>}} => #who:9decaf7
 +{{</* relref "/blog/post.md#who" */>}} => /blog/post/#who:badcafe
 +```
 +
 +More information about document unique identifiers and headings can be found [below]({{< ref "#hugo-heading-anchors" >}}).
 +
 +
 +## Ref and RelRef Configuration
 +
 +The behaviour can, since Hugo 0.45, be configured in `config.toml`:
 +
 +refLinksErrorLevel ("ERROR") 
 +: When using `ref` or `relref` to resolve page links and a link cannot resolved, it will be logged with this logg level. Valid values are `ERROR` (default) or `WARNING`. Any `ERROR` will fail the build (`exit -1`).
 +
 +refLinksNotFoundURL
 +: URL to be used as a placeholder when a page reference cannot be found in `ref` or `relref`. Is used as-is.
 +
 +
 +[lists]: /templates/lists/
 +[output formats]: /templates/output-formats/
 +[shortcode]: /content-management/shortcodes/
 +[bfext]: /content-management/formats/#blackfriday-extensions
index f7a466c3c12fb5b83332dc305fb6837a9c563dc1,0000000000000000000000000000000000000000..e666351a1b15a3ff7c16cd3366873e220f5ca0b4
mode 100644,000000..100644
--- /dev/null
@@@ -1,251 -1,0 +1,263 @@@
- description: Markdown and Emacs Org-Mode have native support, and additional formats (e.g. Asciidoc) come via external helpers.
 +---
 +title: Supported Content Formats
 +linktitle: Supported Content Formats
- For Emacs users, [goorgeous](https://github.com/chaseadamsio/goorgeous) provides built-in native support for Org-mode  (name your files `*.org` or set `markup = "org"` in front matter) 
++description: Both HTML and Markdown are supported content formats.
 +date: 2017-01-10
 +publishdate: 2017-01-10
 +lastmod: 2017-04-06
 +categories: [content management]
 +keywords: [markdown,asciidoc,mmark,pandoc,content format]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 20
 +weight: 20    #rem
 +draft: false
 +aliases: [/content/markdown-extras/,/content/supported-formats/,/doc/supported-formats/,/tutorials/mathjax/]
 +toc: true
 +---
 +
 +**Markdown is the main content format** and comes in two flavours:  The excellent [Blackfriday project][blackfriday] (name your files `*.md` or set `markup = "markdown"` in front matter) or its fork [Mmark][mmark] (name your files `*.mmark` or set `markup = "mmark"` in front matter), both very fast markdown engines written in Go.
 +
++For Emacs users, [goorgeous](https://github.com/chaseadamsio/goorgeous) provides built-in native support for Org-mode  (name your files `*.org` or set `markup = "org"` in front matter)
++
++But in many situations, plain HTML is what you want. Just name your files with `.html` or `.htm` extension inside your content folder. Note that if you want your HTML files to have a layout, they need front matter. It can be empty, but it has to be there:
++
++```html
++---
++title: "This is a content file in HTML"
++---
++
++<div>
++  <h1>Hello, Hugo!</h1>
++</div>
++```
 +
 +{{% note "Deeply Nested Lists" %}}
 +Before you begin writing your content in markdown, Blackfriday has a known issue [(#329)](https://github.com/russross/blackfriday/issues/329) with handling deeply nested lists. Luckily, there is an easy workaround. Use 4-spaces (i.e., <kbd>tab</kbd>) rather than 2-space indentations.
 +{{% /note %}}
 +
 +## Configure BlackFriday Markdown Rendering
 +
 +You can configure multiple aspects of Blackfriday as show in the following list. See the docs on [Configuration][config] for the full list of explicit directions you can give to Hugo when rendering your site.
 +
 +{{< readfile file="/content/en/readfiles/bfconfig.md" markdown="true" >}}
 +
 +## Extend Markdown
 +
 +Hugo provides some convenient methods for extending markdown.
 +
 +### Task Lists
 +
 +Hugo supports [GitHub-styled task lists (i.e., TODO lists)][gfmtasks] for the Blackfriday markdown renderer. If you do not want to use this feature, you can disable it in your configuration.
 +
 +#### Example Task List Input
 +
 +{{< code file="content/my-to-do-list.md" >}}
 +- [ ] a task list item
 +- [ ] list syntax required
 +- [ ] incomplete
 +- [x] completed
 +{{< /code >}}
 +
 +#### Example Task List Output
 +
 +The preceding markdown produces the following HTML in your rendered website:
 +
 +```
 +<ul class="task-list">
 +    <li><input type="checkbox" disabled="" class="task-list-item"> a task list item</li>
 +    <li><input type="checkbox" disabled="" class="task-list-item"> list syntax required</li>
 +    <li><input type="checkbox" disabled="" class="task-list-item"> incomplete</li>
 +    <li><input type="checkbox" checked="" disabled="" class="task-list-item"> completed</li>
 +</ul>
 +```
 +
 +#### Example Task List Display
 +
 +The following shows how the example task list will look to the end users of your website. Note that visual styling of lists is up to you. This list has been styled according to [the Hugo Docs stylesheet][hugocss].
 +
 +- [ ] a task list item
 +- [ ] list syntax required
 +- [ ] incomplete
 +- [x] completed
 +
 +### Emojis
 +
 +To add emojis directly to content, set `enableEmoji` to `true` in your [site configuration][config]. To use emojis in templates or shortcodes, see [`emojify` function][].
 +
 +For a full list of emojis, see the [Emoji cheat sheet][emojis].
 +
 +### Shortcodes
 +
 +If you write in Markdown and find yourself frequently embedding your content with raw HTML, Hugo provides built-in shortcodes functionality. This is one of the most powerful features in Hugo and allows you to create your own Markdown extensions very quickly.
 +
 +See [Shortcodes][sc] for usage, particularly for the built-in shortcodes that ship with Hugo, and [Shortcode Templating][sct] to learn how to build your own.
 +
 +### Code Blocks
 +
 +Hugo supports GitHub-flavored markdown's use of triple back ticks, as well as provides a special [`highlight` shortcode][hlsc], and syntax highlights those code blocks natively using *Chroma*. Users also have an option to use *Pygments* instead. See the [Syntax Highlighting][hl] section for details.
 +
 +## Mmark
 +
 +Mmark is a [fork of BlackFriday][mmark] and markdown superset that is well suited for writing [IETF documentation][ietf]. You can see examples of the syntax in the [Mmark GitHub repository][mmarkgh] or the full syntax on [Miek Gieben's website][].
 +
 +### Use Mmark
 +
 +As Hugo ships with Mmark, using the syntax is as easy as changing the extension of your content files from `.md` to `.mmark`.
 +
 +In the event that you want to only use Mmark in specific files, you can also define the Mmark syntax in your content's front matter:
 +
 +```
 +---
 +title: My Post
 +date: 2017-04-01
 +markup: mmark
 +---
 +```
 +
 +{{% warning %}}
 +Thare are some features not available in Mmark; one example being that shortcodes are not translated when used in an included `.mmark` file ([#3131](https://github.com/gohugoio/hugo/issues/3137)), and `EXTENSION_ABBREVIATION` ([#1970](https://github.com/gohugoio/hugo/issues/1970)) and the aforementioned GFM todo lists ([#2270](https://github.com/gohugoio/hugo/issues/2270)) are not fully supported. Contributions are welcome.
 +{{% /warning %}}
 +
 +## MathJax with Hugo
 +
 +[MathJax](http://www.mathjax.org/) is a JavaScript library that allows the display of mathematical expressions described via a LaTeX-style syntax in the HTML (or Markdown) source of a web page. As it is a pure a JavaScript library, getting it to work within Hugo is fairly straightforward, but does have some oddities that will be discussed here.
 +
 +This is not an introduction into actually using MathJax to render typeset mathematics on your website. Instead, this page is a collection of tips and hints for one way to get MathJax working on a website built with Hugo.
 +
 +### Enable MathJax
 +
 +The first step is to enable MathJax on pages that you would like to have typeset math. There are multiple ways to do this (adventurous readers can consult the [Loading and Configuring](http://docs.mathjax.org/en/latest/configuration.html) section of the MathJax documentation for additional methods of including MathJax), but the easiest way is to use the secure MathJax CDN by include a `<script>` tag for the officially recommended secure CDN ([cdn.js.com](https://cdnjs.com)):
 +
 +{{< code file="add-mathjax-to-page.html" >}}
 +<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
 +</script>
 +{{< /code >}}
 +
 +One way to ensure that this code is included in all pages is to put it in one of the templates that live in the `layouts/partials/` directory. For example, I have included this in the bottom of my template `footer.html` because I know that the footer will be included in every page of my website.
 +
 +### Options and Features
 +
 +MathJax is a stable open-source library with many features. I encourage the interested reader to view the [MathJax Documentation](http://docs.mathjax.org/en/latest/index.html), specifically the sections on [Basic Usage](http://docs.mathjax.org/en/latest/index.html#basic-usage) and [MathJax Configuration Options](http://docs.mathjax.org/en/latest/index.html#mathjax-configuration-options).
 +
 +### Issues with Markdown
 +
 +{{% note %}}
 +The following issues with Markdown assume you are using `.md` for content and BlackFriday for parsing. Using [Mmark](#mmark) as your content format will obviate the need for the following workarounds.
 +
 +When using Mmark with MathJax, use `displayMath: [['$$','$$'], ['\\[','\\]']]`. See the [Mmark `README.md`](https://github.com/miekg/mmark/wiki/Syntax#math-blocks) for more information. In addition to MathJax, Mmark has been shown to work well with [KaTeX](https://github.com/Khan/KaTeX). See this [related blog post from a Hugo user](http://nosubstance.me/post/a-great-toolset-for-static-blogging/).
 +{{% /note %}}
 +
 +After enabling MathJax, any math entered between proper markers (see the [MathJax documentation][mathjaxdocs]) will be processed and typeset in the web page. One issue that comes up, however, with Markdown is that the underscore character (`_`) is interpreted by Markdown as a way to wrap text in `emph` blocks while LaTeX (MathJax) interprets the underscore as a way to create a subscript. This "double speak" of the underscore can result in some unexpected and unwanted behavior.
 +
 +### Solution
 +
 +There are multiple ways to remedy this problem. One solution is to simply escape each underscore in your math code by entering `\_` instead of `_`. This can become quite tedious if the equations you are entering are full of subscripts.
 +
 +Another option is to tell Markdown to treat the MathJax code as verbatim code and not process it. One way to do this is to wrap the math expression inside a `<div>` `</div>` block. Markdown would ignore these sections and they would get passed directly on to MathJax and processed correctly. This works great for display style mathematics, but for inline math expressions the line break induced by the `<div>` is not acceptable. The syntax for instructing Markdown to treat inline text as verbatim is by wrapping it in backticks (`` ` ``). You might have noticed, however, that the text included in between backticks is rendered differently than standard text (on this site these are items highlighted in red). To get around this problem, we could create a new CSS entry that would apply standard styling to all inline verbatim text that includes MathJax code. Below I will show the HTML and CSS source that would accomplish this (note this solution was adapted from [this blog post](http://doswa.com/2011/07/20/mathjax-in-markdown.html)---all credit goes to the original author).
 +
 +{{< code file="mathjax-markdown-solution.html" >}}
 +<script type="text/x-mathjax-config">
 +MathJax.Hub.Config({
 +  tex2jax: {
 +    inlineMath: [['$','$'], ['\\(','\\)']],
 +    displayMath: [['$$','$$'], ['\[','\]']],
 +    processEscapes: true,
 +    processEnvironments: true,
 +    skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
 +    TeX: { equationNumbers: { autoNumber: "AMS" },
 +         extensions: ["AMSmath.js", "AMSsymbols.js"] }
 +  }
 +});
 +</script>
 +
 +<script type="text/x-mathjax-config">
 +  MathJax.Hub.Queue(function() {
 +    // Fix <code> tags after MathJax finishes running. This is a
 +    // hack to overcome a shortcoming of Markdown. Discussion at
 +    // https://github.com/mojombo/jekyll/issues/199
 +    var all = MathJax.Hub.getAllJax(), i;
 +    for(i = 0; i < all.length; i += 1) {
 +        all[i].SourceElement().parentNode.className += ' has-jax';
 +    }
 +});
 +</script>
 +{{< /code >}}
 +
 +
 +
 +As before, this content should be included in the HTML source of each page that will be using MathJax. The next code snippet contains the CSS that is used to have verbatim MathJax blocks render with the same font style as the body of the page.
 +
 +{{< code file="mathjax-style.css" >}}
 +code.has-jax {
 +    font: inherit;
 +    font-size: 100%;
 +    background: inherit;
 +    border: inherit;
 +    color: #515151;
 +}
 +{{< /code >}}
 +
 +In the CSS snippet, notice the line `color: #515151;`. `#515151` is the value assigned to the `color` attribute of the `body` class in my CSS. In order for the equations to fit in with the body of a web page, this value should be the same as the color of the body.
 +
 +### Usage
 +
 +With this setup, everything is in place for a natural usage of MathJax on pages generated using Hugo. In order to include inline mathematics, just put LaTeX code in between `` `$ TeX Code $` `` or `` `\( TeX Code \)` ``. To include display style mathematics, just put LaTeX code in between `<div>$$TeX Code$$</div>`. All the math will be properly typeset and displayed within your Hugo generated web page!
 +
 +## Additional Formats Through External Helpers
 +
 +Hugo has a new concept called _external helpers_. It means that you can write your content using [Asciidoc][ascii], [reStructuredText][rest], or [pandoc]. If you have files with associated extensions, Hugo will call external commands to generate the content. ([See the Hugo source code for external helpers][helperssource].)
 +
 +For example, for Asciidoc files, Hugo will try to call the `asciidoctor` or `asciidoc` command. This means that you will have to install the associated tool on your machine to be able to use these formats. ([See the Asciidoctor docs for installation instructions](http://asciidoctor.org/docs/install-toolchain/)).
 +
 +To use these formats, just use the standard extension and the front matter exactly as you would do with natively supported `.md` files.
 +
 +Hugo passes reasonable default arguments to these external helpers by default:
 +
 +- `asciidoc`: `--no-header-footer --safe -`
 +- `asciidoctor`: `--no-header-footer --safe --trace -`
 +- `rst2html`: `--leave-comments --initial-header-level=2`
 +- `pandoc`: `--mathjax`
 +
 +{{% warning "Performance of External Helpers" %}}
 +Because additional formats are external commands generation performance will rely heavily on the performance of the external tool you are using. As this feature is still in its infancy, feedback is welcome.
 +{{% /warning %}}
 +
 +## Learn Markdown
 +
 +Markdown syntax is simple enough to learn in a single sitting. The following are excellent resources to get you up and running:
 +
 +* [Daring Fireball: Markdown, John Gruber (Creator of Markdown)][fireball]
 +* [Markdown Cheatsheet, Adam Pritchard][mdcheatsheet]
 +* [Markdown Tutorial (Interactive), Garen Torikian][mdtutorial]
 +* [The Markdown Guide, Matt Cone][mdguide]
 +
 +[`emojify` function]: /functions/emojify/
 +[ascii]: http://asciidoctor.org/
 +[bfconfig]: /getting-started/configuration/#configuring-blackfriday-rendering
 +[blackfriday]: https://github.com/russross/blackfriday
 +[mmark]: https://github.com/miekg/mmark
 +[config]: /getting-started/configuration/
 +[developer tools]: /tools/
 +[emojis]: https://www.webpagefx.com/tools/emoji-cheat-sheet/
 +[fireball]: https://daringfireball.net/projects/markdown/
 +[gfmtasks]: https://guides.github.com/features/mastering-markdown/#syntax
 +[helperssource]: https://github.com/gohugoio/hugo/blob/77c60a3440806067109347d04eb5368b65ea0fe8/helpers/general.go#L65
 +[hl]: /content-management/syntax-highlighting/
 +[hlsc]: /content-management/shortcodes/#highlight
 +[hugocss]: /css/style.css
 +[ietf]: https://tools.ietf.org/html/
 +[mathjaxdocs]: https://docs.mathjax.org/en/latest/
 +[mdcheatsheet]: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
 +[mdguide]: https://www.markdownguide.org/
 +[mdtutorial]: http://www.markdowntutorial.com/
 +[Miek Gieben's website]: https://miek.nl/2016/march/05/mmark-syntax-document/
 +[mmark]: https://github.com/miekg/mmark
 +[mmarkgh]: https://github.com/miekg/mmark/wiki/Syntax
 +[org]: http://orgmode.org/
 +[pandoc]: http://www.pandoc.org/
 +[Pygments]: http://pygments.org/
 +[rest]: http://docutils.sourceforge.net/rst.html
 +[sc]: /content-management/shortcodes/
 +[sct]: /templates/shortcode-templates/
index 9ad1d38041c64bd1accb9a4c703ef17a8d475864,0000000000000000000000000000000000000000..4cf6825da861b74ec6a01fd8d8ebb0fcd02ed757
mode 100644,000000..100644
--- /dev/null
@@@ -1,174 -1,0 +1,186 @@@
 +---
 +title: Front Matter
 +linktitle:
 +description: Hugo allows you to add front matter in yaml, toml, or json to your content files.
 +date: 2017-01-09
 +publishdate: 2017-01-09
 +lastmod: 2017-02-24
 +categories: [content management]
 +keywords: ["front matter", "yaml", "toml", "json", "metadata", "archetypes"]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 30
 +weight: 30    #rem
 +draft: false
 +aliases: [/content/front-matter/]
 +toc: true
 +---
 +
 +**Front matter** allows you to keep metadata attached to an instance of a [content type][]---i.e., embedded inside a content file---and is one of the many features that gives Hugo its strength.
 +
 +{{< youtube Yh2xKRJGff4 >}}
 +
 +## Front Matter Formats
 +
 +Hugo supports three formats for front matter, each with their own identifying tokens.
 +
 +TOML
 +: identified by opening and closing `+++`.
 +
 +YAML
 +: identified by opening and closing `---`.
 +
 +JSON
 +: a single JSON object surrounded by '`{`' and '`}`', followed by a new line.
 +
 +### Example
 +
 +{{< code-toggle >}}
 ++++
 +title = "spf13-vim 3.0 release and new website"
 +description = "spf13-vim is a cross platform distribution of vim plugins and resources for Vim."
 +tags = [ ".vimrc", "plugins", "spf13-vim", "vim" ]
 +date = "2012-04-06"
 +categories = [
 +  "Development",
 +  "VIM"
 +]
 +slug = "spf13-vim-3-0-release-and-new-website"
 ++++
 +{{</ code-toggle >}}
 +
 +## Front Matter Variables
 +
 +### Predefined
 +
 +There are a few predefined variables that Hugo is aware of. See [Page Variables][pagevars] for how to call many of these predefined variables in your templates.
 +
 +aliases
 +: an array of one or more aliases (e.g., old published paths of renamed content) that will be created in the output directory structure . See [Aliases][aliases] for details.
 +
++audio
++: an array of paths to audio files related to the page; used by the `opengraph` [internal template](/templates/internal) to populate `og:audio`.
++
 +date
 +: the datetime at which the content was created; note this value is auto-populated according to Hugo's built-in [archetype][].
 +
 +description
 +: the description for the content.
 +
 +draft
 +: if `true`, the content will not be rendered unless the `--buildDrafts` flag is passed to the `hugo` command.
 +
 +expiryDate
 +: the datetime at which the content should no longer be published by Hugo; expired content will not be rendered unless the `--buildExpired` flag is passed to the `hugo` command.
 +
 +headless
 +: if `true`, sets a leaf bundle to be [headless][headless-bundle].
 +
++images
++: an array of paths to images related to the page; used by [internal templates](/templates/internal) such as `_internal/twitter_cards.html`.
++
 +isCJKLanguage
 +: if `true`, Hugo will explicitly treat the content as a CJK language; both `.Summary` and `.WordCount` work properly in CJK languages.
 +
 +keywords
 +: the meta keywords for the content.
 +
 +layout
 +: the layout Hugo should select from the [lookup order][lookup] when rendering the content. If a `type` is not specified in the front matter, Hugo will look for the layout of the same name in the layout directory that corresponds with a content's section. See ["Defining a Content Type"][definetype]
 +
 +lastmod
 +: the datetime at which the content was last modified.
 +
 +linkTitle
 +: used for creating links to content; if set, Hugo defaults to using the `linktitle` before the `title`. Hugo can also [order lists of content by `linktitle`][bylinktitle].
 +
 +markup
 +: **experimental**; specify `"rst"` for reStructuredText (requires`rst2html`) or `"md"` (default) for Markdown.
 +
 +outputs
 +: allows you to specify output formats specific to the content. See [output formats][outputs].
 +
 +publishDate
 +: if in the future, content will not be rendered unless the `--buildFuture` flag is passed to `hugo`.
 +
 +resources
 +: used for configuring page bundle resources. See [Page Resources][page-resources].
 +
++series
++: an array of series this page belongs to, as a subset of the `series` [taxonomy](/content-management/taxonomies/); used by the `opengraph` [internal template](/templates/internal) to populate `og:see_also`.
++
 +slug
 +: appears as the tail of the output URL. A value specified in front matter will override the segment of the URL based on the filename.
 +
 +title
 +: the title for the content.
 +
 +type
 +: the type of the content; this value will be automatically derived from the directory (i.e., the [section][]) if not specified in front matter.
 +
 +url
 +: the full path to the content from the web root. It makes no assumptions about the path of the content file. It also ignores any language prefixes of
 +the multilingual feature.
 +
++videos
++: an array of paths to videos related to the page; used by the `opengraph` [internal template](/templates/internal) to populate `og:video`.
++
 +weight
 +: used for [ordering your content in lists][ordering]. Lower weight gets higher precedence. So content with lower weight will come first.
 +
 +\<taxonomies\>
 +: field name of the *plural* form of the index. See `tags` and `categories` in the above front matter examples. _Note that the plural form of user-defined taxonomies cannot be the same as any of the predefined front matter variables._
 +
 +{{% note "Hugo's Default URL Destinations" %}}
 +If neither `slug` nor `url` is present and [permalinks are not configured otherwise in your site `config` file](/content-management/urls/#permalinks), Hugo will use the filename of your content to create the output URL. See [Content Organization](/content-management/organization) for an explanation of paths in Hugo and [URL Management](/content-management/urls/) for ways to customize Hugo's default behaviors.
 +{{% /note %}}
 +
 +### User-Defined
 +
 +You can add fields to your front matter arbitrarily to meet your needs. These user-defined key-values are placed into a single `.Params` variable for use in your templates.
 +
 +The following fields can be accessed via `.Params.include_toc` and `.Params.show_comments`, respectively. The [Variables][] section provides more information on using Hugo's page- and site-level variables in your templates.
 +
 +{{< code-toggle copy="false" >}}
 +include_toc: true
 +show_comments: false
 +{{</ code-toggle >}}
 +
 +
 +## Order Content Through Front Matter
 +
 +You can assign content-specific `weight` in the front matter of your content. These values are especially useful for [ordering][ordering] in list views. You can use `weight` for ordering of content and the convention of [`<TAXONOMY>_weight`][taxweight] for ordering content within a taxonomy. See [Ordering and Grouping Hugo Lists][lists] to see how `weight` can be used to organize your content in list views.
 +
 +## Override Global Markdown Configuration
 +
 +It's possible to set some options for Markdown rendering in a content's front matter as an override to the [BlackFriday rendering options set in your project configuration][config].
 +
 +## Front Matter Format Specs
 +
 +* [TOML Spec][toml]
 +* [YAML Spec][yaml]
 +* [JSON Spec][json]
 +
 +[variables]: /variables/
 +[aliases]: /content-management/urls/#aliases/
 +[archetype]: /content-management/archetypes/
 +[bylinktitle]: /templates/lists/#by-link-title
 +[config]: /getting-started/configuration/ "Hugo documentation for site configuration"
 +[content type]: /content-management/types/
 +[contentorg]: /content-management/organization/
 +[definetype]: /content-management/types/#defining-a-content-type "Learn how to specify a type and a layout in a content's front matter"
 +[headless-bundle]: /content-management/page-bundles/#headless-bundle
 +[json]: https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf "Specification for JSON, JavaScript Object Notation"
 +[lists]: /templates/lists/#ordering-content "See how to order content in list pages; for example, templates that look to specific _index.md for content and front matter."
 +[lookup]: /templates/lookup-order/ "Hugo traverses your templates in a specific order when rendering content to allow for DRYer templating."
 +[ordering]: /templates/lists/ "Hugo provides multiple ways to sort and order your content in list templates"
 +[outputs]: /templates/output-formats/ "With the release of v22, you can output your content to any text format using Hugo's familiar templating"
 +[page-resources]: /content-management/page-resources/
 +[pagevars]: /variables/page/
 +[section]: /content-management/sections/
 +[taxweight]: /content-management/taxonomies/
 +[toml]: https://github.com/toml-lang/toml "Specification for TOML, Tom's Obvious Minimal Language"
 +[urls]: /content-management/urls/
 +[variables]: /variables/
 +[yaml]: http://yaml.org/spec/ "Specification for YAML, YAML Ain't Markup Language"
index b26a9c059d6461cf7afa9af2dd5ddbe01bd14e99,0000000000000000000000000000000000000000..b83a6c103eaf5ffd7bebaf34ff4540260b0957a5
mode 100644,000000..100644
--- /dev/null
@@@ -1,195 -1,0 +1,195 @@@
- # Defatult JPEG quality setting. Default is 75.
 +---
 +title: "Image Processing"
 +description: "Image Page resources can be resized and cropped."
 +date: 2018-01-24T13:10:00-05:00
 +lastmod: 2018-01-26T15:59:07-05:00
 +linktitle: "Image Processing"
 +categories: ["content management"]
 +keywords: [bundle,content,resources,images]
 +weight: 4004
 +draft: false
 +toc: true
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 32
 +---
 +
 +## The Image Page Resource
 +
 +The `image` is a [Page Resource]({{< relref "/content-management/page-resources" >}}), and the processing methods listed below does not work on images inside your `/static` folder.
 +
 +
 +To get all images in a [Page Bundle]({{< relref "/content-management/organization#page-bundles" >}}):
 +
 +
 +```go-html-template
 +{{ with .Resources.ByType "image" }}
 +{{ end }}
 +
 +```
 +
 +## Image Processing Methods
 +
 +
 +The `image` resource implements the methods `Resize`, `Fit` and `Fill`, each returning the transformed image using the specified dimensions and processing options.
 +
 +Resize
 +: Resizes the image to the specified width and height.
 +
 +```go
 +// Resize to a width of 600px and preserve ratio
 +{{ $image := $resource.Resize "600x" }} 
 +
 +// Resize to a height of 400px and preserve ratio
 +{{ $image := $resource.Resize "x400" }} 
 +
 +// Resize to a width 600px and a height of 400px
 +{{ $image := $resource.Resize "600x400" }}
 +```
 +
 +Fit
 +: Scale down the image to fit the given dimensions while maintaining aspect ratio. Both height and width are required.
 +
 +```go
 +{{ $image := $resource.Fit "600x400" }} 
 +```
 +
 +Fill
 +: Resize and crop the image to match the given dimensions. Both height and width are required.
 +
 +```go
 +{{ $image := $resource.Fill "600x400" }} 
 +```
 +
 +
 +{{% note %}}
 +Image operations in Hugo currently **do not preserve EXIF data** as this is not supported by Go's [image package](https://github.com/golang/go/search?q=exif&type=Issues&utf8=%E2%9C%93). This will be improved on in the future.
 +{{% /note %}}
 +
 +
 +## Image Processing Options
 +
 +In addition to the dimensions (e.g. `600x400`), Hugo supports a set of additional image options.
 +
 +
 +JPEG Quality
 +: Only relevant for JPEG images, values 1 to 100 inclusive, higher is better. Default is 75.
 +
 +```go
 +{{ $image.Resize "600x q50" }}
 +```
 +
 +Rotate
 +: Rotates an image by the given angle counter-clockwise. The rotation will be performed first to get the dimensions correct. The main use of this is to be able to manually correct for [EXIF orientation](https://github.com/golang/go/issues/4341) of JPEG images.
 +
 +```go
 +{{ $image.Resize "600x r90" }}
 +```
 +
 +Anchor
 +: Only relevant for the `Fill` method. This is useful for thumbnail generation where the main motive is located in, say, the left corner. 
 +Valid are `Center`, `TopLeft`, `Top`, `TopRight`, `Left`, `Right`, `BottomLeft`, `Bottom`, `BottomRight`.
 +
 +```go
 +{{ $image.Fill "300x200 BottomLeft" }}
 +```
 +
 +Resample Filter
 +: Filter used in resizing. Default is `Box`, a simple and fast resampling filter appropriate for downscaling. 
 +
 +Examples are: `Box`, `NearestNeighbor`, `Linear`, `Gaussian`.
 +
 +See https://github.com/disintegration/imaging for more. If you want to trade quality for faster processing, this may be a option to test. 
 +
 +```go
 +{{ $image.Resize "600x400 Gaussian" }}
 +```
 +
 +## Image Processing Examples
 +
 +_The photo of the sunset used in the examples below is Copyright [Bjørn Erik Pedersen](https://commons.wikimedia.org/wiki/User:Bep) (Creative Commons Attribution-Share Alike 4.0 International license)_
 +
 +
 +{{< imgproc sunset Resize "300x" />}}
 +
 +{{< imgproc sunset Fill "90x120 left" />}}
 +
 +{{< imgproc sunset Fill "90x120 right" />}}
 +
 +{{< imgproc sunset Fit "90x90" />}}
 +
 +{{< imgproc sunset Resize "300x q10" />}}
 +
 +
 +This is the shortcode used in the examples above:
 +
 +
 +{{< code file="layouts/shortcodes/imgproc.html" >}}
 +{{< readfile file="layouts/shortcodes/imgproc.html" >}}   
 +{{< /code >}}
 +
 +And it is used like this:
 +
 +```go-html-template
 +{{</* imgproc sunset Resize "300x" /*/>}}
 +```
 +
 +
 +{{% note %}}
 +**Tip:** Note the self-closing shortcode syntax above. The `imgproc` shortcode can be called both with and without **inner content**.
 +{{% /note %}}
 +
 +## Image Processing Config
 +
 +You can configure an `imaging` section in `config.toml` with default image processing options:
 +
 +```toml
 +[imaging]
 +# Default resample filter used for resizing. Default is Box,
 +# a simple and fast averaging filter appropriate for downscaling.
 +# See https://github.com/disintegration/imaging
 +resampleFilter = "box"
 +
++# Default JPEG quality setting. Default is 75.
 +quality = 75
 +
 +# Anchor used when cropping pictures.
 +# Default is "smart" which does Smart Cropping, using https://github.com/muesli/smartcrop
 +# Smart Cropping is content aware and tries to find the best crop for each image.
 +# Valid values are Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight
 +anchor = "smart"
 +
 +```
 +
 +All of the above settings can also be set per image procecssing.
 +
 +## Smart Cropping of Images
 +
 +By default, Hugo will use the [Smartcrop](https://github.com/muesli/smartcrop), a library created by [muesli](https://github.com/muesli), when cropping images with `.Fill`. You can set the anchor point manually, but in most cases the smart option will make a good choice. And we will work with the library author to improve this in the future.
 +
 +An example using the sunset image from above:
 +
 +
 +{{< imgproc sunset Fill "200x200 smart" />}}
 +
 +
 +## Image Processing Performance Consideration
 +
 +Processed images are stored below `<project-dir>/resources` (can be set with `resourceDir` config setting). This folder is deliberately placed in the project, as it is recommended to check these into source control as part of the project. These images are not "Hugo fast" to generate, but once generated they can be reused.
 +
 +If you change your image settings (e.g. size), remove or rename images etc., you will end up with unused images taking up space and cluttering your project. 
 +
 +To clean up, run:
 +
 +```bash
 +hugo --gc
 +```
 +
 +
 +{{% note %}}
 +**GC** is short for **Garbage Collection**.
 +{{% /note %}}
 +
 +
 +
index 45b614351321a828ee32f322e5a03abc2087d614,0000000000000000000000000000000000000000..c72cb50cec0003c8b80180f1f3af55635cb11e55
mode 100644,000000..100644
--- /dev/null
@@@ -1,462 -1,0 +1,462 @@@
- Anything not defined in a `[languages]` block will fall back to the global
- value for that key (e.g., `copyright` for the English [`en`] language).
 +---
 +title: Multilingual Mode
 +linktitle: Multilingual and i18n
 +description: Hugo supports the creation of websites with multiple languages side by side.
 +date: 2017-01-10
 +publishdate: 2017-01-10
 +lastmod: 2017-01-10
 +categories: [content management]
 +keywords: [multilingual,i18n, internationalization]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 150
 +weight: 150   #rem
 +draft: false
 +aliases: [/content/multilingual/,/tutorials/create-a-multilingual-site/]
 +toc: true
 +---
 +
 +You should define the available languages in a `languages` section in your site configuration.
 +
 +> Also See [Hugo Multilingual Part 1: Content translation](https://regisphilibert.com/blog/2018/08/hugo-multilingual-part-1-managing-content-translation/)
 +
 +## Configure Languages
 +
 +The following is an example of a site configuration for a multilingual Hugo project:
 +
 +{{< code-toggle file="config" >}}
 +DefaultContentLanguage = "en"
 +copyright = "Everything is mine"
 +
++[params]
 +[params.navigation]
 +help  = "Help"
 +
 +[languages]
 +[languages.en]
 +title = "My blog"
 +weight = 1
 +[languages.en.params]
 +linkedin = "https://linkedin.com/whoever"
 +
 +[languages.fr]
 +title = "Mon blogue"
 +weight = 2
 +[languages.fr.params]
 +linkedin = "https://linkedin.com/fr/whoever"
 +[languages.fr.params.navigation]
 +help  = "Aide"
 +{{< /code-toggle >}}
 +
- disableLanguages = ["fr", "jp"]
++Anything not defined in a `[languages]` block will fall back to the global value for that key (e.g., `copyright` for the English [`en`] language). This also works for `params`, as demonstrated witgh `help` above: You will get the value `Aide` in French and `Help` in all the languages without this parameter set.
 +
 +With the configuration above, all content, sitemap, RSS feeds, paginations,
 +and taxonomy pages will be rendered below `/` in English (your default content language) and then below `/fr` in French.
 +
 +When working with front matter `Params` in [single page templates][singles], omit the `params` in the key for the translation.
 +
 +`defaultContentLanguage` sets the project's default language. If not set, the default language will be `en`.
 +
 +If the default language needs to be rendererd below its own language code (`/en`) like the others, set `defaultContentLanguageInSubdir: true`.
 +
 +Only the obvious non-global options can be overridden per language. Examples of global options are `baseURL`, `buildDrafts`, etc.
 +
 +### Disable a Language
 +
 +You can disable one or more languages. This can be useful when working on a new translation.
 +
 +```toml
- HUGO_DISABLELANGUAGES="fr jp" hugo
++disableLanguages = ["fr", "ja"]
 +```
 +
 +Note that you cannot disable the default content language.
 +
 +We kept this as a standalone setting to make it easier to set via [OS environment](/getting-started/configuration/#configure-with-environment-variables):
 +
 +```bash
++HUGO_DISABLELANGUAGES="fr ja" hugo
 +```
 +If you have already a list of disabled languages in `config.toml`, you can enable them in development like this:
 +
 +```bash
 +HUGO_DISABLELANGUAGES=" " hugo server
 +```
 +
 +
 +### Configure Multilingual Multihost
 +
 +From **Hugo 0.31** we support multiple languages in a multihost configuration. See [this issue](https://github.com/gohugoio/hugo/issues/4027) for details.
 +
 +This means that you can now configure a `baseURL` per `language`:
 +
 +
 +> If a `baseURL` is set on the `language` level, then all languages must have one and they must all be different.
 +
 +Example:
 +
 +{{< code-toggle file="config" >}}
 +[languages]
 +[languages.fr]
 +baseURL = "https://example.fr"
 +languageName = "Français"
 +weight = 1
 +title = "En Français"
 +
 +[languages.en]
 +baseURL = "https://example.com"
 +languageName = "English"
 +weight = 2
 +title = "In English"
 +{{</ code-toggle >}}
 +
 +With the above, the two sites will be generated into `public` with their own root:
 +
 +```bash
 +public
 +├── en
 +└── no
 +```
 +
 +**All URLs (i.e `.Permalink` etc.) will be generated from that root. So the English home page above will have its `.Permalink` set to `https://example.com/`.**
 +
 +When you run `hugo server` we will start multiple HTTP servers. You will typlically see something like this in the console:
 +
 +```bash
 +Web Server is available at 127.0.0.1:1313 (bind address 127.0.0.1)
 +Web Server is available at 127.0.0.1:1314 (bind address 127.0.0.1)
 +Press Ctrl+C to stop
 +```
 +
 +Live reload and `--navigateToChanged` between the servers work as expected.
 +
 +### Taxonomies and Blackfriday
 +
 +Taxonomies and [Blackfriday configuration][config] can also be set per language:
 +
 +
 +{{< code-toggle file="config" >}}
 +[Taxonomies]
 +tag = "tags"
 +
 +[blackfriday]
 +angledQuotes = true
 +hrefTargetBlank = true
 +
 +[languages]
 +[languages.en]
 +weight = 1
 +title = "English"
 +[languages.en.blackfriday]
 +angledQuotes = false
 +
 +[languages.fr]
 +weight = 2
 +title = "Français"
 +[languages.fr.Taxonomies]
 +plaque = "plaques"
 +{{</ code-toggle >}}
 +
 +## Translate Your Content
 +
 +There are two ways to manage your content translation, both ensures each page is assigned a language and linked to its translations.
 +
 +### Translation by filename
 +
 +Considering the following example:
 +
 +1. `/content/about.en.md`
 +2. `/content/about.fr.md`
 +
 +The first file is assigned the english language and linked to the second.
 +The second file is assigned the french language and linked to the first.
 +
 +Their language is __assigned__ according to the language code added as __suffix to the filename__. 
 +
 +By having the same **path and base filename**, the content pieces are __linked__ together as translated pages.
 +{{< note >}}
 +
 +If a file is missing any language code, it will be assigned the default language.
 +
 +{{</ note >}}
 +### Translation by content directory
 +
 +This system uses different content directories for each of the languages. Each language's content directory is set using the `contentDir` param.
 +
 +{{< code-toggle file="config" >}}
 +
 +languages:
 +  en:
 +    weight: 10
 +    languageName: "English"
 +    contentDir: "content/english"
 +  nn:
 +    weight: 20
 +    languageName: "Français"
 +    contentDir: "content/french"
 +
 +{{< /code-toggle >}}
 +
 +The value of `contentDir` can be any valid path, even absolute path references. The only restriction is that the content directories cannot overlap.
 +
 +Considering the following example in conjunction with the configuration above: 
 +
 +1. `/content/english/about.md`
 +2. `/content/french/about.md`
 +
 +The first file is assigned the english language and is linked to the second.
 +<br>The second file is assigned the french language and is linked to the first.
 +
 +Their language is __assigned__ according to the content directory they are __placed__ in.
 +
 +By having the same **path and basename** (relative to their language content directory), the content pieces are __linked__ together as translated pages.
 +
 +### Bypassing default linking.
 +
 +Any pages sharing the same `translationKey`  set in front matter will be linked as translated pages regardless of basename or location.
 +
 +Considering the following example:
 +
 +1. `/content/about-us.en.md`
 +2. `/content/om.nn.md`
 +3. `/content/presentation/a-propos.fr.md`
 +
 +```yaml
 +# set in all three pages
 +translationKey: "about"
 +```
 +
 +By setting the `translationKey` front matter param to `about` in all three pages, they will be __linked__ as translated pages.
 +
 +
 +### Localizing permalinks
 +
 +Because paths and filenames are used to handle linking, all translated pages, except for the language part, will be sharing the same url.
 +
 +To localize the URLs, the [`slug`]({{< ref "/content-management/organization/index.md#slug" >}}) or [`url`]({{< ref "/content-management/organization/index.md#url" >}}) front matter param can be set in any of the non-default language file. 
 +
 +For example, a french translation (`content/about.fr.md`) can have its own localized slug.
 +
 +{{< code-toggle >}}
 +Title: A Propos
 +slug: "a-propos"
 +{{< /code-toggle >}}
 +
 +
 +At render, Hugo will build both `/about/` and `fr/a-propos/` while maintaning their translation linking.
 +{{% note %}}
 +If using `url`, remember to include the language part as well: `fr/compagnie/a-propos/`.
 +{{%/ note %}}
 +
 +### Page Bundles
 +
 +To avoid the burden of having to duplicate files, each Page Bundle inherits the resources of its linked translated pages' bundles except for the content files (markdown files, html files etc...).
 +
 +Therefore, from within a template, the page will have access to the files from all linked pages' bundles.
 +
 +If, across the linked bundles, two or more files share the same basenname, only one will be included and chosen as follows:
 +
 +* File from current language Bundle, if present.
 +* First file found across bundles by order of language `Weight`.
 +
 +{{% note %}}
 +
 +Page Bundle's resources follow the same language assignement logic as content files, be it by filename (`image.jpg`, `image.fr.jpg`) or by directory (`english/about/header.jpg`, `french/about/header.jpg`).
 +
 +{{%/ note %}}
 +
 +## Reference the Translated Content
 +
 +To create a list of links to translated content, use a template similar to the following:
 +
 +{{< code file="layouts/partials/i18nlist.html" >}}
 +{{ if .IsTranslated }}
 +<h4>{{ i18n "translations" }}</h4>
 +<ul>
 +    {{ range .Translations }}
 +    <li>
 +        <a href="{{ .Permalink }}">{{ .Lang }}: {{ .Title }}{{ if .IsPage }} ({{ i18n "wordCount" . }}){{ end }}</a>
 +    </li>
 +    {{ end}}
 +</ul>
 +{{ end }}
 +{{< /code >}}
 +
 +The above can be put in a `partial` (i.e., inside `layouts/partials/`) and included in any template, be it for a [single content page][contenttemplate] or the [homepage][]. It will not print anything if there are no translations for a given page.
 +
 +The above also uses the [`i18n` function][i18func] described in the next section.
 +
 +### List All Available Languages
 +
 +`.AllTranslations` on a `Page` can be used to list all translations, including itself. Called on the home page it can be used to build a language navigator:
 +
 +
 +{{< code file="layouts/partials/allLanguages.html" >}}
 +<ul>
 +{{ range $.Site.Home.AllTranslations }}
 +<li><a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a></li>
 +{{ end }}
 +</ul>
 +{{< /code >}}
 +
 +## Translation of Strings
 +
 +Hugo uses [go-i18n][] to support string translations. [See the project's source repository][go-i18n-source] to find tools that will help you manage your translation workflows.
 +
 +Translations are collected from the `themes/<THEME>/i18n/` folder (built into the theme), as well as translations present in `i18n/` at the root of your project. In the `i18n`, the translations will be merged and take precedence over what is in the theme folder. Language files should be named according to [RFC 5646][] with names such as `en-US.toml`, `fr.toml`, etc.
 +
 +{{% note %}}
 +From **Hugo 0.31** you no longer need to use a valid language code. It _can be_ anything.
 +
 +See https://github.com/gohugoio/hugo/issues/3564
 +
 +{{% /note %}}
 +
 +From within your templates, use the `i18n` function like this:
 +
 +```
 +{{ i18n "home" }}
 +```
 +
 +This uses a definition like this one in `i18n/en-US.toml`:
 +
 +```
 +[home]
 +other = "Home"
 +```
 +
 +Often you will want to use to the page variables in the translations strings. To do that, pass on the "." context when calling `i18n`:
 +
 +```
 +{{ i18n "wordCount" . }}
 +```
 +
 +This uses a definition like this one in `i18n/en-US.toml`:
 +
 +```
 +[wordCount]
 +other = "This article has {{ .WordCount }} words."
 +```
 +An example of singular and plural form:
 +
 +```
 +[readingTime]
 +one = "One minute read"
 +other = "{{.Count}} minutes read"
 +```
 +And then in the template:
 +
 +```
 +{{ i18n "readingTime" .ReadingTime }}
 +```
 +To track down missing translation strings, run Hugo with the `--i18n-warnings` flag:
 +
 +```
 + hugo --i18n-warnings | grep i18n
 +i18n|MISSING_TRANSLATION|en|wordCount
 +```
 +
 +## Customize Dates
 +
 +At the time of this writing, Go does not yet have support for internationalized locales, but if you do some work, you can simulate it. For example, if you want to use French month names, you can add a data file like ``data/mois.yaml`` with this content:
 +
 +~~~yaml
 +1: "janvier"
 +2: "février"
 +3: "mars"
 +4: "avril"
 +5: "mai"
 +6: "juin"
 +7: "juillet"
 +8: "août"
 +9: "septembre"
 +10: "octobre"
 +11: "novembre"
 +12: "décembre"
 +~~~
 +
 +... then index the non-English date names in your templates like so:
 +
 +~~~html
 +<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
 +  Article publié le {{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }} (dernière modification le {{ .Lastmod.Day }} {{ index $.Site.Data.mois (printf "%d" .Lastmod.Month) }} {{ .Lastmod.Year }})
 +</time>
 +~~~
 +
 +This technique extracts the day, month and year by specifying ``.Date.Day``, ``.Date.Month``, and ``.Date.Year``, and uses the month number as a key, when indexing the month name data file.
 +
 +## Menus
 +
 +You can define your menus for each language independently. The [creation of a menu][menus] works analogous to earlier versions of Hugo, except that they have to be defined in their language-specific block in the configuration file:
 +
 +```
 +defaultContentLanguage = "en"
 +
 +[languages.en]
 +weight = 0
 +languageName = "English"
 +
 +[[languages.en.menu.main]]
 +url    = "/"
 +name   = "Home"
 +weight = 0
 +
 +
 +[languages.de]
 +weight = 10
 +languageName = "Deutsch"
 +
 +[[languages.de.menu.main]]
 +url    = "/"
 +name   = "Startseite"
 +weight = 0
 +```
 +
 +The rendering of the main navigation works as usual. `.Site.Menus` will just contain the menu of the current language. Pay attention to the generation of the menu links. `absLangURL` takes care that you link to the correct locale of your website. Otherwise, both menu entries would link to the English version as the default content language that resides in the root directory.
 +
 +```
 +<ul>
 +    {{- $currentPage := . -}}
 +    {{ range .Site.Menus.main -}}
 +    <li class="{{ if $currentPage.IsMenuCurrent "main" . }}active{{ end }}">
 +        <a href="{{ .URL | absLangURL }}">{{ .Name }}</a>
 +    </li>
 +    {{- end }}
 +</ul>
 +
 +```
 +
 +## Missing Translations
 +
 +If a string does not have a translation for the current language, Hugo will use the value from the default language. If no default value is set, an empty string will be shown.
 +
 +While translating a Hugo website, it can be handy to have a visual indicator of missing translations. The [`enableMissingTranslationPlaceholders` configuration option][config] will flag all untranslated strings with the placeholder `[i18n] identifier`, where `identifier` is the id of the missing translation.
 +
 +{{% note %}}
 +Hugo will generate your website with these missing translation placeholders. It might not be suited for production environments.
 +{{% /note %}}
 +
 +For merging of content from other languages (i.e. missing content translations), see [lang.Merge](/functions/lang.merge/).
 +
 +## Multilingual Themes support
 +
 +To support Multilingual mode in your themes, some considerations must be taken for the URLs in the templates. If there is more than one language, URLs must meet the following criteria:
 +
 +* Come from the built-in `.Permalink` or `.RelPermalink`
 +* Be constructed with
 +    * The [`relLangURL` template function][rellangurl] or the [`absLangURL` template function][abslangurl] **OR**
 +    * Prefixed with `{{ .LanguagePrefix }}`
 +
 +If there is more than one language defined, the `LanguagePrefix` variable will equal `/en` (or whatever your `CurrentLanguage` is). If not enabled, it will be an empty string and is therefore harmless for single-language Hugo websites.
 +
 +[abslangurl]: /functions/abslangurl
 +[config]: /getting-started/configuration/
 +[contenttemplate]: /templates/single-page-templates/
 +[go-i18n-source]: https://github.com/nicksnyder/go-i18n
 +[go-i18n]: https://github.com/nicksnyder/go-i18n
 +[homepage]: /templates/homepage/
 +[i18func]: /functions/i18n/
 +[menus]: /content-management/menus/
 +[rellangurl]: /functions/rellangurl
 +[RFC 5646]: https://tools.ietf.org/html/rfc5646
 +[singles]: /templates/single-page-templates/
index f45cf4b014ff1a4e6be708c674e06da6dfa49716,0000000000000000000000000000000000000000..c3c29e452e2fcc370a6df535d17a670e717b1a72
mode 100644,000000..100644
--- /dev/null
@@@ -1,150 -1,0 +1,165 @@@
- : The main type of the resource. For example, a file of MIME type `image/jpg` has for ResourceType `image`.
 +---
 +title : "Page Resources"
 +description : "Page Resources -- images, other pages, documents etc. -- have page-relative URLs and their own metadata."
 +date: 2018-01-24
 +categories: ["content management"]
 +keywords: [bundle,content,resources]
 +weight: 4003
 +draft: false
 +toc: true
 +linktitle: "Page Resources"
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 31
 +---
 +
 +## Properties
 +
 +ResourceType
++: The main type of the resource. For example, a file of MIME type `image/jpg` has the ResourceType `image`.
 +
 +Name
 +: Default value is the filename (relative to the owning page). Can be set in front matter.
 +
 +Title
 +: Default blank. Can be set in front matter.
 +
 +Permalink
 +: The absolute URL to the resource. Resources of type `page` will have no value.
 +
 +RelPermalink
 +: The relative URL to the resource. Resources of type `page` will have no value.
 +
++Content
++: The content of the resource itself. For most resources, this returns a string with the contents of the file. This can be used to inline some resources, such as `<script>{{ (.Resources.GetMatch "myscript.js").Content | safeJS }}</script>` or `<img src="{{ (.Resources.GetMatch "mylogo.png").Content | base64Encode }}">`.
++
++MediaType
++: The MIME type of the resource, such as `image/jpg`.
++
++MediaType.MainType
++: The main type of the resource's MIME type. For example, a file of MIME type `application/pdf` has for MainType `application`.
++
++MediaType.SubType
++: The subtype of the resource's MIME type. For example, a file of MIME type `application/pdf` has for SubType `pdf`. Note that this is not the same as the file extension - PowerPoint files have a subtype of `vnd.mspowerpoint`.
++
++MediaType.Suffixes
++: A slice of possible suffixes for the resource's MIME type.
++
 +## Methods
 +ByType
 +: Returns the page resources of the given type.
 +
 +```go
 +{{ .Resources.ByType "image" }}
 +```
 +Match
 +: Returns all the page resources (as a slice) whose `Name` matches the given Glob pattern ([examples](https://github.com/gobwas/glob/blob/master/readme.md)). The matching is case-insensitive.
 +
 +```go
 +{{ .Resources.Match "images/*" }}
 +```
 +
 +GetMatch
 +: Same as `Match` but will return the first match.
 +
 +### Pattern Matching
 +```go
 +// Using Match/GetMatch to find this images/sunset.jpg ?
 +.Resources.Match "images/sun*" ✅
 +.Resources.Match "**/Sunset.jpg" ✅
 +.Resources.Match "images/*.jpg" ✅
 +.Resources.Match "**.jpg" ✅
 +.Resources.Match "*" 🚫
 +.Resources.Match "sunset.jpg" 🚫
 +.Resources.Match "*sunset.jpg" 🚫
 +
 +```
 +
 +## Page Resources Metadata
 +
 +Page Resources' metadata is managed from their page's front matter with an array/table parameter named `resources`. You can batch assign values using a [wildcards](http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm).
 +
 +{{% note %}}
 +Resources of type `page` get `Title` etc. from their own front matter.
 +{{% /note %}}
 +
 +name
 +: Sets the value returned in `Name`.
 +
 +{{% warning %}}
 +The methods `Match` and `GetMatch` use `Name` to match the resources.
 +{{%/ warning %}}
 +
 +title
 +: Sets the value returned in `Title`
 +
 +params
 +: A map of custom key/values.
 +
 +
 +###  Resources metadata example
 +
 +{{< code-toggle copy="false">}}
 +title: Application
 +date : 2018-01-25
 +resources :
 +- src : "images/sunset.jpg"
 +  name : "header"
 +- src : "documents/photo_specs.pdf"
 +  title : "Photo Specifications"
 +  params:
 +    icon : "photo"
 +- src : "documents/guide.pdf"
 +  title : "Instruction Guide"
 +- src : "documents/checklist.pdf"
 +  title : "Document Checklist"
 +- src : "documents/payment.docx"
 +  title : "Proof of Payment"
 +- src : "**.pdf"
 +  name : "pdf-file-:counter"
 +  params :
 +    icon : "pdf"
 +- src : "**.docx"
 +  params :
 +    icon : "word"
 +{{</ code-toggle >}}
 +
 +From the example above:
 +
 +- `sunset.jpg` will receive a new `Name` and can now be found with `.GetMatch "header"`.
 +- `documents/photo_specs.pdf` will get the `photo` icon.
 +- `documents/checklist.pdf`, `documents/guide.pdf` and `documents/payment.docx` will get `Title` as set by `title`.
 +- Every `PDF` in the bundle except `documents/photo_specs.pdf` will get the `pdf` icon.
 +- All `PDF` files will get a new `Name`. The `name` parameter contains a special placeholder [`:counter`](#the-counter-placeholder-in-name-and-title), so the `Name` will be `pdf-file-1`, `pdf-file-2`, `pdf-file-3`.
 +- Every docx in the bundle will receive the `word` icon.
 +
 +{{% warning %}}
 +The __order matters__ --- Only the **first set** values of the `title`, `name` and `params`-**keys** will be used. Consecutive parameters will be set only for the ones not already set. For example, in the above example, `.Params.icon` is already first set to `"photo"` in `src = "documents/photo_specs.pdf"`. So that would not get overridden to `"pdf"` by the later set `src = "**.pdf"` rule.
 +{{%/ warning %}}
 +
 +### The `:counter` placeholder in `name` and `title`
 +
 +The `:counter` is a special placeholder recognized in `name` and `title` parameters `resources`.
 +
 +The counter starts at 1 the first time they are used in either `name` or `title`.
 +
 +For example, if a bundle has the resources `photo_specs.pdf`, `other_specs.pdf`, `guide.pdf` and `checklist.pdf`, and the front matter has specified the `resources` as:
 +
 +{{< code-toggle copy="false">}}
 +[[resources]]
 +  src = "*specs.pdf"
 +  title = "Specification #:counter"
 +[[resources]]
 +  src = "**.pdf"
 +  name = "pdf-file-:counter"
 +{{</ code-toggle >}}
 +
 +the `Name` and `Title` will be assigned to the resource files as follows:
 +
 +| Resource file     | `Name`            | `Title`               |
 +|-------------------|-------------------|-----------------------|
 +| checklist.pdf     | `"pdf-file-1.pdf` | `"checklist.pdf"`     |
 +| guide.pdf         | `"pdf-file-2.pdf` | `"guide.pdf"`         |
 +| other\_specs.pdf  | `"pdf-file-3.pdf` | `"Specification #1"` |
 +| photo\_specs.pdf  | `"pdf-file-4.pdf` | `"Specification #2"` |
index 636e959701d5ffa327af0bfbca5487b1dd3386a0,0000000000000000000000000000000000000000..e87aecca48082e14f69cf13538244aa8a135df8d
mode 100644,000000..100644
--- /dev/null
@@@ -1,135 -1,0 +1,135 @@@
- {{ $related := .RegularPages.Related . }}
 +---
 +title: Related Content
 +description: List related content in "See Also" sections.
 +date: 2017-09-05
 +categories: [content management]
 +keywords: [content]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 40
 +weight: 30
 +draft: false
 +aliases: [/content/related/,/related/]
 +toc: true
 +---
 +
 +
 +Hugo uses a set of factors to identify a page's related content based on Front Matter parameters. This can be tuned to the desired set of indices and parameters or left to Hugo's default [Related Content configuration](#configure-related-content). 
 +
 +## List Related Content
 +
 +
 +To list up to 5 related pages (which share the same _date_ or _keyword_ parameters) is as simple as including something similar to this partial in your single page template: 
 +
 +{{< code file="layouts/partials/related.html" >}}
 +{{ $related := .Site.RegularPages.Related . | first 5 }}
 +{{ with $related }}
 +<h3>See Also</h3>
 +<ul>
 +      {{ range . }}
 +      <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
 +      {{ end }}
 +</ul>
 +{{ end }}
 +{{< /code >}}
 +
 +### Methods
 +
 +Here is the list of "Related" methods available on a page collection such `.RegularPages`.
 +
 +#### .Related PAGE
 +Returns a collection of pages related the given one.
 +
 +```
- {{ $related := .RegularPages.RelatedIndices . "tags" "date" }}
++{{ $related := .Site.RegularPages.Related . }}
 +```
 +
 +#### .RelatedIndices PAGE INDICE1 [INDICE2 ...]
 +Returns a collection of pages related to a given one restricted to a list of indices.
 +
 +```
- {{ $related := .RegularPages.RelatedTo ( keyVals "tags" "hugo" "rocks")  ( keyVals "date" .Date ) }}
++{{ $related := .Site.RegularPages.RelatedIndices . "tags" "date" }}
 +```
 +
 +#### .RelatedTo KEYVALS [KEYVALS2 ...]
 +Returns a collection of pages related together by a set of indices and their match. 
 +
 +In order to build those set and pass them as argument, one must use the `keyVals` function where the first agrument would be the `indice` and the consective ones its potential `matches`.
 +
 +```
++{{ $related := .Site.RegularPages.RelatedTo ( keyVals "tags" "hugo" "rocks")  ( keyVals "date" .Date ) }}
 +```
 +
 +{{% note %}}
 +Read [this blog article](https://regisphilibert.com/blog/2018/04/hugo-optmized-relashionships-with-related-content/) for a great explanation of more advanced usage of this feature.
 +{{% /note %}}
 +
 +## Configure Related Content
 +Hugo provides a sensible default configuration of Related Content, but you can fine-tune this in your configuration, on the global or language level if needed.
 +
 +### Default configuration
 +
 +Without any `related` configuration set on the project, Hugo's Related Content methods will use the following.
 +
 +```yaml
 +related:
 +  threshold: 80
 +  includeNewer: false
 +  toLower: false
 +  indices:
 +  - name: keywords
 +    weight: 100
 +  - name: date
 +    weight: 10
 +```
 +
 +Custom configuration should be set using the same syntax.
 +
 +{{% note %}}
 +If you add a `related` config section, you need to add a complete configuration. It is not possible to just set, say, `includeNewer` and use the rest  from the Hugo defaults.
 +{{% /note %}}
 +
 +### Top Level Config Options
 +
 +threshold
 +:  A value between 0-100. Lower value will give more, but maybe not so relevant, matches.
 +
 +includeNewer
 +:  Set to true to include **pages newer than the current page** in the related content listing. This will mean that the output for older posts may change as new related content gets added.
 +
 +toLower
 +: Set to true to lower case keywords in both the indexes and the queries. This may give more accurate results at a slight performance penalty. Note that this can also be set per index.
 +
 +### Config Options per Index
 +
 +name
 +:  The index name. This value maps directly to a page param. Hugo supports string values (`author` in the example) and lists (`tags`, `keywords` etc.) and time and date objects. 
 +
 +weight
 +: An integer weight that indicates _how important_ this parameter is relative to the other parameters.  It can be 0, which has the effect of turning this index off, or even negative. Test with different values to see what fits your content best.
 +
 +pattern
 +: This is currently only relevant for dates. When listing related content, we may want to list content that is also close in time. Setting "2006" (default value for date indexes) as the pattern for a date index will add weight to pages published in the same year. For busier blogs, "200601" (year and month) may be a better default.
 +
 +toLower
 +: See above.
 +
 +## Performance Considerations
 +
 +**Fast is Hugo's middle name** and we would not have released this feature had it not been blistering fast. 
 +
 +This feature has been in the back log and requested by many for a long time. The development got this recent kick start from this Twitter thread:
 +
 +{{< tweet 898398437527363585 >}}
 +
 +Scott S. Lowe removed the "Related Content" section built using the `intersect` template function on tags, and the build time dropped from 30 seconds to less than 2 seconds on his 1700 content page sized blog. 
 +
 +He should now be able to add an improved version of that "Related Content" section without giving up the fast live-reloads. But it's worth noting that:
 +
 +* If you don't use any of the `Related` methods, you will not use the Relate Content feature, and performance will be the same as before.
 +* Calling `.RegularPages.Related` etc. will create one inverted index, also sometimes named posting list, that will be reused for any lookups in that same page collection. Doing that in addition to, as an example, calling `.Pages.Related` will work as expected, but will create one additional inverted index. This should still be very fast, but worth having in mind, especially for bigger sites.
 +
 +{{% note %}}
 +We currently do not index **Page content**. We thought we would release something that will make most people happy before we start solving [Sherlock's last case](https://github.com/joearms/sherlock).
 +{{% /note %}}
index e9e1cd10f109e467e0c5a05cf3a58dd682385113,0000000000000000000000000000000000000000..93b31ee8cc569a0c08dcab100f938180c2772d06
mode 100644,000000..100644
--- /dev/null
@@@ -1,415 -1,0 +1,415 @@@
- You will need to have Git installed on your computer to contribute to Hugo development. Teaching Git is outside the scope of the Hugo docs, but if you're looking for an excellent reference to learn the basics of Git, we recommend the [Git book][gitbook] if you are not sure where to begin. We will include short explainations of the Git commands in this document.
 +---
 +title: Contribute to Hugo Development
 +linktitle: Development
 +description: Hugo relies heavily on contributions from the open source community.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [contribute]
 +keywords: [dev,open source]
 +authors: [digitalcraftsman]
 +menu:
 +  docs:
 +    parent: "contribute"
 +    weight: 10
 +weight: 10
 +sections_weight: 10
 +draft: false
 +toc: true
 +---
 +
 +## Introduction
 +
 +Hugo is an open-source project and lives by the work of its [contributors][]. There are plenty of [open issues][issues], and we need your help to make Hugo even more awesome. You don't need to be a Go guru to contribute to the project's development.
 +
 +## Assumptions
 +
 +This contribution guide takes a step-by-step approach in hopes of helping newcomers. Therefore, we only assume the following:
 +
 +* You are new to Git or open-source projects in general
 +* You are a fan of Hugo and enthusiastic about contributing to the project
 +
 +{{% note "Additional Questions?" %}}
 +If you're struggling at any point in this contribution guide, reach out to the Hugo community in [Hugo's Discussion forum](https://discourse.gohugo.io).
 +{{% /note %}}
 +
 +## Install Go
 +
 +The installation of Go should take only a few minutes. You have more than one option to get Go up and running on your machine.
 +
 +If you are having trouble following the installation guides for Go, check out [Go Bootcamp, which contains setups for every platform][gobootcamp] or reach out to the Hugo community in the [Hugo Discussion Forums][forums].
 +
 +### Install Go From Source
 +
 +[Download the latest stable version of Go][godl] and follow the official [Go installation guide][goinstall].
 +
 +Once you're finished installing Go, let's confirm everything is working correctly. Open a terminal---or command line under Windows--and type the following:
 +
 +```
 +go version
 +```
 +
 +You should see something similar to the following written to the console. Note that the version here reflects the most recent version of Go as of the last update for this page:
 +
 +```
 +go version go1.8 darwin/amd64
 +```
 +
 +Next, make sure that you set up your `GOPATH` [as described in the installation guide][setupgopath].
 +
 +You can print the `GOPATH` with `echo $GOPATH`. You should see a non-empty string containing a valid path to your Go workspace; for example:
 +
 +```
 +/Users/<yourusername>/Code/go
 +```
 +
 +### Install Go with Homebrew
 +
 +If you are a MacOS user and have [Homebrew](https://brew.sh/) installed on your machine, installing Go is as simple as the following command:
 +
 +{{< code file="install-go.sh" >}}
 +brew install go
 +{{< /code >}}
 +
 +### Install Go via GVM
 +
 +More experienced users can use the [Go Version Manager][gvm] (GVM). GVM allows you to switch between different Go versions *on the same machine*. If you're a beginner, you probably don't need this feature. However, GVM makes it easy to upgrade to a new released Go version with just a few commands.
 +
 +GVM comes in especially handy if you follow the development of Hugo over a longer period of time. Future versions of Hugo will usually be compiled with the latest version of Go. Sooner or later, you will have to upgrade if you want to keep up.
 +
 +## Create a GitHub Account
 +
 +If you're going to contribute code, you'll need to have an account on GitHub. Go to [www.github.com/join](https://github.com/join) and set up a personal account.
 +
 +## Install Git on Your System
 +
- The Go code styleguide maybe is opinionated but it ensures that the codebase looks the same, regardless who wrote the code. Go comes with its own formatting tool. Let's apply the styleguide to our addtions:
++You will need to have Git installed on your computer to contribute to Hugo development. Teaching Git is outside the scope of the Hugo docs, but if you're looking for an excellent reference to learn the basics of Git, we recommend the [Git book][gitbook] if you are not sure where to begin. We will include short explanations of the Git commands in this document.
 +
 +Git is a [version control system](https://en.wikipedia.org/wiki/Version_control) to track the changes of source code. Hugo depends on smaller third-party packages that are used to extend the functionality. We use them because we don't want to reinvent the wheel.
 +
 +Go ships with a sub-command called `get` that will download these packages for us when we setup our working environment. The source code of the packages is tracked with Git. `get` will interact with the Git servers of the package hosters in order to fetch all dependencies.
 +
 +Move back to the terminal and check if Git is already installed. Type in `git version` and press enter. You can skip the rest of this section if the command returned a version number. Otherwise [download](https://git-scm.com/downloads) the latest version of Git and follow this [installation guide](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).
 +
 +Finally, check again with `git version` if Git was installed successfully.
 +
 +### Git Graphical Front Ends
 +
 +There are several [GUI clients](https://git-scm.com/downloads/guis) that help you to operate Git. Not all are available for all operating systems and maybe differ in their usage. Because of this we will document how to use the command line, since the commands are the same everywhere.
 +
 +### Install Hub on Your System (Optional)
 +
 +Hub is a great tool for working with GitHub. The main site for it is [hub.github.com](https://hub.github.com/). Feel free to install this little Git wrapper.
 +
 +On a Mac, you can install [Hub](https://github.com/github/hub) using [Homebrew](https://brew.sh):
 +
 +```
 +brew install hub
 +```
 +
 +Now we'll create an [alias in Bash](http://tldp.org/LDP/abs/html/aliases.html) so that typing `git` actually runs `Hub`:
 +
 +```
 +echo "alias git='hub'" >> ~/.bash_profile
 +```
 +
 +Confirm the installation:
 +
 +```
 +git version 2.6.3
 +hub version 2.2.2
 +```
 +
 +## Set up your working copy
 +
 +You set up the working copy of the repository locally on your computer. Your local copy of the files is what you'll edit, compile, and end up pushing back to GitHub. The main steps are cloning the repository and creating your fork as a remote.
 +
 +### Clone the repository
 +
 +We assume that you've set up your `GOPATH` (see the section above if you're unsure about this). You should now copy the Hugo repository down to your computer. You'll hear this called "clone the repo". GitHub's [help pages](https://help.github.com/articles/cloning-a-repository/) give us a short explanation:
 +
 +> When you create a repository on GitHub, it exists as a remote repository. You can create a local clone of your repository on your computer and sync between the two locations.
 +
 +We're going to clone the [master Hugo repository](https://github.com/gohugoio/hugo). That seems counter-intuitive, since you won't have commit rights on it. But it's required for the Go workflow. You'll work on a copy of the master and push your changes to your own repository on GitHub.
 +
 +So, let's clone that master repository:
 +
 +```
 +go get -v -u github.com/gohugoio/hugo
 +```
 +
 +Hugo relies on [Testify](https://github.com/stretchr/testify) for testing Go code. If you don't already have it, get the Testify testing tools:
 +
 +```
 +go get github.com/stretchr/testify
 +```
 +
 +### Fork the repository
 +
 +If you're not familiar with this term, GitHub's [help pages](https://help.github.com/articles/fork-a-repo/) provide again a simple explanation:
 +
 +> A fork is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project.
 +
 +#### Fork by hand
 +
 +Open the [Hugo repository](https://github.com/gohugoio/hugo) on GitHub and click on the "Fork" button in the top right.
 +
 +![Fork button](/images/contribute/development/forking-a-repository.png)
 +
 +Now open your fork repository on GitHub and copy the remote url of your fork. You can choose between HTTPS and SSH as protocol that Git should use for the following operations. HTTPS works always [if you're not sure](https://help.github.com/articles/which-remote-url-should-i-use/).
 +
 +![Copy remote url](/images/contribute/development/copy-remote-url.png)
 +
 +Switch back to the terminal and move into the directory of the cloned master repository from the last step.
 +
 +```
 +cd $GOPATH/src/github.com/gohugoio/hugo
 +```
 +
 +Now Git needs to know that our fork exists by adding the copied remote url:
 +
 +```
 +git remote add <YOUR-GITHUB-USERNAME> <COPIED REMOTE-URL>
 +```
 +
 +#### Fork with Hub
 +
 +Alternatively, you can use the Git wrapper Hub. Hub makes forking a repository easy:
 +
 +```
 +git fork
 +```
 +
 +That command will log in to GitHub using your account, create a fork of the repository that you're currently working in, and add it as a remote to your working copy.
 +
 +#### Trust, but verify
 +
 +Let's check if everything went right by listing all known remotes:
 +
 +```
 +git remote -v
 +```
 +
 +The output should look similar:
 +
 +```
 +digitalcraftsman    git@github.com:digitalcraftsman/hugo.git (fetch)
 +digitalcraftsman    git@github.com:digitalcraftsman/hugo.git (push)
 +origin  https://github.com/gohugoio/hugo (fetch)
 +origin  https://github.com/gohugoio/hugo (push)
 +```
 +
 +## The Hugo Git Contribution Workflow
 +
 +### Create a new branch
 +
 +You should never develop against the "master" branch. The development team will not accept a pull request against that branch. Instead, create a descriptive named branch and work on it.
 +
 +First, you should always pull the latest changes from the master repository:
 +
 +```
 +git checkout master
 +git pull
 +```
 +
 +Now we can create a new branch for your additions:
 +
 +```
 +git checkout -b <BRANCH-NAME>
 +```
 +
 +You can check on which branch you are with `git branch`. You should see a list of all local branches. The current branch is indicated with a little asterisk.
 +
 +### Contribute to Documentation
 +
 +Perhaps you want to start contributing to the Hugo docs. If so, you can ignore most of the following steps and focus on the `/docs` directory within your newly cloned repository. You can change directories into the Hugo docs using `cd docs`.
 +
 +You can start Hugo's built-in server via `hugo server`. Browse the documentation by entering [http://localhost:1313](http://localhost:1313) in the address bar of your browser. The server automatically updates the page whenever you change content.
 +
 +We have developed a [separate Hugo documentation contribution guide][docscontrib] for more information on how the Hugo docs are built, organized, and improved by the generosity of people like you.
 +
 +### Build Hugo
 +
 +While making changes in the codebase it's a good idea to build the binary to test them:
 +
 +```
 +go build -o hugo main.go
 +```
 +
 +### Test 
 +Sometimes changes on the codebase can cause unintended side effects. Or they don't work as expected. Most functions have their own test cases. You can find them in files ending with `_test.go`.
 +
 +Make sure the commands `go test ./...` passes, and `go build` completes.
 +
 +### Formatting 
++The Go code styleguide maybe is opinionated but it ensures that the codebase looks the same, regardless who wrote the code. Go comes with its own formatting tool. Let's apply the styleguide to our additions:
 +
 +```
 +go fmt ./...
 +```
 +
 +Once you made your additions commit your changes. Make sure that you follow our [code contribution guidelines](https://github.com/gohugoio/hugo/blob/master/CONTRIBUTING.md):
 +
 +```
 +# Add all changed files
 +git add --all
 +git commit --message "YOUR COMMIT MESSAGE"
 +```
 +
 +The commit message should describe what the commit does (e.g. add feature XYZ), not how it is done.
 +
 +### Modify commits
 +
 +You noticed some commit messages don't fulfill the code contribution guidelines or you just forget something to add some files? No problem. Git provides the necessary tools to fix such problems. The next two methods cover all common cases.
 +
 +If you are unsure what a command does leave the commit as it is. We can fix your commits later in the pull request.
 +
 +#### Modify the last commit
 +
 +Let's say you want to modify the last commit message. Run the following command and replace the current message:
 +
 +```
 +git commit --amend -m"YOUR NEW COMMIT MESSAGE"
 +```
 +
 +Take a look at the commit log to see the change:
 +
 +```
 +git log
 +# Exit with q
 +```
 +
 +After making the last commit you may have forgot something. There is no need to create a new commit. Just add the latest changes and merge them into the intended commit:
 +
 +```
 +git add --all
 +git commit --amend
 +```
 +
 +#### Modify multiple commits
 +
 +{{% warning "Be Careful Modifying Multiple Commits"%}}
 +Modifications such as those described in this section can have serious unintended consequences. Skip this section if you're not sure!
 +{{% /warning %}}
 +
 +This is a bit more advanced. Git allows you to [rebase](https://git-scm.com/docs/git-rebase) commits interactively. In other words: it allows you to rewrite the commit history.
 +
 +```
 +git rebase --interactive @~6
 +```
 +
 +The `6` at the end of the command represents the number of commits that should be modified. An editor should open and present a list of last six commit messages:
 +
 +```
 +pick 80d02a1 tpl: Add hasPrefix to the template funcs' "smoke test"
 +pick aaee038 tpl: Sort the smoke tests
 +pick f0dbf2c tpl: Add the other test case for hasPrefix
 +pick 911c35b Add "How to contribute to Hugo" tutorial
 +pick 33c8973 Begin workflow
 +pick 3502f2e Refactoring and typo fixes
 +```
 +
 +In the case above we should merge the last to commits in the commit of this tutorial (`Add "How to contribute to Hugo" tutorial`). You can "squash" commits, i.e. merge two or more commits into a single one.
 +
 +All operations are written before the commit message. Replace "pick" with an operation. In this case `squash` or `s` for short:
 +
 +```
 +pick 80d02a1 tpl: Add hasPrefix to the template funcs' "smoke test"
 +pick aaee038 tpl: Sort the smoke tests
 +pick f0dbf2c tpl: Add the other test case for hasPrefix
 +pick 911c35b Add "How to contribute to Hugo" tutorial
 +squash 33c8973 Begin workflow
 +squash 3502f2e Refactoring and typo fixes
 +```
 +
 +We also want to rewrite the commits message of the third last commit. We forgot "docs:" as prefix according to the code contribution guidelines. The operation to rewrite a commit is called `reword` (or `r` as shortcut).
 +
 +You should end up with a similar setup:
 +
 +```
 +pick 80d02a1 tpl: Add hasPrefix to the template funcs' "smoke test"
 +pick aaee038 tpl: Sort the smoke tests
 +pick f0dbf2c tpl: Add the other test case for hasPrefix
 +reword 911c35b Add "How to contribute to Hugo" tutorial
 +squash 33c8973 Begin workflow
 +squash 3502f2e Refactoring and typo fixes
 +```
 +
 +Close the editor. It should open again with a new tab. A text is instructing you to define a new commit message for the last two commits that should be merged (aka "squashed"). Save the file with <kbd>CTRL</kbd>+<kbd>S</kbd> and close the editor again.
 +
 +A last time a new tab opens. Enter a new commit message and save again. Your terminal should contain a status message. Hopefully this one:
 +
 +```
 +Successfully rebased and updated refs/heads/<BRANCHNAME>.
 +```
 +
 +Check the commit log if everything looks as expected. Should an error occur you can abort this rebase with `git rebase --abort`.
 +
 +### Push commits
 +
 +To push our commits to the fork on GitHub we need to specify a destination. A destination is defined by the remote and a branch name. Earlier, the defined that the remote url of our fork is the same as our GitHub handle, in my case `digitalcraftsman`. The branch should have the same as our local one. This makes it easy to identify corresponding branches.
 +
 +```
 +git push --set-upstream <YOUR-GITHUB-USERNAME> <BRANCHNAME>
 +```
 +
 +Now Git knows the destination. Next time when you to push commits you just need to enter `git push`.
 +
 +If you modified your commit history in the last step GitHub will reject your try to push. This is a safety-feature because the commit history isn't the same and new commits can't be appended as usual. You can enforce this push explicitly with `git push --force`.
 +
 +## Open a pull request
 +
 +We made a lot of progress. Good work. In this step we finally open a pull request to submit our additions. Open the [Hugo master repository](https://github.com/gohugoio/hugo/) on GitHub in your browser.
 +
 +You should find a green button labeled with "New pull request". But GitHub is clever and probably suggests you a pull request like in the beige box below:
 +
 +![Open a pull request](/images/contribute/development/open-pull-request.png)
 +
 +The new page summaries the most important information of your pull request. Scroll down and you find the additions of all your commits. Make sure everything looks as expected and click on "Create pull request".
 +
 +### Accept the contributor license agreement
 +
 +Last but not least you should accept the contributor license agreement (CLA). A new comment should be added automatically to your pull request. Click on the yellow badge, accept the agreement and authenticate yourself with your GitHub account. It just takes a few clicks and only needs to be done once.
 +
 +![Accept the CLA](/images/contribute/development/accept-cla.png)
 +
 +### Automatic builds
 +
 +We use the [Travis CI loop](https://travis-ci.org/gohugoio/hugo) (Linux and OS&nbsp;X) and [AppVeyor](https://ci.appveyor.com/project/gohugoio/hugo/branch/master) (Windows) to compile Hugo with your additions. This should ensure that everything works as expected before merging your pull request. This in most cases only relevant if you made changes to the codebase of Hugo.
 +
 +![Automic builds and their status](/images/contribute/development/ci-errors.png)
 +
 +Above you can see that Travis wasn't able to compile the changes in this pull request. Click on "Details" and try to investigate why the build failed. But it doesn't have to be your fault. Mostly, the `master` branch that we used as foundation for your pull request should build without problems.
 +
 +If you have questions, leave a comment in the pull request. We are willing to assist you.
 +
 +## Where to start?
 +
 +Thank you for reading through this contribution guide. Hopefully, we will see you again soon on GitHub. There are plenty of [open issues][issues] for you to help with.
 +
 +Feel free to [open an issue][newissue] if you think you found a bug or you have a new idea to improve Hugo. We are happy to hear from you.
 +
 +## Additional References for Learning Git and Go
 +
 +* [Codecademy's Free "Learn Git" Course][codecademy] (Free)
 +* [Code School and GitHub's "Try Git" Tutorial][trygit] (Free)
 +* [The Git Book][gitbook] (Free)
 +* [Go Bootcamp][gobootcamp]
 +* [GitHub Pull Request Tutorial, Thinkful][thinkful]
 +
 +
 +[codecademy]: https://www.codecademy.com/learn/learn-git
 +[contributors]: https://github.com/gohugoio/hugo/graphs/contributors
 +[docscontrib]: /contribute/documentation/
 +[forums]: https://discourse.gohugo.io
 +[gitbook]: https://git-scm.com/
 +[gobootcamp]: http://www.golangbootcamp.com/book/get_setup
 +[godl]: https://golang.org/dl/
 +[goinstall]: https://golang.org/doc/install
 +[gvm]: https://github.com/moovweb/gvm
 +[issues]: https://github.com/gohugoio/hugo/issues
 +[newissue]: https://github.com/gohugoio/hugo/issues/new
 +[releases]: /getting-started/
 +[setupgopath]: https://golang.org/doc/code.html#Workspaces
 +[thinkful]: https://www.thinkful.com/learn/github-pull-request-tutorial/
 +[trygit]: https://try.github.io/levels/1/challenges/1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a0745edaf9302eaf36aa65c42bbd7cfd8824b580
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++---
++title: anchorize
++description: Takes a string and sanitizes it the same way as Blackfriday does for markdown headers.
++date: 2018-10-13
++categories: [functions]
++menu:
++  docs:
++    parent: "functions"
++keywords: [markdown,strings]
++signature: ["anchorize INPUT"]
++hugoversion: "0.39"
++workson: []
++relatedfuncs: [humanize]
++---
++
++The template function uses the [`SanitizedAnchorName` logic from Blackfriday](https://github.com/russross/blackfriday#sanitized-anchor-names).
++Since the same sanitizing logic is used as the markdown parser, you can determine the ID of a header for linking with anchor tags.
++
++```
++{{anchorize "This is a header"}} → "this-is-a-header"
++{{anchorize "This is also          a header"}} → "this-is-also-a-header"
++{{anchorize "main.go"}} → "main-go"
++{{anchorize "Article 123"}} → "article-123"
++{{anchorize "<- Let's try this, shall we?"}} → "let-s-try-this-shall-we"
++{{anchorize "Hello, 世界"}} → "hello-世界"
++```
index 2b9a981326c39c0ea5373f7532612adbfbf0aefa,0000000000000000000000000000000000000000..fe06de3a7538fb024cb85ce24852726a0d4a3377
mode 100644,000000..100644
--- /dev/null
@@@ -1,31 -1,0 +1,30 @@@
- relatedfuncs: []
 +---
 +title: humanize
 +linktitle:
 +description: Returns the humanized version of an argument with the first letter capitalized.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [strings,casing]
 +signature: ["humanize INPUT"]
 +workson: []
 +hugoversion:
++relatedfuncs: [anchorize]
 +deprecated: false
 +aliases: []
 +---
 +
 +If the input is either an int64 value or the string representation of an integer, humanize returns the number with the proper ordinal appended.
 +
 +
 +```
 +{{humanize "my-first-post"}} → "My first post"
 +{{humanize "myCamelPost"}} → "My camel post"
 +{{humanize "52"}} → "52nd"
 +{{humanize 103}} → "103rd"
 +```
index 6f007e93dc7775ec13c64d9e41a450fc5a2f638f,0000000000000000000000000000000000000000..f80967c41943ce5ca1be4137d253625c48f39a46
mode 100644,000000..100644
--- /dev/null
@@@ -1,25 -1,0 +1,25 @@@
- `range` is fundamental to templating in Hugo. (See the [Introduction to Hugo Templates](/templates/introduction/) for more examples.
 +---
 +title: range
 +linktitle:
 +description: Iterates over a map, array, or slice.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [iteration]
 +signature: ["range COLLECTION"]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +draft: false
 +aliases: []
 +---
 +
 +Just like in the Go programming language, Go and Hugo templates make heavy use of `range` to iterate over a map, array or slice.
 +
++`range` is fundamental to templating in Hugo. (See the [Introduction to Hugo Templates](/templates/introduction/) for more examples.)
index f43c51b9b493cf6a5feb83fb51f21bfcb19a76dc,0000000000000000000000000000000000000000..77ef30e4ffb4780b2633ed864ff25050183cfd73
mode 100644,000000..100644
--- /dev/null
@@@ -1,417 -1,0 +1,420 @@@
 +---
 +title: Configure Hugo
 +linktitle: Configuration
 +description: How to configure your Hugo site.
 +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
 +---
 +
 +Hugo uses the `config.toml`, `config.yaml`, or `config.json` (if found in the
 +site root) as the default site config file.
 +
 +The user can choose to override that default with one or more site config files
 +using the command line `--config` switch.
 +
 +Examples:
 +
 +```
 +hugo --config debugconfig.toml
 +hugo --config a.toml,b.toml,c.toml
 +```
 +
 +{{% note %}}
 +Multiple site config files can be specified as a comma-separated string to the `--config` switch.
 +{{% /note %}}
 +
 +## All Configuration Settings
 +
 +The following is the full list of Hugo-defined variables with their default
 +value in parentheses. Users may choose to override those values in their site
 +config file(s).
 +
 +archetypeDir ("archetypes")
 +: The directory where Hugo finds archetype files (content templates).
 +
 +assetDir ("assets")
 +: The directory where Hugo finds asset files used in [Hugo Pipes](/hugo-pipes/).
 +
 +baseURL
 +: Hostname (and path) to the root, e.g. http://bep.is/
 +
 +blackfriday
 +: See [Configure Blackfriday](/getting-started/configuration/#configure-blackfriday)
 +
 +buildDrafts (false)
 +: Include drafts when building.
 +
 +buildExpired  (false)
 +: Include content already expired.
 +
 +buildFuture (false)
 +: Include content with publishdate in the future.
 +
 +canonifyURLs (false)
 +: Enable to turn relative URLs into absolute.
 +
 +contentDir ("content")
 +: The directory from where Hugo reads content files.
 +
 +dataDir ("data")
 +: The directory from where Hugo reads data files.
 +
 +defaultContentLanguage ("en")
 +: Content without language indicator will default to this language.
 +
 +defaultContentLanguageInSubdir (false)
 +: Render the default content language in subdir, e.g. `content/en/`. The site root `/` will then redirect to `/en/`.
 +
 +disableHugoGeneratorInject (false)
 +: Hugo will, by default, inject a generator meta tag in the HTML head on the _home page only_. You can turn it off, but we would really appreciate if you don't, as this is a good way to watch Hugo's popularity on the rise.
 +
 +disableKinds ([])
 +: Enable disabling of all pages of the specified *Kinds*. Allowed values in this list: `"page"`, `"home"`, `"section"`, `"taxonomy"`, `"taxonomyTerm"`, `"RSS"`, `"sitemap"`, `"robotsTXT"`, `"404"`.
 +
 +disableLiveReload (false)
 +: Disable automatic live reloading of browser window.
 +
 +disablePathToLower (false)
 +: Do not convert the url/path to lowercase.
 +
 +enableEmoji (false)
 +: Enable Emoji emoticons support for page content; see the [Emoji Cheat Sheet](https://www.webpagefx.com/tools/emoji-cheat-sheet/).
 +
 +enableGitInfo (false)
 +: Enable `.GitInfo` object for each page (if the Hugo site is versioned by Git). This will then update the `Lastmod` parameter for each page using the last git commit date for that content file.
 +
 +enableMissingTranslationPlaceholders (false)
 +: Show a placeholder instead of the default value or an empty string if a translation is missing.
 +
 +enableRobotsTXT (false)
 +: Enable generation of `robots.txt` file.
 +
 +frontmatter
 +
 +: See [Front matter Configuration](#configure-front-matter).
 +
 +footnoteAnchorPrefix ("")
 +: Prefix for footnote anchors.
 +
 +footnoteReturnLinkContents ("")
 +: Text to display for footnote return links.
 +
 +googleAnalytics ("")
 +: Google Analytics tracking ID.
 +
 +hasCJKLanguage (false)
 +: If true, auto-detect Chinese/Japanese/Korean Languages in the content. This will make `.Summary` and `.WordCount` behave correctly for CJK languages.
 +
 +imaging
 +: See [Image Processing Config](/content-management/image-processing/#image-processing-config).
 +
 +languages
 +: See [Configure Languages](/content-management/multilingual/#configure-languages).
 +
 +languageCode ("")
 +: The site's language code.
 +
++languageName ("")
++: The site's language name.
++
 +disableLanguages
 +: See [Disable a Language](/content-management/multilingual/#disable-a-language)
 +
 +layoutDir ("layouts")
 +: The directory from where Hugo reads layouts (templates).
 +
 +log (false)
 +: Enable logging.
 +
 +logFile ("")
 +: Log File path (if set, logging enabled automatically).
 +
 +menu
 +: See [Add Non-content Entries to a Menu](/content-management/menus/#add-non-content-entries-to-a-menu).
 +
 +metaDataFormat ("toml")
 +: Front matter meta-data format. Valid values: `"toml"`, `"yaml"`, or `"json"`.
 +
 +newContentEditor ("")
 +: The editor to use when creating new content.
 +
 +noChmod (false)
 +: Don't sync permission mode of files.
 +
 +noTimes (false)
 +: Don't sync modification time of files.
 +
 +paginate (10)
 +: Default number of pages per page in [pagination](/templates/pagination/).
 +
 +paginatePath ("page")
 +: The path element used during pagination (https://example.com/page/2).
 +
 +permalinks
 +: See [Content Management](/content-management/urls/#permalinks).
 +
 +pluralizeListTitles (true)
 +: Pluralize titles in lists.
 +
 +preserveTaxonomyNames (false)
 +: Preserve special characters in taxonomy names ("Gérard Depardieu" vs "Gerard Depardieu").
 +
 +publishDir ("public")
 +: The directory to where Hugo will write the final static site (the HTML files etc.).
 +
 +pygmentsCodeFencesGuessSyntax (false)
 +: Enable syntax guessing for code fences without specified language.
 +
 +pygmentsStyle ("monokai")
 +: Color-theme or style for syntax highlighting. See [Pygments Color Themes](https://help.farbox.com/pygments.html).
 +
 +pygmentsUseClasses (false)
 +: Enable using external CSS for syntax highlighting.
 +
 +related
 +: See [Related Content](/content-management/related/#configure-related-content).
 +
 +relativeURLs (false)
 +: Enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs.
 +
 +refLinksErrorLevel ("ERROR") 
 +: When using `ref` or `relref` to resolve page links and a link cannot resolved, it will be logged with this logg level. Valid values are `ERROR` (default) or `WARNING`. Any `ERROR` will fail the build (`exit -1`).
 +
 +refLinksNotFoundURL
 +: URL to be used as a placeholder when a page reference cannot be found in `ref` or `relref`. Is used as-is.
 +
 +rssLimit (unlimited)
 +: Maximum number of items in the RSS feed.
 +
 +sectionPagesMenu ("")
 +: See ["Section Menu for Lazy Bloggers"](/templates/menu-templates/#section-menu-for-lazy-bloggers).
 +
 +sitemap
 +: Default [sitemap configuration](/templates/sitemap-template/#configure-sitemap-xml).
 +
 +staticDir ("static")
 +: A directory or a list of directories from where Hugo reads [static files][static-files].
 +
 +stepAnalysis (false)
 +: Display memory and timing of different steps of the program.
 +
 +summaryLength (70)
 +: The length of text to show in a [`.Summary`](/content-management/summaries/#hugo-defined-automatic-summary-splitting).
 +
 +taxonomies
 +: See [Configure Taxonomies](/content-management/taxonomies#configure-taxonomies).
 +
 +theme ("")
 +: Theme to use (located by default in `/themes/THEMENAME/`).
 +
 +themesDir ("themes")
 +: The directory where Hugo reads the themes from.
 +
 +timeout (10000)
 +: Timeout for generating page contents, in milliseconds (defaults to 10&nbsp;seconds). *Note:* this is used to bail out of recursive content generation, if your pages are slow to generate (e.g., because they require large image processing or depend on remote contents) you might need to raise this limit.
 +
 +title ("")
 +: Site title.
 +
 +uglyURLs (false)
 +: When enabled, creates URL of the form `/filename.html` instead of `/filename/`.
 +
 +verbose (false)
 +: Enable verbose output.
 +
 +verboseLog (false)
 +: Enable verbose logging.
 +
 +watch (false)
 +: Watch filesystem for changes and recreate as needed.
 +
 +{{% 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 %}}
 +
 +## 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.
 +
 +
 +## Example Configuration
 +
 +The following is a typical example of a configuration file. The values nested under `params:` will populate the [`.Site.Params`][] variable for use in [templates][]:
 +
 +{{< code-toggle file="config">}}
 +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-toggle >}}
 +
 +## Configure with Environment 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
 +```
 +
 +This is really useful if you use a service such as Netlify to deploy your site. Look at the Hugo docs [Netlify configuration file](https://github.com/gohugoio/hugoDocs/blob/master/netlify.toml) for an example.
 +
 +{{% 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 %}}
 +
 +{{< todo >}}
 +Test and document setting params via JSON env var.
 +{{< /todo >}}
 +
 +## 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 Front Matter
 +
 +### Configure Dates
 +
 +Dates are important in Hugo, and you can configure how Hugo assigns dates to your content pages. You do this by adding a `frontmatter` section to your `config.toml`.
 +
 +
 +The default configuration is:
 +
 +```toml
 +[frontmatter]
 +date = ["date", "publishDate", "lastmod"]
 +lastmod = [":git", "lastmod", "date", "publishDate"]
 +publishDate = ["publishDate", "date"]
 +expiryDate = ["expiryDate"]
 +```
 +
 +If you, as an example, have a non-standard date parameter in some of your content, you can override the setting for `date`:
 +
 + ```toml
 +[frontmatter]
 +date = ["myDate", ":default"]
 +```
 +
 +The `:default` is a shortcut to the default settings. The above will set `.Date` to the date value in `myDate` if present, if not we will look in `date`,`publishDate`, `lastmod` and pick the first valid date.
 +
 +In the list to the right, values starting with ":" are date handlers with a special meaning (see below). The others are just names of date parameters (case insensitive) in your front matter configuration.  Also note that Hugo have some built-in aliases to the above: `lastmod` => `modified`, `publishDate` => `pubdate`, `published` and `expiryDate` => `unpublishdate`. With that, as an example, using `pubDate` as a date in front matter, will, by default, be assigned to `.PublishDate`.
 +
 +The special date handlers are:
 +
 +
 +`:fileModTime`
 +: Fetches the date from the content file's last modification timestamp.
 +
 +An example:
 +
 + ```toml
 +[frontmatter]
 +lastmod = ["lastmod", ":fileModTime", ":default"]
 +```
 +
 +
 +The above will try first to extract the value for `.Lastmod` starting with the `lastmod` front matter parameter, then the content file's modification timestamp. The last, `:default` should not be needed here, but Hugo will finally look for a valid date in `:git`, `date` and then `publishDate`.
 +
 +
 +`:filename`
 +: Fetches the date from the content file's filename. For example, `2018-02-22-mypage.md` will extract the date `2018-02-22`. Also, if `slug` is not set, `mypage` will be used as the value for `.Slug`.
 +
 +An example:
 +
 +```toml
 +[frontmatter]
 +date  = [":filename", ":default"]
 +```
 +
 +The above will try first to extract the value for `.Date` from the filename, then it will look in front matter parameters `date`, `publishDate` and lastly `lastmod`.
 +
 +
 +`:git`
 +: This is the Git author date for the last revision of this content file. This will only be set if `--enableGitInfo` is set or `enableGitInfo = true` is set in site config.
 +
 +## 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/en/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-toggle file="config" >}}
 +[blackfriday]
 +  angledQuotes = true
 +  fractions = false
 +  plainIDAnchors = true
 +  extensions = ["hardLineBreak"]
 +{{< /code-toggle >}}
 +
 +## 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/
 +[static-files]: /content-management/static-files/
index b5b210d3e3ce1de454a2ae39b719f89b03d90ae9,0000000000000000000000000000000000000000..e73511c5b9761024765e82e2b8fe5863d7c190cd
mode 100644,000000..100644
--- /dev/null
@@@ -1,518 -1,0 +1,518 @@@
- go install
 +---
 +title: Install Hugo
 +linktitle: Install Hugo
 +description: Install Hugo on macOS, Windows, Linux, OpenBSD, FreeBSD, and on any machine where the Go compiler tool chain can run.
 +date: 2016-11-01
 +publishdate: 2016-11-01
 +lastmod: 2018-01-02
 +categories: [getting started,fundamentals]
 +authors: ["Michael Henderson"]
 +keywords: [install,pc,windows,linux,macos,binary,tarball]
 +menu:
 +  docs:
 +    parent: "getting-started"
 +    weight: 30
 +weight: 30
 +sections_weight: 30
 +draft: false
 +aliases: [/tutorials/installing-on-windows/,/tutorials/installing-on-mac/,/overview/installing/,/getting-started/install,/install/]
 +toc: true
 +---
 +
 +
 +{{% note %}}
 +There is lots of talk about "Hugo being written in Go", but you don't need to install Go to enjoy Hugo. Just grab a precompiled binary!
 +{{% /note %}}
 +
 +Hugo is written in [Go](https://golang.org/) with support for multiple platforms. The latest release can be found at [Hugo Releases][releases].
 +
 +Hugo currently provides pre-built binaries for the following:
 +
 +* macOS (Darwin) for x64, i386, and ARM architectures
 +* Windows
 +* Linux
 +* OpenBSD
 +* FreeBSD
 +
 +Hugo may also be compiled from source wherever the Go toolchain can run; e.g., on other operating systems such as DragonFly BSD, OpenBSD, Plan&nbsp;9, Solaris, and others. See <https://golang.org/doc/install/source> for the full set of supported combinations of target operating systems and compilation architectures.
 +
 +## Quick Install
 +
 +### Binary (Cross-platform)
 +
 +Download the appropriate version for your platform from [Hugo Releases][releases]. Once downloaded, the binary can be run from anywhere. You don't need to install it into a global location. This works well for shared hosts and other systems where you don't have a privileged account.
 +
 +Ideally, you should install it somewhere in your `PATH` for easy use. `/usr/local/bin` is the most probable location.
 +
 +### Homebrew (macOS)
 +
 +If you are on macOS and using [Homebrew][brew], you can install Hugo with the following one-liner:
 +
 +{{< code file="install-with-homebrew.sh" >}}
 +brew install hugo
 +{{< /code >}}
 +
 +For more detailed explanations, read the installation guides that follow for installing on macOS and Windows.
 +
 +### Chocolatey (Windows)
 +
 +If you are on a Windows machine and use [Chocolatey][] for package management, you can install Hugo with the following one-liner:
 +
 +{{< code file="install-with-chocolatey.ps1" >}}
 +choco install hugo -confirm
 +{{< /code >}}
 +
 +### Scoop (Windows)
 +
 +If you are on a Windows machine and use [Scoop][] for package management, you can install Hugo with the following one-liner:
 +
 +```bash
 +scoop install hugo
 +```
 +
 +### Source
 +
 +#### Prerequisite Tools
 +
 +* [Git][installgit]
 +* [Go (at least Go 1.11)](https://golang.org/dl/)
 +
 +#### Fetch from GitHub
 +
 +Since Hugo 0.48, Hugo uses the Go Modules support built into Go 1.11 to build. The easiest way to get started is to clone Hugo in a directory outside of the GOPATH, as in the following example:
 +
 +{{< code file="from-gh.sh" >}}
 +mkdir $HOME/src
 +cd $HOME/src
 +git clone https://github.com/gohugoio/hugo.git
 +cd hugo
- Remove `HUGO_BUILD_TAGS=extended` if you do not want Sass/SCSS support.
++go install --tags extended
 +{{< /code >}}
 +
++Remove `--tags extended` if you do not want/need Sass/SCSS support.
 +
 +{{% note %}}
 +If you are a Windows user, substitute the `$HOME` environment variable above with `%USERPROFILE%`.
 +{{% /note %}}
 +
 +## macOS
 +
 +### Assumptions
 +
 +1. You know how to open the macOS terminal.
 +2. You're running a modern 64-bit Mac.
 +3. You will use `~/Sites` as the starting point for your site. (`~/Sites` is used for example purposes. If you are familiar enough with the command line and file system, you should have no issues following along with the instructions.)
 +
 +### Pick Your Method
 +
 +There are three ways to install Hugo on your Mac
 +
 +1. The [Homebrew][brew] `brew` utility
 +2. Distribution (i.e., tarball)
 +3. Building from Source
 +
 +There is no "best" way to install Hugo on your Mac. You should use the method that works best for your use case.
 +
 +#### Pros and Cons
 +
 +There are pros and cons to each of the aforementioned methods:
 +
 +1. **Homebrew.** Homebrew is the simplest method and will require the least amount of work to maintain. The drawbacks aren't severe. The default package will be for the most recent release, so it will not have bug fixes until the next release (i.e., unless you install it with the `--HEAD` option). Hugo `brew` releases may lag a few days behind because it has to be coordinated with another team. Nevertheless, `brew` is the recommended installation method if you want to work from a stable, widely used source. Brew works well and is easy to update.
 +
 +2. **Tarball.** Downloading and installing from the tarball is also easy, although it requires a few more command line skills than does Homebrew. Updates are easy as well: you just repeat the process with the new binary. This gives you the flexibility to have multiple versions on your computer. If you don't want to use `brew`, then the tarball/binary is a good choice.
 +
 +3. **Building from Source.** Building from source is the most work. The advantage of building from source is that you don't have to wait for a release to add features or bug fixes. The disadvantage is that you need to spend more time managing the setup, which is manageable but requires more time than the preceding two options.
 +
 +{{% note %}}
 +Since building from source is appealing to more seasoned command line users, this guide will focus more on installing Hugo via Homebrew and Tarball.
 +{{% /note %}}
 +
 +### Install Hugo with Brew
 +
 +{{< youtube WvhCGlLcrF8 >}}
 +
 +#### Step 1: Install `brew` if you haven't already
 +
 +Go to the `brew` website, <https://brew.sh/>, and follow the directions there. The most important step is the installation from the command line:
 +
 +{{< code file="install-brew.sh" >}}
 +ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 +{{< /code >}}
 +
 +#### Step 2: Run the `brew` Command to Install `hugo`
 +
 +Installing Hugo using `brew` is as easy as the following:
 +
 +{{< code file="install-brew.sh" >}}
 +brew install hugo
 +{{< /code >}}
 +
 +If Homebrew is working properly, you should see something similar to the following:
 +
 +```
 +==> Downloading https://homebrew.bintray.com/bottles/hugo-0.21.sierra.bottle.tar.gz
 +######################################################################### 100.0%
 +==> Pouring hugo-0.21.sierra.bottle.tar.gz
 +🍺  /usr/local/Cellar/hugo/0.21: 32 files, 17.4MB
 +```
 +
 +{{% note "Installing the Latest Hugo with Brew" %}}
 +Replace `brew install hugo` with `brew install hugo --HEAD` if you want the absolute latest in-development version.
 +{{% /note %}}
 +
 +`brew` should have updated your path to include Hugo. You can confirm by opening a new terminal window and running a few commands:
 +
 +```
 +$ # show the location of the hugo executable
 +which hugo
 +/usr/local/bin/hugo
 +
 +# show the installed version
 +ls -l $( which hugo )
 +lrwxr-xr-x  1 mdhender admin  30 Mar 28 22:19 /usr/local/bin/hugo -> ../Cellar/hugo/0.13_1/bin/hugo
 +
 +# verify that hugo runs correctly
 +hugo version
 +Hugo Static Site Generator v0.13 BuildDate: 2015-03-09T21:34:47-05:00
 +```
 +
 +### Install Hugo from Tarball
 +
 +#### Step 1: Decide on the location
 +
 +When installing from the tarball, you have to decide if you're going to install the binary in `/usr/local/bin` or in your home directory. There are three camps on this:
 +
 +1. Install it in `/usr/local/bin` so that all the users on your system have access to it. This is a good idea because it's a fairly standard place for executables. The downside is that you may need elevated privileges to put software into that location. Also, if there are multiple users on your system, they will all run the same version. Sometimes this can be an issue if you want to try out a new release.
 +
 +2. Install it in `~/bin` so that only you can execute it. This is a good idea because it's easy to do, easy to maintain, and doesn't require elevated privileges. The downside is that only you can run Hugo. If there are other users on your site, they have to maintain their own copies. That can lead to people running different versions. Of course, this does make it easier for you to experiment with different releases.
 +
 +3. Install it in your `Sites` directory. This is not a bad idea if you have only one site that you're building. It keeps every thing in a single place. If you want to try out new releases, you can make a copy of the entire site and update the Hugo executable.
 +
 +All three locations will work for you. In the interest of brevity, this guide focuses on option #2.
 +
 +#### Step 2: Download the Tarball
 +
 +1. Open <https://github.com/gohugoio/hugo/releases> in your browser.
 +
 +2. Find the current release by scrolling down and looking for the green tag that reads "Latest Release."
 +
 +3. Download the current tarball for the Mac. The name will be something like `hugo_X.Y_osx-64bit.tgz`, where `X.YY` is the release number.
 +
 +4. By default, the tarball will be saved to your `~/Downloads` directory. If you choose to use a different location, you'll need to change that in the following steps.
 +
 +#### Step 3: Confirm your download
 +
 +Verify that the tarball wasn't corrupted during the download:
 +
 +```
 +tar tvf ~/Downloads/hugo_X.Y_osx-64bit.tgz
 +-rwxrwxrwx  0 0      0           0 Feb 22 04:02 hugo_X.Y_osx-64bit/hugo_X.Y_osx-64bit.tgz
 +-rwxrwxrwx  0 0      0           0 Feb 22 03:24 hugo_X.Y_osx-64bit/README.md
 +-rwxrwxrwx  0 0      0           0 Jan 30 18:48 hugo_X.Y_osx-64bit/LICENSE.md
 +```
 +
 +The `.md` files are documentation for Hugo. The other file is the executable.
 +
 +#### Step 4: Install Into Your `bin` Directory
 +
 +```
 +# create the directory if needed
 +mkdir -p ~/bin
 +
 +# make it the working directory
 +cd ~/bin
 +
 +# extract the tarball
 +tar -xvzf ~/Downloads/hugo_X.Y_osx-64bit.tgz
 +Archive:  hugo_X.Y_osx-64bit.tgz
 +  x ./
 +  x ./hugo
 +  x ./LICENSE.md
 +  x ./README.md
 +
 +# verify that it runs
 +./hugo version
 +Hugo Static Site Generator v0.13 BuildDate: 2015-02-22T04:02:30-06:00
 +```
 +
 +You may need to add your bin directory to your `PATH` variable. The `which` command will check for us. If it can find `hugo`, it will print the full path to it. Otherwise, it will not print anything.
 +
 +```
 +# check if hugo is in the path
 +which hugo
 +/Users/USERNAME/bin/hugo
 +```
 +
 +If `hugo` is not in your `PATH`, add it by updating your `~/.bash_profile` file. First, start up an editor:
 +
 +```
 +nano ~/.bash_profile
 +```
 +
 +Add a line to update your `PATH` variable:
 +
 +```
 +export PATH=$PATH:$HOME/bin
 +```
 +
 +Then save the file by pressing Control-X, then Y to save the file and return to the prompt.
 +
 +Close the terminal and open a new terminal to pick up the changes to your profile. Verify your success by running the `which hugo` command again.
 +
 +You've successfully installed Hugo.
 +
 +### Build from Source on Mac
 +
 +If you want to compile Hugo yourself, you'll need to install Go (aka Golang). You can [install Go directly from the Go website](https://golang.org/dl/) or via Homebrew using the following command:
 +
 +```
 +brew install go
 +```
 +
 +#### Step 1: Get the Source
 +
 +If you want to compile a specific version of Hugo, go to <https://github.com/gohugoio/hugo/releases> and download the source code for the version of your choice. If you want to compile Hugo with all the latest changes (which might include bugs), clone the Hugo repository:
 +
 +```
 +git clone https://github.com/gohugoio/hugo
 +```
 +
 +{{% warning "Sometimes \"Latest\" = \"Bugs\""%}}
 +Cloning the Hugo repository directly means taking the good with the bad. By using the bleeding-edge version of Hugo, you make your development susceptible to the latest features, as well as the latest bugs. Your feedback is appreciated. If you find a bug in the latest release, [please create an issue on GitHub](https://github.com/gohugoio/hugo/issues/new).
 +{{% /warning %}}
 +
 +#### Step 2: Compiling
 +
 +Make the directory containing the source your working directory and then fetch Hugo's dependencies:
 +
 +```
 +mkdir -p src/github.com/gohugoio
 +ln -sf $(pwd) src/github.com/gohugoio/hugo
 +
 +# set the build path for Go
 +export GOPATH=$(pwd)
 +
 +go get
 +```
 +
 +This will fetch the absolute latest version of the dependencies. If Hugo fails to build, it may be the result of a dependency's author introducing a breaking change.
 +
 +Once you have properly configured your directory, you can compile Hugo using the following command:
 +
 +```
 +go build -o hugo main.go
 +```
 +
 +Then place the `hugo` executable somewhere in your `$PATH`. You're now ready to start using Hugo.
 +
 +## Windows
 +
 +The following aims to be a complete guide to installing Hugo on your Windows PC.
 +
 +{{< youtube G7umPCU-8xc >}}
 +
 +### Assumptions
 +
 +1. You will use `C:\Hugo\Sites` as the starting point for your new project.
 +2. You will use `C:\Hugo\bin` to store executable files.
 +
 +### Set up Your Directories
 +
 +You'll need a place to store the Hugo executable, your [content][], and the generated Hugo website:
 +
 +1. Open Windows Explorer.
 +2. Create a new folder: `C:\Hugo`, assuming you want Hugo on your C drive, although this can go anywhere
 +3. Create a subfolder in the Hugo folder: `C:\Hugo\bin`
 +4. Create another subfolder in Hugo: `C:\Hugo\Sites`
 +
 +### Technical Users
 +
 +1. Download the latest zipped Hugo executable from [Hugo Releases][releases].
 +2. Extract all contents to your `..\Hugo\bin` folder.
 +3. The `hugo` executable will be named as `hugo_hugo-version_platform_arch.exe`. Rename the executable to `hugo.exe` for ease of use.
 +4. In PowerShell or your preferred CLI, add the `hugo.exe` executable to your PATH by navigating to `C:\Hugo\bin` (or the location of your hugo.exe file) and use the command `set PATH=%PATH%;C:\Hugo\bin`. If the `hugo` command does not work after a reboot, you may have to run the command prompt as administrator.
 +
 +### Less-technical Users
 +
 +1. Go to the [Hugo Releases][releases] page.
 +2. The latest release is announced on top. Scroll to the bottom of the release announcement to see the downloads. They're all ZIP files.
 +3. Find the Windows files near the bottom (they're in alphabetical order, so Windows is last) – download either the 32-bit or 64-bit file depending on whether you have 32-bit or 64-bit Windows. (If you don't know, [see here](https://esupport.trendmicro.com/en-us/home/pages/technical-support/1038680.aspx).)
 +4. Move the ZIP file into your `C:\Hugo\bin` folder.
 +5. Double-click on the ZIP file and extract its contents. Be sure to extract the contents into the same `C:\Hugo\bin` folder – Windows will do this by default unless you tell it to extract somewhere else.
 +6. You should now have three new files: The hugo executable (`hugo.exe`), `LICENSE`, and `README.md`.
 +
 +Now you need to add Hugo to your Windows PATH settings:
 +
 +#### For Windows 10 Users:
 +
 +* Right click on the **Start** button.
 +* Click on **System**.
 +* Click on **Advanced System Settings** on the left.
 +* Click on the **Environment Variables...** button on the bottom.
 +* In the User variables section, find the row that starts with PATH (PATH will be all caps).
 +* Double-click on **PATH**.
 +* Click the **New...** button.
 +* Type in the folder where `hugo.exe` was extracted, which is `C:\Hugo\bin` if you went by the instructions above. *The PATH entry should be the folder where Hugo lives and not the binary.* Press <kbd>Enter</kbd> when you're done typing.
 +* Click OK at every window to exit.
 +
 +{{% note "Path Editor in Windows 10"%}}
 +The path editor in Windows 10 was added in the large [November 2015 Update](https://blogs.windows.com/windowsexperience/2015/11/12/first-major-update-for-windows-10-available-today/). You'll need to have that or a later update installed for the above steps to work. You can see what Windows 10 build you have by clicking on the <i class="fa fa-windows"></i>&nbsp;Start button → Settings → System → About. See [here](https://www.howtogeek.com/236195/how-to-find-out-which-build-and-version-of-windows-10-you-have/) for more.)
 +{{% /note %}}
 +
 +#### For Windows 7 and 8.x users:
 +
 +Windows 7 and 8.1 do not include the easy path editor included in Windows 10, so non-technical users on those platforms are advised to install a free third-party path editor like [Windows Environment Variables Editor][Windows Environment Variables Editor] or [Path Editor](https://patheditor2.codeplex.com/).
 +
 +### Verify the Executable
 +
 +Run a few commands to verify that the executable is ready to run, and then build a sample site to get started.
 +
 +#### 1. Open a Command Prompt
 +
 +At the prompt, type `hugo help` and press the <kbd>Enter</kbd> key. You should see output that starts with:
 +
 +```
 +hugo is the main command, used to build your Hugo site.
 +
 +Hugo is a Fast and Flexible Static Site Generator
 +built with love by spf13 and friends in Go.
 +
 +Complete documentation is available at https://gohugo.io/.
 +```
 +
 +If you do, then the installation is complete. If you don't, double-check the path that you placed the `hugo.exe` file in and that you typed that path correctly when you added it to your `PATH` variable. If you're still not getting the output, search the [Hugo discussion forum][forum] to see if others have already figured out our problem. If not, add a note---in the "Support" category---and be sure to include your command and the output.
 +
 +At the prompt, change your directory to the `Sites` directory.
 +
 +```
 +C:\Program Files> cd C:\Hugo\Sites
 +C:\Hugo\Sites>
 +```
 +
 +#### 2. Run the Command
 +
 +Run the command to generate a new site. I'm using `example.com` as the name of the site.
 +
 +```
 +C:\Hugo\Sites> hugo new site example.com
 +```
 +
 +You should now have a directory at `C:\Hugo\Sites\example.com`. Change into that directory and list the contents. You should get output similar to the following:
 +
 +```
 +C:\Hugo\Sites> cd example.com
 +C:\Hugo\Sites\example.com> dir
 +Directory of C:\hugo\sites\example.com
 +
 +04/13/2015  10:44 PM    <DIR>          .
 +04/13/2015  10:44 PM    <DIR>          ..
 +04/13/2015  10:44 PM    <DIR>          archetypes
 +04/13/2015  10:44 PM                83 config.toml
 +04/13/2015  10:44 PM    <DIR>          content
 +04/13/2015  10:44 PM    <DIR>          data
 +04/13/2015  10:44 PM    <DIR>          layouts
 +04/13/2015  10:44 PM    <DIR>          static
 +               1 File(s)             83 bytes
 +               7 Dir(s)   6,273,331,200 bytes free
 +```
 +
 +### Troubleshoot Windows Installation
 +
 +[@dhersam][] has created a nice video on common issues:
 +
 +{{< youtube c8fJIRNChmU >}}
 +
 +## Linux
 +
 +### Snap Package
 +
 +In any of the [Linux distributions that support snaps][snaps], you may install install the "extended" Sass/SCSS version with this command:
 +
 +    snap install hugo --channel=extended
 +
 +To install the non-extended version without Sass/SCSS support:
 +
 +    snap install hugo
 +
 +To switch between the two, use either `snap refresh hugo --channel=extended` or `snap refresh hugo --channel=stable`.
 +
 +{{% note %}}
 +Hugo-as-a-snap can write only inside the user’s `$HOME` directory---and gvfs-mounted directories owned by the user---because of Snaps’ confinement and security model. More information is also available [in this related GitHub issue](https://github.com/gohugoio/hugo/issues/3143). Use ```sudo snap install hugo --classic``` to disable the default security model if you want hugo to be able to have write access in other paths besides the user’s `$HOME` directory.
 +{{% /note %}}
 +
 +### Debian and Ubuntu
 +
 +[@anthonyfok](https://github.com/anthonyfok) and friends in the [Debian Go Packaging Team](https://go-team.pages.debian.net/) maintains an official hugo [Debian package](https://packages.debian.org/hugo) which is shared with [Ubuntu](https://packages.ubuntu.com/hugo) and is installable via `apt-get`:
 +
 +    sudo apt-get install hugo
 +
 +This installs the "extended" Sass/SCSS version.
 +
 +### Arch Linux
 +
 +You can also install Hugo from the Arch Linux [community](https://www.archlinux.org/packages/community/x86_64/hugo/) repository. Applies also to derivatives such as Manjaro.
 +
 +```
 +sudo pacman -Syu hugo
 +```
 +
 +### Fedora, Red Hat and CentOS
 +
 +Fedora maintains an [official package for Hugo](https://apps.fedoraproject.org/packages/hugo) which may be installed with:
 +
 +    sudo dnf install hugo
 +
 +For the latest version, the Hugo package maintained by [@daftaupe](https://github.com/daftaupe) at Fedora Copr is recommended:
 +
 +* <https://copr.fedorainfracloud.org/coprs/daftaupe/hugo/>
 +
 +See the [related discussion in the Hugo forums][redhatforum].
 +
 +### Solus
 +
 +Solus includes Hugo in its package repository, it may be installed with:
 +
 +```
 +sudo eopkg install hugo
 +```
 +
 +## OpenBSD
 +
 +OpenBSD provides a package for Hugo via `pkg_add`:
 +
 +    doas pkg_add hugo
 +
 +
 +## Upgrade Hugo
 +
 +Upgrading Hugo is as easy as downloading and replacing the executable you’ve placed in your `PATH` or run `brew upgrade hugo` if using Homebrew.
 +
 +## Install Pygments (Optional)
 +
 +The Hugo executable has one *optional* external dependency for source code highlighting ([Pygments][pygments]).
 +
 +If you want to have source code highlighting using the [highlight shortcode][], you need to install the Python-based Pygments program. The procedure is outlined on the [Pygments homepage][pygments].
 +
 +## Next Steps
 +
 +Now that you've installed Hugo, read the [Quick Start guide][quickstart] and explore the rest of the documentation. If you have questions, ask the Hugo community directly by visiting the [Hugo Discussion Forum][forum].
 +
 +[brew]: https://brew.sh/
 +[Chocolatey]: https://chocolatey.org/
 +[content]: /content-management/
 +[@dhersam]: https://github.com/dhersam
 +[forum]: https://discourse.gohugo.io
 +[mage]: https://github.com/magefile/mage
 +[dep]: https://github.com/golang/dep
 +[highlight shortcode]: /content-management/shortcodes/#highlight
 +[installgit]: http://git-scm.com/
 +[installgo]: https://golang.org/dl/
 +[Path Editor]: https://patheditor2.codeplex.com/
 +[pygments]: http://pygments.org
 +[quickstart]: /getting-started/quick-start/
 +[redhatforum]: https://discourse.gohugo.io/t/solved-fedora-copr-repository-out-of-service/2491
 +[releases]: https://github.com/gohugoio/hugo/releases
 +[Scoop]: https://scoop.sh/
 +[snaps]: http://snapcraft.io/docs/core/install
 +[windowsarch]: https://esupport.trendmicro.com/en-us/home/pages/technical-support/1038680.aspx
 +[Windows Environment Variables Editor]: http://eveditor.com/
index b67a24de6fcb90f6bbf3c5dce663286ca718c889,0000000000000000000000000000000000000000..83051c0586cee8747ba55e5063ac5c6dc18bb0b7
mode 100644,000000..100644
--- /dev/null
@@@ -1,107 -1,0 +1,107 @@@
- {{</* relref path="document.md" lang="jp" */>}}
 +
 +---
 +date: 2018-07-22
 +title: "Hugo 0.45: Revival of ref, relref and GetPage"
 +description: "Hugo 0.45 adds relative page lookups, language support in ref/relref and several Hugo Pipes improvements."
 +categories: ["Releases"]
 +---
 +
 +      
 +Hugo `0.45` is the **revival of ref, relref and GetPage**. [@vassudanagunta](https://github.com/vassudanagunta) and [@bep](https://github.com/bep) have done some great work improving the API and implementation for the helper functions used to **get one page**. Before this release, the API was a little bit clumsy and the result potentially ambiguous in some situations.
 +
 +Now you can simply do:
 +
 +```go-html-template
 +{{ with .Site.GetPage "/blog/my-post.md" }}{{ .Title }}{{ end }}
 +```
 +
 +Or to get a section page:
 +
 +
 +```go-html-template
 +{{ with .Site.GetPage "/blog" }}{{ .Title }}{{ end }}
 +```
 +
 +We have also added a `.GetPage` method on `Page` and added support for page-relative linking. This means that the leading slash (`/`) now has a meaning. For `.Site.GetPage`, all lookups will start at the content root. But for lookups with a `Page` context, paths without a leading slash will be treated as relative to the page.
 +
 +This means that the following example will find the page in the current section:
 +
 +```go-html-template
 +{{</* ref "my-post.md" */>}}
 +```
 +
 +You can also use the `..` to refer to a page one level up etc.:
 +
 +```go-html-template
 +{{</* ref "../my-post.md" */>}}
 +```
 +
 +We have now also added language support to `ref` and `relref`, so you can link to a page in another language:
 +
 +```go-html-template
++{{</* relref path="document.md" lang="ja" */>}}
 +```
 +
 +To link to a given Output Format of a document, you can use this syntax:
 +
 +```go-html-template
 +{{</* relref path="document.md" outputFormat="rss" */>}}
 +```
 +
 +To make working with these reflinks on bigger sites easier to work with, we have also improved the error logging, and added two new configuration settings:
 +
 +* refLinksErrorLevel: ERROR (default, will fail the build when a reflink cannot be resolved) or WARNING.
 +* refLinksNotFoundURL: Set this to an URL placeholder used when no reference could be resolved.
 +
 +Visit the [Hugo Docs](https://gohugo.io/content-management/cross-references) for more information.
 +
 +We have also done some important improvements and fixes in **Hugo Pipes** in this release: SCSS source maps on Windows now works, we now support project-local `PostCSS` installation, and we have added `IncludePaths` to `SCSS` options, making it possible to include, say, a path below `node_modules` in the SASS/SCSS build.
 +
 +This release represents **31 contributions by 4 contributors** to the main Hugo code base.
 +[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@vassudanagunta](https://github.com/vassudanagunta), [@hairmare](https://github.com/hairmare), and [@garrmcnu](https://github.com/garrmcnu) for their ongoing contributions.
 +And a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) for his relentless work on keeping the themes site in pristine condition and to [@kaushalmodi](https://github.com/kaushalmodi) for his great work on the documentation site.
 +
 +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), 
 +which has received **10 contributions by 8 contributors**. A special thanks to [@kaushalmodi](https://github.com/kaushalmodi), [@Hanzei](https://github.com/Hanzei), [@KurtTrowbridge](https://github.com/KurtTrowbridge), and [@regisphilibert](https://github.com/regisphilibert) for their work on the documentation site.
 +
 +
 +Hugo now has:
 +
 +* 27334+ [stars](https://github.com/gohugoio/hugo/stargazers)
 +* 443+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
 +* 238+ [themes](http://themes.gohugo.io/)
 +
 +## Notes
 +* `.Site.GetPage` with more than 2 arguments will not work anymore. This means that `{{ .Site.GetPage "page" "blog" "my-post.md" }}` will fail. `{{ .Site.GetPage "page" "blog/my-post.md" }}` will work, but we recommend you use the simpler `{{ .Site.GetPage "/blog/my-post.md" }}`
 +* Relative paths in `relref` or `ref` that finds its match not relative to the page itself will work, but we now print a warning saying that you should correct it to an absolute path. E.g. `{{</* ref "blog/my-post.md" */>}}` => `{{</* ref "/blog/my-post.md" */>}}`.
 +
 +## Enhancements
 +
 +* Print a WARNING about relative non-relative ref/relref matches [a451c49f](https://github.com/gohugoio/hugo/commit/a451c49fde1da6e2cc436a2b7d383ee772b1f893) [@bep](https://github.com/bep) [#4973](https://github.com/gohugoio/hugo/issues/4973)
 +* Allow untyped nil to be merged in lang.Merge [ff16c42e](https://github.com/gohugoio/hugo/commit/ff16c42ed0965e1c8acf6e6a6dcda3ea50c107f2) [@bep](https://github.com/bep) [#4977](https://github.com/gohugoio/hugo/issues/4977)
 +* Get rid of the utils package [062510cf](https://github.com/gohugoio/hugo/commit/062510cf1f7b79aed2efe88c5b9340d009bdec0e) [@bep](https://github.com/bep) 
 +* Update hugo_windows.go [4e1d0cd9](https://github.com/gohugoio/hugo/commit/4e1d0cd9f1d43d133d669a019a84117cadd41955) [@bep](https://github.com/bep) 
 +* Add IncludePaths config option [166483fe](https://github.com/gohugoio/hugo/commit/166483fe1227b0c59c6b4d88cfdfaf7d7b0d79c5) [@bep](https://github.com/bep) [#4921](https://github.com/gohugoio/hugo/issues/4921)
 +* Increase refLinker test coverage [8278384b](https://github.com/gohugoio/hugo/commit/8278384b9680cfdcecef9c668638ad483012857f) [@vassudanagunta](https://github.com/vassudanagunta) 
 +* Add test coverage for recent ref overhaul [2bac3715](https://github.com/gohugoio/hugo/commit/2bac3715448e90e197ada7cc73c87f696c19def6) [@vassudanagunta](https://github.com/vassudanagunta) [#4969](https://github.com/gohugoio/hugo/issues/4969)
 +* Update ref, relref, GetPage docs [1eb8b36b](https://github.com/gohugoio/hugo/commit/1eb8b36b3802e72bc2c16965461ef1899bb073b3) [@bep](https://github.com/bep) 
 +* Document refLinksErrorLevel and refLinksNotFoundURL [00c74ee7](https://github.com/gohugoio/hugo/commit/00c74ee7ffae71fd5f47d555160354a775e26151) [@bep](https://github.com/bep) [#4964](https://github.com/gohugoio/hugo/issues/4964)
 +* Add configurable ref/relref error handling and notFoundURL [e25aa655](https://github.com/gohugoio/hugo/commit/e25aa655f4227ac064be5fe770d517a80acd46b2) [@bep](https://github.com/bep) [#4964](https://github.com/gohugoio/hugo/issues/4964)
 +* Try node_modules/postcss-cli/bin/postcss first [ebe4d39f](https://github.com/gohugoio/hugo/commit/ebe4d39f175f73e4f130972cb3d74ef0af5d5761) [@bep](https://github.com/bep) [#4952](https://github.com/gohugoio/hugo/issues/4952)
 +* Add optional lang as argument to rel/relref [d741064b](https://github.com/gohugoio/hugo/commit/d741064bebe2f4663a7ba12556dccc3dffe08629) [@bep](https://github.com/bep) [#4956](https://github.com/gohugoio/hugo/issues/4956)
 +* Simplify .Site.GetPage etc. [3eb313fe](https://github.com/gohugoio/hugo/commit/3eb313fef495a39731dafa6bddbf77760090230d) [@bep](https://github.com/bep) [#4147](https://github.com/gohugoio/hugo/issues/4147)[#4727](https://github.com/gohugoio/hugo/issues/4727)[#4728](https://github.com/gohugoio/hugo/issues/4728)[#4728](https://github.com/gohugoio/hugo/issues/4728)[#4726](https://github.com/gohugoio/hugo/issues/4726)[#4652](https://github.com/gohugoio/hugo/issues/4652)
 +* Unify page lookups [b93417aa](https://github.com/gohugoio/hugo/commit/b93417aa1d3d38a9e56bad25937e0e638a113faf) [@vassudanagunta](https://github.com/vassudanagunta) [#4147](https://github.com/gohugoio/hugo/issues/4147)[#4727](https://github.com/gohugoio/hugo/issues/4727)[#4728](https://github.com/gohugoio/hugo/issues/4728)[#4728](https://github.com/gohugoio/hugo/issues/4728)[#4726](https://github.com/gohugoio/hugo/issues/4726)[#4652](https://github.com/gohugoio/hugo/issues/4652)
 +* Improve error message [4c240800](https://github.com/gohugoio/hugo/commit/4c240800a4275244c9e0847cd6707383180f1ac3) [@bep](https://github.com/bep) 
 +* Remove unused code [2f2bc7ff](https://github.com/gohugoio/hugo/commit/2f2bc7ff70b90fb11580cc092ef3883bf68d8ad7) [@bep](https://github.com/bep) 
 +
 +## Fixes
 +
 +* Avoid server panic on TOML mistake in i18n [75acff5f](https://github.com/gohugoio/hugo/commit/75acff5f20d0d41ffa1ae20402001c7a82f077cb) [@bep](https://github.com/bep) [#4942](https://github.com/gohugoio/hugo/issues/4942)
 +* Only set 'allThemes' if there are themes in the config file [38204c4a](https://github.com/gohugoio/hugo/commit/38204c4ab6fa2aa2ab8bd06ddb3e07b66e5f9646) [@garrmcnu](https://github.com/garrmcnu) [#4851](https://github.com/gohugoio/hugo/issues/4851)
 +* Fix potential server panic with drafts/future enabled [1ab4658c](https://github.com/gohugoio/hugo/commit/1ab4658c0d5ea2927f04bd748206e5b139a6326e) [@bep](https://github.com/bep) [#4965](https://github.com/gohugoio/hugo/issues/4965)
 +* Mark shortcode changes as content changes in server mode [12679b40](https://github.com/gohugoio/hugo/commit/12679b408362a93a3c6159588d6291a3b7ed5548) [@bep](https://github.com/bep) [#4965](https://github.com/gohugoio/hugo/issues/4965)
 +* Fix source maps on Windows [f01505c9](https://github.com/gohugoio/hugo/commit/f01505c910a325acc18742ac6b3637aa01975e37) [@bep](https://github.com/bep) [#4968](https://github.com/gohugoio/hugo/issues/4968)
 +* Fix typo-logic bug in GetPage [b56d9a12](https://github.com/gohugoio/hugo/commit/b56d9a1294e692d096bff442e0b1fec61a8c2b0f) [@vassudanagunta](https://github.com/vassudanagunta) 
 +* Enable test case fixed by commit 501543d4 [d6fde8fa](https://github.com/gohugoio/hugo/commit/d6fde8fa131f3852fa98a8ec5c360e736486cf54) [@vassudanagunta](https://github.com/vassudanagunta) 
 +* Fix theme config for Work Fs [5c9d5413](https://github.com/gohugoio/hugo/commit/5c9d5413a4e2cc8d44a8b2d7dff04e6523ba2a29) [@bep](https://github.com/bep) [#4951](https://github.com/gohugoio/hugo/issues/4951)
 +* Fix addkit link to account for i18n [fd1f4a78](https://github.com/gohugoio/hugo/commit/fd1f4a7860c4b989865b47c727239cf924a52fa4) [@hairmare](https://github.com/hairmare) 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6f0f42ed48c747dbcb8171ad93a2b092c403b1d4
new file mode 100644 (file)
Binary files differ
index 83784cf21e23c3d0d0eb529bd12a1d564995d30c,0000000000000000000000000000000000000000..6bb272c33f400323ed702f2522b88fd084f4ea37
mode 100644,000000..100644
--- /dev/null
@@@ -1,120 -1,0 +1,120 @@@
- title: "0.49"
- description: "0.49"
 +
 +---
 +date: 2018-09-24
++title: "Hugo 0.49: Directory Based Archetypes"
++description: "Hugo 0.49 brings archetype bundle support and collection goodness."
 +categories: ["Releases"]
 +---
 +
 +      
 +Hugo `0.49` brings [directory based archetypes](https://gohugo.io/content-management/archetypes/#directory-based-archetypes) and also improves the language handling in `hugo new`. This should simplify working with [page bundles](https://gohugo.io/content-management/page-bundles/). One example of this would be how you now can create a [new showcase](https://gohugo.io/showcase/template/) for the Hugo web site.
 +
 +But this release is also about _collections_. Go 1.11 gave us variable overwrite support in Go templates. That made it possible to simplify a lot of template constructs, but it also showed some limitations in Hugo's template functions. So with this release we have:
 +
 +* added [append](https://gohugo.io/functions/append/) function to append to collections.
 +* added [group](https://gohugo.io/functions/group/) to create custom page groups.
 +* improved the type support in [slice](https://gohugo.io/functions/slice/).
 +
 +This release represents **66 contributions by 9 contributors** to the main Hugo code base.
 +[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@moorereason](https://github.com/moorereason), [@felicianotech](https://github.com/felicianotech), and [@vdanjean](https://github.com/vdanjean) for their ongoing contributions.
 +And a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) and [@onedrawingperday](https://github.com/onedrawingperday) for their relentless work on keeping the themes site in pristine condition and to [@kaushalmodi](https://github.com/kaushalmodi) for his great work on the documentation site.
 +
 +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), 
 +which has received **37 contributions by 20 contributors**. A special thanks to [@bep](https://github.com/bep), [@kaushalmodi](https://github.com/kaushalmodi), [@AlexChambers](https://github.com/AlexChambers), and [@shaform](https://github.com/shaform) for their work on the documentation site.
 +
 +
 +Hugo now has:
 +
 +* 28985+ [stars](https://github.com/gohugoio/hugo/stargazers)
 +* 441+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
 +* 265+ [themes](http://themes.gohugo.io/)
 +
 +
 +## Notes
 +
 +* Remove deprecated `rssURI` [f1a00b20](https://github.com/gohugoio/hugo/commit/f1a00b2069ede85feb487d29b9f690396e2402c6) [@bep](https://github.com/bep) 
 +* Remove deprecated flags [df4cbbd3](https://github.com/gohugoio/hugo/commit/df4cbbd3bdc05aa14a67b3a0a29a0db75b82e640) [@bep](https://github.com/bep) 
 +* Deprecate `Pages.Sort`. Use `.ByWeight` [2e2e34a9](https://github.com/gohugoio/hugo/commit/2e2e34a9350edec0220462aa3d47ecc9d428a0fb) [@bep](https://github.com/bep)
 +* When setting `preserveTaxonomyNames` Hugo now _really_ preserves them. Before this release, we would make the first character upper case. If this is the behaviour you want you can use the new `strings.FirstUpper` function.
 +
 +## Enhancements
 +
 +### Templates
 +
 +* Allow `first` function to return an empty slice [cae07ce8](https://github.com/gohugoio/hugo/commit/cae07ce84b3bd4a33fd18b5109a1a3c3dce2191c) [@felicianotech](https://github.com/felicianotech) [#5235](https://github.com/gohugoio/hugo/issues/5235)
 +* Use `safeHTMLAttr` instead of `safeHTML` for HTML attributes [4f9c109d](https://github.com/gohugoio/hugo/commit/4f9c109dc5431553e5dbf98e0ed37487c12e8d16) [@felicianotech](https://github.com/felicianotech) [#5236](https://github.com/gohugoio/hugo/issues/5236)
 +* Add `collections.Append` (with alias `append`) [e27fd4c1](https://github.com/gohugoio/hugo/commit/e27fd4c1b80b7acb43290ac50e9f140d690cf042) [@bep](https://github.com/bep) [#5190](https://github.com/gohugoio/hugo/issues/5190)
 +* Improve type handling in `collections.Slice` [fe6676c7](https://github.com/gohugoio/hugo/commit/fe6676c775b8d917a661238f24fd4a9088f25d50) [@bep](https://github.com/bep) [#5188](https://github.com/gohugoio/hugo/issues/5188)
 +* Add `group` template func [6667c6d7](https://github.com/gohugoio/hugo/commit/6667c6d7430acc16b3683fbbacd263f1d00c8672) [@bep](https://github.com/bep) [#4865](https://github.com/gohugoio/hugo/issues/4865)
 +* Add `strings.FirstUpper` [e5d66074](https://github.com/gohugoio/hugo/commit/e5d66074ce1ed4e0fe329e3fdef66f8b6fd5dc55) [@bep](https://github.com/bep) [#5174](https://github.com/gohugoio/hugo/issues/5174)
 +
 +### Core
 +
 +* Minor cleaning in the sorting code [2eed35c8](https://github.com/gohugoio/hugo/commit/2eed35c826e5de6aae432b36969a28c2ae3e0f02) [@bep](https://github.com/bep) 
 +* Make sure ambiguous lookups in GetPage gets an error [75e54345](https://github.com/gohugoio/hugo/commit/75e54345f9a7d786bb28af64ad80eb9502fee7c7) [@bep](https://github.com/bep) [#5138](https://github.com/gohugoio/hugo/issues/5138)
 +* Allow creating page groups from any page collection [cfda13b3](https://github.com/gohugoio/hugo/commit/cfda13b36367465016f4458ab9924c948ed02b6f) [@vdanjean](https://github.com/vdanjean) [#4865](https://github.com/gohugoio/hugo/issues/4865)
 +* Do not FirstUpper taxonomy titles [be3ae3ec](https://github.com/gohugoio/hugo/commit/be3ae3ec92da972a55112af39ce2e1c45121b9a5) [@Schnouki](https://github.com/Schnouki) [#5172](https://github.com/gohugoio/hugo/issues/5172)
 +* Simplify some code [e38e8812](https://github.com/gohugoio/hugo/commit/e38e881248b7d20927eab0e56c85732e1acbc45e) [@moorereason](https://github.com/moorereason) 
 +* Add missing error checks [0665a395](https://github.com/gohugoio/hugo/commit/0665a3951be6ffc2551ef6664856da4cfccd45fa) [@moorereason](https://github.com/moorereason) 
 +* Remove extraneous createStaticFs call [1ed8c363](https://github.com/gohugoio/hugo/commit/1ed8c363367c2532014154e91eeade9b3a923f91) [@moorereason](https://github.com/moorereason) 
 +
 +### Other
 +
 +* Add "go mod download" to CI scripts [cf47f43f](https://github.com/gohugoio/hugo/commit/cf47f43ff12ca5f5ea851a8b6761b19b5e4d4eba) [@bep](https://github.com/bep) 
 +* Regenerate CLI docs [3b6bd121](https://github.com/gohugoio/hugo/commit/3b6bd1210a2792c51c34b9c655cb8b7e9a0f15d7) [@bep](https://github.com/bep) 
 +* Document group [8388cd90](https://github.com/gohugoio/hugo/commit/8388cd90e89358f73ddcb7f496a1a8dc5c30c36c) [@bep](https://github.com/bep) 
 +* Make Data.Integrity be of type template.HTMLAttr [fe6a6f27](https://github.com/gohugoio/hugo/commit/fe6a6f2737769070fd64a5192ff685c9c89020bd) [@bep](https://github.com/bep) 
 +* Add directory based archetypes [2650fa77](https://github.com/gohugoio/hugo/commit/2650fa772b40846d9965f8c5f169286411f3beb2) [@bep](https://github.com/bep) [#4535](https://github.com/gohugoio/hugo/issues/4535)
 +* Build on CircleCI outside of GOPATH [ef525b15](https://github.com/gohugoio/hugo/commit/ef525b15d4584886b52428bd7a35de835ab07a48) [@felicianotech](https://github.com/felicianotech) [#5135](https://github.com/gohugoio/hugo/issues/5135)
 +* Prevent symbolic links from themes [f9168146](https://github.com/gohugoio/hugo/commit/f9168146978bd970d1f4fb061eff75264af88bb1) [@bep](https://github.com/bep) 
 +* Update releasenotes_writer.go [4b82f748](https://github.com/gohugoio/hugo/commit/4b82f74848836efbcf453c0122bd35555ee7517d) [@bep](https://github.com/bep) 
 +* Add docs for append [df50c108](https://github.com/gohugoio/hugo/commit/df50c108ba2f24936eff20b51d23f9328adb2d87) [@bep](https://github.com/bep) [#5190](https://github.com/gohugoio/hugo/issues/5190)
 +* Set minifier to KeepEndTags [9b26b548](https://github.com/gohugoio/hugo/commit/9b26b5487b5c5142fe9fb58681fe7d1dac95a291) [@onedrawingperday](https://github.com/onedrawingperday) 
 +* Make JSON minification more generic [3dafe206](https://github.com/gohugoio/hugo/commit/3dafe206e31bb92f27802a04bf9159cbc20af234) [@zinefer](https://github.com/zinefer) 
 +* Update Mage [37d64634](https://github.com/gohugoio/hugo/commit/37d6463479952f7dfba59d899eed38b41e223283) [@bep](https://github.com/bep) 
 +* Update dependencies [bb2fe814](https://github.com/gohugoio/hugo/commit/bb2fe814c2db0c494b3b678a5da20a6cc0538857) [@bep](https://github.com/bep) 
 +* Improve some godoc comments [30bc4ed0](https://github.com/gohugoio/hugo/commit/30bc4ed0a01f965cc2f9187ccb6ab5d28a3149f6) [@moorereason](https://github.com/moorereason) 
 +* Update to latest Mage [3b103cb7](https://github.com/gohugoio/hugo/commit/3b103cb7b74228f26af5beb4cefc47edee794ce9) [@bep](https://github.com/bep) 
 +* Remove some duplicate code [c15c7da4](https://github.com/gohugoio/hugo/commit/c15c7da42a1c7bc535cc16cca2b341526f8cf169) [@bep](https://github.com/bep) 
 +* Update Dockerfile to Go 1.11 [bcbe57c6](https://github.com/gohugoio/hugo/commit/bcbe57c6e9243cbf3823f11b755f57c091cc1866) [@zyfdegh](https://github.com/zyfdegh) [#5145](https://github.com/gohugoio/hugo/issues/5145)
 +* Init packages once [ea8ef573](https://github.com/gohugoio/hugo/commit/ea8ef573c6f869de95fdf4b19765d34026de6471) [@bep](https://github.com/bep) 
 +* Update script to Go 1.11 [293e1235](https://github.com/gohugoio/hugo/commit/293e12355dd9d9361774f5ab340cd8a03b4828a1) [@bep](https://github.com/bep) [#5127](https://github.com/gohugoio/hugo/issues/5127)
 +* Remove the remains of Go Dep [fdf3c3b8](https://github.com/gohugoio/hugo/commit/fdf3c3b8234ed340f40a85fb76d96ae3a9ccf195) [@bep](https://github.com/bep) [#5115](https://github.com/gohugoio/hugo/issues/5115)
 +* Update CONTRIBUTING.md [312d2252](https://github.com/gohugoio/hugo/commit/312d2252be6b7bf250fa4f8b1b541fdc13641940) [@bep](https://github.com/bep) 
 +* Update README.md [f627903e](https://github.com/gohugoio/hugo/commit/f627903efaa1a5f7e137c2d409efd1e1e2db47f6) [@bep](https://github.com/bep) 
 +* Fix golint issues [400fe96a](https://github.com/gohugoio/hugo/commit/400fe96aee8e38112e347e762661b8389701c938) [@moorereason](https://github.com/moorereason) 
 +* Fix golint godoc issues [3f45e729](https://github.com/gohugoio/hugo/commit/3f45e729f4e0296bb1a3558d60087bec8321444b) [@moorereason](https://github.com/moorereason) 
 +* Fix godoc comment [e03eb90a](https://github.com/gohugoio/hugo/commit/e03eb90a366159ed9ef9888246de87f283508866) [@moorereason](https://github.com/moorereason) 
 +* Fix typo in private func name [c915d0d3](https://github.com/gohugoio/hugo/commit/c915d0d3252007d61b680a388dcbe6b035d0adc8) [@moorereason](https://github.com/moorereason)
 +* Fix golint godoc issues [f6f22ad9](https://github.com/gohugoio/hugo/commit/f6f22ad944a1c308fd823792b2fbff1504f42cef) [@moorereason](https://github.com/moorereason) 
 +* Fix filepath issue in test [d970327d](https://github.com/gohugoio/hugo/commit/d970327d7b994b495ef3bb468c3e0599b0deef5a) [@moorereason](https://github.com/moorereason) 
 +* Fix golint issues [0013bea9](https://github.com/gohugoio/hugo/commit/0013bea901ee2124f4c18f9728abf47c3880f97d) [@moorereason](https://github.com/moorereason) 
 +* Fix golint godoc issue [ffaa73dc](https://github.com/gohugoio/hugo/commit/ffaa73dc8aa860edb3476b2a460774071b8470a4) [@moorereason](https://github.com/moorereason) 
 +* Fix golint godoc issue [f8d8c854](https://github.com/gohugoio/hugo/commit/f8d8c85428f527139c20369910230741dcaf2969) [@moorereason](https://github.com/moorereason) 
 +* Fix golint issue [10dc87bf](https://github.com/gohugoio/hugo/commit/10dc87bf866f7a4f99c248436c38edf0ecdd157f) [@moorereason](https://github.com/moorereason) 
 +* Fix golint issues [7231869b](https://github.com/gohugoio/hugo/commit/7231869ba87f4e8d08e94dce18f20b7ed4fa2e15) [@moorereason](https://github.com/moorereason) 
 +* Fix golint godoc issues [600047ff](https://github.com/gohugoio/hugo/commit/600047ff1cb95d061af1983b9a755157eb4941f8) [@moorereason](https://github.com/moorereason) 
 +* Fix golint issues [5f2e1cb8](https://github.com/gohugoio/hugo/commit/5f2e1cb8969c2adac6c866b57cc331e1bc16d4e9) [@moorereason](https://github.com/moorereason) 
 +* Fix golint issues [c8ce6504](https://github.com/gohugoio/hugo/commit/c8ce65046dc7539f3bf5f6dd35fa7ece2bec866d) [@moorereason](https://github.com/moorereason) 
 +* Fix most golint issues [a53f9623](https://github.com/gohugoio/hugo/commit/a53f962312e273cea9fe460b40655350a82210f2) [@moorereason](https://github.com/moorereason) 
 +* Fix golint issues [daffeec3](https://github.com/gohugoio/hugo/commit/daffeec30d9d67017ec84064e15fd946b0b0cb0d) [@moorereason](https://github.com/moorereason) 
 +* Fix golint errors [b8b91f55](https://github.com/gohugoio/hugo/commit/b8b91f550646b2620649c3504e14a441975bea9f) [@moorereason](https://github.com/moorereason) 
 +* Fix golint issues [f0effac8](https://github.com/gohugoio/hugo/commit/f0effac80426325040c4bc703cd610f434d0b5a8) [@moorereason](https://github.com/moorereason) 
 +* Fix broken Travis config [2cf8fe2e](https://github.com/gohugoio/hugo/commit/2cf8fe2ea218d37776af72893691e772737750e3) [@bep](https://github.com/bep) 
 +* Fix error message for go vet [47d4edce](https://github.com/gohugoio/hugo/commit/47d4edce6083bab1c190dad99fefb7c73afc6af8) [@mdhender](https://github.com/mdhender) 
 +
 +
 +## Fixes
 +
 +* Compare every element in pages cache [ed4f1edb](https://github.com/gohugoio/hugo/commit/ed4f1edbd729bf75af89879b76fbad931693cd67) [@bep](https://github.com/bep) [#5239](https://github.com/gohugoio/hugo/issues/5239)
 +* Revise error handling in `getJSON` and `getCSV` [43d44652](https://github.com/gohugoio/hugo/commit/43d446522a7c09af4bf6879f93341d8ff62654d1) [@bep](https://github.com/bep) [#5076](https://github.com/gohugoio/hugo/issues/5076)
 +* Show error on `union` or `intersect` of uncomparable types [4f72e791](https://github.com/gohugoio/hugo/commit/4f72e79120a4f964330d10c8ebe9aceb2b5761a7) [@moorereason](https://github.com/moorereason) [#3820](https://github.com/gohugoio/hugo/issues/3820)
 +* Do not set RSS as Kind in RSS output [555a5612](https://github.com/gohugoio/hugo/commit/555a5612b2641075b3e1b3b7af8ce9b5aba9f200) [@bep](https://github.com/bep) [#5138](https://github.com/gohugoio/hugo/issues/5138)
 +
 +
 +
 +
 +
 +
 +
 +
index 9327a706089e0b09ed438f1469c7d771b64ab3c2,0000000000000000000000000000000000000000..a3858a9e16c2723371a0d8200448307178170eb1
mode 100644,000000..100644
--- /dev/null
@@@ -1,24 -1,0 +1,22 @@@
- title: "0.49.1"
- description: "0.49.1"
 +
 +---
 +date: 2018-10-10
-       
- This is a bug-fix release with a 2 related fixed. This was introduced in Hugo 0.49. The most notable error situation was that `resources.Concat` could fail in some situations.
++title: "Hugo 0.49.1: Bug Fix"
++description: "This release fixes an issue where resources.Concat would sometimes fail."
 +categories: ["Releases"]
 +images:
 +- images/blog/hugo-bug-poster.png
 +
 +---
 +
++This is a bug-fix release with 2 related fixes. This was introduced in Hugo 0.49. The most notable error situation was that `resources.Concat` could fail in some situations.
 +
 +
 +* Fix handling of different interface types in Slice [e2201ef1](https://github.com/gohugoio/hugo/commit/e2201ef15fdefe257ad284b2df4ccc8f8c38fac2) [@bep](https://github.com/bep) [#5269](https://github.com/gohugoio/hugo/issues/5269)
 +
 +* Improve append in Scratch [23f48c30](https://github.com/gohugoio/hugo/commit/23f48c300cb5ffe0fe43c88464f38c68831a17ad) [@bep](https://github.com/bep) [#5275](https://github.com/gohugoio/hugo/issues/5275)
 +
 +
 +
 +
 +
index a4bfc979c7289b129d99ec50d1ba9904886d706e,0000000000000000000000000000000000000000..1d24cd624a5ba7bb7d27e1c6b78db92a93fb713b
mode 100644,000000..100644
--- /dev/null
@@@ -1,21 -1,0 +1,17 @@@
 +---
 +date: 2018-10-11
- title: "0.49.2"
- description: "0.49.2"
++title: "Hugo 0.49.2: One Bug Fix"
++description: "Fixes a type issue in append and Scratch.Add"
 +categories: ["Releases"]
 +images:
 +- images/blog/hugo-bug-poster.png
 +---
 +
-       
- This is fixes one regression from Hugo `0.42.1`:
++This fixes one regression from Hugo `0.42.1`:
 +
 +* Fix type checking in Append [2159d77f](https://github.com/gohugoio/hugo/commit/2159d77f368eb1f78e51dd94133554f88052d85f) [@bep](https://github.com/bep) [#5303](https://github.com/gohugoio/hugo/issues/5303)
 +
 +
 +
 +
 +
index 4210269c85a92ce0e5a61690e3b3b6a0366fbeeb,0000000000000000000000000000000000000000..a0d83955ee07bf9bbd2ad675003d12bd1ddf7d35
mode 100644,000000..100644
--- /dev/null
@@@ -1,49 -1,0 +1,22 @@@
- # A suitable title for this article.
 +---
 +
- # Set this to the current date.
 +title: Hugo Showcase Template
 +date: 2018-02-07
- # The URL to the site on the internet.
 +description: "A short description of this page."
- # Link to the site's Hugo source code if public and you can/want to share.
- # Remove or leave blank if not needed/wanted.
 +siteURL: https://gohugo.io/
- # Add credit to the article author. Leave blank or remove if not needed/wanted.
 +siteSource: https://github.com/gohugoio/hugoDocs
- 1. Create a copy of the [content/showcase/template](https://github.com/gohugoio/hugoDocs/tree/master/content/showcase/template) directory with a suitable name. If you now run `hugo server`, your site should show up in [http://localhost:1313/showcase/](http://localhost:1313/showcase/) and on the front page.
- 2. Adjust the [files](#files) and write a story about your site
 +byline: "[bep](https://github.com/bep), Hugo Lead"
 +
 +---
 +
 +Have a **notable Hugo site[^1]**? We would love to feature it in this **Showcase Section**
 +
 +We would really appreciate if you could:
 +
 +1. Fork https://github.com/gohugoio/hugoDocs
- **Note:** The Showcase section uses the latest bells and whistles from Hugo, [resources](/content-management/page-resources/) with [image processing](/content-management/image-processing/), so you need a reasonable up-to-date [Hugo version](https://github.com/gohugoio/hugo/releases).
- ## Files
- The content of the [content/showcase/template](https://github.com/gohugoio/hugoDocs/tree/master/content/showcase/template) directory explained:
- index.md
- : The main content file. Fill in required front matter metadata and write your story. I does not have to be a novel. It can even be self-promotional, but it should include Hugo in some form.
- bio.md
- : A short summary of the website. Site credits (who built it) fits nicely here.
- featured-template.png
- : A reasonably sized screenshot of your website. It can be named anything, but the name must start with "featured". The sample image is `1500x750` (2:1 aspect ratio).
++2. Run `hugo new showcase/your-site` (this requires >= Hugo 0.49). This will use the archetype bundle in the [docs repo](https://github.com/gohugoio/hugoDocs/tree/master/archetypes).
++3. Follow the instructions in the newly created page bundle. 
 +3. Create a new pull request in https://github.com/gohugoio/hugoDocs/pulls
 +
- [^1]: We want this to show Hugo in its best light, so this is not for the average Hugo blog. In most cases the answer to "Is my site [notabable](http://www.dictionary.com/browse/notable)?" will be obvious, but if in doubt, create an [issue](https://github.com/gohugoio/hugoDocs/issues) with a link and some words, and we can discuss it. But if you have a site with an interesting Hugo story or a company site where the company itself is notable, you are most welcome.
 +
++[^1]: We want this to show Hugo in its best light, so this is not for the average Hugo blog. In most cases the answer to "Is my site [notable](http://www.dictionary.com/browse/notable)?" will be obvious, but if in doubt, create an [issue](https://github.com/gohugoio/hugoDocs/issues) with a link and some words, and we can discuss it. But if you have a site with an interesting Hugo story or a company site where the company itself is notable, you are most welcome.
index 7fbfec43c7197d467abe4c9145ccc3654e685107,0000000000000000000000000000000000000000..fdec63c573525a26962eb721319cff850177a3bf
mode 100644,000000..100644
--- /dev/null
@@@ -1,125 -1,0 +1,208 @@@
 +---
 +title: Internal Templates
 +linktitle: Internal Templates
 +description: Hugo ships with a group of boilerplate templates that cover the most common use cases for static websites.
 +date: 2017-03-06
 +publishdate: 2017-03-06
 +lastmod: 2017-03-06
 +categories: [templates]
 +keywords: [internal, analytics,]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 168
 +weight: 168
 +sections_weight: 168
 +draft: false
 +aliases: []
 +toc: true
 +wip: true
 +---
 +<!-- reference: https://discourse.gohugo.io/t/lookup-order-for-partials/5705/6
 +code: https://github.com/gohugoio/hugo/blob/e445c35d6a0c7f5fc2f90f31226cd1d46e048bbc/tpl/template_embedded.go#L147 -->
 +
 +{{% warning %}}
 +While the following internal templates are called similar to partials, they do *not* observe the partial template lookup order.
 +{{% /warning %}}
 +
 +## Google Analytics
 +
 +Hugo ships with internal templates for Google Analytics tracking, including both synchronous and asynchronous tracking codes.
 +
 +### Configure Google Analytics
 +
 +Provide your tracking id in your configuration file:
 +
 +{{< code-toggle file="config" >}}
 +googleAnalytics = "UA-123-45"
 +{{</ code-toggle >}}
 +
 +### Use the Google Analytics Template
 +
 +You can then include the Google Analytics internal template:
 +
 +```
 +{{ template "_internal/google_analytics.html" . }}
 +```
 +
 +
 +```
 +{{ template "_internal/google_analytics_async.html" . }}
 +```
 +
++A `.Site.GoogleAnalytics` variable is also exposed from the config.
++
 +## Disqus
 +
 +Hugo also ships with an internal template for [Disqus comments][disqus], a popular commenting system for both static and dynamic websites. In order to effectively use Disqus, you will need to secure a Disqus "shortname" by [signing up for the free service][disqussignup].
 +
 +### Configure Disqus
 +
 +To use Hugo's Disqus template, you first need to set a single value in your site's `config.toml` or `config.yml`:
 +
 +{{< code-toggle file="config" >}}
 +disqusShortname = "yourdiscussshortname"
 +{{</ code-toggle >}}
 +
 +You also have the option to set the following in the front matter for a given piece of content:
 +
 +* `disqus_identifier`
 +* `disqus_title`
 +* `disqus_url`
 +
 +### Use the Disqus Template
 +
 +To add Disqus, include the following line in templates where you want your comments to appear:
 +
 +```
 +{{ template "_internal/disqus.html" . }}
 +```
 +
++A `.Site.DisqusShortname` variable is also exposed from the config.
++
 +### Conditional Loading of Disqus Comments
 +
 +Users have noticed that enabling Disqus comments when running the Hugo web server on `localhost` (i.e. via `hugo server`) causes the creation of unwanted discussions on the associated Disqus account.
 +
 +You can create the following `layouts/partials/disqus.html`:
 +
 +{{< code file="layouts/partials/disqus.html" download="disqus.html" >}}
 +<div id="disqus_thread"></div>
 +<script type="text/javascript">
 +
 +(function() {
 +    // Don't ever inject Disqus on localhost--it creates unwanted
 +    // discussions from 'localhost:1313' on your Disqus account...
 +    if (window.location.hostname == "localhost")
 +        return;
 +
 +    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
 +    var disqus_shortname = '{{ .Site.DisqusShortname }}';
 +    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
 +    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
 +})();
 +</script>
 +<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
 +<a href="http://disqus.com/" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
 +{{< /code >}}
 +
 +The `if` statement skips the initialization of the Disqus comment injection when you are running on `localhost`.
 +
 +You can then render your custom Disqus partial template as follows:
 +
 +```
 +{{ partial "disqus.html" . }}
 +```
 +
++## Open Graph
++An internal template for the [Open Graph protocol](http://ogp.me/), metadata that enables a page to become a rich object in a social graph.
++This format is used for Facebook and some other sites.
++
++### Configure Open Graph
++
++Hugo's Open Graph template is configured using a mix of configuration variables and [front-matter](/content-management/front-matter/) on individual pages.
++
++{{< code-toggle file="config" >}}
++[params]
++  title = "My cool site"
++  images = ["site-feature-image.jpg"]
++  description = "Text about my cool site"
++[taxonomies]
++  series = "series"
++{{</ code-toggle >}}
++
++{{< code-toggle file="content/blog/my-post" >}}
++title = "Post title"
++description = "Text about this post"
++date = "2006-01-02"
++images = ["post-cover.png"]
++audio = []
++video = []
++series = []
++tags = []
++{{</ code-toggle >}}
++
++Hugo uses the page title and description for the title and description metadata.
++The first 6 URLs from the `images` array are used for image metadata.
++
++Various optional metadata can also be set:
++- Date, published date, and last modified data are used to set the published time metadata if specified.
++- `audio` and `video` are URL arrays like `images` for the audio and video metadata tags, respectively.
++- The first 6 `tags` on the page are used for the tags metadata.
++- The `series` taxonomy is used to specify related "see also" pages by placing them in the same series.
++
++### Use the Open Graph Template
++
++To add Open Graph metadata, include the following line between the `<head>` tags in your templates:
++
++```
++{{ template "_internal/opengraph.html" . }}
++```
++
++## Twitter Cards
++An internal template for [Twitter Cards](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards),
++metadata used to attach rich media to Tweets linking to your site.
++
++### Configure Twitter Cards
++
++Hugo's Twitter Card template is configured using a mix of configuration variables and [front-matter](/content-management/front-matter/) on individual pages.
++
++{{< code-toggle file="config" >}}
++[params]
++  images = ["site-feature-image.jpg"]
++  description = "Text about my cool site"
++{{</ code-toggle >}}
++
++{{< code-toggle file="content/blog/my-post" >}}
++title = "Post title"
++description = "Text about this post"
++images = ["post-cover.png"]
++{{</ code-toggle >}}
++
++If `images` aren't specified in the page front-matter, then hugo searches for [image page resources](/content-management/image-processing/) with `feature`, `cover`, or `thumbnail` in their name.
++If no image resources with those names are found, the images defined in the [site config](getting-started/configuration/) are used instead.
++If no images are found at all, then an image-less Twitter `summary` card is used instead of `summary_large_image`.
++
++Hugo uses the page title and description for the card's title and description fields. The page summary is used if no description is given.
++
++### Use the Twitter Cards Template
++
++To add Twitter card metadata, include the following line between the `<head>` tags in your templates:
++
++```
++{{ template "_internal/twitter_cards.html" . }}
++```
++
 +## The Internal Templates
 +
 +* `_internal/disqus.html`
 +* `_internal/google_news.html`
 +* `_internal/google_analytics.html`
 +* `_internal/google_analytics_async.html`
 +* `_internal/opengraph.html`
 +* `_internal/pagination.html`
 +* `_internal/schema.html`
 +* `_internal/twitter_cards.html`
 +
 +[disqus]: https://disqus.com
 +[disqussignup]: https://disqus.com/profile/signup/
index ff286c9d22152fc1332bfb289301c31714d5b657,0000000000000000000000000000000000000000..37c48b75e8421563d47bcd20fc3d77ca1450d07c
mode 100644,000000..100644
--- /dev/null
@@@ -1,237 -1,0 +1,237 @@@
- Example from site config file`:
 +---
 +title: Custom Output Formats
 +linktitle: Custom Output Formats
 +description: Hugo can output content in multiple formats, including calendar events, e-book formats, Google AMP, and JSON search indexes, or any custom text format.
 +date: 2017-03-22
 +publishdate: 2017-03-22
 +lastmod: 2017-03-22
 +categories: [templates]
 +keywords: ["amp","outputs","rss"]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 18
 +weight: 18
 +sections_weight: 18
 +draft: false
 +aliases: [/templates/outputs/,/extras/output-formats/,/content-management/custom-outputs/]
 +toc: true
 +---
 +
 +This page describes how to properly configure your site with the media types and output formats, as well as where to create your templates for your custom outputs.
 +
 +## Media Types
 +
 +A [media type][] (also known as *MIME type* and *content type*) is a two-part identifier for file formats and format contents transmitted on the Internet.
 +
 +This is the full set of built-in media types in Hugo:
 +
 +{{< datatable "media" "types" "type" "suffix" >}}
 +
 +**Note:**
 +
 +* It is possible to add custom media types or change the defaults; e.g., if you want to change the suffix for `text/html` to `asp`.
 +* The `Suffix` is the value that will be used for URLs and filenames for that media type in Hugo.
 +* The `Type` is the identifier that must be used when defining new/custom `Output Formats` (see below).
 +* The full set of media types will be registered in Hugo's built-in development server to make sure they are recognized by the browser.
 +
 +To add or modify a media type, define it in a `mediaTypes` section in your [site configuration][config], either for all sites or for a given language.
 +
 +{{< code-toggle file="config" >}}
 +[mediaTypes]
 +  [mediaTypes."text/enriched"]
 +  suffix = "enr"
 +  [mediaTypes."text/html"]
 +  suffix = "asp"
 +{{</ code-toggle >}}
 +
 +The above example adds one new media type, `text/enriched`, and changes the suffix for the built-in `text/html` media type.
 +
 +**Note:** these media types are configured for **your output formats**. If you want to redefine one of Hugo's default output formats (e.g. `HTML`), you also need to redefine the output format. So, if you want to change the suffix of the `HTML` output format from `html` (default) to `htm`:
 +
 +```toml
 +[mediaTypes]
 +[mediaTypes."text/html"]
 +suffix = "htm"
 +
 +# Redefine HTML to update its media type.
 +[outputFormats]
 +[outputFormats.HTML]
 +mediaType = "text/html"
 +```
 +
 +**Note** that for the above to work, you also need to add an `outputs` definition in your site config.
 +
 +## Output Format Definitions
 +
 +Given a media type and some additional configuration, you get an **Output Format**.
 +
 +This is the full set of Hugo's built-in output formats:
 +
 +{{< datatable "output" "formats" "name" "mediaType" "path" "baseName" "rel" "protocol" "isPlainText" "isHTML" "noUgly">}}
 +
 +* A page can be output in as many output formats as you want, and you can have an infinite amount of output formats defined **as long as they resolve to a unique path on the file system**. In the above table, the best example of this is `AMP` vs. `HTML`. `AMP` has the value `amp` for `Path` so it doesn't overwrite the `HTML` version; e.g. we can now have both `/index.html` and `/amp/index.html`.
 +* The `MediaType` must match the `Type` of an already defined media type.
 +* You can define new output formats or redefine built-in output formats; e.g., if you want to put `AMP` pages in a different path.
 +
 +To add or modify an output format, define it in an `outputFormats` section in your site's [configuration file](/getting-started/configuration/), either for all sites or for a given language.
 +
 +{{< code-toggle file="config" >}}
 +[outputFormats.MyEnrichedFormat]
 +mediaType = "text/enriched"
 +baseName = "myindex"
 +isPlainText = true
 +protocol = "bep://"
 +{{</ code-toggle >}}
 +
 +The above example is fictional, but if used for the homepage on a site with `baseURL` `https://example.org`, it will produce a plain text homepage with the URL `bep://example.org/myindex.enr`.
 +
 +### Configure Output Formats
 +
 +The following is the full list of configuration options for output formats and their default values:
 +
 +`name`
 +: the output format identifier. This is used to define what output format(s) you want for your pages.
 +
 +`mediaType`
 +: this must match the `Type` of a defined media type.
 +
 +`path`
 +: sub path to save the output files.
 +
 +`baseName`
 +: the base filename for the list filenames (homepage, etc.). **Default:** `index`.
 +
 +`rel`
 +: can be used to create `rel` values in `link` tags. **Default:** `alternate`.
 +
 +`protocol`
 +: will replace the "http://" or "https://" in your `baseURL` for this output format.
 +
 +`isPlainText`
 +: use Go's plain text templates parser for the templates. **Default:** `false`.
 +
 +`isHTML`
 +: used in situations only relevant for `HTML`-type formats; e.g., page aliases.
 +
 +`noUgly`
 +: used to turn off ugly URLs If `uglyURLs` is set to `true` in your site. **Default:** `false`.
 +
 +`notAlternative`
 +: enable if it doesn't make sense to include this format in an `AlternativeOutputFormats` format listing on `Page` (e.g., with `CSS`). Note that we use the term *alternative* and not *alternate* here, as it does not necessarily replace the other format. **Default:** `false`.
 +
 +## Output Formats for Pages
 +
 +A `Page` in Hugo can be rendered to multiple *output formats* on the file
 +system.
 +
 +### Default Output Formats
 +Every `Page` has a [`Kind`][page_kinds] attribute, and the default Output
 +Formats are set based on that.
 +
 +| Kind           | Default Output Formats |
 +|--------------- |----------------------- |
 +| `page`         | HTML                   |
 +| `home`         | HTML, RSS              |
 +| `section`      | HTML, RSS              |
 +| `taxonomyTerm` | HTML, RSS              |
 +| `taxonomy`     | HTML, RSS              |
 +
 +### Customizing Output Formats
 +
 +This can be changed by defining an `outputs` list of output formats in either
 +the `Page` front matter or in the site configuration (either for all sites or
 +per language).
 +
++Example from site config file:
 +
 +{{< code-toggle file="config" >}}
 +[outputs]
 +  home = ["HTML", "AMP", "RSS"]
 +  page = ["HTML"]
 +{{</ code-toggle >}}
 +
 +
 +Note that in the above examples, the *output formats* for `section`,
 +`taxonomyTerm` and `taxonomy` will stay at their default value `["HTML",
 +"RSS"]`.
 +
 +* The `outputs` definition is per [`Page` `Kind`][page_kinds] (`page`, `home`, `section`, `taxonomy`, or `taxonomyTerm`).
 +* The names (e.g. `HTML`, `AMP`) used must match the `Name` of a defined *Output Format*.
 +  * These names are case insensitive.
 +* These can be overridden per `Page` in the front matter of content files.
 +
 +The following is an example of `YAML` front matter in a content file that defines output formats for the rendered `Page`:
 +
 +```yaml
 +---
 +date: "2016-03-19"
 +outputs:
 +- html
 +- amp
 +- json
 +---
 +```
 +
 +## Link to Output Formats
 +
 +Each `Page` has both an `.OutputFormats` (all formats, including the current) and an `.AlternativeOutputFormats` variable, the latter of which is useful for creating a `link rel` list in your site's `<head>`:
 +
 +```go-html-template
 +{{ range .AlternativeOutputFormats -}}
 +<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
 +{{ end -}}
 +```
 +
 +Note that `.Permalink` and `.RelPermalink` on `Page` will return the first output format defined for that page (usually `HTML` if nothing else is defined).
 +
 +This is how you link to a given output format:
 +
 +```go-html-template
 +{{ with  .OutputFormats.Get "json" -}}
 +<a href="{{ .Permalink }}">{{ .Name }}</a>
 +{{- end }}
 +```
 +
 +From content files, you can use the [`ref` or `relref` shortcodes](/content-management/shortcodes/#ref-and-relref):
 +
 +```go-html-template
 +[Neat]({{</* ref "blog/neat.md" "amp" */>}})
 +[Who]({{</* relref "about.md#who" "amp" */>}})
 +```
 +
 +## Templates for Your Output Formats
 +
 +A new output format needs a corresponding template in order to render anything useful.
 +
 +{{% note %}}
 +The key distinction for Hugo versions 0.20 and newer is that Hugo looks at an output format's `Name` and MediaType's `Suffix` when choosing the template used to render a given `Page`.
 +{{% /note %}}
 +
 +The following table shows examples of different output formats, the suffix used, and Hugo's respective template [lookup order][]. All of the examples in the table can:
 +
 +* Use a [base template][base].
 +* Include [partial templates][partials]
 +
 +{{< datatable "output" "layouts" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}}
 +
 +Hugo will now also detect the media type and output format of partials, if possible, and use that information to decide if the partial should be parsed as a plain text template or not.
 +
 +Hugo will look for the name given, so you can name it whatever you want. But if you want it treated as plain text, you should use the file suffix and, if needed, the name of the Output Format. The pattern is as follows:
 +
 +```
 +[partial name].[OutputFormat].[suffix]
 +```
 +
 +The partial below is a plain text template (Outpuf Format is `CSV`, and since this is the only output format with the suffix `csv`, we don't need to include the Output Format's `Name`):
 +
 +```
 +{{ partial "mytextpartial.csv" . }}
 +```
 +
 +[base]: /templates/base/
 +[config]: /getting-started/configuration/
 +[lookup order]: /templates/lookup/
 +[media type]: https://en.wikipedia.org/wiki/Media_type
 +[partials]: /templates/partials/
 +[page_kinds]: /templates/section-templates/#page-kinds
index 67e54089fccc54828bff4b671c945f64982fd6eb,0000000000000000000000000000000000000000..ce58c686e15ad387a76e521f96d14b03ecbeef70
mode 100644,000000..100644
--- /dev/null
@@@ -1,354 -1,0 +1,368 @@@
 +---
 +title: Create Your Own Shortcodes
 +linktitle: Shortcode Templates
 +description: You can extend Hugo's built-in shortcodes by creating your own using the same templating syntax as that for single and list pages.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [templates]
 +keywords: [shortcodes,templates]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 100
 +weight: 100
 +sections_weight: 100
 +draft: false
 +aliases: []
 +toc: true
 +---
 +
 +Shortcodes are a means to consolidate templating into small, reusable snippets that you can embed directly inside of your content. In this sense, you can think of shortcodes as the intermediary between [page and list templates][templates] and [basic content files][].
 +
 +{{% note %}}
 +Hugo also ships with built-in shortcodes for common use cases. (See [Content Management: Shortcodes](/content-management/shortcodes/).)
 +{{% /note %}}
 +
 +## Create Custom Shortcodes
 +
 +Hugo's built-in shortcodes cover many common, but not all, use cases. Luckily, Hugo provides the ability to easily create custom shortcodes to meet your website's needs.
 +
 +{{< youtube Eu4zSaKOY4A >}}
 +
 +### File Placement
 +
 +To create a shortcode, place an HTML template in the `layouts/shortcodes` directory of your [source organization][]. Consider the file name carefully since the shortcode name will mirror that of the file but without the `.html` extension. For example, `layouts/shortcodes/myshortcode.html` will be called with either `{{</* myshortcode /*/>}}` or `{{%/* myshortcode /*/%}}` depending on the type of parameters you choose.
 +
++You can organize your shortcodes in subfolders, e.g. in `layouts/shortcodes/boxes`. These shortcodes would then be accessible with their relative path, e.g:
++
++```
++{{< boxes/square >}}
++```
++
++Note the forward slash.
++
 +### Shortcode Template Lookup Order
 +
 +Shortcode templates have a simple [lookup order][]:
 +
 +1. `/layouts/shortcodes/<SHORTCODE>.html`
 +2. `/themes/<THEME>/layouts/shortcodes/<SHORTCODE>.html`
 +
 +### Positional vs Named Parameters
 +
 +You can create shortcodes using the following types of parameters:
 +
 +* Positional parameters
 +* Named parameters
 +* Positional *or* named parameters (i.e, "flexible")
 +
 +In shortcodes with positional parameters, the order of the parameters is important. If a shortcode has a single required value (e.g., the `youtube` shortcode below), positional parameters work very well and require less typing from content authors.
 +
 +For more complex layouts with multiple or optional parameters, named parameters work best. While less terse, named parameters require less memorization from a content author and can be added in a shortcode declaration in any order.
 +
 +Allowing both types of parameters (i.e., a "flexible" shortcode) is useful for complex layouts where you want to set default values that can be easily overridden by users.
 +
 +### Access Parameters
 +
 +All shortcode parameters can be accessed via the `.Get` method. Whether you pass a key (i.e., string) or a number to the `.Get` method depends on whether you are accessing a named or positional parameter, respectively.
 +
 +To access a parameter by name, use the `.Get` method followed by the named parameter as a quoted string:
 +
 +```
 +{{ .Get "class" }}
 +```
 +
 +To access a parameter by position, use the `.Get` followed by a numeric position, keeping in mind that positional parameters are zero-indexed:
 +
 +```
 +{{ .Get 0 }}
 +```
 +
++For the second position, you would just use: 
++
++```
++{{ .Get 1 }}
++```
++
 +`with` is great when the output depends on a parameter being set:
 +
 +```
 +{{ with .Get "class"}} class="{{.}}"{{ end }}
 +```
 +
 +`.Get` can also be used to check if a parameter has been provided. This is
 +most helpful when the condition depends on either of the values, or both:
 +
 +```
 +{{ or .Get "title" | .Get "alt" | if }} alt="{{ with .Get "alt"}}{{.}}{{else}}{{.Get "title"}}{{end}}"{{ end }}
 +```
 +
 +#### `.Inner`
 +
 +If a closing shortcode is used, the `.Inner` variable will be populated with all of the content between the opening and closing shortcodes. If a closing shortcode is required, you can check the length of `.Inner` as an indicator of its existence.
 +
 +A shortcode with content declared via the `.Inner` variable can also be declared without the inline content and without the closing shortcode by using the self-closing syntax:
 +
 +```
 +{{</* innershortcode /*/>}}
 +```
 +
 +#### `.Params`
 +
 +The `.Params` variable in shortcodes contains the list parameters passed to shortcode for more complicated use cases. You can also access higher-scoped parameters with the following logic:
 +
 +`$.Params`
 +: these are the parameters passed directly into the shortcode declaration (e.g., a YouTube video ID)
 +
 +`$.Page.Params`
 +: refers to the page's params; the "page" in this case refers to the content file in which the shortcode is declared (e.g., a `shortcode_color` field in a content's front matter could be accessed via `$.Page.Params.shortcode_color`).
 +
 +`$.Page.Site.Params`
 +: refers to global variables as defined in your [site's configuration file][config].
 +
 +#### `.IsNamedParams`
 +
 +The `.IsNamedParams` variable checks whether the shortcode declaration uses named parameters and returns a boolean value.
 +
 +For example, you could create an `image` shortcode that can take either a `src` named parameter or the first positional parameter, depending on the preference of the content's author. Let's assume the `image` shortcode is called as follows:
 +
 +```
 +{{</* image src="images/my-image.jpg"*/>}}
 +```
 +
 +You could then include the following as part of your shortcode templating:
 +
 +```
 +{{ if .IsNamedParams }}
 +<img src="{{.Get "src" }}" alt="">
 +{{ else }}
 +<img src="{{.Get 0}}" alt="">
 +{{ end }}
 +```
 +
 +See the [example Vimeo shortcode][vimeoexample] below for `.IsNamedParams` in action.
 +
 +{{% warning %}}
 +While you can create shortcode templates that accept both positional and named parameters, you *cannot* declare shortcodes in content with a mix of parameter types. Therefore, a shortcode declared like `{{</* image src="images/my-image.jpg" "This is my alt text" */>}}` will return an error.
 +{{% /warning %}}
 +
 +You can also use the variable `.Page` to access all the normal [page variables][pagevars].
 +
 +A shortcodes can also be nested. In a nested shortcode, you can access the parent shortcode context with [`.Parent` variable][shortcodesvars]. This can be very useful for inheritance of common shortcode parameters from the root.
 +
 +### Checking for Existence
 +
 +You can check if a specific shortcode is used on a page by calling `.HasShortcode` in that page template, providing the name of the shortcode. This is sometimes useful when you want to include specific scripts or styles in the header that are only used by that shortcode.
 +
 +## Custom Shortcode Examples
 +
 +The following are examples of the different types of shortcodes you can create via shortcode template files in `/layouts/shortcodes`.
 +
 +### Single-word Example: `year`
 +
 +Let's assume you would like to keep mentions of your copyright year current in your content files without having to continually review your markdown. Your goal is to be able to call the shortcode as follows:
 +
 +```
 +{{</* year */>}}
 +```
 +
 +{{< code file="/layouts/shortcodes/year.html" >}}
 +{{ now.Format "2006" }}
 +{{< /code >}}
 +
 +### Single Positional Example: `youtube`
 +
 +Embedded videos are a common addition to markdown content that can quickly become unsightly. The following is the code used by [Hugo's built-in YouTube shortcode][youtubeshortcode]:
 +
 +```
 +{{</* youtube 09jf3ow9jfw */>}}
 +```
 +
 +Would load the template at `/layouts/shortcodes/youtube.html`:
 +
 +{{< code file="/layouts/shortcodes/youtube.html" >}}
 +<div class="embed video-player">
 +<iframe class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/{{ index .Params 0 }}" allowfullscreen frameborder="0">
 +</iframe>
 +</div>
 +{{< /code >}}
 +
 +{{< code file="youtube-embed.html" copy="false" >}}
 +<div class="embed video-player">
 +    <iframe class="youtube-player" type="text/html"
 +        width="640" height="385"
 +        src="http://www.youtube.com/embed/09jf3ow9jfw"
 +        allowfullscreen frameborder="0">
 +    </iframe>
 +</div>
 +{{< /code >}}
 +
 +### Single Named Example: `image`
 +
 +Let's say you want to create your own `img` shortcode rather than use Hugo's built-in [`figure` shortcode][figure]. Your goal is to be able to call the shortcode as follows in your content files:
 +
 +{{< code file="content-image.md" >}}
 +{{</* img src="/media/spf13.jpg" title="Steve Francia" */>}}
 +{{< /code >}}
 +
 +You have created the shortcode at `/layouts/shortcodes/img.html`, which loads the following shortcode template:
 +
 +{{< code file="/layouts/shortcodes/img.html" >}}
 +<!-- image -->
 +<figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
 +    {{ with .Get "link"}}<a href="{{.}}">{{ end }}
 +        <img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}"{{ end }} />
 +    {{ if .Get "link"}}</a>{{ end }}
 +    {{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
 +    <figcaption>{{ if isset .Params "title" }}
 +        <h4>{{ .Get "title" }}</h4>{{ end }}
 +        {{ if or (.Get "caption") (.Get "attr")}}<p>
 +        {{ .Get "caption" }}
 +        {{ with .Get "attrlink"}}<a href="{{.}}"> {{ end }}
 +            {{ .Get "attr" }}
 +        {{ if .Get "attrlink"}}</a> {{ end }}
 +        </p> {{ end }}
 +    </figcaption>
 +    {{ end }}
 +</figure>
 +<!-- image -->
 +{{< /code >}}
 +
 +Would be rendered as:
 +
 +{{< code file="img-output.html" copy="false" >}}
 +<figure>
 +    <img src="/media/spf13.jpg"  />
 +    <figcaption>
 +        <h4>Steve Francia</h4>
 +    </figcaption>
 +</figure>
 +{{< /code >}}
 +
 +### Single Flexible Example: `vimeo`
 +
 +```
 +{{</* vimeo 49718712 */>}}
 +{{</* vimeo id="49718712" class="flex-video" */>}}
 +```
 +
 +Would load the template found at `/layouts/shortcodes/vimeo.html`:
 +
 +{{< code file="/layouts/shortcodes/vimeo.html" >}}
 +{{ if .IsNamedParams }}
 +  <div class="{{ if .Get "class" }}{{ .Get "class" }}{{ else }}vimeo-container{{ end }}">
 +    <iframe src="//player.vimeo.com/video/{{ .Get "id" }}" allowfullscreen></iframe>
 +  </div>
 +{{ else }}
 +  <div class="{{ if len .Params | eq 2 }}{{ .Get 1 }}{{ else }}vimeo-container{{ end }}">
 +    <iframe src="//player.vimeo.com/video/{{ .Get 0 }}" allowfullscreen></iframe>
 +  </div>
 +{{ end }}
 +{{< /code >}}
 +
 +Would be rendered as:
 +
 +{{< code file="vimeo-iframes.html" copy="false" >}}
 +<div class="vimeo-container">
 +  <iframe src="//player.vimeo.com/video/49718712" allowfullscreen></iframe>
 +</div>
 +<div class="flex-video">
 +  <iframe src="//player.vimeo.com/video/49718712" allowfullscreen></iframe>
 +</div>
 +{{< /code >}}
 +
 +### Paired Example: `highlight`
 +
 +The following is taken from `highlight`, which is a [built-in shortcode][] that ships with Hugo.
 +
 +{{< code file="highlight-example.md" >}}
 +{{</* highlight html */>}}
 +  <html>
 +    <body> This HTML </body>
 +  </html>
 +{{</* /highlight */>}}
 +{{< /code >}}
 +
 +The template for the `highlight` shortcode uses the following code, which is already included in Hugo:
 +
 +```
 +{{ .Get 0 | highlight .Inner  }}
 +```
 +
 +The rendered output of the HTML example code block will be as follows:
 +
 +{{< code file="syntax-highlighted.html" copy="false" >}}
 +<div class="highlight" style="background: #272822"><pre style="line-height: 125%"><span style="color: #f92672">&lt;html&gt;</span>
 +    <span style="color: #f92672">&lt;body&gt;</span> This HTML <span style="color: #f92672">&lt;/body&gt;</span>
 +<span style="color: #f92672">&lt;/html&gt;</span>
 +</pre></div>
 +{{< /code >}}
 +
 +{{% note %}}
 +The preceding shortcode makes use of a Hugo-specific template function called `highlight`, which uses [Pygments](http://pygments.org) to add syntax highlighting to the example HTML code block. See the [developer tools page on syntax highlighting](/tools/syntax-highlighting/) for more information.
 +{{% /note %}}
 +
 +### Nested Shortcode: Image Gallery
 +
 +Hugo's [`.Parent` shortcode variable][parent] returns a boolean value depending on whether the shortcode in question is called within the context of a *parent* shortcode. This provides an inheritance model for common shortcode parameters.
 +
 +The following example is contrived but demonstrates the concept. Assume you have a `gallery` shortcode that expects one named `class` parameter:
 +
 +{{< code file="layouts/shortcodes/gallery.html" >}}
 +<div class="{{.Get "class"}}">
 +  {{.Inner}}
 +</div>
 +{{< /code >}}
 +
 +You also have an `img` shortcode with a single named `src` parameter that you want to call inside of `gallery` and other shortcodes, so that the parent defines the context of each `img`:
 +
 +{{< code file="layouts/shortcodes/img.html" >}}
 +{{- $src := .Get "src" -}}
 +{{- with .Parent -}}
 +  <img src="{{$src}}" class="{{.Get "class"}}-image">
 +{{- else -}}
 +  <img src="{{$src}}">
 +{{- end }}
 +{{< /code >}}
 +
 +You can then call your shortcode in your content as follows:
 +
 +```
 +{{</* gallery class="content-gallery" */>}}
 +  {{</* img src="/images/one.jpg" */>}}
 +  {{</* img src="/images/two.jpg" */>}}
 +{{</* /gallery */>}}
 +{{</* img src="/images/three.jpg" */>}}
 +```
 +
 +This will output the following HTML. Note how the first two `img` shortcodes inherit the `class` value of `content-gallery` set with the call to the parent `gallery`, whereas the third `img` only uses `src`:
 +
 +```
 +<div class="content-gallery">
 +    <img src="/images/one.jpg" class="content-gallery-image">
 +    <img src="/images/two.jpg" class="content-gallery-image">
 +</div>
 +<img src="/images/three.jpg">
 +```
 +
 +## More Shortcode Examples
 +
 +More shortcode examples can be found in the [shortcodes directory for spf13.com][spfscs] and the [shortcodes directory for the Hugo docs][docsshortcodes].
 +
 +[basic content files]: /content-management/formats/ "See how Hugo leverages markdown--and other supported formats--to create content for your website."
 +[built-in shortcode]: /content-management/shortcodes/
 +[config]: /getting-started/configuration/ "Learn more about Hugo's built-in configuration variables as well as how to us your site's configuration file to include global key-values that can be used throughout your rendered website."
 +[Content Management: Shortcodes]: /content-management/shortcodes/#using-hugo-s-built-in-shortcodes "Check this section if you are not familiar with the definition of what a shortcode is or if you are unfamiliar with how to use Hugo's built-in shortcodes in your content files."
 +[source organization]: /getting-started/directory-structure/#directory-structure-explained "Learn how Hugo scaffolds new sites and what it expects to find in each of your directories."
 +[docsshortcodes]: https://github.com/gohugoio/hugo/tree/master/docs/layouts/shortcodes "See the shortcode source directory for the documentation site you're currently reading."
 +[figure]: /content-management/shortcodes/#figure
 +[hugosc]: /content-management/shortcodes/#using-hugo-s-built-in-shortcodes
 +[lookup order]: /templates/lookup-order/ "See the order in which Hugo traverses your template files to decide where and how to render your content at build time"
 +[pagevars]: /variables/page/ "See which variables you can leverage in your templating for page vs list templates."
 +[parent]: /variables/shortcodes/
 +[shortcodesvars]: /variables/shortcodes/ "Certain variables are specific to shortcodes, although most .Page variables can be accessed within your shortcode template."
 +[spfscs]: https://github.com/spf13/spf13.com/tree/master/layouts/shortcodes "See more examples of shortcodes by visiting the shortcode directory of the source for spf13.com, the blog of Hugo's creator, Steve Francia."
 +[templates]: /templates/ "The templates section of the Hugo docs."
 +[vimeoexample]: #single-flexible-example-vimeo
 +[youtubeshortcode]: /content-management/shortcodes/#youtube "See how to use Hugo's built-in YouTube shortcode."
index f41751b4920c054089343f57d953865de9528fd5,0000000000000000000000000000000000000000..1cdc18e7c9089a7b9b5bd6d6c9fbedcc4e73c4ec
mode 100644,000000..100644
--- /dev/null
@@@ -1,34 -1,0 +1,35 @@@
 +---
 +title: Frontend Interfaces with Hugo
 +linktitle: Frontends
 +description: Do you prefer a graphical user interface over a text editor? Give these frontends a try.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [developer tools]
 +keywords: [frontend,gui]
 +menu:
 +  docs:
 +    parent: "tools"
 +    weight: 40
 +weight: 40
 +sections_weight: 40
 +draft: false
 +aliases: []
 +toc: false
 +---
 +
 +* [enwrite](https://github.com/zzamboni/enwrite). Enwrite enables evernote-powered, statically generated blogs and websites. Now posting to your blog or updating your website is as easy as writing a new note in Evernote!
 +* [caddy-hugo](https://github.com/hacdias/caddy-hugo). `caddy-hugo` is an add-on for [Caddy](https://caddyserver.com/) that delivers a good UI to edit the content of your Hugo website.
 +* [Lipi](https://github.com/SohanChy/Lipi). Lipi is a native GUI frontend written in Java to manage your Hugo websites.
 +* [Netlify CMS](https://netlifycms.org). Netlify CMS is an open source, serverless solution for managing Git based content in static sites, and it works on any platform that can host static sites. A [Hugo/Netlify CMS starter](https://github.com/netlify-templates/one-click-hugo-cms) is available to get new projects running quickly.
++* [Hokus CMS](https://www.hokus.io). Hokus CMS is an open source, multiplatform, easy to use, desktop application for Hugo. Build from simple to complex user interfaces for Hugo websites by choosing from a dozen ready-to-use components — all for free, with no vendor lock-in.
 +
 +
 +## Commercial Services
 +
 +* [Appernetic.io](https://appernetic.io) is a Hugo Static Site Generator as a Service that is easy to use for non-technical users.
 +    * **Features:** inline PageDown editor, visual tree view, image upload and digital asset management with Cloudinary, site preview, continuous integration with GitHub, atomic deploy and hosting, Git and Hugo integration, autosave, custom domain, project syncing, theme cloning and management. Developers have complete control over the source code and can manage it with GitHub’s deceptively simple workflow.
 +* [DATOCMS](https://www.datocms.com) DatoCMS is a fully customizable administrative area for your static websites. Use your favorite website generator, let your clients publish new content independently, and the host the site anywhere you like.
 +* [Forestry.io](https://forestry.io/). Forestry is a simple CMS for Jekyll and Hugo websites with support for GitHub, GitLab, and Bitbucket. Every time an update is made via the CMS, Forestry will commit changes back to your repo and will compile/deploy your website to S3, GitHub Pages, FTP, etc.
 +* [Netlify.com](https://www.netlify.com). Netlify builds, deploys, and hosts your static website or app (Hugo, Jekyll, etc). Netlify offers a drag-and-drop interface and automatic deployments from GitHub or Bitbucket.
 +    * **Features:** global CDN, atomic deploys, ultra-fast DNS, instant cache invalidation, high availability, automated hosting, Git integration, form submission hooks, authentication providers, and custom domains. Developers have complete control over the source code and can manage it with GitHub or Bitbucket's deceptively simple workflow.
index 2145c187c8ad5476932c5461c3b90c6f8d0fe7a5,0000000000000000000000000000000000000000..93f330a2806bc1a725e5f499af799e3dfb4820e8
mode 100644,000000..100644
--- /dev/null
@@@ -1,31 -1,0 +1,32 @@@
- * [hugo-search-index](https://www.npmjs.com/package/hugo-search-index). A library containing Gulp tasks and a prebuilt browser script that implements search. Gulp generates a search index from project markdown files. 
 +---
 +title: Search for your Hugo Website
 +linktitle: Search
 +description: See some of the open-source and commercial search options for your newly created Hugo website.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-26
 +categories: [developer tools]
 +keywords: [search,tools]
 +menu:
 +  docs:
 +    parent: "tools"
 +    weight: 60
 +weight: 60
 +sections_weight: 60
 +draft: false
 +aliases: []
 +toc: true
 +---
 +
 +A static website with a dynamic search function? Yes. As alternatives to embeddable scripts from Google or other search engines, you can provide your visitors a custom search by indexing your content files directly.
 +
 +* [GitHub Gist for Hugo Workflow](https://gist.github.com/sebz/efddfc8fdcb6b480f567). This gist contains a simple workflow to create a search index for your static website. It uses a simple Grunt script to index all your content files and [lunr.js](http://lunrjs.com/) to serve the search results.
++* [hugo-elasticsearch](https://www.npmjs.com/package/hugo-elasticsearch). Generate [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html) indexes for Hugo static sites by parsing front matter. Hugo-Elasticsearch will generate a newline delimited JSON (NDJSON) file that can be bulk uploaded into Elasticsearch using any one of the available [clients](https://www.elastic.co/guide/en/elasticsearch/client/index.html).
 +* [hugo-lunr](https://www.npmjs.com/package/hugo-lunr). A simple way to add site search to your static Hugo site using [lunr.js](http://lunrjs.com/). Hugo-lunr will create an index file of any html and markdown documents in your Hugo project.
 +* [hugo-lunr-zh](https://www.npmjs.com/package/hugo-lunr-zh). A bit like Hugo-lunr, but Hugo-lunr-zh can help you separate the Chinese keywords.
 +* [Github Gist for Fuse.js integration](https://gist.github.com/eddiewebb/735feb48f50f0ddd65ae5606a1cb41ae). This gist demonstrates how to leverage Hugo's existing build time processing to generate a searchable JSON index used by [Fuse.js](http://fusejs.io/) on the client side. Although this gist uses Fuse.js for fuzzy matching, any client side search tool capable of reading JSON indexes will work. Does not require npm, grunt or other build-time tools except Hugo!
++* [hugo-search-index](https://www.npmjs.com/package/hugo-search-index). A library containing Gulp tasks and a prebuilt browser script that implements search. Gulp generates a search index from project markdown files.
 +
 +## Commercial Search Services
 +
 +* [Algolia](https://www.algolia.com/)'s Search API makes it easy to deliver a great search experience in your apps and websites. Algolia Search provides hosted full-text, numerical, faceted, and geolocalized search.
index 392d7a8df11633c45a6c1234f240ec1c0730b50d,0000000000000000000000000000000000000000..4cf248eacb9c11b4e3b759426ffe16766e8073eb
mode 100644,000000..100644
--- /dev/null
@@@ -1,40 -1,0 +1,44 @@@
 +---
 +title: Frequently Asked Questions
 +linktitle: FAQ
 +description: Solutions to some common Hugo problems.
 +date: 2018-02-10
 +categories: [troubleshooting]
 +menu:
 +  docs:
 +    parent: "troubleshooting"
 +keywords: [faqs]
 +weight: 2
 +toc: true
 +aliases: [/faq/]
 +---
 +
 +{{% note %}}
 +**Note:** The answers/solutions presented below are short, and may not be note be enough to solve your problem. Visit [Hugo Discourse](https://discourse.gohugo.io/) and use the search. It that does not help, start a new topic and ask your questions.
 +{{% /note %}}
 +
++## I can't see my content!
++
++Is your markdown file [in draft mode](https://gohugo.io/content-management/front-matter/#front-matter-variables)? When testing, run `hugo server` with the `-D` or `--buildDrafts` [switch](https://gohugo.io/getting-started/usage/#draft-future-and-expired-content). 
++
 +## Can I set configuration variables via OS environment?
 +
 +Yes you can! See [Configure with Environment Variables](/getting-started/configuration/#configure-with-environment-variables).
 +
 +## How do I schedule posts?
 +
 +1. Set `publishDate` in the page [Front Matter](/content-management/front-matter/) to a date in the future.
 +2. Build and publish at intervals.
 +
 +How to automate the "publish at intervals" part depends on your situation:
 +
 +* If you deploy from your own PC/server, you can automate with [Cron](https://en.wikipedia.org/wiki/Cron) or similar.
 +* If your site is hosted on a service similar to [Netlify](https://www.netlify.com/) you can use a service such as [ifttt](https://ifttt.com/date_and_time) to schedule the updates.
 +
 +Also see this Twitter thread:
 +
 +{{< tweet 962380712027590657 >}}
 +
 +## Can I use the latest Hugo version on Netlify?
 +
 +Yes you can! Read [this](/hosting-and-deployment/hosting-on-netlify/#configure-hugo-version-in-netlify).
index 86d67ce08603565250f3ea95d159c796eb56b6ca,0000000000000000000000000000000000000000..42d2eb0c57802690a97efe7be3c0ac60b185528e
mode 100644,000000..100644
--- /dev/null
@@@ -1,31 -1,0 +1,31 @@@
- HUGO_VERSION = "0.48"
 +[build]
 +publish = "public"
 +command = "hugo"
 +
 +[context.production.environment]
- HUGO_VERSION = "0.48"
++HUGO_VERSION = "0.49.2"
 +HUGO_ENV = "production"
 +HUGO_ENABLEGITINFO = "true"
 +
 +[context.split1]
 +command = "hugo --enableGitInfo"
 +
 +[context.split1.environment]
- HUGO_VERSION = "0.48"
++HUGO_VERSION = "0.49.2"
 +HUGO_ENV = "production"
 +
 +[context.deploy-preview]
 +command = "hugo --buildFuture -b $DEPLOY_PRIME_URL"
 +
 +[context.deploy-preview.environment]
- HUGO_VERSION = "0.48"
++HUGO_VERSION = "0.49.2"
 +
 +[context.branch-deploy]
 +command = "hugo -b $DEPLOY_PRIME_URL"
 +
 +[context.branch-deploy.environment]
++HUGO_VERSION = "0.49.2"
 +
 +[context.next.environment]
 +HUGO_ENABLEGITINFO = "true"
 +
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2d9179ad9c7275cffa2e7f66512f41e6091e5ff1
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e4f918db74901230d0c0e516d9e5354b537d3d28
new file mode 100644 (file)
Binary files differ