diff --git a/archetypes/default.md b/archetypes/default.md index 0b7f8fdbf..42eb9e04e 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -3,7 +3,7 @@ title: "{{ replace .TranslationBaseName "-" " " | title }}" date: {{ .Date }} description: "" categories: [] -#tags: [] +keywords: [] slug: "" aliases: [] toc: false diff --git a/config.toml b/config.toml index 4ed86586a..9a09ef7c0 100644 --- a/config.toml +++ b/config.toml @@ -45,6 +45,20 @@ baseName = "_headers" isPlainText = true notAlternative = true +[related] + +threshold = 80 +includeNewer = true +toLower = false + +[[related.indices]] +name = "keywords" +weight = 100 +[[related.indices]] +name = "date" +weight = 10 +pattern = "2006" + [social] twitter = "GoHugoIO" @@ -52,7 +66,7 @@ twitter = "GoHugoIO" [params] description = "The world’s fastest framework for building websites" ## Used for views in rendered HTML (i.e., rather than using the .Hugo variable) - release = "0.26" + release = "0.27.1" ## Setting this to true will add a "noindex" to *EVERY* page on the site removefromexternalsearch = false ## Gh repo for site footer (include trailing slash) diff --git a/content/about/_index.md b/content/about/_index.md index 422eb1d05..8ed441b61 100644 --- a/content/about/_index.md +++ b/content/about/_index.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [] -#tags: [] +keywords: [] menu: docs: parent: "about" diff --git a/content/about/benefits.md b/content/about/benefits.md index 87d2f23b5..74c5dde39 100644 --- a/content/about/benefits.md +++ b/content/about/benefits.md @@ -5,7 +5,7 @@ description: Improved performance, security and ease of use are just a few of th date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [ssg,static,performance,security] +keywords: [ssg,static,performance,security] menu: docs: parent: "about" diff --git a/content/about/license.md b/content/about/license.md index 7575b79c8..a8e7c4abd 100644 --- a/content/about/license.md +++ b/content/about/license.md @@ -6,7 +6,7 @@ date: 2016-02-01 publishdate: 2016-02-01 lastmod: 2016-03-02 categories: ["about hugo"] -#tags: ["License","apache"] +keywords: ["License","apache"] menu: docs: parent: "about" diff --git a/content/about/roadmap.md b/content/about/roadmap.md index b69126a89..d4117fc21 100644 --- a/content/about/roadmap.md +++ b/content/about/roadmap.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [about hugo] -#tags: [about,contribute,roadmap] +keywords: [about,contribute,roadmap] menu: docs: parent: "about" @@ -42,7 +42,7 @@ Feel free to [contribute to Hugo's development][devcontribute], [improve Hugo's [doccontribute]: /contribute/documentation/ [hosting and deployment]: /hosting-and-deployment/ [migrate]: /tools/migrations/ -[milestones]: https://github.com/gohugoio/hugo/milestone/14 +[milestones]: https://github.com/gohugoio/hugo/milestones/ [newissue]: https://github.com/gohugoio/hugo/issues/ [related forum thread]: https://discourse.gohugo.io/t/web-based-editor/155 [themes]: /themes/ diff --git a/content/commands/_index.md b/content/commands/_index.md index a4ddd54f3..0bd5667f8 100644 --- a/content/commands/_index.md +++ b/content/commands/_index.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [commands] -#tags: [cli,command line] +keywords: [cli,command line] menu: docs: parent: "commands" diff --git a/content/content-management/_index.md b/content/content-management/_index.md index 96ff44d2f..a2fbce523 100644 --- a/content/content-management/_index.md +++ b/content/content-management/_index.md @@ -9,7 +9,7 @@ menu: docs: parent: "content-management" weight: 1 -#tags: [source, organization] +keywords: [source, organization] categories: [content management] weight: 01 #rem draft: false diff --git a/content/content-management/archetypes.md b/content/content-management/archetypes.md index 235de4ff2..c6b8bde76 100644 --- a/content/content-management/archetypes.md +++ b/content/content-management/archetypes.md @@ -5,7 +5,7 @@ description: Archetypes allow you to create new instances of content types and s date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [archetypes,generators,metadata,front matter] +keywords: [archetypes,generators,metadata,front matter] categories: ["content management"] menu: docs: @@ -29,7 +29,7 @@ See above **Archetypes** are content files in the [archetypes directory][] of your project that contain preconfigured [front matter][] for your website's [content types][]. Archetypes facilitate consistent metadata across your website content and allow content authors to quickly generate instances of a content type via the `hugo new` command. -{{< youtube S3Tj3UcTFz8 >}} +{{< youtube bcme8AzVh6o >}} The `hugo new` generator for archetypes assumes your working directory is the content folder at the root of your project. Hugo is able to infer the appropriate archetype by assuming the content type from the content section passed to the CLI command: @@ -94,7 +94,7 @@ Default archetypes are convenient if your content's front matter stays consisten ### Create the Default Archetype -When you create a new Hugo project using `hugo new site`, you'll notice that Hugo has already scaffolded a file at `archetypes/default.md`. +When you create a new Hugo project using `hugo new site`, you'll notice that Hugo has already scaffolded a file at `archetypes/default.md`. The following examples are from a site that's using `tags` and `categories` as [taxonomies][]. If we assume that all content files will require these two key-values, we can create a `default.md` archetype that *extends* Hugo's base archetype. In this example, we are including "golang" and "hugo" as tags and "web development" as a category. diff --git a/content/content-management/authors.md b/content/content-management/authors.md index 0a0d1799d..afc94fa62 100644 --- a/content/content-management/authors.md +++ b/content/content-management/authors.md @@ -5,7 +5,7 @@ description: date: 2016-08-22 publishdate: 2017-03-12 lastmod: 2017-03-12 -#tags: [authors] +keywords: [authors] categories: ["content management"] menu: docs: diff --git a/content/content-management/comments.md b/content/content-management/comments.md index 2db449738..355bf0042 100644 --- a/content/content-management/comments.md +++ b/content/content-management/comments.md @@ -5,7 +5,7 @@ description: Hugo ships with an internal Disqus template, but this isn't the onl date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-03-09 -#tags: [sections,content,organization] +keywords: [sections,content,organization] categories: [project organization, fundamentals] menu: docs: diff --git a/content/content-management/cross-references.md b/content/content-management/cross-references.md index 358152672..e0b32dbe2 100644 --- a/content/content-management/cross-references.md +++ b/content/content-management/cross-references.md @@ -5,7 +5,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-03-31 categories: [content management] -#tags: ["cross references","references", "anchors", "urls"] +keywords: ["cross references","references", "anchors", "urls"] menu: docs: parent: "content-management" diff --git a/content/content-management/formats.md b/content/content-management/formats.md index 1ff0784a2..ad5036a2f 100644 --- a/content/content-management/formats.md +++ b/content/content-management/formats.md @@ -6,7 +6,7 @@ date: 2017-01-10 publishdate: 2017-01-10 lastmod: 2017-04-06 categories: [content management] -#tags: [markdown,asciidoc,mmark,content format] +keywords: [markdown,asciidoc,mmark,content format] menu: docs: parent: "content-management" diff --git a/content/content-management/front-matter.md b/content/content-management/front-matter.md index 664b7f7f0..b9123db23 100644 --- a/content/content-management/front-matter.md +++ b/content/content-management/front-matter.md @@ -6,7 +6,7 @@ date: 2017-01-09 publishdate: 2017-01-09 lastmod: 2017-02-24 categories: [content management] -#tags: ["front matter", "yaml", "toml", "json", "metadata", "archetypes"] +keywords: ["front matter", "yaml", "toml", "json", "metadata", "archetypes"] menu: docs: parent: "content-management" @@ -19,6 +19,8 @@ toc: true **Front matter** allows you to keep metadata attached to an instance of a [content type][]---i.e., embedded inside a content file---and is one of the many features that gives Hugo its strength. +{{< youtube Yh2xKRJGff4 >}} + ## Front Matter Formats Hugo supports three formats for front matter, each with their own identifying tokens. diff --git a/content/content-management/menus.md b/content/content-management/menus.md index 364867c67..f5e2e1b5c 100644 --- a/content/content-management/menus.md +++ b/content/content-management/menus.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-03-31 categories: [content management] -#tags: [menus] +keywords: [menus] draft: false menu: docs: diff --git a/content/content-management/multilingual.md b/content/content-management/multilingual.md index 958634c58..48bed1bb0 100644 --- a/content/content-management/multilingual.md +++ b/content/content-management/multilingual.md @@ -6,7 +6,7 @@ date: 2017-01-10 publishdate: 2017-01-10 lastmod: 2017-01-10 categories: [content management] -#tags: [multilingual,i18n, internationalization] +keywords: [multilingual,i18n, internationalization] menu: docs: parent: "content-management" diff --git a/content/content-management/organization.md b/content/content-management/organization.md index 95fd3562a..eb884ee4e 100644 --- a/content/content-management/organization.md +++ b/content/content-management/organization.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [content management,fundamentals] -#tags: [sections,content,organization] +keywords: [sections,content,organization] menu: docs: parent: "content-management" @@ -24,6 +24,8 @@ This section is not updated with the new nested sections support in Hugo 0.24, s See above {{% /todo %}} +{{< youtube 0GZxidrlaRM >}} + ## Organization of Content Source In Hugo, your content should be organized in a manner that reflects the rendered website. diff --git a/content/content-management/related.md b/content/content-management/related.md new file mode 100644 index 000000000..8ae6e79ce --- /dev/null +++ b/content/content-management/related.md @@ -0,0 +1,138 @@ +--- +title: Related Content +description: List related content in "See Also" sections. +date: 2017-09-05 +categories: [content management] +keywords: [content] +menu: + docs: + parent: "content-management" + weight: 40 +weight: 30 +draft: false +aliases: [/content/related/,/related/] +toc: true +--- + +{{% note %}} +We currently do not index **Page content**. We thought we would release something that will make most people happy before we start solving [Sherlock's last case](https://github.com/joearms/sherlock). +{{% /note %}} + +## List Related Content + +To list up to 5 related pages is as simple as including something similar to this partial in your single page template: + +{{< code file="layouts/partials/related.html" >}} +{{ $related := .Site.RegularPages.Related . | first 5 }} +{{ with $related }} +

See Also

