content: Adjust Markdown to pass linter tests

This commit is contained in:
Joe Mooring
2025-08-17 21:02:46 -07:00
committed by GitHub
parent 1d9d568974
commit b17999021d
83 changed files with 253 additions and 289 deletions
+2
View File
@@ -10,4 +10,6 @@ jobs:
uses: actions/checkout@v5
- name: Run Markdown linter
uses: DavidAnson/markdownlint-cli2-action@v20
with:
globs: # set to null to override default of *.{md,markdown}
continue-on-error: false
+1 -1
View File
@@ -1,6 +1,6 @@
# Glob patterns to include
globs:
- "content/**/*.md"
- "content/**/*.md" # the
# Glob patterns to exclude
ignores:
+8 -7
View File
@@ -8,6 +8,7 @@ params
```go-html-template
{{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api")) }}
```
And then in your JS file:
```js
@@ -21,10 +22,10 @@ minify
loaders
: {{< new-in 0.140.0 />}}
: (`map`) Configuring a loader for a given file type lets you load that file type with an `import` statement or a `require` call. For example, configuring the `.png` file extension to use the data URL loader means importing a `.png` file gives you a data URL containing the contents of that image. Loaders available are `none`, `base64`, `binary`, `copy`, `css`, `dataurl`, `default`, `empty`, `file`, `global-css`, `js`, `json`, `jsx`, `local-css`, `text`, `ts`, `tsx`. See https://esbuild.github.io/api/#loader.
: (`map`) Configuring a loader for a given file type lets you load that file type with an `import` statement or a `require` call. For example, configuring the `.png` file extension to use the data URL loader means importing a `.png` file gives you a data URL containing the contents of that image. Loaders available are `none`, `base64`, `binary`, `copy`, `css`, `dataurl`, `default`, `empty`, `file`, `global-css`, `js`, `json`, `jsx`, `local-css`, `text`, `ts`, `tsx`. See <https://esbuild.github.io/api/#loader>.
inject
: (`slice`) This option allows you to automatically replace a global variable with an import from another file. The path names must be relative to `assets`. See https://esbuild.github.io/api/#inject.
: (`slice`) This option allows you to automatically replace a global variable with an import from another file. The path names must be relative to `assets`. See <https://esbuild.github.io/api/#inject>.
shims
: (`map`) This option allows swapping out a component with another. A common use case is to load dependencies like React from a CDN (with _shims_) when in production, but running with the full bundled `node_modules` dependency during development:
@@ -58,10 +59,10 @@ target
platform
: {{< new-in 0.140.0 />}}
: (`string`) One of `browser`, `node`, `neutral`. Default is `browser`. See https://esbuild.github.io/api/#platform.
: (`string`) One of `browser`, `node`, `neutral`. Default is `browser`. See <https://esbuild.github.io/api/#platform>.
externals
: (`slice`) External dependencies. Use this to trim dependencies you know will never be executed. See https://esbuild.github.io/api/#external.
: (`slice`) External dependencies. Use this to trim dependencies you know will never be executed. See <https://esbuild.github.io/api/#external>.
defines
: (`map`) This option allows you to define a set of string replacements to be performed when building. It must be a map where each key will be replaced by its value.
@@ -73,7 +74,7 @@ defines
drop
: {{< new-in 0.144.0 />}}
: (`string`) Edit your source code before building to drop certain constructs: One of `debugger` or `console`.
: See https://esbuild.github.io/api/#drop
: See <https://esbuild.github.io/api/#drop>
sourceMap
: (`string`) Whether to generate `inline`, `linked`, or `external` source maps from esbuild. Linked and external source maps will be written to the target with the output file name + ".map". When `linked` a `sourceMappingURL` will also be written to the output file. By default, source maps are not created. Note that the `linked` option was added in Hugo 0.140.0.
@@ -84,11 +85,11 @@ sourcesContent
JSX
: {{< new-in 0.124.0 />}}
: (`string`) How to handle/transform JSX syntax. One of: `transform`, `preserve`, `automatic`. Default is `transform`. Notably, the `automatic` transform was introduced in React 17+ and will cause the necessary JSX helper functions to be imported automatically. See https://esbuild.github.io/api/#jsx.
: (`string`) How to handle/transform JSX syntax. One of: `transform`, `preserve`, `automatic`. Default is `transform`. Notably, the `automatic` transform was introduced in React 17+ and will cause the necessary JSX helper functions to be imported automatically. See <https://esbuild.github.io/api/#jsx>.
JSXImportSource
: {{< new-in 0.124.0 />}}
: (`string`) Which library to use to automatically import its JSX helper functions from. This only works if `JSX` is set to `automatic`. The specified library needs to be installed through npm and expose certain exports. See https://esbuild.github.io/api/#jsx-import-source.
: (`string`) Which library to use to automatically import its JSX helper functions from. This only works if `JSX` is set to `automatic`. The specified library needs to be installed through npm and expose certain exports. See <https://esbuild.github.io/api/#jsx-import-source>.
The combination of `JSX` and `JSXImportSource` is helpful if you want to use a non-React JSX library like Preact, e.g.:
+1
View File
@@ -6,6 +6,7 @@ _comment: Do not remove front matter.
> You need [Go] version 1.18 or later and [Git] to use Hugo Modules. For older sites hosted on Netlify, please ensure the `GO_VERSION` environment variable is set to `1.18` or higher.
>
> Go Modules resources:
>
> - [go.dev/wiki/Modules](https://go.dev/wiki/Modules)
> - [blog.golang.org/using-go-modules](https://go.dev/blog/using-go-modules)
@@ -15,9 +15,3 @@ Prebuilt binaries are available for a variety of operating systems and architect
Please consult your operating system documentation if you need help setting file permissions or modifying your PATH environment variable.
If you do not see a prebuilt binary for the desired edition, operating system, and architecture, install Hugo using one of the methods described below.
[commit information]: /methods/page/gitinfo/
[Git]: https://git-scm.com/
[Go]: https://go.dev/
[Hugo Modules]: /hugo-modules/
[latest release]: https://github.com/gohugoio/hugo/releases/latest
-2
View File
@@ -67,5 +67,3 @@ For time-related values, you can also use the layout string components defined i
permalinks:
posts: /:06/:1/:2/:title/
{{< /code-toggle >}}
[content base name]: /methods/page/file/#contentbasename
+1 -1
View File
@@ -9,7 +9,7 @@ The method or function used to create a scratch pad determines its scope. For ex
Scope|Method or function
:--|:--
page|[`PAGE.Store`]
site|[`SITE.Store`]
site|[`SITE.Store`]
global|[`hugo.Store`]
local|[`collections.NewScratch`]
shortcode|[`SHORTCODE.Store`]
@@ -28,6 +28,7 @@ lineNoStart
lineNos
: (`any`) Controls line number display. Default is `false`.
- `true`: Enable line numbers, controlled by `lineNumbersInTable`.
- `false`: Disable line numbers.
- `inline`: Enable inline line numbers (sets `lineNumbersInTable` to `false`).
-1
View File
@@ -339,7 +339,6 @@ Some configuration settings, such as menus and custom parameters, can be defined
[`MainSections`]: /methods/site/mainsections/
[`segments`]: /configuration/segments/
[`strings.Title`]: /functions/strings/title/
[`strings.Title`]: /functions/strings/title
[`Summary`]: /methods/page/summary/
[`time.AsTime`]: /functions/time/astime/
[`time.Format`]: /functions/time/format/
+2
View File
@@ -27,6 +27,7 @@ useResourceCacheWhen
The `build.cachebusters` configuration option was added to support development using Tailwind 3.x's JIT compiler where a `build` configuration may look like this:
<!-- markdownlint-disable MD049 -->
{{< code-toggle file=hugo >}}
[build]
[build.buildStats]
@@ -44,6 +45,7 @@ The `build.cachebusters` configuration option was added to support development u
source = "assets/.*\\.(.*)$"
target = "$1"
{{< /code-toggle >}}
<!-- markdownlint-enable MD049 -->
When `buildStats` is enabled, Hugo writes a `hugo_stats.json` file on each build with HTML classes etc. that's used in the rendered output. Changes to this file will trigger a rebuild of the `styles.css` file. You also need to add `hugo_stats.json` to Hugo's server watcher. See [Hugo Starter Tailwind Basic](https://github.com/bep/hugo-starter-tailwind-basic) for a running example.
+1 -1
View File
@@ -44,7 +44,7 @@ environment
: (`string`) A [glob](g) pattern matching the build [environment](g). For example: `{staging,production}`.
kind
: (`string`) A [glob](g) pattern matching the [page kind](g). For example: ` {taxonomy,term}`.
: (`string`) A [glob](g) pattern matching the [page kind](g). For example: `{taxonomy,term}`.
lang
: (`string`) A [glob](g) pattern matching the [page language]. For example: `{en,de}`.
+4 -5
View File
@@ -47,10 +47,10 @@ Extension|Documentation|Enabled
:--|:--|:-:
`cjk`|[Goldmark Extensions: CJK]|:heavy_check_mark:
`definitionList`|[PHP Markdown Extra: Definition lists]|:heavy_check_mark:
`extras`|[Hugo Goldmark Extensions: Extras]||
`extras`|[Hugo Goldmark Extensions: Extras]|&nbsp;
`footnote`|[PHP Markdown Extra: Footnotes]|:heavy_check_mark:
`linkify`|[GitHub Flavored Markdown: Autolinks]|:heavy_check_mark:
`passthrough`|[Hugo Goldmark Extensions: Passthrough]||
`passthrough`|[Hugo Goldmark Extensions: Passthrough]|&nbsp;
`strikethrough`|[GitHub Flavored Markdown: Strikethrough]|:heavy_check_mark:
`table`|[GitHub Flavored Markdown: Tables]|:heavy_check_mark:
`taskList`|[GitHub Flavored Markdown: Task list items]|:heavy_check_mark:
@@ -117,7 +117,7 @@ Markdown|Replaced by|Description
`”`|`&rdquo;`|right double quote
``|`&rsquo;`|right single quote
### Settings explained
### Goldmark settings explained
Most of the Goldmark settings above are self-explanatory, but some require explanation.
@@ -193,7 +193,7 @@ This is the default configuration for the AsciiDoc renderer:
{{< code-toggle config=markup.asciidocExt />}}
### Settings explained
### AsciiDoc settings explained
attributes
: (`map`) A map of key-value pairs, each a document attribute. See Asciidoctor's [attributes].
@@ -321,7 +321,6 @@ endLevel
ordered
: (`bool`) Whether to generates an ordered list instead of an unordered list. Default is `false`.
[`Fragments.Identifiers`]: /methods/page/fragments/#identifiers
[`TableOfContents`]: /methods/page/tableofcontents/
[anchorize]: /functions/urls/anchorize
+2
View File
@@ -96,6 +96,7 @@ url
This nested menu demonstrates some of the available properties:
<!-- markdownlint-disable MD033 -->
{{< code-toggle file=hugo >}}
[[menus.main]]
name = 'Products'
@@ -127,6 +128,7 @@ weight = 30
[menus.main.params]
rel = 'external'
{{< /code-toggle >}}
<!-- markdownlint-enable MD033 -->
[`Menus`]: /methods/site/menus/
[Automatically]: /content-management/menus/#define-automatically
+4 -4
View File
@@ -11,6 +11,7 @@ aliases: [/hugo-modules/configuration/]
This is the default configuration:
<!-- markdownlint-disable MD049 -->
{{< code-toggle file=hugo >}}
[module]
noProxy = 'none'
@@ -20,6 +21,7 @@ proxy = 'direct'
vendorClosest = false
workspace = 'off'
{{< /code-toggle >}}
<!-- markdownlint-enable MD049 -->
auth
: {{< new-in 0.144.0 />}}
@@ -80,8 +82,6 @@ max
min
: (`string`) The minimum Hugo version supported, for example `0.102.0`.
[`themesDir`]: /configuration/all/#themesdir
## Imports
{{< code-toggle file=hugo >}}
@@ -112,8 +112,6 @@ noVendor
path
: (`string`) The module path, either a valid Go module path (e.g., `github.com/gohugoio/myShortcodes`) or the directory name if stored in the [`themesDir`].
[`themesDir`]: /configuration/all#themesDir
{{% include "/_common/gomodules-info.md" %}}
## Mounts
@@ -177,3 +175,5 @@ excludeFiles
source="assets"
target="assets"
{{< /code-toggle >}}
[`themesDir`]: /configuration/all/#themesdir
+1 -1
View File
@@ -31,7 +31,7 @@ Each segment is defined by include and exclude filters:
Available fields for filtering:
kind
: (`string`) A [glob](g) pattern matching the [page kind](g). For example: ` {taxonomy,term}`.
: (`string`) A [glob](g) pattern matching the [page kind](g). For example: `{taxonomy,term}`.
lang
: (`string`) A [glob](g) pattern matching the [page language]. For example: `{en,de}`.
+1 -1
View File
@@ -47,7 +47,7 @@ to
## Headers
Include headers in every server response to facilitate testing, particularly for features like Content Security Policies.
Include headers in every server response to facilitate testing, particularly for features like [Content Security Policies].
[Content Security Policies]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
+4 -3
View File
@@ -17,8 +17,8 @@ When creating a taxonomy:
Then use the value as the key in front matter:
<!-- markdownlint-disable MD007 MD032 -->
{{< code-toggle file=content/example.md fm=true >}}
---
title: Example
categories:
- vegetarian
@@ -27,7 +27,7 @@ tags:
- appetizer
- main course
{{< /code-toggle >}}
<!-- markdownlint-enable MD007 MD032 -->
If you do not expect to assign more than one [term](g) from a given taxonomy to a content page, you may use the singular form for both key and value:
{{< code-toggle file=hugo >}}
@@ -37,12 +37,13 @@ taxonomies:
Then in front matter:
<!-- markdownlint-disable MD007 MD032 -->
{{< code-toggle file=content/example.md fm=true >}}
---
title: Example
author:
- Robert Smith
{{< /code-toggle >}}
<!-- markdownlint-enable MD007 MD032 -->
The example above illustrates that even with a single term, the value is still provided as an array.
+1
View File
@@ -13,6 +13,7 @@ https://example.org/section/article.html
```
In its default configuration, Hugo generates [pretty URLs](g). For example:
```text
https://example.org/section/article/
```
@@ -64,9 +64,4 @@ Open-source commenting systems:
[configuration]: /configuration/
[disquspartial]: /templates/embedded/#disqus
[disqussetup]: https://disqus.com/profile/signup/
[forum]: https://discourse.gohugo.io
[front matter]: /content-management/front-matter/
[kaijuissue]: https://github.com/spf13/kaiju/issues/new
[issotutorial]: https://stiobhart.net/2017-02-24-isso-comments/
[partials]: /templates/partial/
[MongoDB]: https://www.mongodb.com/
@@ -173,6 +173,7 @@ content/
```
### Step 2
Inspect the remote data to determine how to map key-value pairs to front matter fields.\
<https://gohugo.io/shared/examples/data/books.json>
-1
View File
@@ -92,7 +92,6 @@ hugo --logLevel info
```
[AsciiDoc]: https://asciidoc.org/
[configure the AsciiDoc renderer]: /configuration/markup/#asciidoc
[configure asciidoc]: /configuration/markup/#asciidoc
### Pandoc
+40 -45
View File
@@ -18,10 +18,6 @@ The front matter at the top of each content file is metadata that:
Provide front matter using a serialization format, one of [JSON], [TOML], or [YAML]. Hugo determines the front matter format by examining the delimiters that separate the front matter from the page content.
[json]: https://www.json.org/
[toml]: https://toml.io/
[yaml]: https://yaml.org/
See examples of front matter delimiters by toggling between the serialization formats below.
{{< code-toggle file=content/example.md fm=true >}}
@@ -138,42 +134,6 @@ url
weight
: (`int`) The page [weight](g), used to order the page within a [page collection](g). Access this value from a template using the [`Weight`] method on a `Page` object.
[URL management]: /content-management/urls/#slug
[`Summary`]: /methods/page/summary/
[`aliases`]: /methods/page/aliases/
[`date`]: /methods/page/date/
[`description`]: /methods/page/description/
[`draft`]: /methods/page/draft/
[`expirydate`]: /methods/page/expirydate/
[`fuzzywordcount`]: /methods/page/wordcount/
[`keywords`]: /methods/page/keywords/
[`lastmod`]: /methods/page/date/
[`layout`]: /methods/page/layout/
[`linktitle`]: /methods/page/linktitle/
[`publishdate`]: /methods/page/publishdate/
[`readingtime`]: /methods/page/readingtime/
[`sitemap`]: /methods/page/sitemap/
[`slug`]: /methods/page/slug/
[`summary`]: /methods/page/summary/
[`title`]: /methods/page/title/
[`translationkey`]: /methods/page/translationkey/
[`type`]: /methods/page/type/
[`weight`]: /methods/page/weight/
[`wordcount`]: /methods/page/wordcount/
[aliases]: /content-management/urls/#aliases
[build options]: /content-management/build-options/
[cascade]: #cascade-1
[configure outputs]: /configuration/outputs/#outputs-per-page
[content formats]: /content-management/formats/#classification
[leaf bundles]: /content-management/page-bundles/#leaf-bundles
[menus]: /content-management/menus/#define-in-front-matter
[output formats]: /configuration/output-formats/
[page parameters]: #parameters
[page resources]: /content-management/page-resources/#metadata
[sitemap templates]: /templates/sitemap/
[target a specific template]: /templates/lookup-order/#target-a-template
[template lookup order]: /templates/lookup-order/
## Parameters
{{< new-in 0.123.0 />}}
@@ -191,9 +151,6 @@ author = 'John Smith'
Access these values from a template using the [`Params`] or [`Param`] method on a `Page` object.
[`param`]: /methods/page/param/
[`params`]: /methods/page/params/
Hugo provides [embedded templates] to optionally insert meta data within the `head` element of your rendered pages. These embedded templates expect the following front matter parameters:
Parameter|Data type|Used by these embedded templates
@@ -248,7 +205,6 @@ Access taxonomy terms from a template using the [`Params`] or [`GetTerms`] metho
{{ end }}
```
[`Params`]: /methods/page/params/
[`GetTerms`]: /methods/page/getterms/
## Cascade
@@ -289,7 +245,7 @@ environment
: (`string`) A [glob](g) pattern matching the build [environment](g). For example: `{staging,production}`.
kind
: (`string`) A [glob](g) pattern matching the [page kind](g). For example: ` {taxonomy,term}`.
: (`string`) A [glob](g) pattern matching the [page kind](g). For example: `{taxonomy,term}`.
path
: (`string`) A [glob](g) pattern matching the page's [logical path](g). For example: `{/books,/books/**}`.
@@ -356,7 +312,46 @@ To override the default time zone, set the [`timeZone`](/configuration/all/#time
1. The time zone specified in your site configuration
1. The `Etc/UTC` time zone
[`aliases`]: /methods/page/aliases/
[`date`]: /methods/page/date/
[`description`]: /methods/page/description/
[`draft`]: /methods/page/draft/
[`expirydate`]: /methods/page/expirydate/
[`fuzzywordcount`]: /methods/page/wordcount/
[`keywords`]: /methods/page/keywords/
[`lastmod`]: /methods/page/date/
[`layout`]: /methods/page/layout/
[`linktitle`]: /methods/page/linktitle/
[`opengraph.html`]: {{% eturl opengraph %}}
[`Param`]: /methods/page/param/
[`Params`]: /methods/page/params/
[`publishdate`]: /methods/page/publishdate/
[`readingtime`]: /methods/page/readingtime/
[`schema.html`]: {{% eturl schema %}}
[`sitemap`]: /methods/page/sitemap/
[`slug`]: /methods/page/slug/
[`Summary`]: /methods/page/summary/
[`title`]: /methods/page/title/
[`translationkey`]: /methods/page/translationkey/
[`twitter_cards.html`]: {{% eturl twitter_cards %}}
[`type`]: /methods/page/type/
[`weight`]: /methods/page/weight/
[`wordcount`]: /methods/page/wordcount/
[aliases]: /content-management/urls/#aliases
[build options]: /content-management/build-options/
[cascade]: #cascade-1
[configure outputs]: /configuration/outputs/#outputs-per-page
[content formats]: /content-management/formats/#classification
[embedded templates]: /templates/embedded/
[json]: https://www.json.org/
[leaf bundles]: /content-management/page-bundles/#leaf-bundles
[menus]: /content-management/menus/#define-in-front-matter
[output formats]: /configuration/output-formats/
[page parameters]: #parameters
[page resources]: /content-management/page-resources/#metadata
[sitemap templates]: /templates/sitemap/
[target a specific template]: /templates/lookup-order/#target-a-template
[template lookup order]: /templates/lookup-order/
[toml]: https://toml.io/
[URL management]: /content-management/urls/#slug
[yaml]: https://yaml.org/
+2
View File
@@ -68,6 +68,7 @@ Use these properties when defining menu entries in front matter:
This front matter menu entry demonstrates some of the available properties:
<!-- markdownlint-disable MD033 -->
{{< code-toggle file=content/products/software.md fm=true >}}
title = 'Software'
[menus.main]
@@ -77,6 +78,7 @@ pre = '<i class="fa-solid fa-code"></i>'
[menus.main.params]
class = 'center'
{{< /code-toggle >}}
<!-- markdownlint-enable MD033 -->
Access the entry with `site.Menus.main` in your templates. See [menu templates] for details.
@@ -25,9 +25,9 @@ Considering the following example:
The first file is assigned the English language and is linked to the second.
The second file is assigned the French language and is linked to the first.
Their language is __assigned__ according to the language code added as a __suffix to the file name__.
Their language is assigned according to the language code added as a suffix to the file name.
By having the same **path and base file name**, the content pieces are __linked__ together as translated pages.
By having the same path and base file name, the content pieces are linked together as translated pages.
> [!note]
> If a file has no language code, it will be assigned the default language.
@@ -58,9 +58,9 @@ Considering the following example in conjunction with the configuration above:
The first file is assigned the English language and is linked to the second.
The second file is assigned the French language and is linked to the first.
Their language is __assigned__ according to the `content` directory they are __placed__ in.
Their language is assigned according to the `content` directory they are placed in.
By having the same **path and basename** (relative to their language `content` directory), the content pieces are __linked__ together as translated pages.
By having the same path and basename (relative to their language `content` directory), the content pieces are linked together as translated pages.
### Bypassing default linking
@@ -76,7 +76,7 @@ Considering the following example:
translationKey: "about"
{{< /code-toggle >}}
By setting the `translationKey` front matter parameter to `about` in all three pages, they will be __linked__ as translated pages.
By setting the `translationKey` front matter parameter to `about` in all three pages, they will be linked as translated pages.
### Localizing permalinks
@@ -128,7 +128,7 @@ The following concepts provide more insight into the relationship between your p
### `section`
A default content type is determined by the section in which a content item is stored. `section` is determined by the location within the project's `content` directory. `section` *cannot* be specified or overridden in front matter.
A default content type is determined by the section in which a content item is stored. `section` is determined by the location within the project's `content` directory. `section` cannot be specified or overridden in front matter.
### `slug`
@@ -38,10 +38,10 @@ Page bundle characteristics vary by bundle type.
| | Leaf bundle | Branch bundle |
|---------------------|---------------------------------------------------------|---------------------------------------------------------|
| Index file | `index.md` | `_index.md` |
| Example | `content/about/index.md` | `content/posts/_index.md ` |
| Index file | `index.md` | `_index.md` |
| Example | `content/about/index.md` | `content/posts/_index.md` |
| [Page kinds](g) | `page` | `home`, `section`, `taxonomy`, or `term` |
| Template types | [single] | [home], [section], [taxonomy], or [term] |
| Template types | [single] | [home], [section], [taxonomy], or [term] |
| Descendant pages | None | Zero or more |
| Resource location | Adjacent to the index file or in a nested subdirectory | Same as a leaf bundles, but excludes descendant bundles |
| [Resource types](g) | `page`, `image`, `video`, etc. | all but `page` |
+27 -28
View File
@@ -35,10 +35,10 @@ content
Use any of these methods on a `Page` object to capture page resources:
- [`Resources.ByType`]
- [`Resources.Get`]
- [`Resources.GetMatch`]
- [`Resources.Match`]
- [`Resources.ByType`]
- [`Resources.Get`]
- [`Resources.GetMatch`]
- [`Resources.Match`]
Once you have captured a resource, use any of the applicable [`Resource`] methods to return a value or perform an action.
@@ -125,30 +125,32 @@ params
### Resources metadata example
<!-- markdownlint-disable MD007 MD032 -->
{{< code-toggle file=content/example.md fm=true >}}
title: Application
date : 2018-01-25
resources :
- src : "images/sunset.jpg"
name : "header"
- src : "documents/photo_specs.pdf"
title : "Photo Specifications"
params:
icon : "photo"
- src : "documents/guide.pdf"
title : "Instruction Guide"
- src : "documents/checklist.pdf"
title : "Document Checklist"
- src : "documents/payment.docx"
title : "Proof of Payment"
- src : "**.pdf"
name : "pdf-file-:counter"
params :
icon : "pdf"
- src : "**.docx"
params :
icon : "word"
date: 2018-01-25
resources:
- src: images/sunset.jpg
name: header
- src: documents/photo_specs.pdf
title: Photo Specifications
params:
icon: photo
- src: documents/guide.pdf
title: Instruction Guide
- src: documents/checklist.pdf
title: Document Checklist
- src: documents/payment.docx
title: Proof of Payment
- src: "**.pdf"
name: pdf-file-:counter
params:
icon: pdf
- src: "**.docx"
params:
icon: word
{{</ code-toggle >}}
<!-- markdownlint-enable MD007 MD032 -->
From the example above:
@@ -285,13 +287,10 @@ Although duplicating shared page resources is inefficient, you can enable this f
duplicateResourceFiles = true
{{< /code-toggle >}}
[`markup.goldmark.renderHooks.image.useEmbedded`]: /configuration/markup/#renderhooksimageuseembedded
[`markup.goldmark.renderHooks.link.useEmbedded`]: /configuration/markup/#renderhookslinkenabledefault
[`RelPermalink`]: /methods/resource/relpermalink/
[`Resource`]: /methods/resource
[`Resources.ByType`]: /methods/page/resources#bytype
[`Resources.Get`]: /methods/page/resources/#get
[`Resources.Get`]: /methods/page/resources#get
[`Resources.GetMatch`]: /methods/page/resources#getmatch
[`Resources.Match`]: /methods/page/resources#match
[content formats]: /content-management/formats/
+1 -1
View File
@@ -53,7 +53,7 @@ The example above has two top-level sections: articles and products. None of the
Sections and non-sections behave differently.
||Sections|Non-sections
&nbsp;|Sections|Non-sections
:--|:-:|:-:
Directory names become URL segments|:heavy_check_mark:|:heavy_check_mark:
Have logical ancestors and descendants|:heavy_check_mark:|:x:
+1
View File
@@ -39,6 +39,7 @@ Set the `url` in front matter to override the entire path. Use this with either
> [!note]
> Hugo does not sanitize the `url` front matter field, allowing you to generate:
>
> - File paths that contain characters reserved by the operating system. For example, file paths on Windows may not contain any of these [reserved characters]. Hugo throws an error if a file path includes a character reserved by the current operating system.
> - URLs that contain disallowed characters. For example, the less than sign (`<`) is not allowed in a URL.
+19 -22
View File
@@ -170,25 +170,25 @@ If quotation marks are required, prefer single quotes to double quotes when poss
Field|Description|Required
:--|:--|:--
`title`|The page title|:heavy_check_mark:|
`linkTitle`|A short version of the page title||
`description`|A complete sentence describing the page|:heavy_check_mark:|
`categories`|An array of terms in the categories taxonomy|:heavy_check_mark: [^1]|
`keywords`|An array of keywords used to identify related content|:heavy_check_mark: [^1]|
`publishDate`|Applicable to news items: the publication date||
`params.alt_title`|An alternate title: used in the "see also" panel if provided||
`params.functions_and_methods.aliases`|Applicable to function and method pages: an array of alias names||
`params.functions_and_methods.returnType`|Applicable to function and method pages: the data type returned||
`params.functions_and_methods.signatures`|Applicable to function and method pages: an array of signatures||
`params.hide_in_this_section`|Whether to hide the "in this section" panel||
`params.minversion`|Applicable to the quick start page: the minimum Hugo version required||
`params.permalink`|Reserved for use by the news content adapter||
`params.reference (used in glossary term)`|Applicable to glossary entries: a URL for additional information||
`params.searchable`|Whether to add the content of this page to the search index. The default value is cascaded down from the site configuration; `true` if the page kind is `page`, and `false` if the page kind is one of `home`, `section`, `taxonomy`, or `term`. Add this field to override the default value.||
`params.show_publish_date`|Whether to show the `publishDate` when rendering the page||
`weight`|The page weight||
`aliases`|Previous URLs used to access this page||
`expirydate`|The expiration date||
`title`|The page title|:heavy_check_mark:
`linkTitle`|A short version of the page title|&nbsp;
`description`|A complete sentence describing the page|:heavy_check_mark:
`categories`|An array of terms in the categories taxonomy|:heavy_check_mark: [^1]
`keywords`|An array of keywords used to identify related content|:heavy_check_mark: [^1]
`publishDate`|Applicable to news items: the publication date|&nbsp;
`params.alt_title`|An alternate title: used in the "see also" panel if provided|&nbsp;
`params.functions_and_methods.aliases`|Applicable to function and method pages: an array of alias names|&nbsp;
`params.functions_and_methods.returnType`|Applicable to function and method pages: the data type returned|&nbsp;
`params.functions_and_methods.signatures`|Applicable to function and method pages: an array of signatures|&nbsp;
`params.hide_in_this_section`|Whether to hide the "in this section" panel|&nbsp;
`params.minversion`|Applicable to the quick start page: the minimum Hugo version required|&nbsp;
`params.permalink`|Reserved for use by the news content adapter|&nbsp;
`params.reference (used in glossary term)`|Applicable to glossary entries: a URL for additional information|&nbsp;
`params.searchable`|Whether to add the content of this page to the search index. The default value is cascaded down from the site configuration; `true` if the page kind is `page`, and `false` if the page kind is one of `home`, `section`, `taxonomy`, or `term`. Add this field to override the default value.|&nbsp;
`params.show_publish_date`|Whether to show the `publishDate` when rendering the page|&nbsp;
`weight`|The page weight|&nbsp;
`aliases`|Previous URLs used to access this page|&nbsp;
`expirydate`|The expiration date|&nbsp;
[^1]: The field is required, but its data is not.
@@ -345,8 +345,6 @@ Limiting the number of callout types helps us to use them consistently.
> [!important]
> Key information users need to know to achieve their goal.
## Shortcodes
These shortcodes are commonly used throughout the documentation. Other shortcodes are available for specialized use.
@@ -533,7 +531,6 @@ A project maintainer will review your PR and may request changes. You may delete
[ATX]: https://spec.commonmark.org/current/#atx-headings
[basic english]: https://simple.wikipedia.org/wiki/Basic_English
[basic english]: https://simple.wikipedia.org/wiki/Basic_English
[developer documentation style guide]: https://developers.google.com/style
[documentation repository]: https://github.com/gohugoio/hugoDocs/
[fenced code blocks]: https://spec.commonmark.org/current/#fenced-code-blocks
-2
View File
@@ -148,7 +148,5 @@ For examples of how to install Dart Sass in a production environment, see the fo
[Netlify]: /host-and-deploy/host-on-netlify/#configuration-file
[prebuilt binaries]: https://github.com/sass/dart-sass/releases/latest
[scoop.sh]: https://scoop.sh/#/apps?q=sass
[site configuration]: /configuration/build/
[snap package]: /installation/linux/#snap
[snapcraft.io]: https://snapcraft.io/dart-sass
[starter workflow]: https://github.com/actions/starter-workflows/blob/main/pages/hugo.yml
-1
View File
@@ -35,7 +35,6 @@ npm install --save-dev tailwindcss @tailwindcss/cli
The Tailwind CSS CLI is also available as a [standalone executable]. You must install it outside of your project directory and ensure its path is included in your system's `PATH` environment variable.
[standalone executable]: https://github.com/tailwindlabs/tailwindcss/releases/latest
### Step 2
+4 -3
View File
@@ -97,7 +97,7 @@ my-project/
## Page resource alternative
Consider using the [`Resources.Get`] method with [`transform.Unmarshal`] when accessing a page resource.
Consider using the [`Resources.Get`][/methods/page/resources/] method with [`transform.Unmarshal`] when accessing a page resource.
```text
my-project/
@@ -138,7 +138,8 @@ Consider using the [`resources.GetRemote`] function with [`transform.Unmarshal`]
{{ end }}
```
[`Resources.Get`]: /methods/page/resources/
[`resources.GetRemote`]: /functions/resources/getremote/
[`resources.Get`]: /functions/resources/get/
<!-- markdownlint-disable MD053 -->
[`transform.Unmarshal`]: /functions/transform/unmarshal/
<!-- markdownlint-enable MD053 -->
+5 -4
View File
@@ -80,7 +80,7 @@ Add multiple headers using a slice:
## Global resource alternative
Consider using the [`resources.Get`] function with [`transform.Unmarshal`] when accessing a global resource.
Consider using the [`resources.Get`](/functions/resources/get/) function with [`transform.Unmarshal`] when accessing a global resource.
```text
my-project/
@@ -101,7 +101,7 @@ my-project/
## Page resource alternative
Consider using the [`Resources.Get`] method with [`transform.Unmarshal`] when accessing a page resource.
Consider using the [`Resources.Get`][/methods/page/resources/] method with [`transform.Unmarshal`] when accessing a page resource.
```text
my-project/
@@ -140,7 +140,8 @@ Consider using the [`resources.GetRemote`] function with [`transform.Unmarshal`]
{{ end }}
```
[`Resources.Get`]: /methods/page/resources/
[`resources.GetRemote`]: /functions/resources/getremote/
[`resources.Get`]: /functions/resources/get/
<!-- markdownlint-disable MD053 -->
[`transform.Unmarshal`]: /functions/transform/unmarshal/
<!-- markdownlint-enable MD053 -->
+2 -2
View File
@@ -13,8 +13,8 @@ aliases: [/functions/jsonify]
To customize the printing of the JSON, pass an options map as the first
argument. Supported options are "prefix" and "indent". Each JSON element in
the output will begin on a new line beginning with *prefix* followed by one or
more copies of *indent* according to the indentation nesting.
the output will begin on a new line beginning with _prefix_ followed by one or
more copies of _indent_ according to the indentation nesting.
```go-html-template
{{ dict "title" .Title "content" .Plain | jsonify }}
@@ -21,6 +21,7 @@ and then executing it in place:
```go-html-template
{{ template "name" pipeline }}
```
The typical use is to define a set of root templates that are then customized by redefining the block templates within.
```go-html-template {file="layouts/baseof.html"}
@@ -48,4 +48,3 @@ Use with the [`template`] function:
[`block`]: /functions/go-template/block/
[`template`]: /functions/go-template/block/
[`partial`]: /functions/partials/include/
[template comments]: /templates/introduction/#comments
+2 -2
View File
@@ -33,8 +33,8 @@ The example above can be rewritten using an inline _partial_ template:
The key distinctions between the preceding two examples are:
1. Inline partials are globally scoped. That means that an inline partial defined in _one_ template may be called from _any_ template.
2. Leveraging the [`partialCached`] function when calling an inline partial allows for performance optimization through result caching.
3. An inline partial can [`return`] a value of any data type instead of rendering a string.
1. Leveraging the [`partialCached`] function when calling an inline partial allows for performance optimization through result caching.
1. An inline partial can [`return`] a value of any data type instead of rendering a string.
{{% include "/_common/functions/go-template/text-template.md" %}}
+1
View File
@@ -101,6 +101,7 @@ Instead of failing the build, we can catch the error and emit a warning:
{{ end }}
{{ end }}
```
In the above, note that the [context](g) within the last conditional block is the `TryValue` object returned by the `try` statement. At this point neither the `Err` nor `Value` methods returned anything, so the current context is not useful. Use the `$` to access the [template context] if needed.
> [!note]
+2 -3
View File
@@ -270,8 +270,8 @@ In a template you would typically handle one group with a given `ID` (e.g. scrip
In the official documentation for ESBuild's [code splitting], there's a warning note in the header. The two issues are:
- `esm` is currently the only implemented output format. This means that it will not work for very old browsers. See [caniuse](https://caniuse.com/?search=ESM).
- There's a known import ordering issue.
- `esm` is currently the only implemented output format. This means that it will not work for very old browsers. See [caniuse](https://caniuse.com/?search=ESM).
- There's a known import ordering issue.
We have not seen the ordering issue as a problem during our [extensive testing](https://github.com/bep/hugojsbatchdemo) of this new feature with different libraries. There are two main cases:
@@ -291,7 +291,6 @@ console.log('entrypoints-workaround.js');
[`Resources.Mount`]: /methods/page/resources/#mount
[`Resources`]: /methods/page/resources/
[`templates.Defer`]: /functions/templates/defer/
[`templates.Defer`]: /functions/templates/defer/
[build options]: #build-options
[code splitting]: https://esbuild.github.io/api/#splitting
[config]: #config
+1
View File
@@ -82,6 +82,7 @@ Also note the new `params` option that can be passed from template to your JS fi
```go-html-template
{{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api")) }}
```
And then in your JS file:
```js
+1 -1
View File
@@ -55,7 +55,7 @@ To list the GET and POST operations for each of the API paths:
```
> [!warning]
> The unmarshaled data structure is created with [`kin-openapi`](https://github.com/getkin/kin-openapi). Many fields are structs or pointers (not maps), and therefore require accessors or other methods for indexing and iteration.
> The unmarshaled data structure is created with [`kin-openapi`](https://github.com/getkin/kin-openapi). Many fields are structs or pointers (not maps), and therefore require accessors or other methods for indexing and iteration.
> For example, prior to [`kin-openapi` v0.122.0](https://github.com/getkin/kin-openapi#v01220) / [Hugo v0.121.0](https://github.com/gohugoio/hugo/releases/tag/v0.121.0), `Paths` was a map (so `.Paths` was iterable) and it is now a pointer (and requires the `.Paths.Map` accessor, as in the example above).
> See the [`kin-openapi` godoc for OpenAPI 3](https://pkg.go.dev/github.com/getkin/kin-openapi/openapi3) for full type definitions.
-4
View File
@@ -13,8 +13,6 @@ aliases: [/functions/partial]
Without a [`return`] statement, the `partial` function returns a string of type `template.HTML`. With a `return` statement, the `partial` function can return any data type.
[`return`]: /functions/go-template/return/
In this example we have three _partial_ templates:
```text
@@ -79,6 +77,4 @@ To return a value from a _partial_ template, it must contain only one `return` s
See&nbsp;[details][`return`].
[`return`]: /functions/go-template/return/
[breadcrumb navigation]: /content-management/sections/#ancestors-and-descendants
[details]: /functions/go-template/return/
+15 -24
View File
@@ -15,8 +15,6 @@ The `Err` method on the returned resource was removed in v0.141.0.
Use the [`try`] statement instead, as shown in the [error handling] example below.
[`try`]: /functions/go-template/try
[error handling]: #error-handling
{{< /new-in >}}
```go-html-template
@@ -36,26 +34,21 @@ Use the [`try`] statement instead, as shown in the [error handling] example belo
The `resources.GetRemote` function takes an optional map of options.
###### body
body
: (`string`) The data you want to transmit to the server.
(`string`) The data you want to transmit to the server.
headers
: (`map[string][]string`) The collection of key-value pairs that provide additional information about the request.
###### headers
key
: (`string`) The cache key. Hugo derives the default value from the URL and options map. See [caching](#caching).
(`map[string][]string`) The collection of key-value pairs that provide additional information about the request.
method
: (`string`) The action to perform on the requested resource, typically one of `GET`, `POST`, or `HEAD`.
###### key
(`string`) The cache key. Hugo derives the default value from the URL and options map. See [caching](#caching).
###### method
(`string`) The action to perform on the requested resource, typically one of `GET`, `POST`, or `HEAD`.
###### responseHeaders
{{< new-in 0.143.0 />}}
(`[]string`) The headers to extract from the server's response, accessible through the resource's [`Data.Headers`] method. Header name matching is case-insensitive.
responseHeaders
: {{< new-in 0.143.0 />}}
: (`[]string`) The headers to extract from the server's response, accessible through the resource's [`Data.Headers`] method. Header name matching is case-insensitive.
[`Data.Headers`]: /methods/resource/data/#headers
@@ -64,8 +57,6 @@ The `resources.GetRemote` function takes an optional map of options.
> [!note]
> For brevity, the examples below do not include [error handling].
[error handling]: #error-handling
To include a header:
```go-html-template
@@ -150,8 +141,6 @@ When retrieving remote data, use the [`transform.Unmarshal`] function to [unmars
Use the [`try`] statement to capture HTTP request errors. If you do not handle the error yourself, Hugo will fail the build.
[`try`]: /functions/go-template/try
> [!note]
> Hugo does not classify an HTTP response with status code 404 as an error. In this case `resources.GetRemote` returns nil.
@@ -202,8 +191,6 @@ By default, Hugo derives the cache key from the arguments passed to the function
{{ $resource := resources.GetRemote $url $opts }}
```
[configure file caches]: /configuration/caches/
## Security
To protect against malicious intent, the `resources.GetRemote` function inspects the server response including:
@@ -234,3 +221,7 @@ Note that the entry above is:
[allowlist]: https://en.wikipedia.org/wiki/Whitelist
[Content-Type]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type
[`try`]: /functions/go-template/try
[configure file caches]: /configuration/caches/
[error handling]: #error-handling
@@ -17,9 +17,9 @@ The `resources.PostProcess` function delays resource transformation steps until
In this example, after the build is complete, Hugo will:
1. Purge unused CSS using the [PurgeCSS] plugin for [PostCSS]
2. Add vendor prefixes to CSS rules using the [Autoprefixer] plugin for PostCSS
3. [Minify] the CSS
4. [Fingerprint] the CSS
1. Add vendor prefixes to CSS rules using the [Autoprefixer] plugin for PostCSS
1. [Minify] the CSS
1. [Fingerprint] the CSS
Step 1
: Install [Node.js].
+1 -1
View File
@@ -11,7 +11,7 @@ params:
aliases: [/functions/time.parseduration]
---
The `time.ParseDuration` function returns a time.Duration value that you can use with any of the `Duration` [methods].
The `time.ParseDuration` function returns a [`time.Duration`] value that you can use with any of the `Duration` [methods].
A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as `300ms`, `-1.5h` or `2h45m`. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
@@ -194,6 +194,7 @@ export const schemaTypes = [postType]
Unfortunately, Sanity's API does not support [RFC 7234](https://tools.ietf.org/html/rfc7234) and their output changes even if the data has not. A recommended setup is therefore to use their cached `apicdn` endpoint (see above) and then set up a reasonable polling and file cache strategy in your Hugo configuration, e.g:
<!-- markdownlint-disable MD049 -->
{{< code-toggle file=hugo >}}
[HTTPCache]
[[HTTPCache.polls]]
@@ -207,6 +208,7 @@ Unfortunately, Sanity's API does not support [RFC 7234](https://tools.ietf.org/h
dir = ':cacheDir/:project'
maxAge = "5m"
{{< /code-toggle >}}
<!-- markdownlint-enable MD049 -->
The polling above will be used when running the server/watch mode and rebuild when you push new content in Sanity.
+16 -17
View File
@@ -45,14 +45,14 @@ fleqn
macros
: (`map`) A map of macros to be used in the math expression. Default is `{}`.
```go-html-template
{{ $macros := dict
"\\addBar" "\\bar{#1}"
"\\bold" "\\mathbf{#1}"
}}
{{ $opts := dict "macros" $macros }}
{{ transform.ToMath "\\addBar{y} + \\bold{H}" $opts }}
```
```go-html-template
{{ $macros := dict
"\\addBar" "\\bar{#1}"
"\\bold" "\\mathbf{#1}"
}}
{{ $opts := dict "macros" $macros }}
{{ transform.ToMath "\\addBar{y} + \\bold{H}" $opts }}
```
minRuleThickness
: (`float`) The minimum thickness of the fraction lines in `em`. Default is `0.04`.
@@ -60,10 +60,10 @@ minRuleThickness
output
: (`string`) Determines the markup language of the output, one of `html`, `mathml`, or `htmlAndMathml`. Default is `mathml`.
With `html` and `htmlAndMathml` you must include the KaTeX style sheet within the `head` element of your base template.
With `html` and `htmlAndMathml` you must include the KaTeX style sheet within the `head` element of your base template.
```html
<link href="https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.css" rel="stylesheet">
```html
<link href="https://cdn.jsdelivr.net/npm/katex@0.16.22/dist/katex.min.css" rel="stylesheet">
strict
: {{< new-in 0.147.6 />}}
@@ -73,10 +73,7 @@ strict
- `ignore`: Allows convenient, unsupported LaTeX features without any feedback.
- `warn`: {{< new-in 0.147.7 />}} Emits a warning when convenient, unsupported LaTeX features are encountered.
: The `newLineInDisplayMode` error code, which flags the use of `\\`
or `\newline` in display mode outside an array or tabular environment, is
intentionally designed not to throw an error, despite this behavior
being questionable.
The `newLineInDisplayMode` error code, which flags the use of `\\` or `\newline` in display mode outside an array or tabular environment, is intentionally designed not to throw an error, despite this behavior being questionable.
throwOnError
: (`bool`) Whether to throw a `ParseError` when KaTeX encounters an unsupported command or invalid LaTeX. Default is `true`.
@@ -99,6 +96,8 @@ Instead of client-side JavaScript rendering of mathematical markup using MathJax
Enable and configure the Goldmark [passthrough extension] in your site configuration. The passthrough extension preserves raw Markdown within delimited snippets of text, including the delimiters themselves.
[passthrough extension]: /configuration/markup/#passthrough
{{< code-toggle file=hugo copy=true >}}
[markup.goldmark.extensions.passthrough]
enable = true
@@ -115,6 +114,8 @@ inline = [['\(', '\)']]
Create a [passthrough render hook] to capture and render the LaTeX markup.
[passthrough render hook]: /render-hooks/passthrough/
```go-html-template {file="layouts/_markup/render-passthrough.html" copy=true}
{{- $opts := dict "output" "htmlAndMathml" "displayMode" (eq .Type "block") }}
{{- with try (transform.ToMath .Inner $opts) }}
@@ -172,6 +173,4 @@ $$C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}$$
[KaTeX]: https://katex.org/
[MathML]: https://developer.mozilla.org/en-US/docs/Web/MathML
[mhchem]: https://mhchem.github.io/MathJax-mhchem/
[passthrough extension]: /configuration/markup/#passthrough
[passthrough render hook]: /render-hooks/passthrough/
[rendering options]: https://katex.org/docs/options.html
@@ -49,4 +49,4 @@ Add your own domains to your site easily using 21YunBox's [custom domains](https
## Support
Click [here](https://www.21cloudbox.com/contact.html) to contact with 21YunBox' experts if you need help.
You can [contact 21YunBox's experts](https://www.21cloudbox.com/contact.html) if you need help.
@@ -164,7 +164,7 @@ The second file implements a more complex scenario: having your website sources
Since this action involves more than one repository, it will require a bit more preparation:
1. Create the target repository. Name it `pages`.
2. Generate a new SSH key. *Do not* use any of your own SSH keys for this, but generate one for this specific task only. On Linux, BSD, and, likely, other operating systems, you can open a terminal emulator and run the following command to generate the key:
1. Generate a new SSH key. Do not use any of your own SSH keys for this, but generate one for this specific task only. On Linux, BSD, and, likely, other operating systems, you can open a terminal emulator and run the following command to generate the key:
```shell
ssh-keygen -f pagesbuild -P ""
@@ -172,9 +172,9 @@ Since this action involves more than one repository, it will require a bit more
This will generate two files in your current directory: `pagesbuild` (private key) and `pagesbuild.pub` (public key).
3. Add the newly generated public key as a deploy key to your `pages` repository: navigate to its Settings, click on "Deploy keys" in the left menu, click the "Add deploy key" button, give it a name (e.g. "Actions deploy key"), paste the contents of the **public** key file (`pagesbuild.pub`) to the Content field, tick the "Enable write access" checkbox, then submit the form.
4. Navigate back to your source repository settings, expand the "Actions" menu and click on "Secrets". Then click "Add Secret", enter "DEPLOY_KEY" as the secret name and paste the contents of the newly generated **private** key file (`pagesbuild`) into the Value field.
5. Navigate to the "Variables" submenu of the "Actions" menu and add the following variables:
1. Add the newly generated public key as a deploy key to your `pages` repository: navigate to its Settings, click on "Deploy keys" in the left menu, click the "Add deploy key" button, give it a name (e.g. "Actions deploy key"), paste the contents of the **public** key file (`pagesbuild.pub`) to the Content field, tick the "Enable write access" checkbox, then submit the form.
1. Navigate back to your source repository settings, expand the "Actions" menu and click on "Secrets". Then click "Add Secret", enter "DEPLOY_KEY" as the secret name and paste the contents of the newly generated **private** key file (`pagesbuild`) into the Value field.
1. Navigate to the "Variables" submenu of the "Actions" menu and add the following variables:
Name|Value
:--|:--
@@ -259,9 +259,11 @@ Once you commit one of the two files to your website source repository, you shou
Codeberg Pages relies on a `.domains` file to identify allowed domains for a specific branch. It's important that this file is located in the root directory of your output repository or branch, rather than in the root directory of your source files. To achieve this, simply place your `.domains` file in the `static` directory of your project. When your site is built, it will be automatically copied to the `public` directory, which serves as the root of your output.
When looking at the example `.forgejo/workflows/hugo.yaml`, you'll notice that the `upload-artifact@v3` action is used to upload the public directory to the deployment branch. By default, both `upload-artifact@v3` and `upload-artifact@v4` exclude all dot files from being uploaded unless you specifically tell them not to (you can find more details [here]). To make sure dot files are included, modify your workflow like this:
When looking at the example `.forgejo/workflows/hugo.yaml`, you'll notice that the `upload-artifact@v3` action is used to upload the public directory to the deployment branch.
[here]: https://github.com/actions/upload-artifact/issues/602
By default, both `upload-artifact@v3` and `upload-artifact@v4` exclude all dot files from being uploaded unless you specifically tell them not to (you can find more details [here]).
By default, upload-artifact@v3 and upload-artifact@v4 exclude all dot files from being uploaded. You can find more details on [how to handle dot files and other file patterns in the documentation](https://github.com/actions/upload-artifact/issues/602). To make sure dot files are included, modify your workflow like this:
```yaml {file=".forgejo/workflows/hugo.yaml" copy=true}
- name: Upload generated files
+10 -10
View File
@@ -43,22 +43,22 @@ From here:
In new versions of Firebase, some other questions apply:
6. Set up automatic builds and deploys with GitHub?
1. Set up automatic builds and deploys with GitHub?
Here you will be redirected to login in your GitHub account to get permissions. Confirm.
Here you will be redirected to login in your GitHub account to get permissions. Confirm.
7. For which GitHub repository would you like to set up a GitHub workflow? (format: user/repository)
1. For which GitHub repository would you like to set up a GitHub workflow? (format: user/repository)
Include the repository you will use in the format above (Account/Repo)
Firebase script with retrieve credentials, create a service account you can later manage in your GitHub settings.
Include the repository you will use in the format above (Account/Repo)
Firebase script with retrieve credentials, create a service account you can later manage in your GitHub settings.
8. Set up the workflow to run a build script before every deploy?
1. Set up the workflow to run a build script before every deploy?
Here is your opportunity to include some commands before you run the deploy.
Here is your opportunity to include some commands before you run the deploy.
9. Set up automatic deployment to your site's live channel when a PR is merged?
1. Set up automatic deployment to your site's live channel when a PR is merged?
You can let in the default option (main)
You can let in the default option (main)
After that Firebase has been set in your project with [CI/CD](g). After that run:
@@ -66,7 +66,7 @@ After that Firebase has been set in your project with [CI/CD](g). After that run
hugo && firebase deploy
```
With this you will have the app initialized manually. After that you can manage and fix your GitHub workflow from: https://github.com/your-account/your-repo/actions
With this you will have the app initialized manually. After that you can manage and fix your GitHub workflow from <https://github.com/your-account/your-repo/actions>.
Don't forget to update your static pages before push!
@@ -107,7 +107,7 @@ pages:
## Push your Hugo website to GitLab
Next, create a new repository on GitLab. It is *not* necessary to make the repository public. In addition, you might want to add `/public` to your .gitignore file, as there is no need to push compiled assets to GitLab or keep your output website in version control.
Next, create a new repository on GitLab. It is not necessary to make the repository public. In addition, you might want to add `/public` to your .gitignore file, as there is no need to push compiled assets to GitLab or keep your output website in version control.
```sh
# initialize new git repository
+2 -2
View File
@@ -27,7 +27,7 @@ Static sites are **completely free** on Render and include the following:
- You have an account with GitHub or GitLab.
- You have completed the [Quick Start] or have a Hugo website you are ready to deploy and share with the world.
- You have a Render account. You can sign up at https://render.com/register.
- You have a Render account. You can sign up at <https://render.com/register>.
## Deployment
@@ -73,6 +73,6 @@ Render automatically downloads all Git submodules defined in your Git repo on ev
## Support
Chat with Render developers at https://render.com/chat or email `support@render.com` if you need help.
Chat with Render developers at <https://render.com/chat> or email `support@render.com` if you need help.
[Quick Start]: /getting-started/quick-start/
+1 -1
View File
@@ -63,7 +63,7 @@ For improved readability, the Hugo Pipes examples of this documentation will be
## Caching
Hugo Pipes invocations are cached based on the entire *pipe chain*.
Hugo Pipes invocations are cached based on the entire _pipe chain_.
An example of a pipe chain is:
+1 -1
View File
@@ -66,7 +66,7 @@ doas pkg_add hugo
## Comparison
||Prebuilt binaries|Repository packages|Build from source
&nbsp;|Prebuilt binaries|Repository packages|Build from source
:--|:--:|:--:|:--:
Easy to install?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:
Easy to upgrade?|:heavy_check_mark:|varies|:heavy_check_mark:
+1 -1
View File
@@ -174,7 +174,7 @@ sudo xbps-install -S hugo
## Comparison
||Prebuilt binaries|Package managers|Repository packages|Build from source
&nbsp;|Prebuilt binaries|Package managers|Repository packages|Build from source
:--|:--:|:--:|:--:|:--:
Easy to install?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:
Easy to upgrade?|:heavy_check_mark:|:heavy_check_mark:|varies|:heavy_check_mark:
+2 -2
View File
@@ -34,9 +34,9 @@ sudo port install hugo
## Comparison
||Prebuilt binaries|Package managers|Build from source
&nbsp;|Prebuilt binaries|Package managers|Build from source
:--|:--:|:--:|:--:
Easy to install?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
Easy to install?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:
Easy to upgrade?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:
Easy to downgrade?|:heavy_check_mark:|:heavy_check_mark: [^1]|:heavy_check_mark:
Automatic updates?|:x:|:x: [^2]|:x:
+2 -2
View File
@@ -58,9 +58,9 @@ winget uninstall --name "Hugo (Extended)"
## Comparison
||Prebuilt binaries|Package managers|Build from source
&nbsp;|Prebuilt binaries|Package managers|Build from source
:--|:--:|:--:|:--:
Easy to install?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
Easy to install?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:
Easy to upgrade?|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:
Easy to downgrade?|:heavy_check_mark:|:heavy_check_mark: [^2]|:heavy_check_mark:
Automatic updates?|:x:|:x: [^1]|:x:
-1
View File
@@ -29,6 +29,5 @@ In the example above we explicitly set the date in front matter. With Hugo's def
[`time.Format`]: /functions/time/format/
[details]: /configuration/front-matter/#dates
[details]: /configuration/front-matter/#dates
[time methods]: /methods/time/
[time.Time]: https://pkg.go.dev/time#Time
-4
View File
@@ -168,7 +168,6 @@ Netlify|Deep|N/A
Render|Shallow|Yes [^1]
Vercel|Shallow|Yes [^1]
[^1]: To perform a deep clone when hosting on Cloudflare, Render, or Vercel, include this code in the build script after the repository has been cloned:
```text
@@ -181,9 +180,6 @@ Vercel|Shallow|Yes [^1]
[^3]: To perform a deep clone when hosting on GitLab Pages, set the `GIT_DEPTH` environment variable to `0` in the workflow file. See [example](/host-and-deploy/host-on-gitlab-pages/#configure-gitlab-cicd).
[^3]: You can configure the GitLab Runner's clone depth [as explained in the GitLab documentation](https://docs.gitlab.com/ee/ci/large_repositories/#shallow-cloning); see also the Hugo documentation's [example workflow file](/host-and-deploy/host-on-gitlab-pages/#configure-gitlab-cicd).
[details]: /configuration/front-matter/#dates
[gitmailmap]: https://git-scm.com/docs/gitmailmap
[site configuration]: /configuration/front-matter/
+4 -4
View File
@@ -87,10 +87,10 @@ Methods|Functions|Shortcodes
:--|:--|:--
[`Site.GetPage`]|[`urls.Ref`]|[`ref`]
[`Page.GetPage`]|[`urls.RelRef`]|[`relref`]
[`Page.Ref`]|||
[`Page.RelRef`]|||
[`Shortcode.Ref`]|||
[`Shortcode.RelRef`]|||
[`Page.Ref`]|&nbsp;|&nbsp;
[`Page.RelRef`]|&nbsp;|&nbsp;
[`Shortcode.Ref`]|&nbsp;|&nbsp;
[`Shortcode.RelRef`]|&nbsp;|&nbsp;
> [!note]
> Specify the logical path when using any of these methods, functions, or shortcodes. If you include a file extension or language identifier, Hugo will strip these values before finding the page in the logical tree.
+2 -2
View File
@@ -23,9 +23,9 @@ In the example above, note that the template ("summary") is identified by its fi
Although similar to the [`partial`] function, there are key differences.
`Render` method|`partial` function|
`Render` method|`partial` function
:--|:--
The `Page` object is automatically passed to the given template. You cannot pass additional context.| You must specify the context, allowing you to pass a combination of objects, slices, maps, and scalars.
The `Page` object is automatically passed to the given template. You cannot pass additional context.|You must specify the context, allowing you to pass a combination of objects, slices, maps, and scalars.
The path to the template is determined by the [content type](g).|You must specify the path to the template, relative to the `layouts/_partials` directory.
Consider this layout structure:
+1 -1
View File
@@ -11,7 +11,7 @@ params:
{{% include "/_common/methods/resource/global-page-remote-resources.md" %}}
The `Content` method on a `Resource` object returns `template.HTML` when the resource type is `page`, otherwise it returns a `string`.
The `Content` method on a `Resource` object returns `template.HTML` when the [resource type] is `page`, otherwise it returns a `string`.
[resource type]: /methods/resource/resourcetype/
-2
View File
@@ -11,8 +11,6 @@ params:
The `Data` method on a resource returned by the [`resources.GetRemote`] function returns information from the HTTP response.
[`resources.GetRemote`]: /functions/resources/getremote/
## Example
```go-html-template
+1
View File
@@ -77,6 +77,7 @@ content/
{{ .Name }} → images/Sunrise in Bryce Canyon.jpg
{{ end }}
```
## Remote resource
With a [remote resource](g), the `Name` method returns a hashed file name.
+5
View File
@@ -11,6 +11,7 @@ params:
Conceptually, the `Taxonomies` method on a `Site` object returns a data structure such&nbsp;as:
<!-- markdownlint-disable MD007 MD032 -->
{{< code-toggle file=hugo >}}
taxonomy a:
- term 1:
@@ -25,6 +26,7 @@ taxonomy b:
- page 1
- page 2
{{< /code-toggle >}}
<!-- markdownlint-enable MD007 MD032 -->
For example, on a book review site you might create two taxonomies; one for genres and another for authors.
@@ -50,6 +52,7 @@ content/
Conceptually, the taxonomies data structure looks like:
<!-- markdownlint-disable MD007 MD032 -->
{{< code-toggle file=hugo >}}
genres:
- suspense:
@@ -68,6 +71,7 @@ authors:
- jausten:
- Pride and Prejudice
{{< /code-toggle >}}
<!-- markdownlint-enable MD007 MD032 -->
To list the "suspense" books:
@@ -138,6 +142,7 @@ The following example displays all terms in a site's tags taxonomy:
{{ end }}
</ul>
```
This example will list all taxonomies and their terms, as well as all the content assigned to each of the terms.
```go-html-template {file="layouts/_partials/all-taxonomies.html"}
@@ -11,7 +11,7 @@ Hugo provides several methods to add syntax highlighting to code examples:
- Use the [`transform.Highlight`] function within your templates
- Use the [`highlight`] shortcode with any [content format](g)
- Use fenced code blocks with the Markdown content format
- Use [fenced code blocks] with the Markdown content format
Regardless of method, use any of the syntax highlighting styles below.
+1 -1
View File
@@ -104,4 +104,4 @@ title
[QR code]: https://en.wikipedia.org/wiki/QR_code
[related documentation]: /functions/images/qr/
[source code]: {{% eturl qr %}}
[vCard]: https://en.wikipedia.org/wiki/VCard
[vCard]: <https://en.wikipedia.org/wiki/VCard>
-1
View File
@@ -59,7 +59,6 @@ Rendered:
{{% include "_common/ref-and-relref-error-handling.md" %}}
[content format]: /content-management/formats/
[duplication of shared page resources]: /configuration/markup/#duplicateresourcefiles
[embedded link render hook]: /render-hooks/links/#embedded
[Markdown notation]: /content-management/shortcodes/#notation
-1
View File
@@ -59,7 +59,6 @@ Rendered:
{{% include "_common/ref-and-relref-error-handling.md" %}}
[content format]: /content-management/formats/
[duplication of shared page resources]: /configuration/markup/#duplicateresourcefiles
[embedded link render hook]: /render-hooks/links/#embedded
[Markdown notation]: /content-management/shortcodes/#notation
+1 -1
View File
@@ -17,7 +17,7 @@ To complete this showcase:
1. Write the story about your site in this file.
1. Add a summary to the `bio.md` file in this directory.
1. Replace the `featured-template.png` with a screenshot of your site. You can rename it, but it must contain the word `featured`.
1. Create a new pull request in https://github.com/gohugoio/hugoDocs/pulls
1. Create a new pull request in <https://github.com/gohugoio/hugoDocs/pulls>
The content of this bundle explained:
+2 -2
View File
@@ -1,6 +1,6 @@
__We are Ampio.__ We design and manufacture a building automation system that provides control, comfort, safety and reliability. Visit [our page](http://ampio.com/) to learn more about our solution!
We are Ampio. We design and manufacture a building automation system that provides control, comfort, safety and reliability. Visit [our page](http://ampio.com/) to learn more about our solution!
__Ampio Knowledge Base__ is a service built and maintained with Hugo. It is a self-service support platform for our customers and certified installers. It also contains a complete portfolio of our modules---building blocks of the Ampio building automation system.
Ampio Knowledge Base is a service built and maintained with Hugo. It is a self-service support platform for our customers and certified installers. It also contains a complete portfolio of our modules---building blocks of the Ampio building automation system.
The site is built by:
+4 -4
View File
@@ -15,10 +15,10 @@ Over and above that, we could not overlook the fact that our internal team of ed
We started our journey with the following requirements:
- Ease of contribution
- Efficient search capabilities
- The possibility of deployment to simple shared hosting
- Proper support for multilingualism
- Ease of contribution
- Efficient search capabilities
- The possibility of deployment to simple shared hosting
- Proper support for multilingualism
## Dark ages of WordPress
@@ -8,7 +8,7 @@ byline: "[Trys Mudford](http://www.trysmudford.com), Lead Developer, Tomango"
We've just launched a shiny new website for [Hartwell Insurance](https://www.hartwell-insurance.com/). I'm really proud of it. It was tackled in a different way to most previous Tomango site builds, using some fancy new tools and some vintage web standards.
It's a multi-page, single-page (!) website written in Hugo, a static site generator built with performance as a first-class feature. _I've outlined a load of benefits to Hugo & static sites [here](https://why-static.netlify.com/), in case you're interested._
It's a multi-page, single-page (!) website written in Hugo, a static site generator built with performance as a first-class feature. I've outlined a load of benefits to Hugo and static sites [on a page explaining the benefits of static sites](https://why-static.netlify.com/), in case you're interested.
> **In essence, a static site generator pre-renders the whole site into HTML files and serves them like it's 1995.**
+2 -2
View File
@@ -10,13 +10,13 @@ We wanted to shake the status quo with PHARMASEAL, opting for a fast and scalabl
We had two goals:
**Make it fast**
## Make it fast
We wanted to optimize the site as much as possible, so we opted for using Cloudinary, enabling us to take advantage of on-the-fly image manipulation, and thanks to the sheer speed of static sites, we achieved a perfect optimization score with Google audits.
Because we're hosting the site through Netlify and our target audience is in America, we are taking advantage of Netlify edge (Their alternative to a CDN). We're talking blazing fast.
**Make it easy**
## Make it easy
We're big fans of simplicity, and that's what we delivered with the Forestry building blocks. Every element on the site is built with building blocks in mind, allowing PHARMASEAL to generate multiple pages in the blink of an eye.
-6
View File
@@ -9,7 +9,6 @@ weight: 10
{{< newtemplatesystem >}}
{{% glossary-term template %}}
Templates use [variables], [functions], and [methods] to transform your content, resources, and data into a published page.
@@ -508,29 +507,24 @@ In the template example above, each of the keys is a valid identifier. For examp
[`end`]: /functions/go-template/end/
[`if`]: /functions/go-template/if/
[`index`]: /functions/collections/indexfunction/
[`index`]: /functions/collections/indexfunction/
[`or`]: /functions/go-template/or
[`Page`]: /methods/page/
[`partial`]: /functions/partials/include/
[`partialCached`]: /functions/partials/includecached/
[`range`]: /functions/go-template/range/
[`range`]: /functions/go-template/range/
[`safeHTML`]: /functions/safe/html
[`Site`]: /methods/site/
[`template`]: /functions/go-template/template/
[`Title`]: /methods/page/title
[`with`]: /functions/go-template/with/
[`with`]: /functions/go-template/with/
[current context]: #current-context
[embedded templates]: /templates/embedded/
[front matter]: /content-management/front-matter/
[front matter fields]: /content-management/front-matter/#fields
[functions]: /functions/
[functions]: /functions
[go-templates]: /functions/go-template/
[html/template]: https://pkg.go.dev/html/template
[methods]: /methods/
[methods]: /methods/
[partial templates]: /templates/types/#partial
[templates]: /templates/
[text/template]: https://pkg.go.dev/text/template
@@ -1,4 +1,3 @@
---
title: New template system in Hugo v0.146.0
linktitle: New template system
@@ -50,9 +49,9 @@ The identifiers used in the template weighting, in order of importance, are:
For templates placed in a `layouts` folder partly or completely matching a [Page path], a closer match upwards will be considered _better_. In the [Example folder structure] below, this means that:
* `layouts/docs/api/_markup/render-link.html` will be used to render links from the Page path `/docs/api` and below.
* `layouts/docs/baseof.html` will be used as the base template for the Page path `/docs` and below.
* `layouts/tags/term.html` will be used for all `term` rendering in the `tags` taxonomy, except for the `blue` term, which will use `layouts/tags/blue/list.html`.
- `layouts/docs/api/_markup/render-link.html` will be used to render links from the Page path `/docs/api` and below.
- `layouts/docs/baseof.html` will be used as the base template for the Page path `/docs` and below.
- `layouts/tags/term.html` will be used for all `term` rendering in the `tags` taxonomy, except for the `blue` term, which will use `layouts/tags/blue/list.html`.
## Example folder structure
-1
View File
@@ -237,5 +237,4 @@ public/
[`Paginator`]: /methods/page/paginator/
[`partial`]: /functions/partials/include/
[grouping methods]: /quick-reference/page-collections/#group
[grouping methods]: /quick-reference/page-collections/#group
[source code]: {{% eturl pagination %}}
+1 -2
View File
@@ -46,8 +46,7 @@ This template creates a robots.txt file with a `Disallow` directive for each pag
> 1. Set `enableRobotsTXT` to `false` in the site configuration.
> 1. Create a robots.txt file in the `static` directory.
>
> Remember that Hugo copies everything in the [`static` directory][static] to the root of `publishDir` (typically `public`) when you build your site.
> Remember that Hugo copies everything in the static director to the root of `publishDir` (typically `public`) when you build your site.
[embedded template]: {{% eturl robots %}}
[site configuration]: /configuration/
[static]: /getting-started/directory-structure/
-1
View File
@@ -9,7 +9,6 @@ aliases: [/templates/shortcode-templates/]
{{< newtemplatesystem >}}
> [!note]
> Before creating custom shortcodes, please review the [shortcodes] page in the [content management] section. Understanding the usage details will help you design and create better templates.
+1 -2
View File
@@ -69,7 +69,7 @@ Hugo can apply a _base_ template to the following template types: [home](#home),
> [!note]
> If a template doesn't meet all these criteria, Hugo executes it exactly as provided, without applying a _base_ template.
When Hugo applies a _base_ template, it replaces its `block` actions with content from the corresponding `define` actions found in the template to which the base template is applied.
When Hugo applies a _base_ template, it replaces its [`block`] actions with content from the corresponding `define` actions found in the template to which the base template is applied.
For example, the _base_ template below calls the [`partial`] function to include `head`, `header`, and `footer` elements. The `block` action acts as a placeholder, and its content will be replaced by a matching `define` action from the template to which it is applied.
@@ -393,7 +393,6 @@ Use other specialized templates to create:
[`partial`]: /functions/partials/include/
[`partialCached`]: /functions/partials/includeCached/
[`Render`]: /methods/page/render/
[`Taxonomy`]: /methods/taxonomy/
[`Term`]: /methods/page/data/#term
[`Terms`]: /methods/page/data/#terms
[taxonomy-plural]: /methods/page/data/#plural
+4 -4
View File
@@ -12,16 +12,16 @@ weight: 10
: Once you go for a static site, you need to think about how you are going to manage your articles. Front matter is a tool that helps you maintain the metadata/front matter of your articles like: creation date, modified date, slug, tile, SEO check, and more.
[Hugo Helper](https://marketplace.visualstudio.com/items?itemName=rusnasonov.vscode-hugo)
: Hugo Helper is a plugin for Visual Studio Code that has some useful commands for Hugo. The source code can be found [here](https://github.com/rusnasonov/vscode-hugo).
: Hugo Helper is a plugin for Visual Studio Code that has some useful commands for Hugo. The source code can be found on its [GitHub repository](https://github.com/rusnasonov/vscode-hugo).
[Hugo Language and Syntax Support](https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode)
: Hugo Language and Syntax Support is a Visual Studio Code plugin for Hugo syntax highlighting and snippets. The source code can be found [here](https://github.com/budparr/language-hugo-vscode).
: Hugo Language and Syntax Support is a Visual Studio Code plugin for Hugo syntax highlighting and snippets. The source code can be found on its [GitHub repository](https://github.com/budparr/language-hugo-vscode).
[Hugo Themer](https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-hugo-themer)
: Hugo Themer is an extension to help you while developing themes. It allows you to easily navigate through your theme files.
[Hugofy](https://marketplace.visualstudio.com/items?itemName=akmittal.hugofy)
: Hugofy is a plugin for Visual Studio Code to "make life easier" when developing with Hugo. The source code can be found [here](https://github.com/akmittal/hugofy-vscode).
: Hugofy is a plugin for Visual Studio Code to "make life easier" when developing with Hugo. The source code can be found on its [GitHub repository](https://github.com/akmittal/hugofy-vscode).
[Prettier Plugin for Go Templates](https://github.com/NiklasPor/prettier-plugin-go-template)
: Format Hugo templates using this [Prettier](https://prettier.io/) plugin. See [installation instructions](https://discourse.gohugo.io/t/38403).
@@ -35,7 +35,7 @@ weight: 10
: Emacs major mode for managing hugo blogs. Note that Hugo also supports [Org-mode][formats].
[ox-hugo.el](https://ox-hugo.scripter.co)
: Native Org-mode exporter that exports to Blackfriday Markdown with Hugo front-matter. `ox-hugo` supports two common Org blogging flows --- exporting multiple Org subtrees in a single file to multiple Hugo posts, and exporting a single Org file to a single Hugo post. It also leverages the Org tag and property inheritance features. See [*Why ox-hugo?*](https://ox-hugo.scripter.co/doc/why-ox-hugo/) for more.
: Native Org-mode exporter that exports to Blackfriday Markdown with Hugo front-matter. `ox-hugo` supports two common Org blogging flows --- exporting multiple Org subtrees in a single file to multiple Hugo posts, and exporting a single Org file to a single Hugo post. It also leverages the Org tag and property inheritance features. See [Why ox-hugo?](https://ox-hugo.scripter.co/doc/why-ox-hugo/) for more.
## Sublime Text
-2
View File
@@ -106,7 +106,5 @@ Which page methods trigger content rendering?
[`Paginator`]: /methods/page/paginator/
[`Store`]: /methods/page/store
[forum]: https://discourse.gohugo.io
[forum]: https://discourse.gohugo.io
[installation]: /installation/
[requesting help]: https://discourse.gohugo.io/t/requesting-help/9132
[requesting help]: https://discourse.gohugo.io/t/requesting-help/9132