Merge commit '81689af79901f0cdaff765cda6322dd4a9a7ccb3'
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 21 Mar 2021 12:31:17 +0000 (13:31 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 21 Mar 2021 12:31:17 +0000 (13:31 +0100)
22 files changed:
1  2 
docs/_vendor/github.com/gohugoio/gohugoioTheme/data/sponsors.toml
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/baseof.html
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/single.html
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/gtag.html
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/home-page-sections/installation.html
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/home-page-sections/sponsors.html
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/showcase/list.html
docs/_vendor/github.com/gohugoio/gohugoioTheme/package.json
docs/_vendor/github.com/gohugoio/gohugoioTheme/static/images/sponsors/brave-logo.svg
docs/_vendor/modules.txt
docs/content/en/content-management/image-processing/index.md
docs/content/en/content-management/multilingual.md
docs/content/en/content-management/taxonomies.md
docs/content/en/functions/intersect.md
docs/content/en/functions/sort.md
docs/content/en/getting-started/configuration.md
docs/content/en/getting-started/quick-start.md
docs/content/en/hosting-and-deployment/hosting-on-github.md
docs/content/en/templates/404.md
docs/content/en/variables/menus.md
docs/go.mod
docs/go.sum

index 9261ffc78b362d631d1095841b383bc4a91742f5,0000000000000000000000000000000000000000..0940da6d735c21c9f282a6b5cabea8757e33e789
mode 100644,000000..100644
--- /dev/null
@@@ -1,17 -1,0 +1,19 @@@
- [[banners]]
- name = "Forestry.io"
- link = "https://forestry.io/"
- logo = "/images/sponsors/forestry-logotype.svg"
- copy = ""
 +[[banners]]
 +name = "Linode"
 +link = "https://www.linode.com/"
 +logo = "/images/sponsors/linode-logo_standard_light_medium.png"
 +copy = ""
 +
 +[[banners]]
 +name = "eSolia"
 +link = "https://esolia.com/post/why-did-esolia-choose-hugo/"
 +logo = "/images/sponsors/esolia-logo.svg"
++copy = ""
++
++
++[[banners]]
++name = "Brave"
++link = "https://brave.com/"
++logo = "/images/sponsors/brave-logo.svg"
++bgcolor = "#5A2FA1"
 +copy = ""
index a83d3f662ae39e6ff50e35ddf021370f7547d81d,0000000000000000000000000000000000000000..0de21a255e09cae5139674f3a6aeb6da61b232de
mode 100644,000000..100644
--- /dev/null
@@@ -1,72 -1,0 +1,71 @@@
 +<!DOCTYPE html>
 +<html class="no-js" lang="{{ with $.Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
 +
 +<head>
 +  <meta charset="utf-8">
 +  {{/* https://www.zachleat.com/web/preload/ */}}
 +  <link rel="preload" href="{{ "fonts/muli-latin-200.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
 +  <link rel="preload" href="{{ "fonts/muli-latin-400.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
 +  <link rel="preload" href="{{ "fonts/muli-latin-800.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
 +
 +  <meta http-equiv="X-UA-Compatible" content="IE=edge">
 +  {{/* NOTE: the Site's title, and if there is a page title, that is set too */}}
 +  <title>{{ block "title" . }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}</title>
 +
 +  <meta name="viewport" content="width=device-width,minimum-scale=1">
 +  {{ hugo.Generator }}
 +
 +  {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}
 +  <meta name="robots" content="index, follow">
 +  {{ else }}
 +  <meta name="robots" content="noindex, nofollow">
 +  {{ end }}
 +
 +  {{ range .AlternativeOutputFormats -}}
 +  <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
 +  {{ end -}}
 +
 +  {{ $isDev := eq hugo.Environment "development" }}
 +  {{ $stylesheet := resources.Get "output/css/app.css"  }}
 +  {{ if not $isDev }}
 +  {{ $stylesheet = $stylesheet | minify | fingerprint }}
 +  {{ end }}
 +  {{ with $stylesheet }}
 +  {{ if $isDev }}
 +  <link rel="stylesheet" href="{{ .RelPermalink }}" crossorigin="anonymous">
 +  {{ else }}
 +  <link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
 +  {{ end }}
 +  {{ $.Scratch.Set "stylesheet" . }}
 +  {{end}}
 +
++  <meta name="description"
++  content="{{ with .Description }}{{ . }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}">
 +
 +  {{ block "scripts" . }}
 +  {{- partial "site-scripts.html" . -}}
 +  {{ end }}
 +  {{ partial "site-manifest.html" . }}
 +  {{- partial "head-additions.html" . -}}
 +  {{- template "_internal/opengraph.html" . -}}
 +  {{- template "_internal/schema.html" . -}}
 +  {{- template "_internal/twitter_cards.html" . -}}
 +
 +  {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}
 +  {{ partial "gtag" . }}
 +  {{ end }}
 +
- </html>
 +</head>
 +
 +<body class="ma0 sans-serif bg-primary-color-light{{ with getenv "HUGO_ENV" }} {{ . }}{{ end }}">
 +  {{ block "nav" . }}{{ partial "site-nav.html" . }}{{ end }}
 +  {{ block "header" . }}{{ end }}
 +  <main role="main" class="content-with-sidebar min-vh-100 pb7 pb0-ns">
 +    {{ block "main" . }}{{ end }}
 +  </main>
 +
 +  {{ block "footer" . }}{{ partialCached "site-footer.html" . }}{{ end }}
 +
 +</body>
 +
++</html>
index 48c015c51ee84ea395eda1dc95f172f60d5b6518,0000000000000000000000000000000000000000..8cd2896249db03e909844ec5a500f38211e25435
mode 100644,000000..100644
--- /dev/null
@@@ -1,31 -1,0 +1,31 @@@
- <article class="w-100 ph4 pb5 pb6-ns pt1 pt5-ns">
-   <div class="flex-l">
 +{{ define "main" }}
-     <div class="order-2 w-100 w-20-l ph5-m ph0-l mb4 sticky">
++  <article class="w-100 ph4 pb5 pb6-ns pt1 pt5-ns">
++    <div class="flex-l">
 +
-     </div>
++      <div class="order-2 w-100 w-20-l ph5-m ph0-l mb4 sticky">
 +      {{- partial "toc.html" . -}}
-     <div class="order-1 w-60-l mw7 ph0 ph5-ns mid-gray nested-copy-line-height no-underline nested-links nested-img nested-copy-seperator nested-blockquote mt0-ns" style="flex-grow:1;">
-       <div class="documentation-copy center measure-wide-l">
-         <div id="readout" class="fixed right-0 bottom-0">
++      </div>
 +
-         {{ .Render "page" }}
-         {{ partial "related.html" . }}
++      <div class="order-1 w-60-l mw7 ph0 ph5-ns mid-gray nested-copy-line-height no-underline nested-links nested-img nested-copy-seperator nested-blockquote mt0-ns" style="flex-grow:1;">
++        <div class="documentation-copy center measure-wide-l">
++          <div id="readout" class="fixed right-0 bottom-0">
++          </div>
++          {{ .Render "page" }}
++          {{ partial "related.html" . }}
 +        </div>
-     </div>
-     <div class="order-0 w-20 dn db-l">
-       {{ partial "nav-links-docs.html" . }}
-     </div>
 +      </div>
-   </div>
- </article>
++      <div class="order-0 w-20 dn db-l">
++        {{ partial "nav-links-docs.html" . }}
++      </div>
 +
- <div class="w-100 bg-light-gray">
-   <div class="mw7 pa4 center nested-lh-copy lh-copy">
-     {{ partial "docs/page-meta-data.html" . }}
-     {{ partial "page-edit.html" . }}
-     {{ partial "tags.html" . }}
++    </div>
++  </article>
 +
- </div>
- {{ end }}
++  <div class="w-100 bg-light-gray">
++    <div class="mw7 pa4 center nested-lh-copy lh-copy">
++      {{ partial "docs/page-meta-data.html" . }}
++      {{ partial "page-edit.html" . }}
++      {{ partial "tags.html" . }}
++    </div>
 +  </div>
++{{ end }}
index 2cedc384a438a878ef6ab0b8a79b0df2d952877e,0000000000000000000000000000000000000000..fe9f4d2aa20b41dac2449cedea6c1df3434a5188
mode 100644,000000..100644
--- /dev/null
@@@ -1,25 -1,0 +1,25 @@@
-   gtag('config', '{{ . }}', {'dimension1': '{{ $site }}', 'dimension2': '{{ getenv "BRANCH" }}'});
 +{{ with .Site.GoogleAnalytics }}
 +<script async src="https://www.googletagmanager.com/gtag/js?id={{ . }}"></script>
 +<script>
 +  window.dataLayer = window.dataLayer || [];
 +  function gtag(){dataLayer.push(arguments);}
 +  gtag('js', new Date());
 +
 +  {{ $site := $.Site.BaseURL | replaceRE "^https?://(www\\.)?([^/]+).*" "$2" }}
++  gtag('config', '{{ . }}', {'anonymize_ip': true, 'dimension1': '{{ $site }}', 'dimension2': '{{ getenv "BRANCH" }}'});
 +
 +/**
 +* Function that tracks a click on an outbound link in Analytics.
 +* Setting the transport method to 'beacon' lets the hit be sent
 +* using 'navigator.sendBeacon' in browser that support it.
 +*/
 +var trackOutboundLink = function(id, url) {
 +  gtag('event', 'click', {
 +    'event_category': 'outbound',
 +    'event_label': id,
 +    'transport_type': 'beacon'
 +  });
 +}
 +
 +</script>
 +{{ end }}
index 4bea1a54a4dd52c66e81f6c0f8b7d2722c1e947c,0000000000000000000000000000000000000000..a23cae11d9c4c5ee1db5ae21a401c2cb9b60a0c8
mode 100644,000000..100644
--- /dev/null
@@@ -1,39 -1,0 +1,38 @@@
-       <p class="f6 mid-gray m0 p0 pt3">Mac OS</p>
 +  <div class="flex-ns flex-wrap center mw9">
 +    <!-- LEFT -->
 +
 +    <div class="w-100 w-50-ns">
 +      <div class="w-80 center tc nested-copy-line-height">
 +        <h3 class="f2 black">Install in seconds, build in milliseconds.</h3>
 +        <p class="f3">Hugo works on macOS, Windows, Linux, FreeBSD, and others.</p>
 +        <p class="f3">Host on any server or your favorite CDN.</p>
 +      </div>
 +    </div>
 +
 +    <!-- RIGHT -->
 +    <div class="w-100 w-50-ns tc">
 +      <div class="h4">
 +        <img src="/images/gopher-hero.svg" alt="Hugo Gopher" class="h4">
 +      </div>
++      <p class="f6 mid-gray m0 p0 pt3">macOS</p>
 +      <div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center mb2 tl">
 +        $ brew install hugo <br />
 +      </div>
 +      <p class="f6 mid-gray">Windows</p>
 +      <div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center tl">
 +        $ choco install hugo -confirm <br />
 +      </div>
 +      <p class="f6 mid-gray">Linux</p>
 +      <div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center tl">
 +        $  snap install hugo <br />
 +      </div>
 +     
 +
 +      <p class="f5 nested-links"><a href="{{ "getting-started/installing/" | absURL }}" class="link">See the Getting Started Guide for other methods. {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}</a></p>
 +    </div>
 +
 +    <!-- TODO: the install section should have a tab menu for selecting the preferred installation method, i.e. the binaries from GitHub or the commands for the installation via a package manager https://github.com/rdwatters/hugo-docs-concept/issues/3#issuecomment-287498412 -->
 +
 +      <!-- TODO: Animate the gopher  https://github.com/rdwatters/hugo-docs-concept/issues/3#issuecomment-287194777 -->
 +
 +  </div>
index f9f5ec5880d7b8888f2d6a9d0275ed462f5da27a,0000000000000000000000000000000000000000..a808655a676a3ba6ad15dd6baff8dda69016c7d3
mode 100644,000000..100644
--- /dev/null
@@@ -1,38 -1,0 +1,38 @@@
- {{$classes_box := "ba b--light-gray bg-light-gray br3 flex flex-column flex-wrap items-center justify-center ph3 pv4 mb4 w-100 w-30-l "}}
++{{$classes_box := "ba b--dark-gray bg-light-gray br3 flex flex-column flex-wrap items-center justify-center ph3 pv4 mb4 w-100 w-30-l "}}
 +{{$gtag := .gtag | default "unknown" }}
 +{{ with .cx.Site.Data.sponsors }}
 +  <section class="{{ $.classes_section | default "bg-primary-color-dark b--dark-gray bb bt ph5 pv4 w-100"}}">
 +    <div class="center mw9"> 
 +      <h3 class="b f3 mv0 light-gray">Hugo Sponsors</h3>
 +      <div class="flex-ns flex-wrap center justify-between pt3">
 +        {{ range .banners }}
 +          {{ $banner := . }}
 +          {{if .logo}}
-             <div class="{{$classes_box}} o-100">
++            <div class="{{$classes_box}} o-100"{{ with .bgcolor }} style="background-color: {{ . }};"{{ end}}>
 +              {{with .link -}}
 +                {{ $url := printf "%s?%s" . (querify "utm_source" "homepage" "utm_medium" "banner" "utm_campaign" "hugosponsor") | safeURL }}
 +                {{ if eq (getenv "HUGO_ENV") "production" | or (eq $.cx.Site.Params.env "production")  }}
 +                   {{ $gtagID := printf "Sponsor %s %s" $banner.name $gtag | title }}
 +                   <a href="{{ $url }}" onclick="trackOutboundLink({{ printf "'%s', '%s'" $gtagID $url | safeJS }});" class="grow">
 +                {{ else }}
 +                   <a href="{{ $url }}" class="grow">
 +                {{ end }}
 +              {{- end}}
 +              <img src="{{ .logo }}" alt="Logo for {{ .name }}" class="img h3 center" />
 +              {{with .link}}</a>{{end}}
 +              {{with .copy}}
 +                <p class="center lh-copy gray mv1 tc {{$.classes_copy | default "f5 w-70-ns"}}">
 +                  {{- . -}}
 +                </p>
 +              {{end}}
 +            </div>
 +          {{else}}
 +            <div class="{{$classes_box}} o-10">
 +              <p class="b black tc">Your Logo Here</p>
 +            </div>
 +          {{end}}
 +        {{end}}
 +      </div>
 +    </div>
 +  </section>
 +{{end}}
index b0083fc0f8520c0d6c00c6edac491b4d30b073c6,0000000000000000000000000000000000000000..bff52ad8d23b9b02e08a379085b84521f1784eed
mode 100644,000000..100644
--- /dev/null
@@@ -1,46 -1,0 +1,46 @@@
-   <div class="dib f3 mt4">The Showcase articles are copyright the content authors. Any open source license will be attached.</div>
 +{{ define "main" }}
 +<div class="w-100 ph4 ph5-ns pb5 pb6-ns pt1 pt3-ns ">
 +  <article class="cf pa3 pa4-m pa4-l nested-copy-line-height nested-img">
 +    <h1 class="primary-color-dark">
 +      {{ .Title }}
 +    </h1>
 +    <div class="nested-copy-line-height">
 +      {{ .Content }}
 +    </div>
 +  </article>
 +    <section class="flex-ns flex-wrap justify-between w-100 v-top">
 +      {{ range (.Paginate (.Pages | shuffle ) 20).Pages  }}
 +        {{template "showcase_items" .}}
 +      {{ end }}
 +    </section>
 +  <div class="nested-list-reset nested-links">
 +    {{/* pagination.html: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/template_embedded.go#L117 */}}
 +    {{ template "_internal/pagination.html" . }}
 +  </div>
++  <div class="dib f3 mt4">The Showcase articles are copyrighted by their respective content authors. Any open source license will be attached.</div>
 +</div>
 +{{ end }}
 +
 +
 +{{define "showcase_items"}}
 +  <a href="{{.Permalink}}" class="b--moon-gray ba bg-animate bg-white db flex-auto-ns hover-bg-near-white mb3 mr3 w-100 w-30-l" style="max-width: 1024px;">
 +    <div class="flex flex-column black h-100 mb2 pa3 pa4-l">
 +      {{ $img := (.Resources.ByType "image").GetMatch "*featured*" }}
 +      {{ with $img }}
 +      {{ $big := .Fill "1024x512 top" }}
 +      {{ $small := $big.Resize "512x" }}
 +      <img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIHZpZXdCb3g9IjAgMCAxNjAwIDkwMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48dGl0bGU+UmVjdGFuZ2xlPC90aXRsZT48ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz48ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiLz48L2c+PC9zdmc+" 
 +          data-sizes="auto" 
 +          data-srcset="{{ $small.RelPermalink }} 1x,
 +          {{ $big.RelPermalink }} 2x" data-bg="{{ $small.RelPermalink }}" class="grow img lazyload" style="display: block;  width: 100%; height: auto;" />
 +      {{end}}
 +      <div style="margin-top:auto;">{{/* the margin aligns to the bottom */}}
 +        <h2 class="dib f3 mt4">
 +          {{- .Title -}}
 +        </h2>
 +      </div>
 +    </div>
 +  </a>
 +
 +
 +{{end}}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..daffbc0f00b3584b6eb9ed122515f692848e7ac1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,43 @@@
++{
++  "name": "gohugo-default-styles",
++  "version": "1.1.0",
++  "description": "Default Theme for Hugo Sites",
++  "main": "index.js",
++  "homepage": "https://gohugo.io/",
++  "bugs": {
++    "url": "https://github.com/gohugoio/gohugoioTheme/issues"
++  },
++  "repository": {
++    "type": "git",
++    "url": "git+https://github.com/gohugoio/gohugoioTheme.git"
++  },
++  "author": "budparr",
++  "license": "MIT",
++  "scripts": {
++    "build": "NODE_ENV=production webpack",
++    "build-dev": "NODE_ENV=development webpack --progress --watch",
++    "start": "npm run build-dev"
++  },
++  "devDependencies": {
++    "clean-webpack-plugin": "^1.0.0",
++    "clipboard": "^2.0.4",
++    "css-loader": "^4.3.0",
++    "docsearch.js": "^2.6.1",
++    "file-loader": "^2.0.0",
++    "glob-all": "^3.1.0",
++    "highlight.js": "^9.13.1",
++    "lazysizes": "^5.2.1",
++    "mini-css-extract-plugin": "^0.4.4",
++    "postcss": "^7.0.32",
++    "postcss-cssnext": "^3.1.0",
++    "postcss-import": "^12.0.1",
++    "postcss-loader": "^3.0.0",
++    "purgecss-webpack-plugin": "^1.3.1",
++    "scrolldir": "^1.4.0",
++    "tachyons": "^4.7.0",
++    "typeface-muli": "0.0.54",
++    "webpack": "^4.44.1",
++    "webpack-command": "^0.4.2"
++  },
++  "dependencies": {}
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..27cdd974d6e94dc14f61f2b54fee5590cef82777
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 461.99 142.7"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:url(#linear-gradient);}.cls-3{fill:#77777a;}</style><linearGradient id="linear-gradient" x1="168.37" y1="199.9" x2="289.96" y2="199.9" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f1562b"/><stop offset="0.3" stop-color="#f1542b"/><stop offset="0.41" stop-color="#f04d2a"/><stop offset="0.49" stop-color="#ef4229"/><stop offset="0.5" stop-color="#ef4029"/><stop offset="0.56" stop-color="#e83e28"/><stop offset="0.67" stop-color="#e13c26"/><stop offset="1" stop-color="#df3c26"/></linearGradient></defs><title>brave_logo_2color_reversed</title><path class="cls-1" d="M320.92,205.1V157h4.6a6.78,6.78,0,0,1,6.78,6.78v21.39c7.37-6.58,13.65-9.21,22-9.38,16-.33,30,11.58,31.28,27.56,1.58,19.1-12.31,33.47-30.4,33.47C335.33,236.82,320.92,224.5,320.92,205.1Zm11.2,3.78c1.12,9.94,10.62,18.15,20.63,18.31,13,.2,21.93-8.3,21.93-20.89S366,185.4,353.31,185.4C339.76,185.4,330.58,195.25,332.12,208.88Z" transform="translate(-168.37 -128.55)"/><path class="cls-1" d="M404.6,177v8.57c7.16-8,11.42-10.09,19.8-10.09a46.18,46.18,0,0,1,7.29.59v11.38a29.47,29.47,0,0,0-7.9-1.06c-6.07,0-11.17,2-14.94,5.75-3.28,3.29-4.25,5.87-4.25,11v31.69H392.82V177Z" transform="translate(-168.37 -128.55)"/><path class="cls-1" d="M434.48,196.12c.61-5.63,1.7-8.68,4.13-11.62,4.86-6,13.61-9,26-9,9.84,0,17,1.53,22,4.81,4.13,2.7,5.83,6.69,5.83,13.73v25.7c0,5.63,1.46,7.63,5.47,7.51a25,25,0,0,0,2.67-.24v7.75a17.53,17.53,0,0,1-6.2.94c-7.41,0-10.81-2.23-13.11-8.68-7.29,6.69-14.82,9.51-25.63,9.51-14.45,0-23.32-6.57-23.32-17.25a15.19,15.19,0,0,1,9.11-14.08c4.37-1.88,7-2.46,19.56-3.76,10.69-1.06,12.51-1.29,15.55-2.23,3.28-1.06,4.74-2.81,4.74-5.75,0-6.22-5.22-9-16.16-9-10.34,0-15.66,2-17.8,7.28a7,7,0,0,1-6.51,4.46ZM481.25,206a115.67,115.67,0,0,1-23,4.23c-10.57,1.06-13.85,3-13.85,8.33,0,5.87,4.86,8.92,14.45,8.92,7.9,0,13.85-2,18.1-5.87,3.4-3.17,4.25-5.4,4.25-10.92Z" transform="translate(-168.37 -128.55)"/><path class="cls-1" d="M529.08,234.84h-3a7,7,0,0,1-6.3-3.91L494.26,177h7.08a10.41,10.41,0,0,1,9.57,6.13l17,38.82L545.46,183a10.41,10.41,0,0,1,9.53-6h6.43l-26.07,54A7,7,0,0,1,529.08,234.84Z" transform="translate(-168.37 -128.55)"/><path class="cls-1" d="M569.41,209.26c1.21,11.15,10,18.07,23,18.07,7.38,0,12.88-2.19,16.35-6.58a10.53,10.53,0,0,1,8.25-4h6.85c-6,13.15-16.64,19.6-32.55,19.6-19.92,0-33.28-12.09-33.28-30.16s13.73-30.75,33.53-30.75c14.33,0,25.87,6.45,30.49,17.25,2.06,4.93,2.92,9.39,2.92,16.54Zm43.48-8.92c-2.67-10.21-10.57-16-21.5-16s-18.83,5.75-21.62,16Z" transform="translate(-168.37 -128.55)"/><path class="cls-2" d="M290,174.71l-4.4-11.95,3.06-6.86a2.35,2.35,0,0,0-.48-2.61l-8.32-8.41a13.43,13.43,0,0,0-14-3.25l-2.33.81-12.71-13.77-21.56-.12h-.14l-21.7.17-12.7,13.88-2.26-.8a13.47,13.47,0,0,0-14.09,3.28l-8.47,8.57a1.87,1.87,0,0,0-.38,2.08l3.19,7.12-4.38,11.94,2.83,10.77,12.91,49.08a25,25,0,0,0,9.67,14s15.67,11.05,31.13,21.09a6.9,6.9,0,0,0,8.61,0c17.37-11.38,31.11-21.13,31.11-21.13a25,25,0,0,0,9.66-14l12.84-49.1Z" transform="translate(-168.37 -128.55)"/><path class="cls-1" d="M232.72,217a18.42,18.42,0,0,0-2.54-.92h-1.53a18.42,18.42,0,0,0-2.54.92l-3.85,1.6c-1.22.51-3.18,1.42-4.35,2l-7.08,3.69a1.35,1.35,0,0,0-.17,2.5l6.15,4.34c1.08.76,2.78,2.1,3.78,3l1.73,1.49c1,.86,2.63,2.29,3.62,3.17l1.64,1.45a2.82,2.82,0,0,0,3.61,0l1.72-1.5,3.62-3.16,1.74-1.52c1-.87,2.69-2.21,3.77-3l6.15-4.4a1.34,1.34,0,0,0-.19-2.49l-7.07-3.59c-1.18-.6-3.14-1.5-4.37-2Z" transform="translate(-168.37 -128.55)"/><path class="cls-1" d="M276.32,177.38l.2-.64a16.84,16.84,0,0,0-.16-2.56,21.57,21.57,0,0,0-2.28-4.3l-4-5.87c-.74-1.1-2-2.84-2.85-3.87l-5.36-6.71a18.74,18.74,0,0,0-1.59-1.86h-.11s-1.08.19-2.38.44l-8.19,1.58-3.59.69a9.33,9.33,0,0,1-3.51-.51l-6.47-2.09c-1.26-.41-3.34-1-4.63-1.28a19.35,19.35,0,0,0-4.09,0c-1.29.3-3.37.88-4.63,1.29l-6.47,2.1a9.33,9.33,0,0,1-3.51.51l-3.59-.68-8.2-1.57c-1.3-.25-2.37-.45-2.38-.44h-.11a18.74,18.74,0,0,0-1.59,1.86l-5.35,6.71c-.82,1-2.11,2.78-2.85,3.87l-4,5.87a31.45,31.45,0,0,0-1.89,3.15,14.32,14.32,0,0,0-.54,3.72l.2.64a9.49,9.49,0,0,0,.37,1.21c.83,1,2.25,2.66,3.16,3.63l14,14.88a4,4,0,0,1,.71,4l-2.29,5.43a7.05,7.05,0,0,0-.11,4.47l.46,1.26a12.15,12.15,0,0,0,3.73,5.23l2.2,1.79a4.16,4.16,0,0,0,4,.48l7.82-3.73a19.88,19.88,0,0,0,4-2.65l6.26-5.65a2.51,2.51,0,0,0,.13-3.6l-14.13-9.52a2.74,2.74,0,0,1-.86-3.47l5.48-10.3a5.35,5.35,0,0,0,.27-4.09,6.25,6.25,0,0,0-3.11-2.82l-17.18-6.49c-1.24-.47-1.17-1,.14-1.08l10.09-1a15.57,15.57,0,0,1,4.71.42l8.78,2.45a2.69,2.69,0,0,1,1.88,3l-3.45,18.84a9.74,9.74,0,0,0-.17,3.18c.14.45,1.32,1,2.61,1.32l5.35,1.14a13,13,0,0,0,4.7,0l4.81-1.09c1.29-.29,2.46-.9,2.61-1.35a9.73,9.73,0,0,0-.18-3.18l-3.47-18.84a2.69,2.69,0,0,1,1.88-3l8.78-2.46a15.56,15.56,0,0,1,4.71-.42l10.09.94c1.32.12,1.38.61.15,1.08l-17.17,6.51a6.25,6.25,0,0,0-3.11,2.82,5.36,5.36,0,0,0,.27,4.09l5.49,10.3a2.74,2.74,0,0,1-.86,3.47l-14.12,9.54a2.51,2.51,0,0,0,.13,3.6l6.27,5.65a19.88,19.88,0,0,0,4,2.64l7.82,3.72a4.16,4.16,0,0,0,4-.49l2.2-1.8a12.14,12.14,0,0,0,3.73-5.24l.46-1.26a7.05,7.05,0,0,0-.11-4.47l-2.3-5.43a4,4,0,0,1,.71-4l14-14.9c.91-1,2.32-2.6,3.15-3.63A9.49,9.49,0,0,0,276.32,177.38Z" transform="translate(-168.37 -128.55)"/><path class="cls-3" d="M630.36,177.72a4.91,4.91,0,1,1-4.89-4.78A4.8,4.8,0,0,1,630.36,177.72Zm-8.59,0a3.7,3.7,0,0,0,3.73,3.82,3.66,3.66,0,0,0,3.64-3.79,3.69,3.69,0,1,0-7.37,0Zm2.94,2.51H623.6v-4.78a9.64,9.64,0,0,1,1.84-.15,3,3,0,0,1,1.66.35,1.33,1.33,0,0,1,.46,1,1.23,1.23,0,0,1-1,1.11v.06a1.41,1.41,0,0,1,.87,1.16,3.61,3.61,0,0,0,.35,1.19h-1.2a4.15,4.15,0,0,1-.38-1.16c-.09-.52-.38-.76-1-.76h-.52Zm0-2.71h.52c.61,0,1.11-.2,1.11-.7s-.32-.73-1-.73a2.6,2.6,0,0,0-.61.06Z" transform="translate(-168.37 -128.55)"/></svg>
index 20040069445573c2fc4261e6ff13ff364d379224,0000000000000000000000000000000000000000..d3402db0ba53377ab69c0742e493270f1669d275
mode 100644,000000..100644
--- /dev/null
@@@ -1,1 -1,0 +1,1 @@@
- # github.com/gohugoio/gohugoioTheme v0.0.0-20200711112515-b0dfe471654f
++# github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3
index ebd3362dc7aac0601e63ce3125b3db40d7d33c73,0000000000000000000000000000000000000000..a432b9851aa4b37e9d414387e97e363619292d1f
mode 100644,000000..100644
--- /dev/null
@@@ -1,317 -1,0 +1,323 @@@
- The `image` resource implements the methods `Resize`, `Fit` and `Fill`, each returning the transformed image using the specified dimensions and processing options. The `image` resource also, since Hugo 0.58, implements the method `Exif` and `Filter`.
 +---
 +title: "Image Processing"
 +description: "Image Page resources can be resized and cropped."
 +date: 2018-01-24T13:10:00-05:00
 +linktitle: "Image Processing"
 +categories: ["content management"]
 +keywords: [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 do not work on images inside your `/static` folder.
 +
 +To print all images paths in a [Page Bundle]({{< relref "/content-management/organization#page-bundles" >}}):
 +
 +```go-html-template
 +{{ with .Resources.ByType "image" }}
 +{{ range . }}
 +{{ .RelPermalink }}
 +{{ end }}
 +{{ end }}
 +
 +```
 +
 +## The Image Resource
 +
 +The `image` resource can also be retrieved from a [global resource]({{< relref "/hugo-pipes/introduction#from-file-to-resource" >}})
 +
++```go-html-template
 +{{- $image := resources.Get "images/logo.jpg" -}}
++```
 +
 +## Image Processing Methods
 +
++The `image` resource implements the  `Resize`, `Fit`, `Fill`, and `Filter` methods, each returning a transformed image using the specified dimensions and processing options. 
++
++{{% note %}}
++Metadata (EXIF, IPTC, XMP, etc.) is not preserved during image transformation. Use the [`Exif`](#exif) method with the _original_ image to extract EXIF metadata from JPEG or TIFF images.
++{{% /note %}}
 +
 +### 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" }}
 +```
 +
 +### Filter
 +
 +Apply one or more filters to your image. See [Image Filters](/functions/images/#image-filters) for a full list.
 +
 +```go-html-template
 +{{ $img = $img.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}
 +```
 +
 +The above can also be written in a more functional style using pipes:
 +
 +```go-html-template
 +{{ $img = $img | images.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}
 +```
 +
 +The filters will be applied in the given order.
 +
 +Sometimes it can be useful to create the filter chain once and then reuse it:
 +
 +```go-html-template
 +{{ $filters := slice  (images.GaussianBlur 6) (images.Pixelate 8) }}
 +{{ $img1 = $img1.Filter $filters }}
 +{{ $img2 = $img2.Filter $filters }}
 +```
 +
 +### Exif
 +
 +Provides an [Exif](https://en.wikipedia.org/wiki/Exif) object with metadata about the image.
 +
 +Note that this is only supported for JPEG and TIFF images, so it's recommended to wrap the access with a `with`, e.g.:
 +
 +```go-html-template
 +{{ with $img.Exif }}
 +Date: {{ .Date }}
 +Lat/Long: {{ .Lat}}/{{ .Long }}
 +Tags:
 +{{ range $k, $v := .Tags }}
 +TAG: {{ $k }}: {{ $v }}
 +{{ end }}
 +{{ end }}
 +```
 +
 +Or individually access EXIF data with dot access, e.g.:
 +
 +```go-html-template
 +{{ with $src.Exif }}
 +  <ul>
 +      {{ with .Date }}<li>Date: {{ .Format "January 02, 2006" }}</li>{{ end }}
 +      {{ with .Tags.ApertureValue }}<li>Aperture: {{ lang.NumFmt 2 . }}</li>{{ end }}
 +      {{ with .Tags.BrightnessValue }}<li>Brightness: {{ lang.NumFmt 2 . }}</li>{{ end }}
 +      {{ with .Tags.ExposureTime }}<li>Exposure Time: {{ . }}</li>{{ end }}
 +      {{ with .Tags.FNumber }}<li>F Number: {{ . }}</li>{{ end }}
 +      {{ with .Tags.FocalLength }}<li>Focal Length: {{ . }}</li>{{ end }}
 +      {{ with .Tags.ISOSpeedRatings }}<li>ISO Speed Ratings: {{ . }}</li>{{ end }}
 +      {{ with .Tags.LensModel }}<li>Lens Model: {{ . }}</li>{{ end }}
 +  </ul>
 +{{ end }}
 +```
 +
 +Some fields may need to be formatted with [`lang.NumFmt`]({{< relref "functions/numfmt" >}}) function to prevent display like `Aperture: 2.278934289` instead of `Aperture: 2.28`.
 +
 +#### Exif fields
 +
 +Date
 +: "photo taken" date/time
 +
 +Lat
 +: "photo taken where", GPS latitude
 +
 +Long
 +: "photo taken where", GPS longitude
 +
 +See [Image Processing Config](#image-processing-config) for how to configure what gets included in Exif.
 +
 +## Image Processing Options
 +
 +In addition to the dimensions (e.g. `600x400`), Hugo supports a set of additional image options.
 +
 +### Background Color
 +
 +The background color to fill into the transparency layer. This is mostly useful when converting to a format that does not support transparency, e.g. `JPEG`.
 +
 +You can set the background color to use with a 3 or 6 digit hex code starting with `#`.
 +
 +```go
 +{{ $image.Resize "600x jpg #b31280" }}
 +```
 +
 +For color codes, see https://www.google.com/search?q=color+picker
 +
 +**Note** that you also set a default background color to use, see [Image Processing Config](#image-processing-config).
 +
 +### 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 values are `Smart`, `Center`, `TopLeft`, `Top`, `TopRight`, `Left`, `Right`, `BottomLeft`, `Bottom`, `BottomRight`.
 +
 +Default value is `Smart`, which uses [Smartcrop](https://github.com/muesli/smartcrop) to determine the best crop.
 +
 +```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" }}
 +```
 +
 +### Target Format
 +
 +By default the images is encoded in the source format, but you can set the target format as an option.
 +
 +Valid values are `jpg`, `png`, `tif`, `bmp`, and `gif`.
 +
 +```go
 +{{ $image.Resize "600x jpg" }}
 +```
 +
 +## 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"
 +
 +# Default background color.
 +# Hugo will preserve transparency for target formats that supports it,
 +# but will fall back to this color for JPEG.
 +# Expects a standard HEX color string with 3 or 6 digits.
 +# See https://www.google.com/search?q=color+picker
 +bgColor = "#ffffff"
 +
 +[imaging.exif]
 + # Regexp matching the fields you want to Exclude from the (massive) set of Exif info
 +# available. As we cache this info to disk, this is for performance and
 +# disk space reasons more than anything.
 +# If you want it all, put ".*" in this config setting.
 +# Note that if neither this or ExcludeFields is set, Hugo will return a small
 +# default set.
 +includeFields = ""
 +
 +# Regexp matching the Exif fields you want to exclude. This may be easier to use
 +# than IncludeFields above, depending on what you want.
 +excludeFields = ""
 +
 +# Hugo extracts the "photo taken" date/time into .Date by default.
 +# Set this to true to turn it off.
 +disableDate = false
 +
 +# Hugo extracts the "photo taken where" (GPS latitude and longitude) into
 +# .Long and .Lat. Set this to true to turn it off.
 +disableLatLong = false
 +
 +
 +```
 +
 +## Smart Cropping of Images
 +
 +By default, Hugo will use [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 e24c573c2347bb13e16ba949861aa5b14068e97f,0000000000000000000000000000000000000000..28bf6ab0661af8ff8127e271242462ef80fb0cf1
mode 100644,000000..100644
--- /dev/null
@@@ -1,510 -1,0 +1,511 @@@
- <time class="post-date" datetime="{{ .Date.Format '2006-01-02T15:04:05Z07:00' | safeHTML }}">
 +---
 +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"
 +
 +[languages.ar]
 +title = "مدونتي"
 +weight = 2
 +languagedirection = "rtl"
 +
 +[languages.pt-pt]
 +title = "O meu blog"
 +weight = 3
 +{{< /code-toggle >}}
 +
 +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 with `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 rendered 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.
 +
 +**Please note:** use lowercase language codes, even when using regional languages (ie. use pt-pt instead of pt-PT). Currently Hugo language internals lowercase language codes, which can cause conflicts with settings like `defaultContentLanguage` which are not lowercased. Please track the evolution of this issue in [Hugo repository issue tracker](https://github.com/gohugoio/hugo/issues/7344)
 +
 +### Disable a Language
 +
 +You can disable one or more languages. This can be useful when working on a new translation.
 +
 +```toml
 +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
 +└── fr
 +```
 +
 +**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 typically 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 translations. Both ensure each page is assigned a language and is linked to its counterpart 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 is linked to the second.
 +The second file is assigned the French language and is linked to the first.
 +
 +Their language is __assigned__ according to the language code added as a __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 has no 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"
 +  fr:
 +    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.
 +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 will share the same URL (apart from the language subdirectory).
 +
 +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 maintaining 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 basename, 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 resources follow the same language assignment logic as content files, both by filename (`image.jpg`, `image.fr.jpg`) and 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, whether 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 the page itself. 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 %}}
 +
 +### Query basic translation
 +
 +From within your templates, use the `i18n` function like this:
 +
 +```
 +{{ i18n "home" }}
 +```
 +
 +The function will search for the `"home"` id from `i18n/en-US.toml` file:
 +
 +```
 +[home]
 +other = "Home"
 +```
 +
 +The result will be
 +
 +```
 +Home
 +```
 +
 +### Query a flexible translation with variables
 +
 +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" . }}
 +```
 +
 +The function will pass the `.` context to the `"wordCount"` id in `i18n/en-US.toml` file:
 +
 +```
 +[wordCount]
 +other = "This article has {{ .WordCount }} words."
 +```
 +
 +Assume `.WordCount` in the context has value is 101. The result will be:
 +
 +```
 +This article has 101 words.
 +```
 +
 +### Query a singular/plural translation
 +
 +In order to meet singular/plural requirement, you must pass a dictionary (map) with a numeric `.Count` property to the `i18n` function. The below example uses `.ReadingTime` variable which has a built-in `.Count` property.
 +
 +```
 +{{ i18n "readingTime" .ReadingTime }}
 +```
 +
 +The function will read `.Count` from `.ReadingTime` and evaluate where the number is singular (`one`) or plural (`other`). After that, it will pass to `readingTime` id in `i18n/en-US.toml` file:
 +
 +```
 +[readingTime]
 +one = "One minute to read"
 +other = "{{.Count}} minutes to read"
 +```
 +
 +Assume `.ReadingTime.Count` in the context has value of 525600. The result will be:
 +
 +```
 +525600 minutes to read
 +```
 +
 +If `.ReadingTime.Count` in the context has value is 1. The result is:
 +
 +```
 +One minutes to read
 +```
 +
 +In case you need to pass custom data: (`(dict "Count" 25)` is minimum requirement)
 +
 +```
 +{{ i18n "readingTime" (dict "Count" 25 "FirstArgument" true "SecondArgument" false "Etc" "so on, so far") }}
 +```
 +
 +
 +## Customize Dates
 +
 +At the time of this writing, Go does not yet have support for internationalized locales for dates, 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. Creating multilingual menus works just like [creating regular menus][menus], except they're defined in language-specific blocks 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 in the current language. Note that `absLangURL` below will link to the correct locale of your website. Without it, menu entries in all languages would link to the English version, since it's 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 suitable for production environments.
 +{{% /note %}}
 +
 +For merging of content from other languages (i.e. missing content translations), see [lang.Merge](/functions/lang.merge/).
 +
 +To track down missing translation strings, run Hugo with the `--i18n-warnings` flag:
 +
 +```
 + hugo --i18n-warnings | grep i18n
 +i18n|MISSING_TRANSLATION|en|wordCount
 +```
 +
 +## 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** be 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 e7aa67ea69c26579eebc692d07dbcb493a4b2756,0000000000000000000000000000000000000000..da29fa7be819edbd18161f724a4d7221d208988d
mode 100644,000000..100644
--- /dev/null
@@@ -1,215 -1,0 +1,215 @@@
- ## Configure Taxonomies {#configuring-taxonomies}
 +---
 +title: Taxonomies
 +linktitle:
 +description: Hugo includes support for user-defined taxonomies.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +keywords: [taxonomies,metadata,front matter,terms]
 +categories: [content management]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 80
 +weight: 80    #rem
 +draft: false
 +aliases: [/taxonomies/overview/,/taxonomies/usage/,/indexes/overview/,/doc/indexes/,/extras/indexes]
 +toc: true
 +---
 +
 +## What is a Taxonomy?
 +
 +Hugo includes support for user-defined groupings of content called **taxonomies**. Taxonomies are classifications of logical relationships between content.
 +
 +### Definitions
 +
 +Taxonomy
 +: a categorization that can be used to classify content
 +
 +Term
 +: a key within the taxonomy
 +
 +Value
 +: a piece of content assigned to a term
 +
 +
 +## Example Taxonomy: Movie Website
 +
 +Let's assume you are making a website about movies. You may want to include the following taxonomies:
 +
 +* Actors
 +* Directors
 +* Studios
 +* Genre
 +* Year
 +* Awards
 +
 +Then, in each of the movies, you would specify terms for each of these taxonomies (i.e., in the [front matter][] of each of your movie content files). From these terms, Hugo would automatically create pages for each Actor, Director, Studio, Genre, Year, and Award, with each listing all of the Movies that matched that specific Actor, Director, Studio, Genre, Year, and Award.
 +
 +### Movie Taxonomy Organization
 +
 +To continue with the example of a movie site, the following demonstrates content relationships from the perspective of the taxonomy:
 +
 +```
 +Actor                    <- Taxonomy
 +    Bruce Willis         <- Term
 +        The Sixth Sense  <- Value
 +        Unbreakable      <- Value
 +        Moonrise Kingdom <- Value
 +    Samuel L. Jackson    <- Term
 +        Unbreakable      <- Value
 +        The Avengers     <- Value
 +        xXx              <- Value
 +```
 +
 +From the perspective of the content, the relationships would appear differently, although the data and labels used are the same:
 +
 +```
 +Unbreakable                 <- Value
 +    Actors                  <- Taxonomy
 +        Bruce Willis        <- Term
 +        Samuel L. Jackson   <- Term
 +    Director                <- Taxonomy
 +        M. Night Shyamalan  <- Term
 +    ...
 +Moonrise Kingdom            <- Value
 +    Actors                  <- Taxonomy
 +        Bruce Willis        <- Term
 +        Bill Murray         <- Term
 +    Director                <- Taxonomy
 +        Wes Anderson        <- Term
 +    ...
 +```
 +
 +## Hugo Taxonomy Defaults {#default-taxonomies}
 +
 +Hugo natively supports taxonomies.
 +
 +Without adding a single line to your [site config][config] file, Hugo will automatically create taxonomies for `tags` and `categories`. That would be the same as manually [configuring your taxonomies](#configuring-taxonomies) as below:
 +
 +{{< code-toggle copy="false" >}}
 +[taxonomies]
 +  tag = "tags"
 +  category = "categories"
 +{{</ code-toggle >}}
 +
 +If you do not want Hugo to create any taxonomies, set `disableKinds` in your [site config][config] to the following:
 +
 +{{< code-toggle copy="false" >}}
 +disableKinds = ["taxonomy","term"]
 +{{</ code-toggle >}}
 +
 +{{< new-in "0.73.0" >}} We have fixed the before confusing page kinds used for taxonomies (see the listing below) to be in line with the terms used when we talk about taxonomies. We have been careful to avoid site breakage, and you should get an ERROR in the console if you need to adjust your `disableKinds` section.
 +
 +{{% page-kinds %}}
 +
 +### Default Destinations
 +
 +When taxonomies are used---and [taxonomy templates][] are provided---Hugo will automatically create both a page listing all the taxonomy's terms and individual pages with lists of content associated with each term. For example, a `categories` taxonomy declared in your configuration and used in your content front matter will create the following pages:
 +
 +* A single page at `example.com/categories/` that lists all the [terms within the taxonomy][]
 +* [Individual taxonomy list pages][taxonomy templates] (e.g., `/categories/development/`) for each of the terms that shows a listing of all pages marked as part of that taxonomy within any content file's [front matter][]
 +
++## Configure Taxonomies
 +
 +Custom taxonomies other than the [defaults](#default-taxonomies) must be defined in your [site config][config] before they can be used throughout the site. You need to provide both the plural and singular labels for each taxonomy. For example, `singular key = "plural value"` for TOML and `singular key: "plural value"` for YAML.
 +
 +### Example: Adding a custom taxonomy named "series"
 +
 +{{% note %}}
 +While adding custom taxonomies, you need to put in the default taxonomies too, _if you want to keep them_.
 +{{% /note %}}
 +
 +{{< code-toggle copy="false" >}}
 +[taxonomies]
 +  tag = "tags"
 +  category = "categories"
 +  series = "series"
 +{{</ code-toggle >}}
 +
 +### Example: Removing default taxonomies
 +
 +If you want to have just the default `tags` taxonomy, and remove the `categories` taxonomy for your site, you can do so by modifying the `taxonomies` value in your [site config][config].
 +
 +{{< code-toggle copy="false" >}}
 +[taxonomies]
 +  tag = "tags"
 +{{</ code-toggle >}}
 +
 +If you want to disable all taxonomies altogether, see the use of `disableKinds` in [Hugo Taxonomy Defaults](#default-taxonomies).
 +
 +{{% note %}}
 +You can add content and front matter to your taxonomy list and taxonomy terms pages. See [Content Organization](/content-management/organization/) for more information on how to add an `_index.md` for this purpose.
 +
 +Much like regular pages, taxonomy list [permalinks](/content-management/urls/) are configurable, but taxonomy term page permalinks are not.
 +{{% /note %}}
 +
 +{{% warning %}}
 +The configuration option `preserveTaxonomyNames` was removed in Hugo 0.55.
 +
 +You can now use `.Page.Title` on the relevant taxonomy node to get the original value.
 +{{% /warning %}}
 +
 +## Add Taxonomies to Content
 +
 +Once a taxonomy is defined at the site level, any piece of content can be assigned to it, regardless of [content type][] or [content section][].
 +
 +Assigning content to a taxonomy is done in the [front matter][]. Simply create a variable with the *plural* name of the taxonomy and assign all terms you want to apply to the instance of the content type.
 +
 +{{% note %}}
 +If you would like the ability to quickly generate content files with preconfigured taxonomies or terms, read the docs on [Hugo archetypes](/content-management/archetypes/).
 +{{% /note %}}
 +
 +### Example: Front Matter with Taxonomies
 +
 +{{< code-toggle copy="false">}}
 +title = "Hugo: A fast and flexible static site generator"
 +tags = [ "Development", "Go", "fast", "Blogging" ]
 +categories = [ "Development" ]
 +series = [ "Go Web Dev" ]
 +slug = "hugo"
 +project_url = "https://github.com/gohugoio/hugo"
 +{{</ code-toggle >}}
 +
 +## Order Taxonomies
 +
 +A content file can assign weight for each of its associate taxonomies. Taxonomic weight can be used for sorting or ordering content in [taxonomy list templates][] and is declared in a content file's [front matter][]. The convention for declaring taxonomic weight is `taxonomyname_weight`.
 +
 +The following TOML and YAML examples show a piece of content that has a weight of 22, which can be used for ordering purposes when rendering the pages assigned to the "a", "b" and "c" values of the `tags` taxonomy. It has also been assigned the weight of 44 when rendering the "d" category page.
 +
 +### Example: Taxonomic `weight`
 +
 +{{< code-toggle copy="false" >}}
 +title = "foo"
 +tags = [ "a", "b", "c" ]
 +tags_weight = 22
 +categories = ["d"]
 +categories_weight = 44
 +{{</ code-toggle >}}
 +
 +By using taxonomic weight, the same piece of content can appear in different positions in different taxonomies.
 +
 +{{% note "Limits to Ordering Taxonomies" %}}
 +Currently taxonomies only support the [default `weight => date` ordering of list content](/templates/lists/#default-weight-date). For more information, see the documentation on [taxonomy templates](/templates/taxonomy-templates/).
 +{{% /note %}}
 +
 +## Add custom metadata to a Taxonomy or Term
 +
 +If you need to add custom metadata to your taxonomy terms, you will need to create a page for that term at `/content/<TAXONOMY>/<TERM>/_index.md` and add your metadata in it's front matter. Continuing with our 'Actors' example, let's say you want to add a Wikipedia page link to each actor. Your terms pages would be something like this:
 +
 +{{< code file="/content/actors/bruce-willis/_index.md" >}}
 +---
 +title: "Bruce Willis"
 +wikipedia: "https://en.wikipedia.org/wiki/Bruce_Willis"
 +---
 +{{< /code >}}
 +
 +
 +[`urlize` template function]: /functions/urlize/
 +[content section]: /content-management/sections/
 +[content type]: /content-management/types/
 +[documentation on archetypes]: /content-management/archetypes/
 +[front matter]: /content-management/front-matter/
 +[taxonomy list templates]: /templates/taxonomy-templates/#taxonomy-page-templates
 +[taxonomy templates]: /templates/taxonomy-templates/
 +[terms within the taxonomy]: /templates/taxonomy-templates/#taxonomy-terms-templates "See how to order terms associated with a taxonomy"
 +[config]: /getting-started/configuration/
index 9ab7f3c3a3557db0c1e76816c0cd4735cbac7c09,0000000000000000000000000000000000000000..00447953188e38a419e325aada3048d52b1dd4dd
mode 100644,000000..100644
--- /dev/null
@@@ -1,37 -1,0 +1,37 @@@
- description: Returns the common elements of two arrays or slices.
 +---
 +title: intersect
 +linktitle: intersect
++description: Returns the common elements of two arrays or slices, in the same order as the first array.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [collections,intersect,union,complement,symdiff]
 +signature: ["intersect SET1 SET2"]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +aliases: []
 +---
 +An useful example is to use it as `AND` filters when combined with where:
 +
 +## AND filter in where query
 +
 +```
 +{{ $pages := where .Site.RegularPages "Type" "not in" (slice "page" "about") }}
 +{{ $pages := $pages | union (where .Site.RegularPages "Params.pinned" true) }}
 +{{ $pages := $pages | intersect (where .Site.RegularPages "Params.images" "!=" nil) }}
 +```
 +
 +The above fetches regular pages not of `page` or `about` type unless they are pinned. And finally, we exclude all pages with no `images` set in Page params.
 +
 +See [union](/functions/union) for `OR`.
 +
 +
 +[partials]: /templates/partials/
 +[single]: /templates/single-page-templates/
index b83e6b0bda636cdb138074e3454ab073a9728568,0000000000000000000000000000000000000000..ca28f3ee3c76a73b72e79a978fc46e7d6954eeb1
mode 100644,000000..100644
--- /dev/null
@@@ -1,65 -1,0 +1,65 @@@
- +++
- keywords: [ "tag3", "tag1", "tag2" ]
- +++
 +---
 +title: sort
 +# linktitle: sort
 +description: Sorts maps, arrays, and slices and returns a sorted slice.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [ordering,sorting,lists]
 +signature: []
 +workson: [lists,taxonomies,terms,groups]
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +aliases: []
 +---
 +
 +A sorted array of map values will be returned with the keys eliminated. There are two optional arguments: `sortByField` and `sortAsc`. If left blank, sort will sort by keys (for maps) in ascending order as its default behavior.
 +
 +```
-   [params.authors.Derek]
-     "firstName"  = "Derek"
-     "lastName"   = "Perkins"
++---
++tags: ["tag3", "tag1", "tag2"]
++---
 +
 +// Site config
 ++++
 +[params.authors]
-     "firstName"  = "Joe"
-     "lastName"   = "Bergevin"
 +  [params.authors.Joe]
-     "firstName"  = "Tanner"
-     "lastName"   = "Linsley"
++    firstName = "Joe"
++    lastName  = "Bergevin"
++  [params.authors.Derek]
++    firstName = "Derek"
++    lastName  = "Perkins"
 +  [params.authors.Tanner]
- // Use default sort options - sort by key / ascending
++    firstName = "Tanner"
++    lastName  = "Linsley"
 ++++
 +```
 +
 +```
- // Sort by value / descending
++// Sort by value, ascending (default for lists)
 +Tags: {{ range sort .Params.tags }}{{ . }} {{ end }}
 +
 +→ Outputs Tags: tag1 tag2 tag3
 +
- // Use default sort options - sort by value / descending
++// Sort by value, descending
 +Tags: {{ range sort .Params.tags "value" "desc" }}{{ . }} {{ end }}
 +
 +→ Outputs Tags: tag3 tag2 tag1
 +
- // Use default sort options - sort by value / descending
++// Sort by key, ascending (default for maps)
 +Authors: {{ range sort .Site.Params.authors }}{{ .firstName }} {{ end }}
 +
 +→ Outputs Authors: Derek Joe Tanner
 +
++// Sort by field, descending
 +Authors: {{ range sort .Site.Params.authors "lastName" "desc" }}{{ .lastName }} {{ end }}
 +
 +→ Outputs Authors: Perkins Linsley Bergevin
 +```
 +
index 97763c002da6c64f23b0066a29ca28fbe209b33e,0000000000000000000000000000000000000000..1f8ad40c5bea688e2d78ea81278dd53273ea907a
mode 100644,000000..100644
--- /dev/null
@@@ -1,586 -1,0 +1,586 @@@
- : Default [sitemap configuration](/templates/sitemap-template/#configure-sitemap-xml).
 +---
 +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
 +---
 +
 +
 +## Configuration File
 +
 +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 %}}
 +
 +{{< todo >}}TODO: distinct config.toml and others (the root object files){{< /todo >}}
 +
 +## Configuration Directory
 +
 +In addition to using a single site config file, one can use the `configDir` directory (default to `config/`) to maintain easier organization and environment specific settings.
 +
 +- Each file represents a configuration root object, such as `params.toml` for `[Params]`, `menu(s).toml` for `[Menu]`, `languages.toml` for `[Languages]` etc...
 +- Each file's content must be top-level, for example:
 +  
 +  In `config.toml` is:
 +  ```toml
 +  [Params]
 +    foo = "bar"
 +  ```
 +  In `params.toml` is:
 +  ```
 +  foo = "bar"
 +  ```
 +- Each directory holds a group of files containing settings unique to an environment.
 +- Files can be localized to become language specific.
 +
 +
 +```
 +├── config
 +│   ├── _default
 +│   │   ├── config.toml
 +│   │   ├── languages.toml
 +│   │   ├── menus.en.toml
 +│   │   ├── menus.zh.toml
 +│   │   └── params.toml
 +│   ├── production
 +│   │   ├── config.toml
 +│   │   └── params.toml
 +│   └── staging
 +│       ├── config.toml
 +│       └── params.toml
 +```
 +
 +Considering the structure above, when running `hugo --environment staging`, Hugo will use every settings from `config/_default` and merge `staging`'s on top of those.
 +{{% note %}}
 +Default environments are __development__ with `hugo server` and __production__ with `hugo`.
 +{{%/ 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). {{% module-mounts-note %}}
 +
 +assetDir ("assets")
 +: The directory where Hugo finds asset files used in [Hugo Pipes](/hugo-pipes/). {{% module-mounts-note %}}
 +
 +baseURL
 +: Hostname (and path) to the root, e.g. https://bep.is/
 +
 +blackfriday
 +: See [Configure Blackfriday](/getting-started/configuration-markup#blackfriday)
 +
 +build
 +: See [Configure Build](#configure-build)
 +
 +buildDrafts (false)
 +: Include drafts when building.
 +
 +buildExpired  (false)
 +: Include content already expired.
 +
 +buildFuture (false)
 +: Include content with publishdate in the future.
 +
 +caches
 +: See [Configure File Caches](#configure-file-caches)
 +
 +canonifyURLs (false)
 +: Enable to turn relative URLs into absolute.
 +
 +contentDir ("content")
 +: The directory from where Hugo reads content files. {{% module-mounts-note %}}
 +
 +dataDir ("data")
 +: The directory from where Hugo reads data files. {{% module-mounts-note %}}
 +
 +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/`.
 +
 +disableAliases (false)
 +: Will disable generation of alias redirects. Note that even if `disableAliases` is set, the aliases themselves are preserved on the page. The motivation with this is to be able to generate 301 redirects in an `.htaccess`, a Netlify `_redirects` file or similar using a custom output format.
 +
 +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"`, `"term"`, `"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.
 +
 +enableInlineShortcodes (false)
 +: Enable inline shortcode support. See [Inline Shortcodes](/templates/shortcode-templates/#inline-shortcodes).
 +
 +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. It is used in the default [RSS template](/templates/rss/#configure-rss) and can be useful for [multi-lingual sites](/content-management/multilingual/#configure-multilingual-multihost).
 +
 +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).
 +
 +markup
 +: See [Configure Markup](/getting-started/configuration-markup).{{< new-in "0.60.0" >}}
 +
 +menu
 +: See [Add Non-content Entries to a Menu](/content-management/menus/#add-non-content-entries-to-a-menu).
 +
 +minify
 +: See [Configure Minify](#configure-minify)
 +
 +module
 +: Module config see [Module Config](/hugo-modules/configuration/).{{< new-in "0.56.0" >}}
 +
 +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 elements 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.
 +
 +publishDir ("public")
 +: The directory to where Hugo will write the final static site (the HTML files etc.).
 +
 +related
 +: See [Related Content](/content-management/related/#configure-related-content).{{< new-in "0.27" >}}
 +
 +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-sitemapxml).
 +
 +staticDir ("static")
 +: A directory or a list of directories from where Hugo reads [static files][static-files]. {{% module-mounts-note %}}
 +
 +summaryLength (70)
 +: The length of text in words 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.
 +
 +titleCaseStyle ("AP")
 +: See [Configure Title Case](#configure-title-case)
 +
 +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 %}}
 +
 +## Configure Build
 +
 +{{< new-in "0.66.0" >}}
 +
 +The `build` configuration section contains global build-related configuration options.
 +
 +{{< code-toggle file="config">}}
 +[build]
 +useResourceCacheWhen="fallback"
 +writeStats = false
 +noJSConfigInAssets = false
 +{{< /code-toggle >}}
 +
 +
 +useResourceCacheWhen
 +: When to use the cached resources in `/resources/_gen` for PostCSS and ToCSS. Valid values are `never`, `always` and `fallback`. The last value means that the cache will be tried if PostCSS/extended version is not available.
 +
 +writeStats {{< new-in "0.69.0" >}}
 +: When enabled, a file named `hugo_stats.json` will be written to your project root with some aggregated data about the build, e.g. list of HTML entities published to be used to do [CSS pruning](/hugo-pipes/postprocess/#css-purging-with-postcss). If you're only using this for the production build, you should consider placing it below [config/production](/getting-started/configuration/#configuration-directory). It's also worth mentioning that, due to the nature of the partial server builds, new HTML entities will be added when you add or change them while the server is running, but the old values will not be removed until you restart the server or run a regular `hugo` build.
 +
 +noJSConfigInAssets {{< new-in "0.78.0" >}}
 +: Turn off writing a `jsconfig.json` into your `/assets` folder with mapping of imports from running [js.Build](https://gohugo.io/hugo-pipes/js). This file is intended to help with intellisense/navigation inside code editors such as [VS Code](https://code.visualstudio.com/). Note that if you do not use `js.Build`, no file will be written.
 +
 +## Configure Server
 +
 +{{< new-in "0.67.0" >}}
 +
 +This is only relevant when running `hugo server`, and it allows to set HTTP headers during development, which allows you to test out your Content Security Policy and similar. The configuration format matches [Netlify's](https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file) with slighly more powerful [Glob matching](https://github.com/gobwas/glob):
 +
 +
 +{{< code-toggle file="config">}}
 +[server]
 +[[server.headers]]
 +for = "/**.html"
 +
 +[server.headers.values]
 +X-Frame-Options = "DENY"
 +X-XSS-Protection = "1; mode=block"
 +X-Content-Type-Options = "nosniff"
 +Referrer-Policy = "strict-origin-when-cross-origin"
 +Content-Security-Policy = "script-src localhost:1313"
 +{{< /code-toggle >}}
 +
 +Since this is is "development only", it may make sense to put it below the `development` environment:
 +
 +
 +{{< code-toggle file="config/development/server">}}
 +[[headers]]
 +for = "/**.html"
 +
 +[headers.values]
 +X-Frame-Options = "DENY"
 +X-XSS-Protection = "1; mode=block"
 +X-Content-Type-Options = "nosniff"
 +Referrer-Policy = "strict-origin-when-cross-origin"
 +Content-Security-Policy = "script-src localhost:1313"
 +{{< /code-toggle >}}
 +
 +
 +{{< new-in "0.72.0" >}}
 +
 +You can also specify simple redirects rules for the server. The syntax is again similar to Netlify's. 
 +
 +Note that a `status` code of 200 will trigger a [URL rewrite](https://docs.netlify.com/routing/redirects/rewrites-proxies/), which is what you want in SPA situations, e.g:
 +
 +{{< code-toggle file="config/development/server">}}
 +[[redirects]]
 +from = "/myspa/**"
 +to = "/myspa/"
 +status = 200
 +force = false
 +{{< /code-toggle >}}
 +
 +{{< new-in "0.76.0" >}} Setting `force=true` will make a redirect even if there is existing content in the path. Note that before Hugo 0.76  `force` was the default behaviour, but this is inline with how Netlify does it.
 +
 +## Configure Title Case
 +
 +Set `titleCaseStyle` to specify the title style used by the [title](/functions/title/) template function and the automatic section titles in Hugo. It defaults to [AP Stylebook](https://www.apstylebook.com/) for title casing, but you can also set it to `Chicago` or `Go` (every word starts with a capital letter).
 +
 +## Configuration Environment Variables
 +
 +HUGO_NUMWORKERMULTIPLIER
 +: Can be set to increase or reduce the number of workers used in parallel processing in Hugo. If not set, the number of logical CPUs will be used.
 +
 +## 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:
 +  posts: /: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.
 +
 +To set config params, prefix the name with `HUGO_PARAMS_`
 +{{% /note %}}
 +
 +{{< new-in "0.79.0" >}} If you are using snake_cased variable names, the above will not work, so since Hugo 0.79.0 Hugo determines the delimiter to use by the first character after `HUGO`. This allows you to define environment variables on the form `HUGOxPARAMSxAPI_KEY=abcdefgh`, using any [allowed](https://stackoverflow.com/questions/2821043/allowed-characters-in-linux-environment-variable-names#:~:text=So%20names%20may%20contain%20any,not%20begin%20with%20a%20digit.) delimiter.
 +
 +{{< todo >}}
 +Test and document setting params via JSON env var.
 +{{< /todo >}}
 +
 +## Ignore Content Files When Rendering
 +
 +The following statement inside `./config.toml` will cause Hugo to ignore content 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 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.
 +
 +## Configure Minify
 +
 +{{< new-in "0.68.0" >}}
 +
 +Default configuration:
 +
 +{{< code-toggle config="minify" />}}
 +
 +## Configure File Caches
 +
 +Since Hugo 0.52 you can configure more than just the `cacheDir`. This is the default configuration:
 +
 +{{< code-toggle >}}
 +[caches]
 +[caches.getjson]
 +dir = ":cacheDir/:project"
 +maxAge = -1
 +[caches.getcsv]
 +dir = ":cacheDir/:project"
 +maxAge = -1
 +[caches.images]
 +dir = ":resourceDir/_gen"
 +maxAge = -1
 +[caches.assets]
 +dir = ":resourceDir/_gen"
 +maxAge = -1
 +[caches.modules]
 +dir = ":cacheDir/modules"
 +maxAge = -1
 +{{< /code-toggle >}}
 +
 +You can override any of these cache settings in your own `config.toml`.
 +
 +### The keywords explained
 +
 +`:cacheDir`
 +: This is the value of the `cacheDir` config option if set (can also be set via OS env variable `HUGO_CACHEDIR`). It will fall back to `/opt/build/cache/hugo_cache/` on Netlify, or a `hugo_cache` directory below the OS temp dir for the others. This means that if you run your builds on Netlify, all caches configured with `:cacheDir` will be saved and restored on the next build. For other CI vendors, please read their documentation. For an CircleCI example, see [this configuration](https://github.com/bep/hugo-sass-test/blob/6c3960a8f4b90e8938228688bc49bdcdd6b2d99e/.circleci/config.yml).
 +
 +`:project`
 +: The base directory name of the current Hugo project. This means that, in its default setting, every project will have separated file caches, which means that when you do `hugo --gc` you will not touch files related to other Hugo projects running on the same PC.
 +
 +`:resourceDir`
 +: This is the value of the `resourceDir` config option.
 +
 +maxAge
 +: This is the duration before a cache entry will be evicted, -1 means forever and 0 effectively turns that particular cache off. Uses Go's `time.Duration`, so valid values are `"10s"` (10 seconds), `"10m"` (10 minutes) and `"10h"` (10 hours).
 +
 +dir
 +: The absolute path to where the files for this cache will be stored. Allowed starting placeholders are `:cacheDir` and `:resourceDir` (see above).
 +
 +## 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]: https://yaml.org/spec/
 +[static-files]: /content-management/static-files/
index 28b6b039b460640dcb11e371b5d0dbab8924c8c6,0000000000000000000000000000000000000000..f2378f4a771cb0fe6c727a99193fd80b5341a65d
mode 100644,000000..100644
--- /dev/null
@@@ -1,179 -1,0 +1,179 @@@
- echo 'theme = "ananke"' >> config.toml
 +---
 +title: Quick Start
 +linktitle: Quick Start
 +description: Create a Hugo site using the beautiful Ananke theme.
 +date: 2013-07-01
 +publishdate: 2013-07-01
 +categories: [getting started]
 +keywords: [quick start,usage]
 +authors: [Shekhar Gulati, Ryan Watters]
 +menu:
 +  docs:
 +    parent: "getting-started"
 +    weight: 10
 +weight: 10
 +sections_weight: 10
 +draft: false
 +aliases: [/quickstart/,/overview/quickstart/]
 +toc: true
 +---
 +
 +{{% note %}}
 +This quick start uses `macOS` in the examples. For instructions about how to install Hugo on other operating systems, see [install](/getting-started/installing).
 +
 +It is recommended to have [Git installed](https://git-scm.com/downloads) to run this tutorial.
 +
 +For other approaches learning Hugo like book or a video tutorial refer to the [external learning resources](/getting-started/external-learning-resources/) page.
 +{{% /note %}}
 +
 +## Step 1: Install Hugo
 +
 +{{% note %}}
 +`Homebrew` and `MacPorts`, package managers for `macOS`,  can be installed from [brew.sh](https://brew.sh/) or [macports.org](https://www.macports.org/) respectively. See [install](/getting-started/installing) if you are running Windows etc.
 +{{% /note %}}
 +
 +```bash
 +brew install hugo
 +# or
 +port install hugo
 +```
 +
 +To verify your new install:
 +
 +```bash
 +hugo version
 +```
 +
 +{{< asciicast ItACREbFgvJ0HjnSNeTknxWy9 >}}
 +
 +## Step 2: Create a New Site
 +
 +```bash
 +hugo new site quickstart
 +```
 +
 +The above will create a new Hugo site in a folder named `quickstart`.
 +
 +{{< asciicast 3mf1JGaN0AX0Z7j5kLGl3hSh8 >}}
 +
 +## Step 3: Add a Theme
 +
 +See [themes.gohugo.io](https://themes.gohugo.io/) for a list of themes to consider. This quickstart uses the beautiful [Ananke theme](https://themes.gohugo.io/gohugo-theme-ananke/).
 +
 +First, download the theme from GitHub and add it to your site's `themes` directory:
 +
 +```bash
 +cd quickstart
 +git init
 +git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
 +```
 +
 +*Note for non-git users:*
 +   - If you do not have git installed, you can download the archive of the latest
 +     version of this theme from:
 +       https://github.com/budparr/gohugo-theme-ananke/archive/master.zip
 +   - Extract that .zip file to get a "gohugo-theme-ananke-master" directory.
 +   - Rename that directory to "ananke", and move it into the "themes/" directory.
 +
 +Then, add the theme to the site configuration:
 +
 +```bash
++echo theme = \"ananke\" >> config.toml
 +```
 +
 +{{< asciicast 7naKerRYUGVPj8kiDmdh5k5h9 >}}
 +
 +## Step 4: Add Some Content
 +
 +You can manually create content files (for example as `content/<CATEGORY>/<FILE>.<FORMAT>`) and provide metadata in them, however you can use the `new` command to do a few things for you (like add title and date):
 +
 +```
 +hugo new posts/my-first-post.md
 +```
 +
 +{{< asciicast eUojYCfRTZvkEiqc52fUsJRBR >}}
 +
 +Edit the newly created content file if you want, it will start with something like this:
 +
 +```markdown
 +---
 +title: "My First Post"
 +date: 2019-03-26T08:47:11+01:00
 +draft: true
 +---
 +
 +```
 +
 +{{% note %}}
 +Drafts do not get deployed; once you finish a post, update the header of the post to say `draft: false`. More info [here](/getting-started/usage/#draft-future-and-expired-content).
 +{{% /note %}}
 +
 +## Step 5: Start the Hugo server
 +
 +Now, start the Hugo server with [drafts](/getting-started/usage/#draft-future-and-expired-content) enabled:
 +
 +{{< asciicast BvJBsF6egk9c163bMsObhuNXj >}}
 +
 +```
 +▶ hugo server -D
 +
 +                   | EN
 ++------------------+----+
 +  Pages            | 10
 +  Paginator pages  |  0
 +  Non-page files   |  0
 +  Static files     |  3
 +  Processed images |  0
 +  Aliases          |  1
 +  Sitemaps         |  1
 +  Cleaned          |  0
 +
 +Total in 11 ms
 +Watching for changes in /Users/bep/quickstart/{content,data,layouts,static,themes}
 +Watching for config changes in /Users/bep/quickstart/config.toml
 +Environment: "development"
 +Serving pages from memory
 +Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
 +Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
 +Press Ctrl+C to stop
 +```
 +
 +**Navigate to your new site at [http://localhost:1313/](http://localhost:1313/).**
 +
 +Feel free to edit or add new content and simply refresh in browser to see changes quickly (You might need to force refresh in webbrowser, something like Ctrl-R usually works).
 +
 +## Step 6: Customize the Theme
 +
 +Your new site already looks great, but you will want to tweak it a little before you release it to the public.
 +
 +### Site Configuration
 +
 +Open up `config.toml` in a text editor:
 +
 +```
 +baseURL = "https://example.org/"
 +languageCode = "en-us"
 +title = "My New Hugo Site"
 +theme = "ananke"
 +```
 +
 +Replace the `title` above with something more personal. Also, if you already have a domain ready, set the `baseURL`. Note that this value is not needed when running the local development server.
 +
 +{{% note %}}
 +**Tip:** Make the changes to the site configuration or any other file in your site while the Hugo server is running, and you will see the changes in the browser right away, though you may need to [clear your cache](https://kb.iu.edu/d/ahic).
 +{{% /note %}}
 +
 +For theme specific configuration options, see the [theme site](https://github.com/budparr/gohugo-theme-ananke).
 +
 +**For further theme customization, see [Customize a Theme](/themes/customizing/).**
 +
 +### Step 7: Build static pages
 +
 +It is simple. Just call:
 +
 +```
 +hugo -D
 +```
 +
 +Output will be in `./public/` directory by default (`-d`/`--destination` flag to change it, or set `publishdir` in the config file).
 +
index 9cabdd938977576cc584ab31eec8469265946d24,0000000000000000000000000000000000000000..9b318f45dc578750ca576a4506940afeeabd56d9
mode 100644,000000..100644
--- /dev/null
@@@ -1,104 -1,0 +1,104 @@@
- For more advance settings https://github.com/marketplace/actions/hugo-setup 
 +---
 +title: Host on GitHub
 +linktitle: Host on GitHub
 +description: Deploy Hugo as a GitHub Pages project or personal/organizational site and automate the whole process with Github Action Workflow
 +date: 2014-03-21
 +publishdate: 2014-03-21
 +categories: [hosting and deployment]
 +keywords: [github,git,deployment,hosting]
 +authors: [Spencer Lyon, Gunnar Morling]
 +menu:
 +  docs:
 +    parent: "hosting-and-deployment"
 +    weight: 30
 +weight: 30
 +sections_weight: 30
 +toc: true
 +aliases: [/tutorials/github-pages-blog/]
 +---
 +
 +GitHub provides free and fast static hosting over SSL for personal, organization, or project pages directly from a GitHub repository via its [GitHub Pages service][] and automate development workflows and build with [GitHub Actions].
 +
 +## Assumptions
 +
 +1. You have Git 2.8 or greater [installed on your machine][installgit].
 +2. You have a GitHub account. [Signing up][ghsignup] for GitHub is free.
 +3. You have a ready-to-publish Hugo website or have at least completed the [Quick Start][].
 +
 +## Types of GitHub Pages
 +
 +There are two types of GitHub Pages:
 +
 +- User/Organization Pages (`https://<USERNAME|ORGANIZATION>.github.io/`)
 +- Project Pages (`https://<USERNAME|ORGANIZATION>.github.io/<PROJECT>/`)
 +
 +Please refer to the [GitHub Pages documentation][ghorgs] to decide which type of site you would like to create as it will determine which of the below methods to use.
 +
 +## GitHub User or Organization Pages
 +
 +As mentioned in the [GitHub Pages documentation][ghorgs], you can host a user/organization page in addition to project pages. Here are the key differences in GitHub Pages websites for Users and Organizations:
 +
 +1. You must use a `<USERNAME>.github.io` to host your **generated** content
 +2. Content from the `main` branch will be used to publish your GitHub Pages site
 +
 +This is a much simpler setup as your Hugo files and generated content are published into two different repositories.
 +
 +## Build Hugo With GitHub Action
 +
 +GitHub execute your software development workflows. Everytime you push your code on the Github repository, Github Action will build the site automatically.
 +
 +Create a file in `.github/workflows/gh-pages.yml` containing the following content (based on https://github.com/marketplace/actions/hugo-setup ):
 +
 +```yml
 +name: github pages
 +
 +on:
 +  push:
 +    branches:
 +      - main  # Set a branch to deploy
 +
 +jobs:
 +  deploy:
 +    runs-on: ubuntu-18.04
 +    steps:
 +      - uses: actions/checkout@v2
 +        with:
 +          submodules: true  # Fetch Hugo themes (true OR recursive)
 +          fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod
 +
 +      - name: Setup Hugo
 +        uses: peaceiris/actions-hugo@v2
 +        with:
 +          hugo-version: 'latest'
 +          # extended: true
 +
 +      - name: Build
 +        run: hugo --minify
 +
 +      - name: Deploy
 +        uses: peaceiris/actions-gh-pages@v3
 +        with:
 +          github_token: ${{ secrets.GITHUB_TOKEN }}
 +          publish_dir: ./public
 +```
 +
++For more advanced settings https://github.com/marketplace/actions/hugo-setup 
 +
 +## Use a Custom Domain
 +
 +If you'd like to use a custom domain for your GitHub Pages site, create a file `static/CNAME`. Your custom domain name should be the only contents inside `CNAME`. Since it's inside `static`, the published site will contain the CNAME file at the root of the published site, which is a requirement of GitHub Pages.
 +
 +Refer to the [official documentation for custom domains][domains] for further information.
 +
 +[config]: /getting-started/configuration/
 +[domains]: https://help.github.com/articles/using-a-custom-domain-with-github-pages/
 +[ghorgs]: https://help.github.com/articles/user-organization-and-project-pages/#user--organization-pages
 +[ghpfromdocs]: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/
 +[ghsignup]: https://github.com/join
 +[GitHub Pages service]: https://help.github.com/articles/what-is-github-pages/
 +[installgit]: https://git-scm.com/downloads
 +[orphan branch]: https://git-scm.com/docs/git-checkout/#Documentation/git-checkout.txt---orphanltnewbranchgt
 +[Quick Start]: /getting-started/quick-start/
 +[submodule]: https://github.com/blog/2104-working-with-submodules
 +[worktree feature]: https://git-scm.com/docs/git-worktree
 +[GitHub Actions]: https://docs.github.com/en/actions
index 0916e22992ba4d1d5c91e295f51cc0d3d926fb78,0000000000000000000000000000000000000000..b7d62ec8f1debcb60b9144eb5a1e478f01ef5da7
mode 100644,000000..100644
--- /dev/null
@@@ -1,64 -1,0 +1,64 @@@
- * Amazon CloudFont. You can specify the page in the Error Pages section in the CloudFont Console. [Details here](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)
 +---
 +title: Custom 404 Page
 +linktitle: 404 Page
 +description: If you know how to create a single page template, you have unlimited options for creating a custom 404.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-03-31
 +categories: [templates]
 +keywords: [404, page not found]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 120
 +weight: 120   #rem
 +draft: false
 +aliases: []
 +toc: false
 +---
 +
 +When using Hugo with [GitHub Pages](https://pages.github.com/), you can provide your own template for a [custom 404 error page](https://help.github.com/articles/custom-404-pages/) by creating a 404.html template file in your `/layouts` folder. When Hugo generates your site, the `404.html` file will be placed in the root.
 +
 +404 pages will have all the regular [page variables][pagevars] available to use in the templates.
 +
 +In addition to the standard page variables, the 404 page has access to all site content accessible from `.Pages`.
 +
 +```
 +▾ layouts/
 +    404.html
 +```
 +
 +## 404.html
 +
 +This is a basic example of a 404.html template:
 +
 +{{< code file="layouts/404.html" download="404.html" >}}
 +{{ define "main"}}
 +    <main id="main">
 +      <div>
 +       <h1 id="title"><a href="{{ "/" | relURL }}">Go Home</a></h1>
 +      </div>
 +    </main>
 +{{ end }}
 +{{< /code >}}
 +
 +## Automatic Loading
 +
 +Your 404.html file can be set to load automatically when a visitor enters a mistaken URL path, dependent upon the web serving environment you are using. For example:
 +
 +* [GitHub Pages](/hosting-and-deployment/hosting-on-github/) and [GitLab Pages](/hosting-and-deployment/hosting-on-gitlab/). The 404 page is automatic.
 +* Apache. You can specify `ErrorDocument 404 /404.html` in an `.htaccess` file in the root of your site.
 +* Nginx. You might specify `error_page 404 /404.html;` in your `nginx.conf` file.
 +* Amazon AWS S3. When setting a bucket up for static web serving, you can specify the error file from within the S3 GUI.
++* Amazon CloudFront. You can specify the page in the Error Pages section in the CloudFront Console. [Details here](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)
 +* Caddy Server. Using `errors { 404 /404.html }`. [Details here](https://caddyserver.com/docs/errors)
 +* Netlify. Add `/* /404.html 404` to `content/_redirects`. [Details Here](https://www.netlify.com/docs/redirects/#custom-404)
 +* Azure Static website. You can specify the `Error document path` in the Static website configuration page of the Azure portal. [More details are available in the Static website documentation](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website).
 +
 +{{% note %}}
 +`hugo server` will not automatically load your custom `404.html` file, but you
 +can test the appearance of your custom "not found" page by navigating your
 +browser to `/404.html`.
 +{{% /note %}}
 +
 +[pagevars]: /variables/page/
index 6717fecbb2b7cb4fcb310c01212d30aabfa3935e,0000000000000000000000000000000000000000..d84837a436b245a24b01b484ddb9bef66691792d
mode 100644,000000..100644
--- /dev/null
@@@ -1,124 -1,0 +1,125 @@@
- Value of the `weight` key if set for the menu entry. If that key is not set,
- and if the menu entry is set in a page front-matter, this value defaults to the
- page's `.Weight`.
 +---
 +title: Menu Entry Properties
 +linktitle: Menu Entry Properties
 +description: A menu entry in a menu-template has specific variables and functions to make menu management easier.
 +date: 2017-03-12
 +publishdate: 2017-03-12
 +lastmod: 2017-03-12
 +categories: [variables and params]
 +keywords: [menus]
 +draft: false
 +menu:
 +  docs:
 +    title: "variables defined by a menu entry"
 +    parent: "variables"
 +    weight: 50
 +weight: 50
 +sections_weight: 50
 +aliases: [/variables/menu/]
 +toc: false
 +---
 +
 +A **menu entry** has the following properties available that can be used in a
 +[menu template][menu-template].
 +
 +## Menu Entry Variables
 +
 +.Menu
 +: _string_ <br />
 +Name of the **menu** that contains this **menu entry**.
 +
 +.URL
 +: _string_ <br />
 +URL that the menu entry points to. The `url` key, if set for the menu entry,
 +sets this value. If that key is not set, and if the menu entry is set in a page
 +front-matter, this value defaults to the page's `.RelPermalink`.
 +
 +.Page
 +: _\*Page_ <br />
 +Reference to the [page object][page-object] associated with the menu entry. This
 +will be non-nil if the menu entry is set via a page's front-matter and not via
 +the site config.
 +
 +.Name
 +: _string_ <br />
 +Name of the menu entry. The `name` key, if set for the menu entry, sets
 +this value. If that key is not set, and if the menu entry is set in a page
 +front-matter, this value defaults to the page's `.LinkTitle`.
 +
 +.Identifier
 +: _string_ <br />
 +Value of the `identifier` key if set for the menu entry. This value must be
 +unique for each menu entry. **It is necessary to set a unique identifier
 +manually if two or more menu entries have the same `.Name`.**
 +
 +.Pre
 +: _template.HTML_ <br />
 +Value of the `pre` key if set for the menu entry. This value typically contains
 +a string representing HTML.
 +
 +.Post
 +: _template.HTML_ <br />
 +Value of the `post` key if set for the menu entry. This value typically contains
 +a string representing HTML.
 +
 +.Weight
 +: _int_ <br />
++Value of the `weight` key if set for the menu entry. By default the entries in 
++a menu are sorted ascending by their `weight`. If that key is not set, and if 
++the menu entry is set in a page front-matter, this value defaults to the page's 
++`.Weight`.
 +
 +.Parent
 +: _string_ <br />
 +Name (or Identifier if present) of this menu entry's parent **menu entry**. The
 +`parent` key, if set for the menu entry, sets this value. If this key is set,
 +this menu entry nests under that parent entry, else it nests directly under the
 +`.Menu`.
 +
 +.Children
 +: _Menu_ <br />
 +This value is auto-populated by Hugo. It is a collection of children menu
 +entries, if any, under the current menu entry.
 +
 +## Menu Entry Functions
 +
 +Menus also have the following functions available:
 +
 +.HasChildren
 +: _boolean_ <br />
 +Returns `true` if `.Children` is non-nil.
 +
 +.KeyName
 +: _string_ <br />
 +Returns the `.Identifier` if present, else returns the `.Name`.
 +
 +.IsEqual
 +: _boolean_ <br />
 +Returns `true` if the two compared menu entries represent the same menu entry.
 +
 +.IsSameResource
 +: _boolean_ <br />
 +Returns `true` if the two compared menu entries have the same `.URL`.
 +
 +.Title
 +: _string_ <br />
 +Link title, meant to be used in the `title` attribute of a menu entry's
 +`<a>`-tags.  Returns the menu entry's `title` key if set. Else, if the menu
 +entry was created through a page's front-matter, it returns the page's
 +`.LinkTitle`. Else, it just returns an empty string.
 +
 +## Other Menu-related Functions
 +
 +Additionally, here are some relevant methods available to menus on a page:
 +
 +.IsMenuCurrent
 +: _(menu string, menuEntry *MenuEntry ) boolean_ <br />
 +See [`.IsMenuCurrent` method](/functions/ismenucurrent/).
 +
 +.HasMenuCurrent
 +: _(menu string, menuEntry *MenuEntry) boolean_ <br />
 +See [`.HasMenuCurrent` method](/functions/hasmenucurrent/).
 +
 +
 +[menu-template]: /templates/menu-templates/
 +[page-object]: /variables/page/
diff --cc docs/go.mod
index 4199c2307b2db1fde43f2a6a37006c29ae49d136,0000000000000000000000000000000000000000..b389a795fec9966f2d4d1e9ebffaf57d4f5cf4f5
mode 100644,000000..100644
--- /dev/null
@@@ -1,5 -1,0 +1,5 @@@
- require github.com/gohugoio/gohugoioTheme v0.0.0-20200711112515-b0dfe471654f // indirect
 +module github.com/gohugoio/hugoDocs
 +
 +go 1.12
 +
++require github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3 // indirect
diff --cc docs/go.sum
index eaaa0e5608f8d83bb4f6b9baa60a5bbd5ca55462,0000000000000000000000000000000000000000..d19e6e7b8ff2a78783e3242598f0ee8351185970
mode 100644,000000..100644
--- /dev/null
@@@ -1,25 -1,0 +1,27 @@@
 +github.com/gohugoio/gohugoioTheme v0.0.0-20190808163145-07b3c0f73b02/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191014144142-1f3a01deed7b h1:PWNjl46fvtz54PKO0BdiXOF6/4L/uCP0F3gtcCxGrJs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191014144142-1f3a01deed7b/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191021162625-2e7250ca437d h1:D3DcaYkuJbotdWNNAQpQl37txX4HQ6R5uMHoxVmTw0w=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191021162625-2e7250ca437d/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123151337-9475fd449324 h1:UZwHDYtGY0uOKIvcm2LWd+xfFxD3X5L222LIJdI5RE4=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123151337-9475fd449324/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123204146-589b4c309025 h1:ScYFARz+bHX1rEr1donVknhRdxGY/cwqK1hHvWEfrlc=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123204146-589b4c309025/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123205007-5d6620a0db26 h1:acXfduibbWxji9tW0WkLHbjcXFsnd5uIwXe0WfwOazg=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123205007-5d6620a0db26/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200128164921-1d0bc5482051 h1:cS14MnUGS6xwWYfPNshimm8HdMCZiYBxWkCD0VnvgVw=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200128164921-1d0bc5482051/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327225449-368f4cbef8d7 h1:cZ+ahAjSetbFv3aDJ9ipDbKyqaVlmkbSZ5cULgBTh+w=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327225449-368f4cbef8d7/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327231942-7f80b3d02bfa h1:kG+O/wT9UXomzp5eQiUuFVZ0l7YylAW6EVPLyjMxi/c=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327231942-7f80b3d02bfa/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200328100657-2bfd5f8c6aee h1:PJZhCwnuVLyafDWNPSHk9iJvk6gEIvPRnycy7Pq3peA=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200328100657-2bfd5f8c6aee/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200518164958-62cbad03c40f h1:Ge3JACszSUyJW2Az9cJzWdo4PUqdijJA1RxoQSVMBSI=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200518164958-62cbad03c40f/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200518165806-0095b7b902a7 h1:Sy0hlWyZmFtdSY0Cobvw1ZYm3G1aR5+4DuFNRbMkh48=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200518165806-0095b7b902a7/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200711112515-b0dfe471654f h1:BWJyycs4HD7tUbaU8RIGeMay84bIBWRVVLE3yajPas4=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200711112515-b0dfe471654f/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
++github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3 h1:ShqzOFeeg54FPSuS6q8HSeTVgj2xNZRe/YS0jNbi21g=
++github.com/gohugoio/gohugoioTheme v0.0.0-20210301124928-2c15837dfec3/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=