+ +{{ end }} +{{< /code >}} + +The full set of methods available on the page lists can bee seen in this Go interface: + +```go +// A PageGenealogist finds related pages in a page collection. This interface is implemented +// by Pages and PageGroup, which makes it available as `{{ .RegularPages.Related . }}` etc. +type PageGenealogist interface { + + // Template example: + // {{ $related := .RegularPages.Related . }} + Related(doc related.Document) (Pages, error) + + // Template example: + // {{ $related := .RegularPages.RelatedIndices . "tags" "date" }} + RelatedIndices(doc related.Document, indices ...interface{}) (Pages, error) + + // Template example: + // {{ $related := .RegularPages.RelatedTo ( keyVals "tags" "hugo" "rocks") ( keyVals "date" .Date ) }} + RelatedTo(args ...types.KeyValues) (Pages, error) +} +``` +## Configure Related Content +Hugo provides a sensible default configuration of Related Content, but you can fine-tune this in your configuration, on the global or language level if needed. + +{{% note %}} +If you add a `related` config section, you need to add a complete configuration. It is not possible to just set, say, `includeNewer` and use the rest from the Hugo defaults. +{{% /note %}} + +Below is a sample `config.toml` section: + +``` +[related] + +# Only include matches with rank >= threshold. This is a normalized rank between 0 and 100. +threshold = 80 + +# To get stable "See also" sections we, by default, exclude newer related pages. +includeNewer = false + +# Will lower case keywords in both queries and in the indexes. +toLower = false + +[[related.indices]] +name = "keywords" +weight = 150 +[[related.indices]] +name = "author" +toLower = true +weight = 30 +[[related.indices]] +name = "tags" +weight = 100 +[[related.indices]] +name = "date" +weight = 10 +pattern = "2006" +``` +### Top Level Config Options + +threshold +: A value between 0-100. Lower value will give more, but maybe not so relevant, matches. + +includeNewer +: Set to true to include **pages newer than the current page** in the related content listing. This will mean that the output for older posts may change as new related content gets added. + +toLower +: Set to true to lower case keywords in both the indexes and the queries. This may give more accurate results at a slight performance penalty. Note that this can also be set per index. + +### Config Options per Index + +name +: The index name. This value maps directly to a page param. Hugo supports string values (`author` in the example) and lists (`tags`, `keywords` etc.) and time and date objects. + +weight +: An integer weight that indicates _how important_ this parameter is relative to the other parameters. It can be 0, which has the effect of turning this index off, or even negative. Test with different values to see what fits your content best. + +pattern +: This is currently only relevant for dates. When listing related content, we may want to list content that is also close in time. Setting "2006" (default value for date indexes) as the pattern for a date index will add weight to pages published in the same year. For busier blogs, "200601" (year and month) may be a better default. + +toLower +: See above. + +## Performance Considerations + +**Fast is Hugo's middle name** and we would not have released this feature had it not been blistering fast. + +This feature has been in the back log and requested by many for a long time. The development got this recent kick start from this Twitter thread: + +{{< tweet 898398437527363585 >}} + +Scott S. Lowe removed the "Related Content" section built using the `intersect` template function on tags, and the build time dropped from 30 seconds to less than 2 seconds on his 1700 content page sized blog. + +He should now be able to add an improved version of that "Related Content" section without giving up the fast live-reloads. But it's worth noting that: + +* If you don't use any of the `Related` methods, you will not use the Relate Content feature, and performance will be the same as before. +* Calling `.RegularPages.Related` etc. will create one inverted index, also sometimes named posting list, that will be reused for any lookups in that same page collection. Doing that in addition to, as an example, calling `.Pages.Related` will work as expected, but will create one additional inverted index. This should still be very fast, but worth having in mind, especially for bigger sites. + + + + + + + diff --git a/content/content-management/sections.md b/content/content-management/sections.md index dcb0025d1..14fc04d64 100644 --- a/content/content-management/sections.md +++ b/content/content-management/sections.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [content management] -#tags: [lists,sections,content types,organization] +keywords: [lists,sections,content types,organization] menu: docs: parent: "content-management" diff --git a/content/content-management/shortcodes.md b/content/content-management/shortcodes.md index a4424a996..fdeb6fba1 100644 --- a/content/content-management/shortcodes.md +++ b/content/content-management/shortcodes.md @@ -12,7 +12,7 @@ menu: weight: 35 weight: 35 #rem categories: [content management] -#tags: [markdown,content,shortcodes] +keywords: [markdown,content,shortcodes] draft: false aliases: [/extras/shortcodes/] toc: true @@ -30,6 +30,8 @@ In addition to cleaner Markdown, shortcodes can be updated any time to reflect n ## Use Shortcodes +{{< youtube 2xkNJL4gJ9E >}} + In your content files, a shortcode can be called by calling `{{%/* shortcodename parameters */%}}`. Shortcode parameters are space delimited, and parameters with internal spaces can be quoted. The first word in the shortcode declaration is always the name of the shortcode. Parameters follow the name. Depending upon how the shortcode is defined, the parameters may be named, positional, or both, although you can't mix parameter types in a single call. The format for named parameters models that of HTML with the format `name="value"`. diff --git a/content/content-management/summaries.md b/content/content-management/summaries.md index eea976d0e..1c341400e 100644 --- a/content/content-management/summaries.md +++ b/content/content-management/summaries.md @@ -6,7 +6,7 @@ date: 2017-01-10 publishdate: 2017-01-10 lastmod: 2017-01-10 categories: [content management] -#tags: [summaries,abstracts,read more] +keywords: [summaries,abstracts,read more] menu: docs: parent: "content-management" diff --git a/content/content-management/taxonomies.md b/content/content-management/taxonomies.md index 409fe98d9..978814a26 100644 --- a/content/content-management/taxonomies.md +++ b/content/content-management/taxonomies.md @@ -5,7 +5,7 @@ description: Hugo includes support for user-defined taxonomies to help you demo date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [taxonomies,metadata,front matter,terms] +keywords: [taxonomies,metadata,front matter,terms] categories: [content management] menu: docs: @@ -32,7 +32,7 @@ Term Value : a piece of content assigned to a term -{{< youtube "-np9GX6cL38" >}} +{{< youtube pCPCQgqC8RA >}} ## Example Taxonomy: Movie Website diff --git a/content/content-management/toc.md b/content/content-management/toc.md index 13da764dc..f4e86d49e 100644 --- a/content/content-management/toc.md +++ b/content/content-management/toc.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [content management] -#tags: [table of contents, toc] +keywords: [table of contents, toc] menu: docs: parent: "content-management" diff --git a/content/content-management/types.md b/content/content-management/types.md index 5a469f999..f639313c0 100644 --- a/content/content-management/types.md +++ b/content/content-management/types.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [content management] -#tags: [lists,sections,content types,types,organization] +keywords: [lists,sections,content types,types,organization] menu: docs: parent: "content-management" diff --git a/content/content-management/urls.md b/content/content-management/urls.md index f6f8df11f..f7b8cba89 100644 --- a/content/content-management/urls.md +++ b/content/content-management/urls.md @@ -5,7 +5,7 @@ description: Hugo supports permalinks, aliases, link canonicalization, and multi date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-03-09 -#tags: [aliases,redirects,permalinks,urls] +keywords: [aliases,redirects,permalinks,urls] categories: [content management] menu: docs: diff --git a/content/contribute/_index.md b/content/contribute/_index.md index c28d90cdb..5e46ae287 100644 --- a/content/contribute/_index.md +++ b/content/contribute/_index.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [contribute] -#tags: [] +keywords: [] menu: docs: parent: "contribute" diff --git a/content/contribute/development.md b/content/contribute/development.md index 2e5b92fbd..81ede164c 100644 --- a/content/contribute/development.md +++ b/content/contribute/development.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [contribute] -#tags: [dev,open source] +keywords: [dev,open source] authors: [digitalcraftsman] menu: docs: diff --git a/content/contribute/documentation.md b/content/contribute/documentation.md index 80d7ad8d3..e717d4b72 100644 --- a/content/contribute/documentation.md +++ b/content/contribute/documentation.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [contribute] -#tags: [docs,documentation,community, contribute] +keywords: [docs,documentation,community, contribute] menu: docs: parent: "contribute" diff --git a/content/contribute/themes.md b/content/contribute/themes.md index 7055e94e8..2cd4a0da2 100644 --- a/content/contribute/themes.md +++ b/content/contribute/themes.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-27 categories: [contribute] -#tags: [contribute,themes,design] +keywords: [contribute,themes,design] authors: [digitalcraftsman] menu: docs: diff --git a/content/functions/GetPage.md b/content/functions/GetPage.md index b553d1845..669589c15 100644 --- a/content/functions/GetPage.md +++ b/content/functions/GetPage.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [sections,lists,indexes] +keywords: [sections,lists,indexes] signature: [".GetPage TYPE PATH"] workson: [] hugoversion: diff --git a/content/functions/NumFmt.md b/content/functions/NumFmt.md index 9940c47b7..795eaaea8 100644 --- a/content/functions/NumFmt.md +++ b/content/functions/NumFmt.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-08-21 categories: [functions] -#tags: [numbers] +keywords: [numbers] menu: docs: parent: "functions" diff --git a/content/functions/_index.md b/content/functions/_index.md index 7fe800da4..df10f2ae5 100644 --- a/content/functions/_index.md +++ b/content/functions/_index.md @@ -6,7 +6,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [] +keywords: [] menu: docs: parent: "functions" diff --git a/content/functions/abslangurl.md b/content/functions/abslangurl.md index 8a6f49854..418ff50fd 100644 --- a/content/functions/abslangurl.md +++ b/content/functions/abslangurl.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [multilingual,i18n,urls] +keywords: [multilingual,i18n,urls] signature: ["absLangURL INPUT"] workson: [] hugoversion: diff --git a/content/functions/absurl.md b/content/functions/absurl.md index 2e03ca49d..a31dbb0b4 100644 --- a/content/functions/absurl.md +++ b/content/functions/absurl.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [urls] +keywords: [urls] signature: ["absURL INPUT"] workson: [] hugoversion: diff --git a/content/functions/adddate.md b/content/functions/adddate.md index 8e16fc017..19eabff7f 100644 --- a/content/functions/adddate.md +++ b/content/functions/adddate.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [dates,time] +keywords: [dates,time] signature: [".AddDate YEARS MONTHS DAYS"] workson: [times] hugoversion: diff --git a/content/functions/after.md b/content/functions/after.md index 5da2562b4..f01ba1436 100644 --- a/content/functions/after.md +++ b/content/functions/after.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [iteration] +keywords: [iteration] signature: ["after INDEX COLLECTION"] workson: [] hugoversion: diff --git a/content/functions/apply.md b/content/functions/apply.md index 3a188606d..72066273e 100644 --- a/content/functions/apply.md +++ b/content/functions/apply.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [advanced] +keywords: [advanced] signature: ["apply COLLETION FUNCTION [PARAM...]"] workson: [] hugoversion: diff --git a/content/functions/base64.md b/content/functions/base64.md index df0874b21..2f0729b85 100644 --- a/content/functions/base64.md +++ b/content/functions/base64.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] relatedfuncs: [] signature: ["base64Decode INPUT", "base64Encode INPUT"] workson: [] diff --git a/content/functions/chomp.md b/content/functions/chomp.md index 678bc4340..04fd5e478 100644 --- a/content/functions/chomp.md +++ b/content/functions/chomp.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [trim] +keywords: [trim] signature: ["chomp INPUT"] workson: [] hugoversion: diff --git a/content/functions/countrunes.md b/content/functions/countrunes.md index 8e72602b9..8fdbdadb6 100644 --- a/content/functions/countrunes.md +++ b/content/functions/countrunes.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [counting, word count] +keywords: [counting, word count] signature: ["countrunes INPUT"] workson: [] hugoversion: diff --git a/content/functions/countwords.md b/content/functions/countwords.md index 5eba9ea7c..cf699b1b4 100644 --- a/content/functions/countwords.md +++ b/content/functions/countwords.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [counting, word count] +keywords: [counting, word count] signature: ["countwords INPUT"] workson: [] hugoversion: diff --git a/content/functions/dateformat.md b/content/functions/dateformat.md index 8f384060f..5a7afed97 100644 --- a/content/functions/dateformat.md +++ b/content/functions/dateformat.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [dates,time,strings] +keywords: [dates,time,strings] signature: ["dateFormat LAYOUT INPUT"] workson: [] hugoversion: diff --git a/content/functions/default.md b/content/functions/default.md index 0edcbf425..4f34ed37a 100644 --- a/content/functions/default.md +++ b/content/functions/default.md @@ -6,7 +6,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [defaults] +keywords: [defaults] categories: [functions] menu: docs: diff --git a/content/functions/delimit.md b/content/functions/delimit.md index 7bd7f4a6b..5a92f76e0 100644 --- a/content/functions/delimit.md +++ b/content/functions/delimit.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [iteration] +keywords: [iteration] toc: false signature: ["delimit COLLECTION DELIMIT LAST"] workson: [lists,taxonomies,terms] @@ -36,7 +36,7 @@ The examples of `delimit` that follow all use the same front matter: {{< code file="delimit-example-front-matter.toml" nocopy="true" >}} +++ title: I love Delimit -#tags: [ "tag1", "tag2", "tag3" ] +keywords: [ "tag1", "tag2", "tag3" ] +++ {{< /code >}} diff --git a/content/functions/dict.md b/content/functions/dict.md index 2ac15921b..9887dbaf9 100644 --- a/content/functions/dict.md +++ b/content/functions/dict.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [dictionary] +keywords: [dictionary] signature: ["dict KEY VALUE [KEY VALUE]..."] workson: [] hugoversion: diff --git a/content/functions/echoparam.md b/content/functions/echoparam.md index 2c68280c6..47e35f5c7 100644 --- a/content/functions/echoparam.md +++ b/content/functions/echoparam.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["echoParam DICTIONARY KEY"] workson: [] hugoversion: diff --git a/content/functions/emojify.md b/content/functions/emojify.md index dd7af4ad7..2e82d8a08 100644 --- a/content/functions/emojify.md +++ b/content/functions/emojify.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings,emojis] +keywords: [strings,emojis] signature: ["emojify INPUT"] workson: [] hugoversion: diff --git a/content/functions/eq.md b/content/functions/eq.md index 579c77368..77f75db37 100644 --- a/content/functions/eq.md +++ b/content/functions/eq.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [operators,logic] +keywords: [operators,logic] signature: ["eq ARG1 ARG2"] workson: [] hugoversion: diff --git a/content/functions/findRe.md b/content/functions/findRe.md index c92da1531..23817c575 100644 --- a/content/functions/findRe.md +++ b/content/functions/findRe.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [regex] +keywords: [regex] signature: ["findRE PATTERN INPUT [LIMIT]"] workson: [] hugoversion: diff --git a/content/functions/first.md b/content/functions/first.md index e4b77fc9a..29ba3ac1c 100644 --- a/content/functions/first.md +++ b/content/functions/first.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [iteration] +keywords: [iteration] signature: ["first LIMIT COLLECTION"] workson: [lists,taxonomies,terms,groups] hugoversion: diff --git a/content/functions/format.md b/content/functions/format.md index fb6a29c4f..89d74c241 100644 --- a/content/functions/format.md +++ b/content/functions/format.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [dates,time] +keywords: [dates,time] signature: [".Format FORMAT"] workson: [times] hugoversion: diff --git a/content/functions/ge.md b/content/functions/ge.md index 27d5171f9..ecc2a0223 100644 --- a/content/functions/ge.md +++ b/content/functions/ge.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [operators,logic] +keywords: [operators,logic] signature: ["ge ARG1 ARG2"] workson: [] hugoversion: diff --git a/content/functions/get.md b/content/functions/get.md index d94d52a84..4c01571a4 100644 --- a/content/functions/get.md +++ b/content/functions/get.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [shortcodes] +keywords: [shortcodes] signature: ["Get INDEX", "Get KEY"] workson: [] hugoversion: diff --git a/content/functions/getenv.md b/content/functions/getenv.md index 654bf0e06..8153cc07c 100644 --- a/content/functions/getenv.md +++ b/content/functions/getenv.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["getenv VARIABLE"] workson: [] hugoversion: diff --git a/content/functions/gt.md b/content/functions/gt.md index 073c3b2b9..75b5fff0f 100644 --- a/content/functions/gt.md +++ b/content/functions/gt.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [operators,logic] +keywords: [operators,logic] signature: ["gt ARG1 ARG2"] workson: [] hugoversion: diff --git a/content/functions/hasPrefix.md b/content/functions/hasPrefix.md index 2e1514b49..3deac60c3 100644 --- a/content/functions/hasPrefix.md +++ b/content/functions/hasPrefix.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["hasPrefix STRING PREFIX"] workson: [] hugoversion: diff --git a/content/functions/haschildren.md b/content/functions/haschildren.md index 7e2b1e474..ff1b796cc 100644 --- a/content/functions/haschildren.md +++ b/content/functions/haschildren.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [menus] +keywords: [menus] toc: signature: ["HasChildren"] workson: [menus] diff --git a/content/functions/hasmenucurrent.md b/content/functions/hasmenucurrent.md index d82e44dbb..eac41103e 100644 --- a/content/functions/hasmenucurrent.md +++ b/content/functions/hasmenucurrent.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [menus] +keywords: [menus] signature: ["HasMenuCurrent"] workson: [menus] hugoversion: diff --git a/content/functions/highlight.md b/content/functions/highlight.md index d6d8ba3e6..8796de4e8 100644 --- a/content/functions/highlight.md +++ b/content/functions/highlight.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [highlighting,pygments,code blocks,syntax] +keywords: [highlighting,pygments,code blocks,syntax] signature: ["highlight INPUT"] workson: [] hugoversion: diff --git a/content/functions/htmlEscape.md b/content/functions/htmlEscape.md index bbf31ce34..a1a2d6d55 100644 --- a/content/functions/htmlEscape.md +++ b/content/functions/htmlEscape.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings, html] +keywords: [strings, html] signature: ["htmlEscape INPUT"] workson: [] hugoversion: diff --git a/content/functions/htmlUnescape.md b/content/functions/htmlUnescape.md index 52f459129..d0ef7540c 100644 --- a/content/functions/htmlUnescape.md +++ b/content/functions/htmlUnescape.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["htmlUnescape INPUT"] workson: [] hugoversion: diff --git a/content/functions/humanize.md b/content/functions/humanize.md index e59f532a7..2b9a98132 100644 --- a/content/functions/humanize.md +++ b/content/functions/humanize.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings,casing] +keywords: [strings,casing] signature: ["humanize INPUT"] workson: [] hugoversion: diff --git a/content/functions/i18n.md b/content/functions/i18n.md index 26159dca2..c4b89c322 100644 --- a/content/functions/i18n.md +++ b/content/functions/i18n.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [internationalization,i18n,multilingual] +keywords: [internationalization,i18n,multilingual] signature: ["i18n KEY", "T KEY"] workson: [] hugoversion: diff --git a/content/functions/imageConfig.md b/content/functions/imageConfig.md index 8ae2f3acf..614d04711 100644 --- a/content/functions/imageConfig.md +++ b/content/functions/imageConfig.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [images] +keywords: [images] signature: ["imageConfig PATH"] workson: [] hugoversion: diff --git a/content/functions/in.md b/content/functions/in.md index 4e6ac75b2..d3a27bc87 100644 --- a/content/functions/in.md +++ b/content/functions/in.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["in SET ITEM"] workson: [] hugoversion: diff --git a/content/functions/index-function.md b/content/functions/index-function.md index da6b42c27..a0e0ff89c 100644 --- a/content/functions/index-function.md +++ b/content/functions/index-function.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["index COLLECTION INDEX", "index COLLECTION KEY"] workson: [] hugoversion: @@ -71,7 +71,7 @@ This is where the `index` function is needed. `index` takes 2 parameters in this The variable for `.Params.location` is a string and can therefore replace `oslo` in the example above: ``` -{{ index .Site.Data.authors .Params.author }} +{{ index .Site.Data.locations .Params.location }} => map[website:https://www.oslo.kommune.no pop_city:658390 pop_metro:1717900] ``` diff --git a/content/functions/int.md b/content/functions/int.md index 4ced74518..8f727b235 100644 --- a/content/functions/int.md +++ b/content/functions/int.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings,integers] +keywords: [strings,integers] signature: ["int INPUT"] workson: [] hugoversion: diff --git a/content/functions/intersect.md b/content/functions/intersect.md index 290fc93f1..a607ff217 100644 --- a/content/functions/intersect.md +++ b/content/functions/intersect.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["intersect SET1 SET2"] workson: [] hugoversion: diff --git a/content/functions/ismenucurrent.md b/content/functions/ismenucurrent.md index 16061aa55..647dcdcf0 100644 --- a/content/functions/ismenucurrent.md +++ b/content/functions/ismenucurrent.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [menus] +keywords: [menus] signature: ["IsMenuCurrent"] workson: [menus] hugoversion: diff --git a/content/functions/isset.md b/content/functions/isset.md index 340df49e2..8f2c3f7ad 100644 --- a/content/functions/isset.md +++ b/content/functions/isset.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["isset COLLECTION INDEX", "isset COLLECTION KEY"] workson: [] hugoversion: diff --git a/content/functions/jsonify.md b/content/functions/jsonify.md index 34902b0c1..5c670244f 100644 --- a/content/functions/jsonify.md +++ b/content/functions/jsonify.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings,json] +keywords: [strings,json] signature: ["jsonify INPUT"] workson: [] hugoversion: diff --git a/content/functions/last.md b/content/functions/last.md index 7aae04200..ea633837b 100644 --- a/content/functions/last.md +++ b/content/functions/last.md @@ -6,7 +6,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [] +keywords: [] categories: [functions] menu: docs: diff --git a/content/functions/le.md b/content/functions/le.md index f1167b985..054937f08 100644 --- a/content/functions/le.md +++ b/content/functions/le.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [operators,logic] +keywords: [operators,logic] signature: ["le ARG1 ARG2"] workson: [] hugoversion: diff --git a/content/functions/len.md b/content/functions/len.md index 927141d7f..b8e380e49 100644 --- a/content/functions/len.md +++ b/content/functions/len.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-04-18 categories: [functions] -#tags: [] +keywords: [] signature: ["len INPUT"] workson: [lists,taxonomies,terms] hugoversion: diff --git a/content/functions/lower.md b/content/functions/lower.md index 39bc214f3..a42081b68 100644 --- a/content/functions/lower.md +++ b/content/functions/lower.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings,casing] +keywords: [strings,casing] signature: ["lower INPUT"] workson: [] hugoversion: diff --git a/content/functions/lt.md b/content/functions/lt.md index 16d32b49b..288d59446 100644 --- a/content/functions/lt.md +++ b/content/functions/lt.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [operators,logic] +keywords: [operators,logic] signature: ["lt ARG1 ARG2"] workson: [] hugoversion: diff --git a/content/functions/markdownify.md b/content/functions/markdownify.md index f415cc1dc..50cf3e120 100644 --- a/content/functions/markdownify.md +++ b/content/functions/markdownify.md @@ -6,7 +6,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [markdown,content] +keywords: [markdown,content] categories: [functions] menu: docs: diff --git a/content/functions/math.md b/content/functions/math.md index 9a53473ec..a8b3bbcd7 100644 --- a/content/functions/math.md +++ b/content/functions/math.md @@ -5,7 +5,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [math, operators] +keywords: [math, operators] categories: [functions] menu: docs: diff --git a/content/functions/md5.md b/content/functions/md5.md index fac6f2dee..31197f218 100644 --- a/content/functions/md5.md +++ b/content/functions/md5.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["md5 INPUT"] workson: [] hugoversion: diff --git a/content/functions/ne.md b/content/functions/ne.md index 75d8b07b8..b672d730c 100644 --- a/content/functions/ne.md +++ b/content/functions/ne.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [operators,logic] +keywords: [operators,logic] signature: ["ne ARG1 ARG2"] workson: [] hugoversion: diff --git a/content/functions/now.md b/content/functions/now.md index 684e2cf00..fcd86231e 100644 --- a/content/functions/now.md +++ b/content/functions/now.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [dates,time] +keywords: [dates,time] signature: ["now"] workson: [] hugoversion: diff --git a/content/functions/param.md b/content/functions/param.md index f05edbff6..6e81bb025 100644 --- a/content/functions/param.md +++ b/content/functions/param.md @@ -5,7 +5,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-04-30 -#tags: ["front matter"] +keywords: ["front matter"] categories: [functions] menu: docs: diff --git a/content/functions/partialCached.md b/content/functions/partialCached.md index b9865da55..83ef5e2c3 100644 --- a/content/functions/partialCached.md +++ b/content/functions/partialCached.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["partialCached LAYOUT INPUT [VARIANT...]"] workson: [] hugoversion: diff --git a/content/functions/plainify.md b/content/functions/plainify.md index 1fd4b25a3..89e7880cd 100644 --- a/content/functions/plainify.md +++ b/content/functions/plainify.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["plainify INPUT"] workson: [] hugoversion: diff --git a/content/functions/pluralize.md b/content/functions/pluralize.md index e6a18097d..49ce39344 100644 --- a/content/functions/pluralize.md +++ b/content/functions/pluralize.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["pluralize INPUT"] workson: [] hugoversion: diff --git a/content/functions/printf.md b/content/functions/printf.md index 9b4ebe15d..dabb97c05 100644 --- a/content/functions/printf.md +++ b/content/functions/printf.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["printf FORMAT INPUT"] workson: [] hugoversion: diff --git a/content/functions/querify.md b/content/functions/querify.md index ef4f94b65..e90e07450 100644 --- a/content/functions/querify.md +++ b/content/functions/querify.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [urls] +keywords: [urls] godocref: signature: ["querify KEY VALUE [KEY VALUE]..."] hugoversion: diff --git a/content/functions/range.md b/content/functions/range.md index 3327768ba..d7efa0732 100644 --- a/content/functions/range.md +++ b/content/functions/range.md @@ -10,7 +10,7 @@ categories: [functions,fundamentals] menu: docs: parent: "functions" -#tags: [iteration] +keywords: [iteration] signature: ["range COLLECTION"] workson: [] hugoversion: diff --git a/content/functions/readdir.md b/content/functions/readdir.md index 5801e7aa1..21f626692 100644 --- a/content/functions/readdir.md +++ b/content/functions/readdir.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [files] +keywords: [files] signature: ["readDir PATH"] workson: [] hugoversion: diff --git a/content/functions/readfile.md b/content/functions/readfile.md index 418ff800b..cb03ac551 100644 --- a/content/functions/readfile.md +++ b/content/functions/readfile.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [files] +keywords: [files] signature: ["readFile PATH"] workson: [] hugoversion: diff --git a/content/functions/ref.md b/content/functions/ref.md index 1e01b08e5..54d938cd4 100644 --- a/content/functions/ref.md +++ b/content/functions/ref.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [cross references, anchors] +keywords: [cross references, anchors] signature: ["ref PAGE CONTENT"] workson: [] hugoversion: diff --git a/content/functions/relLangURL.md b/content/functions/relLangURL.md index 2df271746..7b70c1117 100644 --- a/content/functions/relLangURL.md +++ b/content/functions/relLangURL.md @@ -5,7 +5,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [multilingual,i18n,urls] +keywords: [multilingual,i18n,urls] categories: [functions] menu: docs: diff --git a/content/functions/relref.md b/content/functions/relref.md index c6ca757c0..26ebeef71 100644 --- a/content/functions/relref.md +++ b/content/functions/relref.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [cross references, anchors] +keywords: [cross references, anchors] signature: ["relref PAGE CONTENT"] workson: [] hugoversion: diff --git a/content/functions/relurl.md b/content/functions/relurl.md index 085c344f5..aa1536544 100644 --- a/content/functions/relurl.md +++ b/content/functions/relurl.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [urls] +keywords: [urls] signature: ["relURL INPUT"] workson: [] hugoversion: diff --git a/content/functions/render.md b/content/functions/render.md index 12b48dec9..a4abfa81d 100644 --- a/content/functions/render.md +++ b/content/functions/render.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [views] +keywords: [views] signature: ["render LAYOUT"] workson: [] hugoversion: diff --git a/content/functions/replace.md b/content/functions/replace.md index a3f7369c3..aeb19f296 100644 --- a/content/functions/replace.md +++ b/content/functions/replace.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["replace INPUT OLD NEW"] workson: [] hugoversion: diff --git a/content/functions/replacere.md b/content/functions/replacere.md index 9b04c8a33..0571c92b2 100644 --- a/content/functions/replacere.md +++ b/content/functions/replacere.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [regex] +keywords: [regex] signature: ["replaceRE PATTERN REPLACEMENT INPUT"] workson: [] hugoversion: diff --git a/content/functions/safeCSS.md b/content/functions/safeCSS.md index 345813937..11c10923b 100644 --- a/content/functions/safeCSS.md +++ b/content/functions/safeCSS.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [style,css,strings] +keywords: [style,css,strings] signature: ["safeCSS INPUT"] workson: [] hugoversion: diff --git a/content/functions/safeHTML.md b/content/functions/safeHTML.md index 4a473f5aa..5a59fc2cb 100644 --- a/content/functions/safeHTML.md +++ b/content/functions/safeHTML.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["safeHTML INPUT"] workson: [] hugoversion: diff --git a/content/functions/safeHTMLAttr.md b/content/functions/safeHTMLAttr.md index 7c4dcda6b..a5ecaa68b 100644 --- a/content/functions/safeHTMLAttr.md +++ b/content/functions/safeHTMLAttr.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["safeHTMLAttr INPUT"] workson: [] hugoversion: diff --git a/content/functions/safeJS.md b/content/functions/safeJS.md index 4d4beb622..e614e48bf 100644 --- a/content/functions/safeJS.md +++ b/content/functions/safeJS.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["safeJS INPUT"] workson: [] hugoversion: diff --git a/content/functions/safeURL.md b/content/functions/safeURL.md index b0b6c6787..cb9979cd3 100644 --- a/content/functions/safeURL.md +++ b/content/functions/safeURL.md @@ -5,7 +5,7 @@ godocref: https://golang.org/pkg/html/template/#HTMLEscape date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [strings,urls] +keywords: [strings,urls] categories: [functions] menu: docs: diff --git a/content/functions/scratch.md b/content/functions/scratch.md index 2dc858c99..a827db543 100644 --- a/content/functions/scratch.md +++ b/content/functions/scratch.md @@ -5,7 +5,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [iteration] +keywords: [iteration] categories: [functions] menu: docs: diff --git a/content/functions/seq.md b/content/functions/seq.md index dac5f00c9..8bef589c5 100644 --- a/content/functions/seq.md +++ b/content/functions/seq.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [] +keywords: [] signature: ["seq LAST", "seq FIRST LAST", "seq FIRST INCREMENT LAST"] workson: [] hugoversion: diff --git a/content/functions/sha.md b/content/functions/sha.md index 7b6ac6316..4e1243469 100644 --- a/content/functions/sha.md +++ b/content/functions/sha.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [sha,checksum] +keywords: [sha,checksum] signature: ["sha1 INPUT", "sha256 INPUT"] workson: [] hugoversion: diff --git a/content/functions/shuffle.md b/content/functions/shuffle.md index 376ca3a3d..9945ba752 100644 --- a/content/functions/shuffle.md +++ b/content/functions/shuffle.md @@ -6,7 +6,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-04-30 -#tags: [ordering] +keywords: [ordering] categories: [functions] menu: docs: diff --git a/content/functions/singularize.md b/content/functions/singularize.md index 6214cc914..885eae23d 100644 --- a/content/functions/singularize.md +++ b/content/functions/singularize.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings,singular] +keywords: [strings,singular] signature: ["singularize INPUT"] workson: [] hugoversion: diff --git a/content/functions/slice.md b/content/functions/slice.md index e71c3f988..c8847c0c2 100644 --- a/content/functions/slice.md +++ b/content/functions/slice.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [slice, array, interface] +keywords: [slice, array, interface] signature: ["slice ITEM..."] workson: [] hugoversion: diff --git a/content/functions/slicestr.md b/content/functions/slicestr.md index 38f4ba086..3d245de3d 100644 --- a/content/functions/slicestr.md +++ b/content/functions/slicestr.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["slicestr STRING START [END]"] workson: [] hugoversion: diff --git a/content/functions/sort.md b/content/functions/sort.md index c6e05cf30..b83e6b0bd 100644 --- a/content/functions/sort.md +++ b/content/functions/sort.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [ordering,sorting,lists] +keywords: [ordering,sorting,lists] signature: [] workson: [lists,taxonomies,terms,groups] hugoversion: @@ -23,7 +23,7 @@ A sorted array of map values will be returned with the keys eliminated. There ar ``` +++ -#tags: [ "tag3", "tag1", "tag2" ] +keywords: [ "tag3", "tag1", "tag2" ] +++ // Site config diff --git a/content/functions/split.md b/content/functions/split.md index cc95aedd4..c42f8eb9d 100644 --- a/content/functions/split.md +++ b/content/functions/split.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["split STRING DELIM"] workson: [] hugoversion: diff --git a/content/functions/string.md b/content/functions/string.md index 963647ae3..d1e1962de 100644 --- a/content/functions/string.md +++ b/content/functions/string.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["string INPUT"] workson: [] hugoversion: diff --git a/content/functions/substr.md b/content/functions/substr.md index 089698bb0..9dde05ec9 100644 --- a/content/functions/substr.md +++ b/content/functions/substr.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] aliases: [] signature: ["substr STRING START [LENGTH]"] workson: [] diff --git a/content/functions/time.md b/content/functions/time.md index 4f94128f6..306d32649 100644 --- a/content/functions/time.md +++ b/content/functions/time.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [dates,time] +keywords: [dates,time] signature: ["time INPUT"] workson: [] hugoversion: diff --git a/content/functions/title.md b/content/functions/title.md index d65552178..3c8032472 100644 --- a/content/functions/title.md +++ b/content/functions/title.md @@ -10,7 +10,7 @@ categories: [functions,fundamentals] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["title INPUT"] workson: [] hugoversion: diff --git a/content/functions/trim.md b/content/functions/trim.md index 448b5e23f..81ed05c60 100644 --- a/content/functions/trim.md +++ b/content/functions/trim.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["trim INPUT CUTSET"] workson: [] hugoversion: diff --git a/content/functions/truncate.md b/content/functions/truncate.md index 911133fa1..0336853c1 100644 --- a/content/functions/truncate.md +++ b/content/functions/truncate.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [strings] +keywords: [strings] signature: ["truncate SIZE INPUT", "truncate SIZE ELLIPSIS INPUT"] workson: [] hugoversion: 19 diff --git a/content/functions/union.md b/content/functions/union.md index ce4e42286..5c93e4bc7 100644 --- a/content/functions/union.md +++ b/content/functions/union.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [filtering,lists] +keywords: [filtering,lists] signature: ["union SET1 SET2"] workson: [] hugoversion: 0.20 diff --git a/content/functions/uniq.md b/content/functions/uniq.md index f4144a933..9692b247e 100644 --- a/content/functions/uniq.md +++ b/content/functions/uniq.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [multilingual,i18n,urls] +keywords: [multilingual,i18n,urls] signature: ["uniq SET"] workson: [] hugoversion: diff --git a/content/functions/unix.md b/content/functions/unix.md index 67ccf489b..a373475f6 100644 --- a/content/functions/unix.md +++ b/content/functions/unix.md @@ -6,7 +6,7 @@ godocref: https://golang.org/search?q=Unix#Functions date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [dates,time] +keywords: [dates,time] categories: [functions] menu: docs: diff --git a/content/functions/upper.md b/content/functions/upper.md index f12044663..2d75b37bd 100644 --- a/content/functions/upper.md +++ b/content/functions/upper.md @@ -6,7 +6,7 @@ godocref: date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [] +keywords: [] categories: [functions] menu: docs: diff --git a/content/functions/urlize.md b/content/functions/urlize.md index 712701a89..0fd7c2295 100644 --- a/content/functions/urlize.md +++ b/content/functions/urlize.md @@ -9,7 +9,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [urls,strings] +keywords: [urls,strings] godocref: signature: ["urlize INPUT"] hugoversion: diff --git a/content/functions/where.md b/content/functions/where.md index 4ba2b2325..262fd6ebc 100644 --- a/content/functions/where.md +++ b/content/functions/where.md @@ -10,7 +10,7 @@ categories: [functions] menu: docs: parent: "functions" -#tags: [filtering] +keywords: [filtering] signature: ["where COLLECTION KEY [OPERATOR] MATCH"] workson: [lists,taxonomies,terms,groups] hugoversion: diff --git a/content/functions/with.md b/content/functions/with.md index 271f56db7..1f2c4beb1 100644 --- a/content/functions/with.md +++ b/content/functions/with.md @@ -10,7 +10,7 @@ categories: [functions,fundamentals] menu: docs: parent: "functions" -#tags: [conditionals] +keywords: [conditionals] signature: ["with INPUT"] workson: [] hugoversion: diff --git a/content/getting-started/_index.md b/content/getting-started/_index.md index fd399173b..478d1eaa6 100644 --- a/content/getting-started/_index.md +++ b/content/getting-started/_index.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [getting started] -#tags: [usage,docs] +keywords: [usage,docs] menu: docs: parent: "getting-started" diff --git a/content/getting-started/configuration.md b/content/getting-started/configuration.md index 87b165a1b..b81d878b3 100644 --- a/content/getting-started/configuration.md +++ b/content/getting-started/configuration.md @@ -6,7 +6,7 @@ date: 2013-07-01 publishdate: 2017-01-02 lastmod: 2017-03-05 categories: [getting started,fundamentals] -#tags: [configuration,toml,yaml,json] +keywords: [configuration,toml,yaml,json] menu: docs: parent: "getting-started" diff --git a/content/getting-started/directory-structure.md b/content/getting-started/directory-structure.md index 2d1e121ba..b5dc9a2ff 100644 --- a/content/getting-started/directory-structure.md +++ b/content/getting-started/directory-structure.md @@ -6,7 +6,7 @@ date: 2017-01-02 publishdate: 2017-02-01 lastmod: 2017-03-09 categories: [getting started,fundamentals] -#tags: [source, organization, directories] +keywords: [source, organization, directories] menu: docs: parent: "getting-started" @@ -20,6 +20,8 @@ toc: true ## New Site Scaffolding +{{< youtube sB0HLHjgQ7E >}} + Running the `hugo new site` generator from the command line will create a directory structure with the following elements: ``` diff --git a/content/getting-started/installing.md b/content/getting-started/installing.md index 6485de4ec..69ba5b157 100644 --- a/content/getting-started/installing.md +++ b/content/getting-started/installing.md @@ -7,7 +7,7 @@ publishdate: 2016-11-01 lastmod: 2017-02-20 categories: [getting started,fundamentals] authors: ["Michael Henderson"] -#tags: [install,pc,windows,linux,macos,binary,tarball] +keywords: [install,pc,windows,linux,macos,binary,tarball] menu: docs: parent: "getting-started" @@ -121,6 +121,8 @@ Since building from source is appealing to more seasoned command line users, thi ### Install Hugo with Brew +{{< youtube WvhCGlLcrF8 >}} + #### Step 1: Install `brew` if you haven't already Go to the `brew` website, , and follow the directions there. The most important step is the installation from the command line: @@ -299,6 +301,8 @@ Then place the `hugo` executable somewhere in your `$PATH`. You're now ready to The following aims to be a complete guide to installing Hugo on your Windows PC. +{{< youtube G7umPCU-8xc >}} + ### Assumptions 1. You will use `C:\Hugo\Sites` as the starting point for your new project. diff --git a/content/getting-started/quick-start.md b/content/getting-started/quick-start.md index 5683087d6..59a8513c8 100644 --- a/content/getting-started/quick-start.md +++ b/content/getting-started/quick-start.md @@ -5,7 +5,7 @@ description: Create a Hugo site using the beautiful Ananke theme. date: 2013-07-01 publishdate: 2013-07-01 categories: [getting started] -#tags: [quick start,usage] +keywords: [quick start,usage] authors: [Shekhar Gulati, Ryan Watters] menu: docs: diff --git a/content/getting-started/usage.md b/content/getting-started/usage.md index 60882634d..39b8a4912 100644 --- a/content/getting-started/usage.md +++ b/content/getting-started/usage.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [getting started] -#tags: [usage,livereload,command line,flags] +keywords: [usage,livereload,command line,flags] menu: docs: parent: "getting-started" diff --git a/content/hosting-and-deployment/_index.md b/content/hosting-and-deployment/_index.md index c83594197..ea9f60f17 100644 --- a/content/hosting-and-deployment/_index.md +++ b/content/hosting-and-deployment/_index.md @@ -6,7 +6,7 @@ date: 2016-11-01 publishdate: 2016-11-01 lastmod: 2016-11-01 categories: [hosting and deployment] -#tags: [] +keywords: [] menu: docs: parent: "hosting-and-deployment" diff --git a/content/hosting-and-deployment/deployment-with-nanobox.md b/content/hosting-and-deployment/deployment-with-nanobox.md index c318155f9..3f76bd934 100644 --- a/content/hosting-and-deployment/deployment-with-nanobox.md +++ b/content/hosting-and-deployment/deployment-with-nanobox.md @@ -6,7 +6,7 @@ date: 2017-08-24 publishdate: 2017-08-24 lastmod: 2017-08-24 categories: [hosting and deployment] -#tags: [nanobox,deployment,hosting,aws,digitalocean,azure,google,linode] +keywords: [nanobox,deployment,hosting,aws,digitalocean,azure,google,linode] authors: [Steve Domino] menu: docs: diff --git a/content/hosting-and-deployment/deployment-with-rsync.md b/content/hosting-and-deployment/deployment-with-rsync.md index 509949c29..e8222ad54 100644 --- a/content/hosting-and-deployment/deployment-with-rsync.md +++ b/content/hosting-and-deployment/deployment-with-rsync.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [hosting and deployment] -#tags: [rsync,deployment] +keywords: [rsync,deployment] authors: [Adrien Poupin] menu: docs: diff --git a/content/hosting-and-deployment/deployment-with-wercker.md b/content/hosting-and-deployment/deployment-with-wercker.md index f0257f2d8..1cc0f3036 100644 --- a/content/hosting-and-deployment/deployment-with-wercker.md +++ b/content/hosting-and-deployment/deployment-with-wercker.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [hosting and deployment] -#tags: [wercker,deployment,github,git] +keywords: [wercker,deployment,github,git] authors: [Arjen Schwarz, Samuel Debruyn] menu: docs: @@ -136,13 +136,13 @@ To sign up for a free Wercker account, go to and click the ![][3] -### Registe for Wercker with Your GitHub Account +### Register for Wercker with Your GitHub Account Sign up for Wercker using your GitHub credentials. If you don't have a GitHub account, or don't want to use it for your account, you have the option to register with a username and password as well. However, the second half of this guide---devoted to hosting your website on GitHub pages---will no longer be of interest to you. ![][4] -### Connecte GitHub or Bitbucket +### Connect GitHub or Bitbucket After you are registered, you will need to link your GitHub or Bitbucket account to Wercker. You can link your account by navigating to your profile settings and then selecting "Git connections." diff --git a/content/hosting-and-deployment/hosting-on-bitbucket.md b/content/hosting-and-deployment/hosting-on-bitbucket.md index 0bee32d52..f66abed5d 100644 --- a/content/hosting-and-deployment/hosting-on-bitbucket.md +++ b/content/hosting-and-deployment/hosting-on-bitbucket.md @@ -6,7 +6,7 @@ date: 2017-02-04 publishdate: 2017-02-04 lastmod: 2017-02-04 categories: [hosting and deployment] -#tags: [hosting,bitbucket,deployment,aerobatic] +keywords: [hosting,bitbucket,deployment,aerobatic] authors: [Jason Gowans] menu: docs: diff --git a/content/hosting-and-deployment/hosting-on-firebase.md b/content/hosting-and-deployment/hosting-on-firebase.md index e1303651e..ef387cdce 100644 --- a/content/hosting-and-deployment/hosting-on-firebase.md +++ b/content/hosting-and-deployment/hosting-on-firebase.md @@ -6,7 +6,7 @@ date: 2017-03-12 publishdate: 2017-03-12 lastmod: 2017-03-15 categories: [hosting and deployment] -#tags: [hosting,firebase] +keywords: [hosting,firebase] authors: [Michel Racic] menu: docs: diff --git a/content/hosting-and-deployment/hosting-on-github.md b/content/hosting-and-deployment/hosting-on-github.md index 59433a9e7..d3d0385cd 100644 --- a/content/hosting-and-deployment/hosting-on-github.md +++ b/content/hosting-and-deployment/hosting-on-github.md @@ -6,7 +6,7 @@ date: 2014-03-21 publishdate: 2014-03-21 lastmod: 2017-03-30 categories: [hosting and deployment] -#tags: [github,git,deployment,hosting] +keywords: [github,git,deployment,hosting] authors: [Spencer Lyon, Gunnar Morling] menu: docs: diff --git a/content/hosting-and-deployment/hosting-on-gitlab.md b/content/hosting-and-deployment/hosting-on-gitlab.md index 00f2cd18d..05a9a2d56 100644 --- a/content/hosting-and-deployment/hosting-on-gitlab.md +++ b/content/hosting-and-deployment/hosting-on-gitlab.md @@ -6,7 +6,7 @@ date: 2016-06-23 publishdate: 2016-06-23 lastmod: 2016-06-23 categories: [hosting and deployment] -#tags: [hosting,deployment,git,gitlab] +keywords: [hosting,deployment,git,gitlab] authors: [Riku-Pekka Silvola] menu: docs: diff --git a/content/hosting-and-deployment/hosting-on-keycdn.md b/content/hosting-and-deployment/hosting-on-keycdn.md new file mode 100644 index 000000000..748796a3f --- /dev/null +++ b/content/hosting-and-deployment/hosting-on-keycdn.md @@ -0,0 +1,90 @@ +--- +title: "Hosting on KeyCDN" +date: 2017-09-12 +description: "Accelerate your Hugo site globally with a KeyCDN integration. This tutorial shows you how to setup your static site as a GitLab page behind a KeyCDN pull zone." +categories: [hosting and deployment] +keywords: [keycdn,hosting,deployment,cdn] +slug: "" +aliases: [] +toc: false +draft: false +--- + +[KeyCDN](https://www.keycdn.com/) provides a multitude of features to help accelerate and secure your Hugo site globally including Brotli compression, Let's Encrypt support, Origin Shield, and more. + +## Assumptions + +- You already have a Hugo page configured +- You have a GitLab account +- You have a KeyCDN account + +## Create a KeyCDN Pull Zone + +The first step will be to login to your KeyCDN account and create a new zone. Name this whatever you like and select the [Pull Zone](https://www.keycdn.com/support/create-a-pull-zone/) option. As for the the origin URL, your site will be running on [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/getting_started_part_one.html) with a URL of `https://youruser.gitlab.io/reponame/`. Use this as the Origin URL. + +![Screenshot of KeyCDN's pull zone creation page](/images/hosting-and-deployment/hosting-on-keycdn/keycdn-pull-zone.png) + +While the origin location doesn’t exist yet, you will need to use your new Zone URL address (or [Zonealias](https://www.keycdn.com/support/create-a-zonealias/)) in the `.gitlab-ci.yml` file that will be uploaded to your GitLab project. + +Ensure that you use your Zone URL or Zonealias as the `BASEURL` variable in the example below. This will be the user-visible website address. + +## Configure Your .gitlab-ci.yml File + +Your `.gitlab-ci.yml` file should look similar to the example below. Be sure to modify any variables that are specific to your setup. + +``` +image: alpine:latest + +variables: + BASEURL: "https://cipull-7bb7.kxcdn.com/" + HUGO_VERSION: "0.26" + HUGO_CHECKSUM: "67e4ba5ec2a02c8164b6846e30a17cc765b0165a5b183d5e480149baf54e1a50" + KEYCDN_ZONE_ID: "75544" + +before_script: + - apk update + - apk add curl + +pages: + stage: deploy + script: + - apk add git + - git submodule update --init + - curl -sSL https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz -o /tmp/hugo.tar.gz + - echo "${HUGO_CHECKSUM} /tmp/hugo.tar.gz" | sha256sum -c + - tar xf /tmp/hugo.tar.gz hugo -C /tmp/ && cp /tmp/hugo /usr/bin + - hugo --baseURL ${BASEURL} + - curl "https://api.keycdn.com/zones/purge/${KEYCDN_ZONE_ID}.json" -u "${KEYCDN_API_KEY}:" + artifacts: + paths: + - public + only: + - master + +``` +Using this integration method, you will have to specify the Zone ID and your [KeyCDN API](https://www.keycdn.com/api) key as secret variables. To do this, navigate to the top-left menu bar in GitLab and select Projects. Then, select your project and click on the Settings page. Finally, select Pipelines from the sub-menu and scroll down to the Secret Variable section. + +The Secret Variable for your Zone ID should look similar to: + +![Screenshot of setting the Zone ID secret variable](/images/hosting-and-deployment/hosting-on-keycdn/secret-zone-id.png) + +While the Secret Variable for your API Key will look similar to: + +![Screenshot of setting the API Key secret variable](/images/hosting-and-deployment/hosting-on-keycdn/secret-api-key.png) + +The Zone ID and API key are used to purge your zone – it’s not strictly needed but otherwise, the CDN might deliver older versions of your assets for quite a while. + +## Push Your Changes to GitLab + +Now it’s time to push the newly created repository to GitLab: + +``` +git remote add origin git@gitlab.com:youruser/ciexample.git +git push -u origin master +``` + +You can watch the progress and CI job output in your Gitlab project under “Pipelines”. + +After verifying your CI job ran without issues, first check that your GitLab page shows up under `https://youruser.gitlab.io/reponame/` (it might look broken depending on your browser settings as all links point to your KeyCDN zone – don’t worry about that) and then by heading to whatever Zonealias / Zone URL you defined. + +To learn more about Hugo hosting options with KeyCDN, check out the complete [Hugo hosting with KeyCDN integration guide](https://www.keycdn.com/support/hugo-hosting/). diff --git a/content/hosting-and-deployment/hosting-on-netlify.md b/content/hosting-and-deployment/hosting-on-netlify.md index ce10c4a5c..22a2b09cb 100644 --- a/content/hosting-and-deployment/hosting-on-netlify.md +++ b/content/hosting-and-deployment/hosting-on-netlify.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-03-11 categories: [hosting and deployment] -#tags: [netlify,hosting,deployment] +keywords: [netlify,hosting,deployment] authors: [Ryan Watters, Seth MacLeod] menu: docs: diff --git a/content/news/0.27-relnotes.md b/content/news/0.27-relnotes.md new file mode 100644 index 000000000..a4ead0816 --- /dev/null +++ b/content/news/0.27-relnotes.md @@ -0,0 +1,95 @@ + +--- +date: 2017-09-11 +title: "Hugo 0.27: Fast and Flexible Related Content!" +description: "Makes it easy to add \"See Also\" sections etc. to your site." +categories: ["Releases"] +images: +- images/blog/hugo-27-poster.png +--- + + +Hugo `0.27`comes with fast and flexible **Related Content** ([3b4f17bb](https://github.com/gohugoio/hugo/commit/3b4f17bbc9ff789faa581ac278ad109d1ac5b816) [@bep](https://github.com/bep) [#98](https://github.com/gohugoio/hugo/issues/98)). To add this to your site, put something like this in your single page template: + +```html +{{ $related := .Site.RegularPages.Related . | first 5 }} +{{ with $related }} +

See Also

+ +{{ end }} +``` + +The above translates to _list the five regular pages mostly related to the current page_. See the [Related Content Documentation](https://gohugo.io/content-management/related/) for details and configuration options. + +This release represents **37 contributions by 9 contributors** to the main Hugo code base. + +[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@moorereason](https://github.com/moorereason), [@yihui](https://github.com/yihui), and [@oneleaftea](https://github.com/oneleaftea) for their ongoing contributions. + +And as always a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) for his relentless work on keeping the documentation and the themes site in pristine condition. + +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), +which has received **44 contributions by 30 contributors**. A special thanks to [@bep](https://github.com/bep), [@sdomino](https://github.com/sdomino), [@gotgenes](https://github.com/gotgenes), and [@digitalcraftsman](https://github.com/digitalcraftsman) for their work on the documentation site. + + +Hugo now has: + +* 19464+ [stars](https://github.com/gohugoio/hugo/stargazers) +* 455+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors) +* 178+ [themes](http://themes.gohugo.io/) + +## Notes + +* We now only strip p tag in `markdownify` if there is only one paragraph. This allows blocks of paragraphs to be "markdownified" [33ae10b6](https://github.com/gohugoio/hugo/commit/33ae10b6ade67cd9618970121d7de5fd2ce7d781) [@bep](https://github.com/bep) [#3040](https://github.com/gohugoio/hugo/issues/3040) + +## Enhancements + +### Templates + +* Add `time.Duration` and `time.ParseDuration` template funcs [f4bf2141](https://github.com/gohugoio/hugo/commit/f4bf214137ebd24a0d12f16d3a98d9038e6eabd3) [@bep](https://github.com/bep) [#3828](https://github.com/gohugoio/hugo/issues/3828) +* Add `cond` (ternary) template func [0462c96a](https://github.com/gohugoio/hugo/commit/0462c96a5a9da3e8adc78d96acd39575a8b46c40) [@bep](https://github.com/bep) [#3860](https://github.com/gohugoio/hugo/issues/3860) +* Prepare for template metrics [d000cf60](https://github.com/gohugoio/hugo/commit/d000cf605091c6999b72d6c632752289bc680223) [@bep](https://github.com/bep) +* Add `strings.TrimLeft` and `TrimRight` [7674ad73](https://github.com/gohugoio/hugo/commit/7674ad73825c61eecc4003475fe0577f225fe579) [@moorereason](https://github.com/moorereason) +* compare, hugolib, tpl: Add `Eqer` interface [08f48b91](https://github.com/gohugoio/hugo/commit/08f48b91d68d3002b887ddf737456ff0cc4e786d) [@bep](https://github.com/bep) [#3807](https://github.com/gohugoio/hugo/issues/3807) +* Only strip p tag in `markdownify` if only one paragraph [33ae10b6](https://github.com/gohugoio/hugo/commit/33ae10b6ade67cd9618970121d7de5fd2ce7d781) [@bep](https://github.com/bep) [#3040](https://github.com/gohugoio/hugo/issues/3040) +* Cleanup `strings.TrimPrefix` and `TrimSuffix` [29a2da05](https://github.com/gohugoio/hugo/commit/29a2da0593b081cdd61b93c6328af2c9ea4eb20f) [@moorereason](https://github.com/moorereason) + +### Output + +* Improve the base template (aka `baseof.html`) identification [0019ce00](https://github.com/gohugoio/hugo/commit/0019ce002449d671a20a69406da37b10977f9493) [@bep](https://github.com/bep) + +### Core + +* Implement "related content" [3b4f17bb](https://github.com/gohugoio/hugo/commit/3b4f17bbc9ff789faa581ac278ad109d1ac5b816) [@bep](https://github.com/bep) [#98](https://github.com/gohugoio/hugo/issues/98) +* Add `Page.Equals` [f0f49ed9](https://github.com/gohugoio/hugo/commit/f0f49ed9b0c9b4545a45c95d56340fcbf4aafbef) [@bep](https://github.com/bep) +* Rewrite `replaceDivider` to reduce memory allocation [71ae9b45](https://github.com/gohugoio/hugo/commit/71ae9b4533083be185c5314c9c5b273cc3bd07bd) [@bep](https://github.com/bep) + + +### Other + +* Set up Hugo release flow on `CircleCI` [d2249c50](https://github.com/gohugoio/hugo/commit/d2249c50991ba7b00b092aca6e315ca1a4de75a1) [@bep](https://github.com/bep) [#3779](https://github.com/gohugoio/hugo/issues/3779) +* Maintain the scroll position if possible [7231d5a8](https://github.com/gohugoio/hugo/commit/7231d5a829f8d97336a2120afde1260db6ee6541) [@yihui](https://github.com/yihui) [#3824](https://github.com/gohugoio/hugo/issues/3824) +* Add an `iFrame` title to the `YouTube` shortcode [919bc921](https://github.com/gohugoio/hugo/commit/919bc9210a69c801c7304c0b529df93d1dca27aa) [@nraboy](https://github.com/nraboy) +* Remove the theme submodule from /docs [ea2cc26b](https://github.com/gohugoio/hugo/commit/ea2cc26b390476f1c605405604f8c92afd09b6ee) [@bep](https://github.com/bep) [#3791](https://github.com/gohugoio/hugo/issues/3791) +* Add support for multiple config files via `--config a.toml,b.toml,c.toml` [0f9f73cc](https://github.com/gohugoio/hugo/commit/0f9f73cce5c3f1f05be20bcf1d23b2332623d7f9) [@jgielstra](https://github.com/jgielstra) +* Render task list item inside `label` for correct accessibility [c8257f8b](https://github.com/gohugoio/hugo/commit/c8257f8b726478ca70dc8984cdcc17b31e4bdc0c) [@danieka](https://github.com/danieka) [#3303](https://github.com/gohugoio/hugo/issues/3303) +* Normalize `UniqueID` between Windows & Linux [0abdeeef](https://github.com/gohugoio/hugo/commit/0abdeeef6740a3cbba0db95374853d040f2022b8) [@Shywim](https://github.com/Shywim) + + +## Fixes + +### Output + +* Fix taxonomy term base template lookup [f88fe312](https://github.com/gohugoio/hugo/commit/f88fe312cb35f7de1615c095edd2f898303dd23b) [@bep](https://github.com/bep) [#3856](https://github.com/gohugoio/hugo/issues/3856) +* Fix `published` front matter handling [202510fd](https://github.com/gohugoio/hugo/commit/202510fdc92d52a20baeaa7edb1091f6882bd95f) [@bep](https://github.com/bep) [#3867](https://github.com/gohugoio/hugo/issues/3867) + + + + + + + + diff --git a/content/news/0.27.1-relnotes.md b/content/news/0.27.1-relnotes.md new file mode 100644 index 000000000..ae15973d4 --- /dev/null +++ b/content/news/0.27.1-relnotes.md @@ -0,0 +1,21 @@ + +--- +date: 2017-09-13 +title: "0.27.1: One bugfix" +description: "Hugo 0.27.1 fixes an issue introduced in Go 1.9 with HTML escaping of shortcodes in multi output sites." +categories: ["Releases"] +images: +- images/blog/hugo-bug-poster.png +--- + + + +This fixes a regression introduced in [Go 1.9](https://github.com/golang/go/issues/21844) which lead to HTML in shortcodes in multi output Hugo sites being wrongly escaped in some cases. + +* Fix escaped HTML Go 1.9 multioutput issue (#3880) [2d613dd9](https://github.com/gohugoio/hugo/commit/2d613dd905bb8eeb8af57e30ddd749a0f04fbd3c) [@bep](https://github.com/bep) [#3876](https://github.com/gohugoio/hugo/issues/3876) + +* Bump to Go 1.9 in the Snap build [642ba6ca](https://github.com/gohugoio/hugo/commit/642ba6cab24c558b16378178fe829cbc45845424) [@bep](https://github.com/bep) + + + + diff --git a/content/news/http2-server-push-in-hugo.md b/content/news/http2-server-push-in-hugo.md index 369d0b221..5ffb8843f 100644 --- a/content/news/http2-server-push-in-hugo.md +++ b/content/news/http2-server-push-in-hugo.md @@ -4,7 +4,7 @@ date: 2017-07-24T18:36:00+02:00 description: > As every page in Hugo can be output to multiple formats, it is easy to create Netlify's _redirects and _headers files on the fly. categories: [blog] -#tags: [] +keywords: [] slug: "http2-server-push-in-hugo" aliases: [] author: bep diff --git a/content/templates/404.md b/content/templates/404.md index 396be314d..8f6caa3ae 100644 --- a/content/templates/404.md +++ b/content/templates/404.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-03-31 categories: [templates] -#tags: [404, page not found] +keywords: [404, page not found] menu: docs: parent: "templates" diff --git a/content/templates/_index.md b/content/templates/_index.md index 4c4f35e8c..18ae40eac 100644 --- a/content/templates/_index.md +++ b/content/templates/_index.md @@ -11,7 +11,7 @@ menu: weight: 01 weight: 01 #rem categories: [templates] -#tags: [] +keywords: [] draft: false aliases: [/templates/overview/,/templates/content] toc: false diff --git a/content/templates/alternatives.md b/content/templates/alternatives.md index 52a238e5e..91de38488 100644 --- a/content/templates/alternatives.md +++ b/content/templates/alternatives.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-20 categories: [templates] -#tags: [amber,ace,templating languages] +keywords: [amber,ace,templating languages] menu: docs: parent: "templates" diff --git a/content/templates/base.md b/content/templates/base.md index 9433dc9f5..94d4cb2ef 100644 --- a/content/templates/base.md +++ b/content/templates/base.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates,fundamentals] -#tags: [blocks,base] +keywords: [blocks,base] menu: docs: parent: "templates" @@ -21,6 +21,8 @@ toc: true The `block` keyword allows you to define the outer shell of your pages' one or more master template(s) and then fill in or override portions as necessary. +{{< youtube QVOMCYitLEc >}} + ## Base Template Lookup Order The [lookup order][lookup] for base templates is as follows: diff --git a/content/templates/data-templates.md b/content/templates/data-templates.md index 5ca8c2877..5eac66a97 100644 --- a/content/templates/data-templates.md +++ b/content/templates/data-templates.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-03-12 categories: [templates] -#tags: [data,dynamic,csv,json,toml,yaml] +keywords: [data,dynamic,csv,json,toml,yaml] menu: docs: parent: "templates" @@ -22,6 +22,8 @@ toc: true Hugo supports loading data from YAML, JSON, and TOML files located in the `data` directory in the root of your Hugo project. +{{< youtube FyPgSuwIMWQ >}} + ## The Data Folder The `data` folder is where you can store additional data for Hugo to use when generating your site. Data files aren't used to generate standalone pages; rather, they're meant to be supplemental to content files. This feature can extend the content in case your front matter fields grow out of control. Or perhaps you want to show a larger dataset in a template (see example below). In both cases, it's a good idea to outsource the data in their own files. diff --git a/content/templates/files.md b/content/templates/files.md index ffe577233..7a0f40822 100644 --- a/content/templates/files.md +++ b/content/templates/files.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [files,directories] +keywords: [files,directories] menu: docs: parent: "templates" diff --git a/content/templates/homepage.md b/content/templates/homepage.md index c3ff08eb3..657432dbd 100644 --- a/content/templates/homepage.md +++ b/content/templates/homepage.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [homepage] +keywords: [homepage] menu: docs: parent: "templates" @@ -24,6 +24,8 @@ Homepage is a `Page` and therefore has all the [page variables][pagevars] and [s The homepage template is the *only* required template for building a site and therefore useful when bootstrapping a new site and template. It is also the only required template if you are developing a single-page website. {{% /note %}} +{{< youtube ut1xtRZ1QOA >}} + ## Homepage Template Lookup Order The [lookup order][lookup] for the homepage template is as follows: diff --git a/content/templates/internal.md b/content/templates/internal.md index 3d43913d4..20390c2f5 100644 --- a/content/templates/internal.md +++ b/content/templates/internal.md @@ -6,7 +6,7 @@ date: 2017-03-06 publishdate: 2017-03-06 lastmod: 2017-03-06 categories: [templates] -#tags: [internal, analytics,] +keywords: [internal, analytics,] menu: docs: parent: "templates" diff --git a/content/templates/introduction.md b/content/templates/introduction.md index 08ef0272e..26802a7f7 100644 --- a/content/templates/introduction.md +++ b/content/templates/introduction.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-25 categories: [templates,fundamentals] -#tags: [go] +keywords: [go] menu: docs: parent: "templates" @@ -25,6 +25,8 @@ The following is only a primer on Go templates. For an in-depth look into Go tem Go templates provide an extremely simple template language that adheres to the belief that only the most basic of logic belongs in the template or view layer. +{{< youtube gnJbPO-GFIw >}} + ## Basic Syntax Golang templates are HTML files with the addition of [variables][variables] and [functions][functions]. Golang template variables and functions are accessible within `{{ }}`. diff --git a/content/templates/lists.md b/content/templates/lists.md index 0e81d454c..dc7576ef8 100644 --- a/content/templates/lists.md +++ b/content/templates/lists.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [lists,sections,rss,taxonomies,terms] +keywords: [lists,sections,rss,taxonomies,terms] menu: docs: parent: "templates" @@ -20,6 +20,8 @@ toc: true ## What is a List Page Template? +{{< youtube 8b2YTSMdMps >}} + A list page template is a template used to render multiple pieces of content in a single HTML page. The exception to this rule is the homepage, which is still a list but has its own [dedicated template][homepage]. Hugo uses the term *list* in its truest sense; i.e. a sequential arrangement of material, especially in alphabetical or numerical order. Hugo uses list templates on any output HTML page where content is traditionally listed: diff --git a/content/templates/lookup-order.md b/content/templates/lookup-order.md index 3f4ff79a0..b3740696d 100644 --- a/content/templates/lookup-order.md +++ b/content/templates/lookup-order.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-05-25 categories: [templates,fundamentals] -#tags: [lookup] +keywords: [lookup] menu: docs: parent: "templates" diff --git a/content/templates/menu-templates.md b/content/templates/menu-templates.md index 30a1305e8..446710681 100644 --- a/content/templates/menu-templates.md +++ b/content/templates/menu-templates.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [lists,sections,menus] +keywords: [lists,sections,menus] menu: docs: parent: "templates" diff --git a/content/templates/ordering-and-grouping.md b/content/templates/ordering-and-grouping.md index c63e83b7e..37a355877 100644 --- a/content/templates/ordering-and-grouping.md +++ b/content/templates/ordering-and-grouping.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [] +keywords: [] menu: docs: parent: "templates" diff --git a/content/templates/output-formats.md b/content/templates/output-formats.md index db368cbe4..c8928bdb1 100644 --- a/content/templates/output-formats.md +++ b/content/templates/output-formats.md @@ -6,7 +6,7 @@ date: 2017-03-22 publishdate: 2017-03-22 lastmod: 2017-03-22 categories: [templates] -#tags: ["amp","outputs","rss"] +keywords: ["amp","outputs","rss"] menu: docs: parent: "templates" diff --git a/content/templates/pagination.md b/content/templates/pagination.md index 71205ff96..24d806ea6 100644 --- a/content/templates/pagination.md +++ b/content/templates/pagination.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [lists,sections,pagination] +keywords: [lists,sections,pagination] menu: docs: parent: "templates" diff --git a/content/templates/partials.md b/content/templates/partials.md index 6f8f0d841..0d2a9f479 100644 --- a/content/templates/partials.md +++ b/content/templates/partials.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [lists,sections,partials] +keywords: [lists,sections,partials] menu: docs: parent: "templates" @@ -18,6 +18,8 @@ aliases: [/templates/partial/,/layout/chrome/,/extras/analytics/] toc: true --- +{{< youtube pjS4pOLyB7c >}} + ## Partial Template Lookup Order Partial templates---like [single page templates][singletemps] and [list page templates][listtemps]---have a specific [lookup order][]. However, partials are simpler in that Hugo will only check in two places: diff --git a/content/templates/robots.md b/content/templates/robots.md index 2dad140f5..a76129f47 100644 --- a/content/templates/robots.md +++ b/content/templates/robots.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [robots,search engines] +keywords: [robots,search engines] menu: docs: parent: "templates" diff --git a/content/templates/rss.md b/content/templates/rss.md index 4d736c65e..7e2b662c4 100644 --- a/content/templates/rss.md +++ b/content/templates/rss.md @@ -5,7 +5,7 @@ description: Hugo ships with its own RSS 2.0 template that requires almost no co date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [rss, xml] +keywords: [rss, xml] categories: [templates] menu: docs: diff --git a/content/templates/section-templates.md b/content/templates/section-templates.md index 95b1b5ad5..1859d3df8 100644 --- a/content/templates/section-templates.md +++ b/content/templates/section-templates.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [lists,sections] +keywords: [lists,sections] menu: docs: parent: "templates" @@ -35,6 +35,8 @@ The [lookup order][lookup] for section templates is as follows: 7. `/themes//layouts/_default/section.html` 8. `/themes//layouts/_default/list.html` +{{< youtube jrMClsB3VsY >}} + ## `.Site.GetPage` with Sections Every `Page` in Hugo has a `.Kind` attribute. `Kind` can easily be combined with the [`where` function][where] in your templates to create kind-specific lists of content. This method is ideal for creating lists, but there are times where you may want to fetch just the index page of a single section via the section's path. diff --git a/content/templates/shortcode-templates.md b/content/templates/shortcode-templates.md index 65642ae61..596a96930 100644 --- a/content/templates/shortcode-templates.md +++ b/content/templates/shortcode-templates.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [shortcodes] +keywords: [shortcodes] menu: docs: parent: "templates" @@ -28,6 +28,8 @@ Hugo also ships with built-in shortcodes for common use cases. (See [Content Man Hugo's built-in shortcodes cover many common, but not all, use cases. Luckily, Hugo provides the ability to easily create custom shortcodes to meet your website's needs. +{{< youtube Eu4zSaKOY4A >}} + ### File Placement To create a shortcode, place an HTML template in the `layouts/shortcodes` directory of your [source organization][]. Consider the file name carefully since the shortcode name will mirror that of the file but without the `.html` extension. For example, `layouts/shortcodes/myshortcode.html` will be called with either `{{}}` or `{{%/* myshortcode /*/%}}` depending on the type of parameters you choose. @@ -105,7 +107,7 @@ The `.Params` variable in shortcodes contains the list parameters passed to shor `$.Page.Site.Params` : refers to global variables as defined in your [site's configuration file][config]. -#### `.IsNameParams` +#### `.IsNamedParams` The `.IsNamedParams` variable checks whether the shortcode declaration uses named parameters and returns a boolean value. diff --git a/content/templates/single-page-templates.md b/content/templates/single-page-templates.md index cb86b36aa..41320cf63 100644 --- a/content/templates/single-page-templates.md +++ b/content/templates/single-page-templates.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-04-06 categories: [templates] -#tags: [page] +keywords: [page] menu: docs: parent: "templates" @@ -35,6 +35,8 @@ Hugo assumes your content section and content type are the same unless you tell 9. `/themes//layouts/
/single.html` 10. `/themes//layouts/_default/single.html` +{{< youtube ZYQ5k0RQzmo >}} + ## Example Single Page Templates Content pages are of the type `page` and will therefore have all the [page variables][pagevars] and [site variables][] available to use in their templates. diff --git a/content/templates/sitemap-template.md b/content/templates/sitemap-template.md index 43bd7ff39..309d85e75 100644 --- a/content/templates/sitemap-template.md +++ b/content/templates/sitemap-template.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [sitemap, xml] +keywords: [sitemap, xml] menu: docs: parent: "templates" diff --git a/content/templates/taxonomy-templates.md b/content/templates/taxonomy-templates.md index 5cb0f3346..1b65663f3 100644 --- a/content/templates/taxonomy-templates.md +++ b/content/templates/taxonomy-templates.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [taxonomies,metadata,front matter,terms] +keywords: [taxonomies,metadata,front matter,terms] menu: docs: parent: "templates" diff --git a/content/templates/template-debugging.md b/content/templates/template-debugging.md index 1905f6db6..e94a073af 100644 --- a/content/templates/template-debugging.md +++ b/content/templates/template-debugging.md @@ -7,7 +7,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [debugging,troubleshooting] +keywords: [debugging,troubleshooting] menu: docs: parent: "templates" diff --git a/content/templates/views.md b/content/templates/views.md index c8e003bd1..ac863646b 100644 --- a/content/templates/views.md +++ b/content/templates/views.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [templates] -#tags: [views] +keywords: [views] menu: docs: parent: "templates" diff --git a/content/themes/_index.md b/content/themes/_index.md index 10579db1e..9e2bc170b 100644 --- a/content/themes/_index.md +++ b/content/themes/_index.md @@ -12,7 +12,7 @@ menu: weight: 01 sections_weight: 01 categories: [themes] -#tags: [themes,introduction,overview] +keywords: [themes,introduction,overview] draft: false aliases: [/themes/overview/] toc: false diff --git a/content/themes/creating.md b/content/themes/creating.md index d6477f00d..a62f7c71b 100644 --- a/content/themes/creating.md +++ b/content/themes/creating.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [themes] -#tags: [themes, source, organization, directories] +keywords: [themes, source, organization, directories] menu: docs: parent: "themes" diff --git a/content/themes/customizing.md b/content/themes/customizing.md index 1c82b2b71..3444880f2 100644 --- a/content/themes/customizing.md +++ b/content/themes/customizing.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [themes] -#tags: [themes, source, organization, directories] +keywords: [themes, source, organization, directories] menu: docs: parent: "themes" diff --git a/content/themes/installing-and-using-themes.md b/content/themes/installing-and-using-themes.md index 4d2be5b71..93d814231 100644 --- a/content/themes/installing-and-using-themes.md +++ b/content/themes/installing-and-using-themes.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [themes] -#tags: [install, themes, source, organization, directories,usage] +keywords: [install, themes, source, organization, directories,usage] menu: docs: parent: "themes" @@ -30,6 +30,8 @@ Hugo currently doesn’t ship with a “default” theme. This decision is inten ## Install Themes +{{< youtube L34JL_3Jkyc >}} + The community-contributed themes featured on [themes.gohugo.io](//themes.gohugo.io/) are hosted in a [centralized GitHub repository][themesrepo]. The Hugo Themes Repo at is really a meta repository that contains pointers to a set of contributed themes. {{% warning "Get `git` First" %}} diff --git a/content/tools/_index.md b/content/tools/_index.md index 7c3e66aa8..47cfeb1e3 100644 --- a/content/tools/_index.md +++ b/content/tools/_index.md @@ -6,7 +6,7 @@ date: 2016-12-05 publishdate: 2016-12-05 lastmod: 2017-02-26 categories: [developer tools] -#tags: [] +keywords: [] menu: docs: parent: "tools" diff --git a/content/tools/editors.md b/content/tools/editors.md index f98a7d36c..351ee84c7 100644 --- a/content/tools/editors.md +++ b/content/tools/editors.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [developer tools] -#tags: [editor, plug-ins] +keywords: [editor, plug-ins] menu: docs: parent: "tools" diff --git a/content/tools/frontends.md b/content/tools/frontends.md index d0c6b3168..ecfce2d18 100644 --- a/content/tools/frontends.md +++ b/content/tools/frontends.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [developer tools] -#tags: [frontend,gui] +keywords: [frontend,gui] menu: docs: parent: "tools" diff --git a/content/tools/migrations.md b/content/tools/migrations.md index 227bdd222..e739db9f9 100644 --- a/content/tools/migrations.md +++ b/content/tools/migrations.md @@ -5,7 +5,7 @@ description: A list of community-developed tools for migrating from your existin date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [migrations,jekyll,wordpress,drupal,ghost,contentful] +keywords: [migrations,jekyll,wordpress,drupal,ghost,contentful] menu: docs: parent: "tools" diff --git a/content/tools/other.md b/content/tools/other.md index 5f3036a9c..0502e1cdf 100644 --- a/content/tools/other.md +++ b/content/tools/other.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [developer tools] -#tags: [frontend,gui] +keywords: [frontend,gui] menu: docs: parent: "tools" diff --git a/content/tools/search.md b/content/tools/search.md index dac345a13..a7475b7c8 100644 --- a/content/tools/search.md +++ b/content/tools/search.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-26 categories: [developer tools] -#tags: [search,tools] +keywords: [search,tools] menu: docs: parent: "tools" diff --git a/content/tools/starter-kits.md b/content/tools/starter-kits.md index 5d43d4e4d..be0d1841b 100644 --- a/content/tools/starter-kits.md +++ b/content/tools/starter-kits.md @@ -5,7 +5,7 @@ description: A list of community-developed projects designed to help you get up date: 2017-02-22 publishdate: 2017-02-01 lastmod: 2017-02-22 -#tags: [starters,assets,pipeline] +keywords: [starters,assets,pipeline] menu: docs: parent: "tools" diff --git a/content/tools/syntax-highlighting.md b/content/tools/syntax-highlighting.md index d927e0bf2..e45236cee 100644 --- a/content/tools/syntax-highlighting.md +++ b/content/tools/syntax-highlighting.md @@ -5,7 +5,7 @@ description: Hugo provides server-side syntax highlighting via Pygments and, lik date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [highlighting,pygments,code blocks,syntax] +keywords: [highlighting,pygments,code blocks,syntax] categories: [developer tools] menu: docs: @@ -103,7 +103,7 @@ The keywords in the `highlight` shortcode mirror those of Pygments from the comm It is also possible to add syntax highlighting with GitHub flavored code fences. To enable this, set the `PygmentsCodeFences` to `true` in Hugo's [configuration file](/getting-started/configuration/); -``` +```` ```
@@ -114,7 +114,7 @@ It is also possible to add syntax highlighting with GitHub flavored code fences.
``` -``` +```` {{% note "Disclaimers on Pygments" %}} * Pygments is relatively slow and _causes a performance hit when building your site_, but Hugo has been designed to cache the results to disk. diff --git a/content/troubleshooting/accented-characters-in-urls.md b/content/troubleshooting/accented-characters-in-urls.md index a902377c1..4fd6841fe 100644 --- a/content/troubleshooting/accented-characters-in-urls.md +++ b/content/troubleshooting/accented-characters-in-urls.md @@ -5,7 +5,7 @@ description: If you're having trouble with special characters in your taxonomies date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 -#tags: [urls,multilingual,special characters] +keywords: [urls,multilingual,special characters] categories: [troubleshooting] menu: docs: diff --git a/content/troubleshooting/build-performance.md b/content/troubleshooting/build-performance.md index 89225cbc5..1718875fc 100644 --- a/content/troubleshooting/build-performance.md +++ b/content/troubleshooting/build-performance.md @@ -5,7 +5,7 @@ description: date: 2017-03-12 publishdate: 2017-03-12 lastmod: 2017-03-12 -#tags: [performance, build] +keywords: [performance, build] categories: [troubleshooting] menu: docs: diff --git a/content/troubleshooting/eof-error.md b/content/troubleshooting/eof-error.md index da1b827fe..12b7aadaa 100644 --- a/content/troubleshooting/eof-error.md +++ b/content/troubleshooting/eof-error.md @@ -9,7 +9,7 @@ categories: [troubleshooting] menu: docs: parent: "troubleshooting" -#tags: [eof, end of file, error, faqs] +keywords: [eof, end of file, error, faqs] draft: false weight: aliases: [/troubleshooting/strange-eof-error/] diff --git a/content/variables/_index.md b/content/variables/_index.md index 8e53af553..382ee25d4 100644 --- a/content/variables/_index.md +++ b/content/variables/_index.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [variables and params] -#tags: [variables,params,values,globals] +keywords: [variables,params,values,globals] draft: false menu: docs: diff --git a/content/variables/files.md b/content/variables/files.md index dd6c6efc2..45bc03b6d 100644 --- a/content/variables/files.md +++ b/content/variables/files.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [variables and params] -#tags: [files] +keywords: [files] draft: false menu: docs: diff --git a/content/variables/git.md b/content/variables/git.md index 97ecb3c61..6ed752dad 100644 --- a/content/variables/git.md +++ b/content/variables/git.md @@ -6,7 +6,7 @@ date: 2017-03-12 publishdate: 2017-03-12 lastmod: 2017-03-12 categories: [variables and params] -#tags: [git] +keywords: [git] draft: false menu: docs: diff --git a/content/variables/hugo.md b/content/variables/hugo.md index da83a91f7..55b80f8c2 100644 --- a/content/variables/hugo.md +++ b/content/variables/hugo.md @@ -6,7 +6,7 @@ date: 2017-03-12 publishdate: 2017-03-12 lastmod: 2017-03-12 categories: [variables and params] -#tags: [hugo,generator] +keywords: [hugo,generator] draft: false menu: docs: diff --git a/content/variables/menus.md b/content/variables/menus.md index 3f3f8fb33..f510d6a98 100644 --- a/content/variables/menus.md +++ b/content/variables/menus.md @@ -6,7 +6,7 @@ date: 2017-03-12 publishdate: 2017-03-12 lastmod: 2017-03-12 categories: [variables and params] -#tags: [menus] +keywords: [menus] draft: false menu: docs: diff --git a/content/variables/page.md b/content/variables/page.md index 58c4d2110..0e1313bbd 100644 --- a/content/variables/page.md +++ b/content/variables/page.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [variables and params] -#tags: [pages] +keywords: [pages] draft: false menu: docs: diff --git a/content/variables/shortcodes.md b/content/variables/shortcodes.md index c3a3f920b..cd9d01463 100644 --- a/content/variables/shortcodes.md +++ b/content/variables/shortcodes.md @@ -6,7 +6,7 @@ date: 2017-03-12 publishdate: 2017-03-12 lastmod: 2017-03-12 categories: [variables and params] -#tags: [shortcodes] +keywords: [shortcodes] draft: false menu: docs: diff --git a/content/variables/site.md b/content/variables/site.md index 447a21fc3..7e958b217 100644 --- a/content/variables/site.md +++ b/content/variables/site.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [variables and params] -#tags: [global,site] +keywords: [global,site] draft: false menu: docs: diff --git a/content/variables/sitemap.md b/content/variables/sitemap.md index da4c12e74..5eda0e280 100644 --- a/content/variables/sitemap.md +++ b/content/variables/sitemap.md @@ -6,7 +6,7 @@ date: 2017-03-12 publishdate: 2017-03-12 lastmod: 2017-03-12 categories: [variables and params] -#tags: [sitemap] +keywords: [sitemap] draft: false menu: docs: diff --git a/content/variables/taxonomy.md b/content/variables/taxonomy.md index ef20156b4..18a978e8d 100644 --- a/content/variables/taxonomy.md +++ b/content/variables/taxonomy.md @@ -6,7 +6,7 @@ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 categories: [variables and params] -#tags: [taxonomies,terms] +keywords: [taxonomies,terms] draft: false menu: docs: diff --git a/netlify.toml b/netlify.toml index c556acabf..d7d7971b1 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,15 +3,15 @@ command = "hugo" [context.production.environment] - HUGO_VERSION = "0.26" + HUGO_VERSION = "0.27.1" HUGO_ENV = "production" HUGO_ENABLEGITINFO = "true" [context.deploy-preview.environment] - HUGO_VERSION = "0.26" + HUGO_VERSION = "0.27.1" [context.branch-deploy.environment] - HUGO_VERSION = "0.26" + HUGO_VERSION = "0.27.1" [context.next.environment] HUGO_BASEURL = "https://next--gohugoio.netlify.com/" diff --git a/static/images/blog/hugo-27-poster.png b/static/images/blog/hugo-27-poster.png new file mode 100644 index 000000000..69efa36bc Binary files /dev/null and b/static/images/blog/hugo-27-poster.png differ diff --git a/static/images/blog/hugo-bug-poster.png b/static/images/blog/hugo-bug-poster.png new file mode 100644 index 000000000..cd236682d Binary files /dev/null and b/static/images/blog/hugo-bug-poster.png differ diff --git a/static/images/hosting-and-deployment/hosting-on-keycdn/keycdn-pull-zone.png b/static/images/hosting-and-deployment/hosting-on-keycdn/keycdn-pull-zone.png new file mode 100644 index 000000000..3cfc61138 Binary files /dev/null and b/static/images/hosting-and-deployment/hosting-on-keycdn/keycdn-pull-zone.png differ diff --git a/static/images/hosting-and-deployment/hosting-on-keycdn/secret-api-key.png b/static/images/hosting-and-deployment/hosting-on-keycdn/secret-api-key.png new file mode 100644 index 000000000..26ac44857 Binary files /dev/null and b/static/images/hosting-and-deployment/hosting-on-keycdn/secret-api-key.png differ diff --git a/static/images/hosting-and-deployment/hosting-on-keycdn/secret-zone-id.png b/static/images/hosting-and-deployment/hosting-on-keycdn/secret-zone-id.png new file mode 100644 index 000000000..c0ef6c571 Binary files /dev/null and b/static/images/hosting-and-deployment/hosting-on-keycdn/secret-zone-id.png differ diff --git a/themes/gohugoioTheme/layouts/_default/single.html b/themes/gohugoioTheme/layouts/_default/single.html index 39fb77c75..8cd289624 100755 --- a/themes/gohugoioTheme/layouts/_default/single.html +++ b/themes/gohugoioTheme/layouts/_default/single.html @@ -11,6 +11,7 @@
{{ .Render "page" }} + {{ partial "related.html" . }}
diff --git a/themes/gohugoioTheme/layouts/partials/related.html b/themes/gohugoioTheme/layouts/partials/related.html new file mode 100644 index 000000000..fb11699af --- /dev/null +++ b/themes/gohugoioTheme/layouts/partials/related.html @@ -0,0 +1,9 @@ +{{ $related := .Site.RegularPages.Related . | first 5 }} +{{ with $related }} +

See Also

+ +{{ end }} \ No newline at end of file