From 575d60345063ea543f6fca1bab1a1b3f6fc50ca7 Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Sun, 5 Jan 2025 11:08:28 -0800 Subject: [PATCH] Update docs for v0.141.0 Closes #2808 --- assets/images/examples/mask.png | Bin 0 -> 137283 bytes content/en/about/privacy.md | 18 +- content/en/commands/hugo.md | 1 - .../en/content-management/content-adapters.md | 16 +- .../image-processing/index.md | 10 +- content/en/content-management/related.md | 19 - content/en/content-management/shortcodes.md | 2 - content/en/functions/data/GetCSV.md | 10 +- content/en/functions/data/GetJSON.md | 10 +- content/en/functions/encoding/Base64Decode.md | 10 +- content/en/functions/go-template/return.md | 2 +- content/en/functions/go-template/try.md | 110 +++ content/en/functions/images/Mask.md | 45 + content/en/functions/images/Text.md | 8 +- content/en/functions/openapi3/Unmarshal.md | 8 +- content/en/functions/resources/GetRemote.md | 46 +- content/en/functions/transform/ToMath.md | 4 +- content/en/functions/transform/Unmarshal.md | 16 +- content/en/getting-started/configuration.md | 3 + content/en/methods/resource/Data.md | 9 +- content/en/methods/resource/Err.md | 7 + content/en/showcase/letsencrypt/index.md | 2 +- content/en/templates/partial.md | 3 +- data/docs.yaml | 46 +- data/embedded_template_urls.toml | 1 + hugo_stats.json | 820 ------------------ .../components/author-github-data-card.html | 43 + .../components/author-github-data.html | 36 + .../partials/utilities/get-remote-data.html | 23 + layouts/shortcodes/img.html | 391 +++++++++ 30 files changed, 787 insertions(+), 932 deletions(-) create mode 100644 assets/images/examples/mask.png create mode 100644 content/en/functions/go-template/try.md create mode 100644 content/en/functions/images/Mask.md delete mode 100644 hugo_stats.json create mode 100644 layouts/partials/components/author-github-data-card.html create mode 100644 layouts/partials/components/author-github-data.html create mode 100644 layouts/partials/utilities/get-remote-data.html create mode 100644 layouts/shortcodes/img.html diff --git a/assets/images/examples/mask.png b/assets/images/examples/mask.png new file mode 100644 index 0000000000000000000000000000000000000000..c3005a66949218c44670352d0b53bf53878786a3 GIT binary patch literal 137283 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�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
N1Co01*wcW8lXIgWT)|4}7v6X{UnVAil3 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 @@ -92,19 +92,19 @@ simple disableInlineCSS = true {{< /code-toggle >}} -### Twitter +### X enableDNT -: Enabling this for the twitter/tweet shortcode, the tweet and its embedded page on your site are not used for purposes that include personalized suggestions and personalized ads. +: Enabling this for the x shortcode, the post and its embedded page on your site are not used for purposes that include personalized suggestions and personalized ads. simple -: If simple mode is enabled, a static and no-JS version of a tweet will be built. +: If simple mode is enabled, a static and no-JS version of a post will be built. -**Note:** If you use the _simple mode_ for Twitter, you may want to disable the inline styles provided by Hugo: +**Note:** If you use the _simple mode_ for X, you may want to disable the inline styles provided by Hugo: {{< code-toggle file=hugo >}} [services] -[services.twitter] +[services.x] disableInlineCSS = true {{< /code-toggle >}} diff --git a/content/en/commands/hugo.md b/content/en/commands/hugo.md index ef0bca9a5..42f882ad7 100644 --- a/content/en/commands/hugo.md +++ b/content/en/commands/hugo.md @@ -72,7 +72,6 @@ hugo [flags] * [hugo completion](/commands/hugo_completion/) - Generate the autocompletion script for the specified shell * [hugo config](/commands/hugo_config/) - Display site configuration * [hugo convert](/commands/hugo_convert/) - Convert front matter to another format -* [hugo deploy](/commands/hugo_deploy/) - Deploy your site to a cloud provider * [hugo env](/commands/hugo_env/) - Display version and environment info * [hugo gen](/commands/hugo_gen/) - Generate documentation and syntax highlighting styles * [hugo import](/commands/hugo_import/) - Import a site from another system diff --git a/content/en/content-management/content-adapters.md b/content/en/content-management/content-adapters.md index a88bdba5f..90a2d6ba9 100644 --- a/content/en/content-management/content-adapters.md +++ b/content/en/content-management/content-adapters.md @@ -193,14 +193,14 @@ Step 3 {{/* Get remote data. */}} {{ $data := dict }} {{ $url := "https://gohugo.io/shared/examples/data/books.json" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "Unable to get remote resource %s: %s" $url . }} - {{ else }} + {{ else with .Value }} {{ $data = . | transform.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %s" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %s" $url }} {{ end }} {{/* Add pages and page resources. */}} @@ -223,10 +223,10 @@ Step 3 {{/* Add page resource. */}} {{ $item := . }} {{ with $url := $item.cover }} - {{ with resources.GetRemote $url }} + {{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "Unable to get remote resource %s: %s" $url . }} - {{ else }} + {{ else with .Value }} {{ $content := dict "mediaType" .MediaType.Type "value" .Content }} {{ $params := dict "alt" $item.title }} {{ $resource := dict @@ -235,9 +235,9 @@ Step 3 "path" (printf "%s/cover.%s" $item.title .MediaType.SubType) }} {{ $.AddResource $resource }} + {{ else }} + {{ errorf "Unable to get remote resource %s" $url }} {{ end }} - {{ else }} - {{ errorf "Unable to get remote resource %s" $url }} {{ end }} {{ end }} diff --git a/content/en/content-management/image-processing/index.md b/content/en/content-management/image-processing/index.md index 841f12863..3cd02aa8d 100644 --- a/content/en/content-management/image-processing/index.md +++ b/content/en/content-management/image-processing/index.md @@ -88,15 +88,15 @@ Example 3: A more concise way to skip image rendering if the resource is not fou Example 4: Skips rendering if there's problem accessing a remote resource. ```go-html-template -{{ $u := "https://gohugo.io/img/hugo-logo.png" }} -{{ with resources.GetRemote $u }} +{{ $url := "https://gohugo.io/img/hugo-logo.png" }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $u }} {{ end }} ``` diff --git a/content/en/content-management/related.md b/content/en/content-management/related.md index 44b115a64..16a8ea428 100644 --- a/content/en/content-management/related.md +++ b/content/en/content-management/related.md @@ -157,22 +157,3 @@ pattern toLower : (`bool`) 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 user="scott_lowe" id="898398437527363585" >}} - -Scott S. Lowe removed the "Related Content" section built using the `intersect` template function on tags, and the build time dropped from 30 seconds to less than 2 seconds on his 1700 content page sized blog. - -He should now be able to add an improved version of that "Related Content" section without giving up the fast live-reloads. But it's worth noting that: - -* If you don't use any of the `Related` methods, you will not use the Relate Content feature, and performance will be the same as before. -* Calling `.RegularPages.Related` etc. will create one inverted index, also sometimes named posting list, that will be reused for any lookups in that same page collection. Doing that in addition to, as an example, calling `.Pages.Related` will work as expected, but will create one additional inverted index. This should still be very fast, but worth having in mind, especially for bigger sites. - -{{% note %}} -We currently do not index **Page content**. We thought we would release something that will make most people happy before we start solving [Sherlock's last case](https://github.com/joearms/sherlock). -{{% /note %}} diff --git a/content/en/content-management/shortcodes.md b/content/en/content-management/shortcodes.md index afe84e79b..a486f0c8f 100644 --- a/content/en/content-management/shortcodes.md +++ b/content/en/content-management/shortcodes.md @@ -498,8 +498,6 @@ Rendered: {{% note %}} To override Hugo's embedded `twitter` shortcode, copy the [source code] to a file with the same name in the layouts/shortcodes directory. -You may call the `twitter` shortcode by using its `tweet` alias. - [source code]: {{% eturl twitter %}} {{% /note %}} diff --git a/content/en/functions/data/GetCSV.md b/content/en/functions/data/GetCSV.md index 665b3c23b..bef1bcba9 100644 --- a/content/en/functions/data/GetCSV.md +++ b/content/en/functions/data/GetCSV.md @@ -134,16 +134,16 @@ Consider using the [`resources.GetRemote`] function with [`transform.Unmarshal`] ```go-html-template {{ $data := dict }} -{{ $u := "https://example.org/pets.csv" }} -{{ with resources.GetRemote $u }} +{{ $url := "https://example.org/pets.csv" }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $opts := dict "delimiter" "," }} {{ $data = . | transform.Unmarshal $opts }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $u }} {{ end }} ``` diff --git a/content/en/functions/data/GetJSON.md b/content/en/functions/data/GetJSON.md index 6139e0009..0713e9247 100644 --- a/content/en/functions/data/GetJSON.md +++ b/content/en/functions/data/GetJSON.md @@ -137,15 +137,15 @@ Consider using the [`resources.GetRemote`] function with [`transform.Unmarshal`] ```go-html-template {{ $data := dict }} -{{ $u := "https://example.org/books.json" }} -{{ with resources.GetRemote $u }} +{{ $url := "https://example.org/books.json" }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $data = . | transform.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $u }} {{ end }} ``` diff --git a/content/en/functions/encoding/Base64Decode.md b/content/en/functions/encoding/Base64Decode.md index 821ca805a..0745718bb 100644 --- a/content/en/functions/encoding/Base64Decode.md +++ b/content/en/functions/encoding/Base64Decode.md @@ -25,16 +25,16 @@ https://api.github.com/repos/gohugoio/hugo/readme To retrieve and render the content: ```go-html-template -{{ $u := "https://api.github.com/repos/gohugoio/hugo/readme" }} -{{ with resources.GetRemote $u }} +{{ $url := "https://api.github.com/repos/gohugoio/hugo/readme" }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value}} {{ with . | transform.Unmarshal }} {{ .content | base64Decode | markdownify }} {{ end }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $u }} {{ end }} ``` diff --git a/content/en/functions/go-template/return.md b/content/en/functions/go-template/return.md index 6916827e6..85a9f2742 100644 --- a/content/en/functions/go-template/return.md +++ b/content/en/functions/go-template/return.md @@ -13,7 +13,7 @@ action: toc: true --- -The `return` statement is a custom addition to Go's [text/template] package. Used within partial templates, the `return` statement terminates template execution and returns the given value, if any. +The `return` statement is a non-standard extension to Go's [text/template package]. Used within partial templates, the `return` statement terminates template execution and returns the given value, if any. The returned value may be of any data type including, but not limited to, [`bool`], [`float`], [`int`], [`map`], [`resource`], [`slice`], and [`string`]. diff --git a/content/en/functions/go-template/try.md b/content/en/functions/go-template/try.md new file mode 100644 index 000000000..2d2aa4268 --- /dev/null +++ b/content/en/functions/go-template/try.md @@ -0,0 +1,110 @@ +--- +title: try +description: Returns a TryValue object after evaluating the given expression. +categories: [] +keywords: [] +action: + aliases: [] + related: [] + returnType: TryValue + signatures: ['try EXPRESSION'] +toc: true +--- + +{{< new-in 0.141.0 >}} + +The `try` statement is a non-standard extension to Go's [text/template] package. It introduces a mechanism for handling errors within templates, mimicking the `try-catch` constructs found in other programming languages. + +[text/template]: https://pkg.go.dev/text/template + +## Methods + +The `TryValue` object encapsulates the result of evaluating the expression, and provides two methods: + +Err +: (`string`) Returns a string representation of the error thrown by the expression, if an error occurred, or returns `nil` if the expression evaluated without errors. + +Value +: (`any`) Returns the result of the expression if the evaluation was successful, or returns `nil` if an error occurred while evaluating the expression. + +## Explanation + +By way of example, let's divide a number by zero: + +```go-html-template +{{ $x := 1 }} +{{ $y := 0 }} +{{ $result := div $x $y }} +{{ printf "%v divided by %v equals %v" $x $y .Value }} +``` + +As expected, the example above throws an error and fails the build: + +```terminfo +Error: error calling div: can't divide the value by 0 +``` + +Instead of failing the build, we can catch the error and emit a warning: + +```go-html-template +{{ $x := 1 }} +{{ $y := 0 }} +{{ with try (div $x $y) }} + {{ with .Err }} + {{ warnf "%s" . }} + {{ else }} + {{ printf "%v divided by %v equals %v" $x $y .Value }} + {{ end }} +{{ end }} +``` + +The error thrown by the expression is logged to the console as a warning: + +```terminfo +WARN error calling div: can't divide the value by 0 +``` + +Now let's change the arguments to avoid dividing by zero: + +```go-html-template +{{ $x := 42 }} +{{ $y := 6 }} +{{ with try (div $x $y) }} + {{ with .Err }} + {{ warnf "%s" . }} + {{ else }} + {{ printf "%v divided by %v equals %v" $x $y .Value }} + {{ end }} +{{ end }} +``` + +Hugo renders the above to: + +```html +42 divided by 6 equals 7 +``` + +## Example + +Error handling is essential when using the [`resources.GetRemote`] function to capture remote resources such as data or images. When calling this function, if the HTTP request fails, Hugo will fail the build. + +[`resources.GetRemote`]: /functions/resources/getremote/ + +Instead of failing the build, we can catch the error and emit a warning: + +```go-html-template +{{ $url := "https://broken-example.org/images/a.jpg" }} +{{ with try (resources.GetRemote $url) }} + {{ with .Err }} + {{ warnf "%s" . }} + {{ else with .Value }} + + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} + {{ end }} +{{ end }} +``` + +{{% note %}} +Hugo does not classify an HTTP response with status code 404 as an error. In this case `resources.GetRemote` returns nil. +{{% /note %}} diff --git a/content/en/functions/images/Mask.md b/content/en/functions/images/Mask.md new file mode 100644 index 000000000..b7410574c --- /dev/null +++ b/content/en/functions/images/Mask.md @@ -0,0 +1,45 @@ +--- +title: images.Mask +description: Returns an image filter that applies a mask to the source image. +categories: [] +keywords: [] +action: + aliases: [] + related: + - functions/images/Filter + - methods/resource/Filter + returnType: images.filter + signatures: [images.Mask RESOURCE] +toc: true +--- + +{{< new-in 0.141.0 >}} + +The `images.Mask` filter applies a mask to an image. Black pixels in the mask make the corresponding areas of the base image transparent, while white pixels keep them opaque. Color images are converted to grayscale for masking purposes. The mask is automatically resized to match the dimensions of the base image. + +## Usage + +Create the filter: + +```go-html-template +{{ $filter := images.Mak "images/mask.png" }} +``` + +{{% include "functions/images/_common/apply-image-filter.md" %}} + +## Example + +Mask + +{{< img + src="images/examples/mask.png" + example=false +>}} + +{{< img + src="images/examples/zion-national-park.jpg" + alt="Zion National Park" + filter="mask" + filterArgs="images/examples/mask.png" + example=true +>}} diff --git a/content/en/functions/images/Text.md b/content/en/functions/images/Text.md index 6a18468b7..402f04f3c 100644 --- a/content/en/functions/images/Text.md +++ b/content/en/functions/images/Text.md @@ -52,14 +52,14 @@ Capture the font as a resource: ```go-html-template {{ $font := "" }} {{ $path := "https://github.com/google/fonts/raw/main/ofl/lato/Lato-Regular.ttf" }} -{{ with resources.GetRemote $path }} +{{ with try (resources.GetRemote $path) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $font = . }} + {{ else }} + {{ errorf "Unable to get resource %q" $path }} {{ end }} -{{ else }} - {{ errorf "Unable to get resource %q" $path }} {{ end }} ``` diff --git a/content/en/functions/openapi3/Unmarshal.md b/content/en/functions/openapi3/Unmarshal.md index 433337aef..d1e251800 100644 --- a/content/en/functions/openapi3/Unmarshal.md +++ b/content/en/functions/openapi3/Unmarshal.md @@ -22,14 +22,14 @@ For example, to work with a remote [OpenAPI] definition: ```go-html-template {{ $url := "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.json" }} {{ $api := "" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $api = . | openapi3.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` diff --git a/content/en/functions/resources/GetRemote.md b/content/en/functions/resources/GetRemote.md index 2179415dd..7ad56f19c 100644 --- a/content/en/functions/resources/GetRemote.md +++ b/content/en/functions/resources/GetRemote.md @@ -20,14 +20,14 @@ toc: true ```go-html-template {{ $url := "https://example.org/images/a.jpg" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` @@ -75,14 +75,14 @@ When retrieving remote data, use the [`transform.Unmarshal`] function to [unmars ```go-html-template {{ $data := dict }} {{ $url := "https://example.org/books.json" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $data = . | transform.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` @@ -98,24 +98,24 @@ In these cases, pass the resource `Content` through the `transform.Unmarshal` fu ## Error handling -The [`Err`] method on a resource returned by the `resources.GetRemote` function returns an error message if the HTTP request fails, else nil. If you do not handle the error yourself, Hugo will fail the build. +Use the [`try`] statement to capture HTTP request errors. If you do not handle the error yourself, Hugo will fail the build. -[`Err`]: /methods/resource/err/ +[`try`]: /functions/go-template/try {{% note %}} -Hugo does not classify an HTTP response with status code 404 as an error. In this case the function returns nil. +Hugo does not classify an HTTP response with status code 404 as an error. In this case `resources.GetRemtoe`returns nil. {{% /note %}} ```go-html-template {{ $url := "https://broken-example.org/images/a.jpg" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` @@ -123,14 +123,14 @@ To log an error as a warning instead of an error: ```go-html-template {{ $url := "https://broken-example.org/images/a.jpg" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ warnf "%s" . }} - {{ else }} + {{ else with .Value }} + {{ else }} + {{ warnf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` @@ -142,10 +142,10 @@ The [`Data`] method on a resource returned by the `resources.GetRemote` function ```go-html-template {{ $url := "https://example.org/images/a.jpg" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ with .Data }} {{ .ContentLength }} → 42764 {{ .ContentType }} → image/jpeg @@ -153,9 +153,9 @@ The [`Data`] method on a resource returned by the `resources.GetRemote` function {{ .StatusCode }} → 200 {{ .TransferEncoding }} → [] {{ end }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` diff --git a/content/en/functions/transform/ToMath.md b/content/en/functions/transform/ToMath.md index bbdc7b289..7ffb4c379 100644 --- a/content/en/functions/transform/ToMath.md +++ b/content/en/functions/transform/ToMath.md @@ -97,11 +97,11 @@ There are 3 ways to handle errors from KaTeX: 1. Set the `throwOnError` option to `false` to make KaTeX render the expression as an error instead of throwing an error. See [options](#options). {{< code file=layouts/_default/_markup/render-passthrough-inline.html copy=true >}} -{{ with transform.ToMath .Inner }} +{{ with try (transform.ToMath .Inner) }} {{ with .Err }} {{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }} {{ else }} - {{ . }} + {{ .Value }} {{ end }} {{ end }} {{- /* chomp trailing newline */ -}} diff --git a/content/en/functions/transform/Unmarshal.md b/content/en/functions/transform/Unmarshal.md index 960332c44..20505d1b6 100644 --- a/content/en/functions/transform/Unmarshal.md +++ b/content/en/functions/transform/Unmarshal.md @@ -97,14 +97,14 @@ A remote resource is a file on a remote server, accessible via HTTP or HTTPS. ```go-html-template {{ $data := dict }} {{ $url := "https://example.org/books.json" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $data = . | transform.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} {{ range where $data "author" "Victor Hugo" }} @@ -175,14 +175,14 @@ Get the remote data: ```go-html-template {{ $data := dict }} {{ $url := "https://example.org/books/index.xml" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $data = . | transform.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` diff --git a/content/en/getting-started/configuration.md b/content/en/getting-started/configuration.md index 3d75e7dd2..6fb09c164 100644 --- a/content/en/getting-started/configuration.md +++ b/content/en/getting-started/configuration.md @@ -266,6 +266,9 @@ To remain consistent and prevent unexpected behavior, do not mix these strategie (`string`) The directory from where Hugo reads data files. Default is `data`. {{% module-mounts-note %}} +###### defaultOutputFormat +(`string`) The default output format for the site. If unspecified, the first available format in the defined order (by weight, then alphabetically) will be used. + ###### defaultContentLanguage (`string`) Content without language indicator will default to this language. Default is `en`. diff --git a/content/en/methods/resource/Data.md b/content/en/methods/resource/Data.md index 43108fce8..f62de34d2 100644 --- a/content/en/methods/resource/Data.md +++ b/content/en/methods/resource/Data.md @@ -17,10 +17,10 @@ The `Data` method on a resource returned by the [`resources.GetRemote`] function ```go-html-template {{ $url := "https://example.org/images/a.jpg" }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ with .Data }} {{ .ContentLength }} → 42764 {{ .ContentType }} → image/jpeg @@ -28,9 +28,9 @@ The `Data` method on a resource returned by the [`resources.GetRemote`] function {{ .StatusCode }} → 200 {{ .TransferEncoding }} → [] {{ end }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} ``` @@ -49,5 +49,4 @@ StatusCode TransferEncoding : (`string`) The transfer encoding. - [`resources.GetRemote`]: /functions/resources/getremote/ diff --git a/content/en/methods/resource/Err.md b/content/en/methods/resource/Err.md index 6baa30e47..41259bf47 100644 --- a/content/en/methods/resource/Err.md +++ b/content/en/methods/resource/Err.md @@ -9,8 +9,15 @@ action: - methods/resource/Data returnType: resource.resourceError signatures: [RESOURCE.Err] +expiryDate: 2026-01-31 --- +{{% deprecated-in 0.141.0 %}} +Use the `try` statement instead. See [example]. + +[example]: /functions/go-template/try/#example +{{% /deprecated-in %}} + The `Err` method on a resource returned by the [`resources.GetRemote`] function returns an error message if the HTTP request fails, else nil. If you do not handle the error yourself, Hugo will fail the build. [`resources.GetRemote`]: /functions/resources/getremote/ diff --git a/content/en/showcase/letsencrypt/index.md b/content/en/showcase/letsencrypt/index.md index 6ad4b7840..e2f8e168f 100644 --- a/content/en/showcase/letsencrypt/index.md +++ b/content/en/showcase/letsencrypt/index.md @@ -9,7 +9,7 @@ byline: "[bep](https://github.com/bep), Hugo Lead" The **Let’s Encrypt website** has a common set of elements: A landing page and some other static info-pages, a document section, a blog, and a documentation section. Having it moved to Hugo was mostly motivated by a _simpler administration and Hugo's [multilingual support](/content-management/multilingual/)_. They already serve HTTPS to more than 60 million domains, and having the documentation available in more languages will increase that reach.[^1] -{{< tweet user="letsencrypt" id="971755920639307777" >}} +{{< x user="letsencrypt" id="971755920639307777" >}} I helped them port the site from Jekyll to Hugo. There are usually very few surprises doing this. I know Hugo very well, but working on sites with a history usually comes up with something new. diff --git a/content/en/templates/partial.md b/content/en/templates/partial.md index 30055e7e3..996914b05 100644 --- a/content/en/templates/partial.md +++ b/content/en/templates/partial.md @@ -27,8 +27,7 @@ layouts/ ├── head/ │ ├── favicons.html │ ├── metadata.html - │ ├── prerender.html - │ └── twitter.html + │ └── prerender.html └── header/ ├── site-header.html └── site-nav.html diff --git a/data/docs.yaml b/data/docs.yaml index 73a17ab06..27b1b0a6f 100644 --- a/data/docs.yaml +++ b/data/docs.yaml @@ -54,6 +54,9 @@ chroma: - Aliases: - armasm Name: ArmAsm + - Aliases: + - atl + Name: ATL - Aliases: - autohotkey - ahk @@ -88,6 +91,9 @@ chroma: - dosbatch - winbatch Name: Batchfile + - Aliases: + - beef + Name: Beef - Aliases: - bib - bibtex @@ -190,6 +196,9 @@ chroma: - Aliases: - css Name: CSS + - Aliases: + - csv + Name: CSV - Aliases: - cue Name: CUE @@ -308,7 +317,7 @@ chroma: - Gherkin Name: Gherkin - Aliases: - - gleam> + - gleam Name: Gleam - Aliases: - glsl @@ -414,6 +423,12 @@ chroma: - Aliases: - json Name: JSON + - Aliases: + - jsonata + Name: JSONata + - Aliases: + - jsonnet + Name: Jsonnet - Aliases: - julia - jl @@ -464,7 +479,8 @@ chroma: Name: Matlab - Aliases: - mcfunction - Name: mcfunction + - mcf + Name: MCFunction - Aliases: - meson - meson.build @@ -521,6 +537,11 @@ chroma: - nixos - nix Name: Nix + - Aliases: + - nsis + - nsi + - nsh + Name: NSIS - Aliases: - objective-c - objectivec @@ -752,6 +773,9 @@ chroma: - Aliases: - smarty Name: Smarty + - Aliases: + - snbt + Name: SNBT - Aliases: - snobol Name: Snobol @@ -862,6 +886,9 @@ chroma: - Aliases: - typoscripthtmldata Name: TypoScriptHtmlData + - Aliases: + - typst + Name: Typst - Aliases: null Name: ucode - Aliases: @@ -904,6 +931,9 @@ chroma: - Aliases: - wgsl Name: WebGPU Shading Language + - Aliases: + - vtt + Name: WebVTT - Aliases: - whiley Name: Whiley @@ -993,6 +1023,7 @@ config: dataDir: data defaultContentLanguage: en defaultContentLanguageInSubdir: false + defaultOutputFormat: html deployment: confirm: false dryRun: false @@ -1146,7 +1177,6 @@ config: lineNos: false lineNumbersInTable: true noClasses: true - noHl: false style: monokai tabWidth: 4 wrapperClass: highlight @@ -3196,6 +3226,11 @@ tpl: Args: null Description: "" Examples: null + Mask: + Aliases: null + Args: null + Description: "" + Examples: null Opacity: Aliases: null Args: null @@ -3221,6 +3256,11 @@ tpl: Args: null Description: "" Examples: null + QR: + Aliases: null + Args: null + Description: "" + Examples: null Saturation: Aliases: null Args: null diff --git a/data/embedded_template_urls.toml b/data/embedded_template_urls.toml index 359105e60..68be43d88 100644 --- a/data/embedded_template_urls.toml +++ b/data/embedded_template_urls.toml @@ -36,4 +36,5 @@ 'relref' = 'shortcodes/relref.html' 'twitter' = 'shortcodes/twitter.html' 'vimeo' = 'shortcodes/vimeo.html' +'x' = 'shortcodes/x.html' 'youtube' = 'shortcodes/youtube.html' diff --git a/hugo_stats.json b/hugo_stats.json deleted file mode 100644 index ca27d8991..000000000 --- a/hugo_stats.json +++ /dev/null @@ -1,820 +0,0 @@ -{ - "htmlElements": { - "tags": [ - "", - "a", - "article", - "aside", - "blockquote", - "body", - "br", - "button", - "circle", - "code", - "date", - "dd", - "div", - "dl", - "dt", - "em", - "figcaption", - "figure", - "footer", - "form", - "g", - "h1", - "h2", - "h3", - "h4", - "h5", - "h6", - "head", - "header", - "hr", - "html", - "i", - "iframe", - "img", - "li", - "link", - "main", - "meta", - "nav", - "noscript", - "ol", - "p", - "path", - "pre", - "script", - "section", - "small", - "span", - "strong", - "style", - "sup", - "svg", - "table", - "tbody", - "td", - "thead", - "time", - "title", - "tr", - "ul" - ], - "classes": [ - "!('about'", - "!('content-management'", - "!('contribute'", - "!('functions'", - "!('getting-started'", - "!('hosting-and-deployment'", - "!('modules'", - "!('pipes'", - "!('templates'", - "!('tools'", - "!('troubleshooting'", - "!('variables'", - "\u0026\u0026", - "(false", - "(true", - "-ml-px", - "-mr-12", - "-mr-3", - "-translate-x-3", - "-translate-y-2", - "absolute", - "absolute-l", - "active", - "admonition", - "admonition-content", - "admonition-icon", - "anchor", - "b--moon-gray", - "benchstat", - "better", - "bg-accent-color-dark", - "bg-animate", - "bg-black", - "bg-carrot-500", - "bg-cover", - "bg-gradient-to-b", - "bg-gray-100", - "bg-gray-200", - "bg-gray-300", - "bg-gray-50", - "bg-gray-600", - "bg-gray-900", - "bg-green-100", - "bg-mango-300", - "bg-mango-50", - "bg-near-white", - "bg-opacity-20", - "bg-opacity-75", - "bg-orange-500", - "bg-steel-200", - "bg-steel-500", - "bg-steel-600", - "bg-steel-800", - "bg-steel-900", - "bg-white", - "blTK", - "black", - "block", - "bmt1", - "border", - "border-0", - "border-2", - "border-b", - "border-gray-100", - "border-gray-200", - "border-gray-300", - "border-l", - "border-none", - "border-r", - "border-solid", - "border-t", - "border-transparent", - "bottom-0", - "break-inside-avoid-l", - "btn-primary", - "c", - "c1", - "chroma", - "clearfix", - "cm", - "code-copy-content", - "code-toggle", - "column-count-3-l", - "column-gap-1-l", - "configs", - "copy", - "cp", - "cursor-pointer", - "dark:bg-red-800", - "dark:border-gray-800", - "delta", - "details", - "dim", - "disabled", - "divide-gray-200", - "divide-x", - "err", - "f2-fluid", - "f6", - "filename", - "fill-current", - "fixed", - "fixed-lTK", - "flex", - "flex-1", - "flex-auto", - "flex-auto-ns", - "flex-col", - "flex-column", - "flex-none", - "flex-shrink-0", - "flex-wrap", - "fn", - "focus:border-steel-500", - "focus:outline-none", - "focus:ring-1", - "focus:ring-2", - "focus:ring-inset", - "focus:ring-offset-2", - "focus:ring-steel-500", - "focus:ring-white", - "focus:z-10", - "font-black", - "font-bold", - "font-extrabold", - "font-extralight", - "font-medium", - "font-mono", - "font-normal", - "font-sans", - "font-semibold", - "footnote-backref", - "footnote-ref", - "footnotes", - "from-primarydark", - "gap-4", - "ge", - "grid", - "grid-cols-1", - "group", - "grow", - "gs", - "gu", - "h-0", - "h-0.5", - "h-10", - "h-12", - "h-16", - "h-2", - "h-32", - "h-5", - "h-6", - "h-64", - "h-8", - "h-full", - "h-screen", - "h6", - "hidden", - "highlight", - "hl", - "hover", - "hover-bg-green", - "hover-bg-near-white", - "hover-bg-primary-color", - "hover-bg-primary-color-dark", - "hover-blue", - "hover:bg-gray-300", - "hover:bg-gray-50", - "hover:bg-steel-500", - "hover:bg-steel-700", - "hover:border", - "hover:text-gray-200", - "hover:text-gray-900", - "hover:text-hotpink-400", - "hover:text-hotpink-600", - "hover:text-limegreen-900", - "hover:text-royalblue-700", - "hover:text-steel-500", - "hover:text-white", - "img", - "in", - "inline-block", - "inline-flex", - "inset-0", - "inset-x-0", - "instagram-media", - "items-center", - "items-start", - "justify-between", - "justify-center", - "justify-end", - "k", - "kc", - "kd", - "kr", - "kt", - "l", - "language-asciidoc", - "language-bash", - "language-go", - "language-go-html-template", - "language-go-text-template", - "language-html", - "language-js", - "language-json", - "language-markdown", - "language-md", - "language-ps1", - "language-sh", - "language-svg", - "language-text", - "language-toml", - "language-txt", - "language-xml", - "language-yaml", - "language-yml", - "lazyload", - "ld", - "lead", - "leading-none", - "leading-normal", - "leading-relaxed", - "leading-snug", - "leading-tight", - "left-0", - "lg:bg-steel-700", - "lg:block", - "lg:flex", - "lg:flex-grow", - "lg:flex-shrink-0", - "lg:hidden", - "lg:inline-block", - "lg:items-center", - "lg:max-w-lg", - "lg:mb-0", - "lg:mr-auto", - "lg:mt-0", - "lg:p-4", - "lg:pb-5", - "lg:prose-lg", - "lg:pt-0", - "lg:px-4", - "lg:px-5", - "lg:px-8", - "lg:py-5", - "lg:py-8", - "lg:rounded-md", - "lg:shadow-lg", - "lg:space-x-4", - "lg:text-5xl", - "lg:w-1/2", - "lg:w-1/4", - "lg:w-1/5", - "lg:w-11/12", - "lg:w-3/5", - "lg:w-4/5", - "lg:w-auto", - "light-gray", - "link", - "list-reset", - "lnt", - "lntable", - "lntd", - "m", - "m-0", - "m-1", - "max-w-6xl", - "max-w-lg", - "max-w-xs", - "mb-0", - "mb-1", - "mb-2", - "mb-3", - "mb-4", - "mb-8", - "mb5", - "mb7", - "md:flex", - "md:flex-col", - "md:flex-grow", - "md:grid-cols-2", - "md:mt-8", - "md:pb-12", - "menu))", - "menu['about']", - "menu['content-management']", - "menu['contribute']", - "menu['functions']", - "menu['getting-started']", - "menu['hosting-and-deployment']", - "menu['modules']", - "menu['pipes']", - "menu['templates']", - "menu['tools']", - "menu['troubleshooting']", - "menu['variables']", - "mf", - "mi", - "min-h-screen", - "min-w-0", - "minor", - "ml-1", - "ml-10", - "ml-4", - "ml-6", - "ml1", - "mr-1.5", - "mr-10", - "mr-3", - "mr-4", - "mt-0", - "mt-1", - "mt-2", - "mt-4", - "mt-5", - "mt-6", - "mt-8", - "mt3", - "mt4", - "mv2", - "mv3", - "mv4", - "mv6", - "mw-100", - "mw5-l", - "mx-auto", - "my-0", - "n", - "na", - "navbar-menu", - "nb", - "needs-js", - "nested-blockquote", - "nested-copy-seperator", - "nested-img", - "nested-links", - "nested-linksTK", - "nested-list-reset", - "nf", - "ni", - "nightwind", - "nightwind-prevent", - "nightwind-prevent-block", - "nn", - "no-js", - "no-underline", - "nodelta", - "note", - "note-icon", - "nt", - "nt3", - "nv", - "nx", - "o", - "o-0", - "o-80", - "oldnew", - "opacity-60", - "open", - "order-0", - "order-0-l", - "order-1", - "order-1-l", - "order-2", - "output-content", - "overflow-hidden", - "overflow-x-scroll", - "overflow-y-auto", - "p", - "p-0", - "p-2", - "p-3", - "p-4", - "p-5", - "p-8", - "pa4-m", - "page-item", - "page-link", - "pagination", - "pb-1", - "pb-2", - "pb-3", - "pb-4", - "pb-5", - "pb-7", - "pb-8", - "pb2", - "ph1", - "ph2", - "ph4", - "pl-0", - "pl-1", - "pl-2", - "pl-3", - "pl-6", - "pl5-l", - "pr-2", - "pr1", - "primary-color", - "prose", - "pt-0", - "pt-1", - "pt-2", - "pt-3", - "pt-4", - "pt-5", - "pv1", - "px-0", - "px-2", - "px-3", - "px-4", - "py-0", - "py-0.5", - "py-1.5", - "py-2", - "py-3", - "py-4", - "py-6", - "relative", - "right-0", - "rounded", - "rounded-full", - "rounded-l-lg", - "rounded-l-md", - "rounded-lg", - "rounded-md", - "rounded-r-md", - "row", - "s", - "s1", - "s2", - "san-serif", - "se", - "shadow", - "shadow-lg", - "shadow-md", - "shadow-sm", - "show", - "sm:flex", - "sm:grid-cols-2", - "sm:mb-0", - "sm:mt-0", - "sm:mt-8", - "sm:p-4", - "sm:pb-0", - "sm:pb-6", - "sm:pt-3", - "sm:pt-5", - "sm:px-4", - "sm:px-5", - "sm:px-6", - "sm:py-0", - "sm:py-4", - "sm:py-5", - "sm:py-6", - "sm:text-2xl", - "sm:text-4xl", - "sm:text-base", - "sm:text-center", - "sm:text-left", - "sm:w-1/2", - "sm:w-1/5", - "sm:w-11/12", - "sm:w-4/5", - "space-x-4", - "space-x-8", - "space-y-1", - "sr-only", - "table", - "table-bordered", - "tc", - "text-2xl", - "text-3xl", - "text-4xl", - "text-5xl", - "text-base", - "text-black", - "text-center", - "text-gray-200", - "text-gray-300", - "text-gray-400", - "text-gray-500", - "text-gray-600", - "text-gray-900", - "text-lg", - "text-limegreen-600", - "text-limegreen-700", - "text-mango-100", - "text-mango-300", - "text-md", - "text-royalblue-500", - "text-royalblue-600", - "text-sm", - "text-steel-100", - "text-steel-500", - "text-steel-900", - "text-white", - "text-xl", - "text-xs", - "tile", - "tip", - "tip-icon", - "to-steel-800", - "top-0", - "top-2", - "tracked", - "tracking-normal", - "tracking-tight", - "transform", - "twitter-tweet", - "unchanged", - "uppercase", - "v-base", - "v-mid", - "v-top", - "w", - "w-1/5", - "w-10", - "w-11/12", - "w-12", - "w-14", - "w-2", - "w-2/3", - "w-30-l", - "w-32", - "w-5", - "w-50-m", - "w-6", - "w-64", - "w-8", - "w-80-nsTK", - "w-96", - "w-auto", - "w-full", - "w-two-third-l", - "warning", - "whitespace-no-wrap", - "worse", - "x", - "xl:flex", - "xl:flex-col", - "z-0", - "z-40", - "z-999", - "||" - ], - "ids": [ - ".gitlab-ci.yml", - "/blog/greatest-city/index.html", - "/content/actors/bruce-willis/_index.md", - "/layouts/shortcodes/img.html", - "/layouts/shortcodes/vimeo.html", - "/layouts/shortcodes/year.html", - "/layouts/shortcodes/youtube.html", - "/themes/yourtheme/layouts/review/single.html", - "404.html", - "TableOfContents", - "addrobotstxt.sh", - "all-taxonomies-keys-and-pages.html", - "all-taxonomies.html", - "archetype-example.sh", - "archetypes/functions.md", - "archetypes/newsletter.md", - "articles.html", - "asciicast-3mf1JGaN0AX0Z7j5kLGl3hSh8", - "asciicast-7naKerRYUGVPj8kiDmdh5k5h9", - "asciicast-BvJBsF6egk9c163bMsObhuNXj", - "asciicast-ItACREbFgvJ0HjnSNeTknxWy9", - "asciicast-Lc5iwTVny2kuUC8lqvNnL6oDU", - "asciicast-eUojYCfRTZvkEiqc52fUsJRBR", - "bad-url-sidebar-menu-output.html", - "base-64-output.html", - "base64-input.html", - "baseof.html", - "bf-config.toml", - "bf-config.yml", - "boxfile.yml", - "breadcrumb.html", - "check-title-length.html", - "clone-herring-cove-theme.sh", - "config.toml", - "content-header.html", - "content-image.md", - "content/blog/greatest-city.md", - "content/posts/_index.md", - "content/posts/default-function-example.md", - "content/posts/my-awesome-post.md", - "content/posts/my-post.md", - "content/posts/old-post.md", - "content/posts/old-url.md", - "content/tutorials/learn-html.md", - "correct-url-sidebar-menu-output.html", - "delimit-example-front-matter.toml", - "delimit-page-tags-final-and-input.html", - "delimit-page-tags-final-and-output.html", - "delimit-page-tags-input.html", - "delimit-page-tags-output.html", - "disqus.html", - "dot-notation-default-return-value.html", - "dot-notation-default-value.html", - "example-tweet-input.md", - "example-tweet-output.html", - "example-vimeo-input.md", - "example-vimeo-output.html", - "example-youtube-input-with-autoplay.md", - "example-youtube-input-with-title.md", - "example-youtube-input.md", - "example-youtube-output.html", - "example.com/posts/index.html", - "example.com/quote/index.html", - "external-links.svg", - "figure-input-example.md", - "figure-output-example.html", - "first-and-where-together.html", - "fn:1", - "fn:2", - "fnref:1", - "fnref:2", - "footer.html", - "from-gh.sh", - "gist-input.md", - "gist-output.html", - "gitignore.sh", - "gohugoio", - "grab-top-two-tags.html", - "header.html", - "highlight-example.md", - "how-many-posts.html", - "hugo-new-site.sh", - "if-instead-of-default.html", - "img-output.html", - "index.html", - "instagram-hide-caption-output.html", - "instagram-input-hide-caption.md", - "instagram-input.md", - "install-brew.sh", - "install-extended-with-chocolatey.ps1", - "install-go.sh", - "install-openssh.sh", - "install-with-chocolatey.ps1", - "install-with-homebrew.sh", - "install-with-linuxbrew.sh", - "install-with-macports.sh", - "install.sh", - "layout/_default/section.html", - "layout/_default/single.html", - "layouts/404.html", - "layouts/_default/_markup/render-heading.html", - "layouts/_default/_markup/render-image.html", - "layouts/_default/_markup/render-link.html", - "layouts/_default/baseof.html", - "layouts/_default/li.html", - "layouts/_default/list.html", - "layouts/_default/section.html", - "layouts/_default/single.html", - "layouts/_default/summary.html", - "layouts/_default/taxonomy.html", - "layouts/index.html", - "layouts/partials/all-taxonomies.html", - "layouts/partials/alllanguages.html", - "layouts/partials/bad-url-sidebar-menu.html", - "layouts/partials/breadcrumb.html", - "layouts/partials/by-date-reverse.html", - "layouts/partials/by-date.html", - "layouts/partials/by-expiry-date.html", - "layouts/partials/by-group-by-page.html", - "layouts/partials/by-last-mod.html", - "layouts/partials/by-length.html", - "layouts/partials/by-link-title.html", - "layouts/partials/by-nested-param.html", - "layouts/partials/by-page-date.html", - "layouts/partials/by-page-expiry-date.html", - "layouts/partials/by-page-field.html", - "layouts/partials/by-page-lastmod.html", - "layouts/partials/by-page-param-as-date.html", - "layouts/partials/by-page-param.html", - "layouts/partials/by-page-publish-date.html", - "layouts/partials/by-publish-date.html", - "layouts/partials/by-rating.html", - "layouts/partials/by-title.html", - "layouts/partials/by-weight.html", - "layouts/partials/content-header.html", - "layouts/partials/correct-url-sidebar-menu.html", - "layouts/partials/default-order.html", - "layouts/partials/disqus.html", - "layouts/partials/footer.html", - "layouts/partials/get-csv.html", - "layouts/partials/groups.html", - "layouts/partials/head.html", - "layouts/partials/header.html", - "layouts/partials/i18nlist.html", - "layouts/partials/post-tag-link.html", - "layouts/partials/post-tag-list.html", - "layouts/partials/related.html", - "layouts/partials/schemaorg-metadata.html", - "layouts/partials/sidebar.html", - "layouts/partials/svgs/external-links.svg", - "layouts/partials/toc.html", - "layouts/partials/twitter.html", - "layouts/partials/upcoming-events.html", - "layouts/posts/single.html", - "layouts/robots.txt", - "layouts/section/articles.html", - "layouts/section/posts.html", - "layouts/shortcodes/gallery.html", - "layouts/shortcodes/img.html", - "layouts/shortcodes/imgproc.html", - "li.html", - "links-to-all-tags.html", - "list.html", - "netlify.toml", - "note-with-heading.html", - "note-with-heading.md", - "page-list-with-summaries.html", - "partial-cached-example.html", - "partials/templates/random-tweets.html", - "post-tag-list.html", - "prose", - "push-wecker-to-gh.sh", - "range-through-tags-w-global.html", - "remove-herring-cove-git.sh", - "robots.txt", - "schemaorg-metadata.html", - "section.html", - "setup-gh-repo.sh", - "shuffle-input.html", - "shuffle-output.html", - "sidebar.html", - "single.html", - "slice.html", - "summary.html", - "syntax-highlighted.html", - "tags-range-with-page-variable.html", - "taxonomy.html", - "time-passed.html", - "tip-output.html", - "toc.html", - "tutorials/learn-html/index.html", - "tweets.html", - "unix-to-month-integer.html", - "upcoming-events.html", - "using-tip.md", - "variable-as-default-value.html", - "vimeo-iframes.html", - "warning-admonition-input.md", - "warning-admonition-output.html", - "wercker-build-step.yml", - "wercker.yml", - "where-intersect-variables.html", - "with-instead-of-default.html", - "yourbaseurl/review/book01/index.html", - "youtube-embed.html" - ] - } -} \ No newline at end of file diff --git a/layouts/partials/components/author-github-data-card.html b/layouts/partials/components/author-github-data-card.html new file mode 100644 index 000000000..d3edadaac --- /dev/null +++ b/layouts/partials/components/author-github-data-card.html @@ -0,0 +1,43 @@ +{{ $author := .context.Params.author }} +{{ if $author }} + +{{ end }} diff --git a/layouts/partials/components/author-github-data.html b/layouts/partials/components/author-github-data.html new file mode 100644 index 000000000..c281e411f --- /dev/null +++ b/layouts/partials/components/author-github-data.html @@ -0,0 +1,36 @@ +{{ $author := .context.Params.author }} +{{ if $author }} + +{{ end }} diff --git a/layouts/partials/utilities/get-remote-data.html b/layouts/partials/utilities/get-remote-data.html new file mode 100644 index 000000000..78b2ba06e --- /dev/null +++ b/layouts/partials/utilities/get-remote-data.html @@ -0,0 +1,23 @@ +{{/* +Parses the serialized data from the given URL and returns a map or an array. + +Supports CSV, JSON, TOML, YAML, and XML. + +@param {string} . The URL from which to retrieve the serialized data. +@returns {any} + +@example {{ partial "get-remote-data.html" "https://example.org/foo.json" }} +*/}} + +{{ $url := . }} +{{ $data := dict }} +{{ with try (resources.GetRemote $url) }} + {{ with .Err }} + {{ errorf "%s" . }} + {{ else with .Value }} + {{ $data = .Content | transform.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} + {{ end }} +{{ end }} +{{ return $data }} diff --git a/layouts/shortcodes/img.html b/layouts/shortcodes/img.html new file mode 100644 index 000000000..7c2d805d2 --- /dev/null +++ b/layouts/shortcodes/img.html @@ -0,0 +1,391 @@ +{{- /* +Renders the given image using the given filter, if any. + +@param {string} src The path to the image which must be a remote, page, or global resource. +@param {string} [filter] The filter to apply to the image (case-insensitive). +@param {string} [filterArgs] A comma-delimited list of arguments to pass to the filter. +@param {bool} [example=false] If true, renders a before/after example. +@param {int} [exampleWidth=384] Image width, in pixels, when rendering a before/after example. + +@returns {template.HTML} + +@examples + + {{< img src="zion-national-park.jpg" >}} + + {{< img src="zion-national-park.jpg" alt="Zion National Park" >}} + + {{< img + src="zion-national-park.jpg" + alt="Zion National Park" + filter="grayscale" + >}} + + {{< img + src="zion-national-park.jpg" + alt="Zion National Park" + filter="process" + filterArgs="resize 400x webp" + >}} + + {{< img + src="zion-national-park.jpg" + alt="Zion National Park" + filter="colorize" + filterArgs="180,50,20" + >}} + + {{< img + src="zion-national-park.jpg" + alt="Zion National Park" + filter="grayscale" + example=true + >}} + + {{< img + src="zion-national-park.jpg" + alt="Zion National Park" + filter="grayscale" + example=true + exampleWidth=400 + >}} + + When using the text filter, provide the arguments in this order: + + 0. The text + 1. The horizontal offset, in pixels, relative to the left of the image (default 20) + 2. The vertical offset, in pixels, relative to the top of the image (default 20) + 3. The font size in pixels (default 64) + 4. The line height (default 1.2) + 5. The font color (default #ffffff) + + {{< img + src="images/examples/zion-national-park.jpg" + alt="Zion National Park" + filter="Text" + filterArgs="Zion National Park,25,250,56" + example=true + >}} + + When using the padding filter, provide all arguments in this order: + + 0. Padding top + 1. Padding right + 2. Padding bottom + 3. Padding right + 4. Canvas color + + {{< img + src="images/examples/zion-national-park.jpg" + alt="Zion National Park" + filter="Padding" + filterArgs="20,50,20,50,#0705" + example=true + >}} + +*/}} + +{{- /* Initialize. */}} +{{- $alt := "" }} +{{- $src := "" }} +{{- $filter := "" }} +{{- $filterArgs := slice }} +{{- $example := false }} +{{- $exampleWidth := 384 }} + +{{- /* Default values to use with the text filter. */}} +{{ $textFilterOpts := dict + "xOffset" 20 + "yOffset" 20 + "fontSize" 64 + "lineHeight" 1.2 + "fontColor" "#ffffff" + "fontPath" "https://github.com/google/fonts/raw/main/ofl/lato/Lato-Regular.ttf" +}} + +{{- /* Get and validate parameters. */}} +{{- with .Get "alt" }} + {{- $alt = .}} +{{- end }} + +{{- with .Get "src" }} + {{- $src = . }} +{{- else }} + {{- errorf "The %q shortcode requires a file parameter. See %s" .Name .Position }} +{{- end }} + +{{- with .Get "filter" }} + {{- $filter = . | lower }} +{{- end }} + +{{- $validFilters := slice + "autoorient" "brightness" "colorbalance" "colorize" "contrast" "dither" + "gamma" "gaussianblur" "grayscale" "hue" "invert" "mask" "none" "opacity" + "overlay" "padding" "pixelate" "process" "saturation" "sepia" "sigmoid" "text" + "unsharpmask" +}} + +{{- with $filter }} + {{- if not (in $validFilters .) }} + {{- errorf "The filter passed to the %q shortcode is invalid. The filter must be one of %s. See %s" $.Name (delimit $validFilters ", " ", or ") $.Position }} + {{- end }} +{{- end }} + +{{- with .Get "filterArgs" }} + {{- $filterArgs = split . "," }} + {{- $filterArgs = apply $filterArgs "trim" "." " " }} +{{- end }} + +{{- if in (slice "false" false 0) (.Get "example") }} + {{- $example = false }} +{{- else if in (slice "true" true 1) (.Get "example")}} + {{- $example = true }} +{{- end }} + +{{- with .Get "exampleWidth" }} + {{- $exampleWidth = . | int }} +{{- end }} + +{{- /* Get image. */}} +{{- $ctx := dict "page" .Page "src" $src "name" .Name "position" .Position }} +{{- $i := partial "inline/get-resource.html" $ctx }} + +{{- /* Resize if rendering before/after examples. */}} +{{- if $example }} + {{- $i = $i.Resize (printf "%dx" $exampleWidth) }} +{{- end }} + +{{- /* Create filter. */}} +{{- $f := "" }} +{{- $ctx := dict "filter" $filter "args" $filterArgs "name" .Name "position" .Position }} +{{- if eq $filter "autoorient" }} + {{- $ctx = merge $ctx (dict "argsRequired" 0) }} + {{- template "validate-arg-count" $ctx }} + {{- $f = images.AutoOrient }} +{{- else if eq $filter "brightness" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "percentage" "argValue" (index $filterArgs 0) "min" -100 "max" 100) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Brightness (index $filterArgs 0) }} +{{- else if eq $filter "colorbalance" }} + {{- $ctx = merge $ctx (dict "argsRequired" 3) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "percentage red" "argValue" (index $filterArgs 0) "min" -100 "max" 500) }} + {{- template "validate-arg-value" $ctx }} + {{- $ctx = merge $ctx (dict "argName" "percentage green" "argValue" (index $filterArgs 1) "min" -100 "max" 500) }} + {{- template "validate-arg-value" $ctx }} + {{- $ctx = merge $ctx (dict "argName" "percentage blue" "argValue" (index $filterArgs 2) "min" -100 "max" 500) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.ColorBalance (index $filterArgs 0) (index $filterArgs 1) (index $filterArgs 2) }} +{{- else if eq $filter "colorize" }} + {{- $ctx = merge $ctx (dict "argsRequired" 3) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "hue" "argValue" (index $filterArgs 0) "min" 0 "max" 360) }} + {{- template "validate-arg-value" $ctx }} + {{- $ctx = merge $ctx (dict "argName" "saturation" "argValue" (index $filterArgs 1) "min" 0 "max" 100) }} + {{- template "validate-arg-value" $ctx }} + {{- $ctx = merge $ctx (dict "argName" "percentage" "argValue" (index $filterArgs 2) "min" 0 "max" 100) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Colorize (index $filterArgs 0) (index $filterArgs 1) (index $filterArgs 2) }} +{{- else if eq $filter "contrast" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "percentage" "argValue" (index $filterArgs 0) "min" -100 "max" 100) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Contrast (index $filterArgs 0) }} +{{- else if eq $filter "dither" }} + {{- $f = images.Dither }} +{{- else if eq $filter "gamma" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "gamma" "argValue" (index $filterArgs 0) "min" 0 "max" 100) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Gamma (index $filterArgs 0) }} +{{- else if eq $filter "gaussianblur" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "sigma" "argValue" (index $filterArgs 0) "min" 0 "max" 1000) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.GaussianBlur (index $filterArgs 0) }} +{{- else if eq $filter "grayscale" }} + {{- $ctx = merge $ctx (dict "argsRequired" 0) }} + {{- template "validate-arg-count" $ctx }} + {{- $f = images.Grayscale }} +{{- else if eq $filter "hue" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "shift" "argValue" (index $filterArgs 0) "min" -180 "max" 180) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Hue (index $filterArgs 0) }} +{{- else if eq $filter "invert" }} + {{- $ctx = merge $ctx (dict "argsRequired" 0) }} + {{- template "validate-arg-count" $ctx }} + {{- $f = images.Invert }} +{{- else if eq $filter "mask" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $ctx := dict "src" (index $filterArgs 0) "name" .Name "position" .Position }} + {{- $maskImage := partial "inline/get-resource.html" $ctx }} + {{- $f = images.Mask $maskImage }} +{{- else if eq $filter "opacity" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "opacity" "argValue" (index $filterArgs 0) "min" 0 "max" 1) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Opacity (index $filterArgs 0) }} +{{- else if eq $filter "overlay" }} + {{- $ctx = merge $ctx (dict "argsRequired" 3) }} + {{- template "validate-arg-count" $ctx }} + {{- $ctx := dict "src" (index $filterArgs 0) "name" .Name "position" .Position }} + {{- $overlayImg := partial "inline/get-resource.html" $ctx }} + {{- $f = images.Overlay $overlayImg (index $filterArgs 1 | float ) (index $filterArgs 2 | float) }} +{{- else if eq $filter "padding" }} + {{- $ctx = merge $ctx (dict "argsRequired" 5) }} + {{- template "validate-arg-count" $ctx }} + {{- $f = images.Padding + (index $filterArgs 0 | int) + (index $filterArgs 1 | int) + (index $filterArgs 2 | int) + (index $filterArgs 3 | int) + (index $filterArgs 4) + }} +{{- else if eq $filter "pixelate" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "size" "argValue" (index $filterArgs 0) "min" 0 "max" 1000) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Pixelate (index $filterArgs 0) }} +{{- else if eq $filter "process" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $f = images.Process (index $filterArgs 0) }} +{{- else if eq $filter "saturation" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "percentage" "argValue" (index $filterArgs 0) "min" -100 "max" 500) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Saturation (index $filterArgs 0) }} +{{- else if eq $filter "sepia" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "percentage" "argValue" (index $filterArgs 0) "min" 0 "max" 100) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Sepia (index $filterArgs 0) }} +{{- else if eq $filter "sigmoid" }} + {{- $ctx = merge $ctx (dict "argsRequired" 2) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "midpoint" "argValue" (index $filterArgs 0) "min" 0 "max" 1) }} + {{- template "validate-arg-value" $ctx }} + {{- $ctx = merge $ctx (dict "argName" "factor" "argValue" (index $filterArgs 1) "min" -10 "max" 10) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.Sigmoid (index $filterArgs 0) (index $filterArgs 1) }} +{{- else if eq $filter "text" }} + {{- $ctx = merge $ctx (dict "argsRequired" 1) }} + {{- template "validate-arg-count" $ctx }} + {{- $ctx := dict "src" $textFilterOpts.fontPath "name" .Name "position" .Position }} + {{- $font := or (partial "inline/get-resource.html" $ctx) }} + {{- $fontSize := or (index $filterArgs 3 | int) $textFilterOpts.fontSize }} + {{- $lineHeight := math.Max (or (index $filterArgs 4 | float) $textFilterOpts.lineHeight) 1 }} + {{- $opts := dict + "x" (or (index $filterArgs 1 | int) $textFilterOpts.xOffset) + "y" (or (index $filterArgs 2 | int) $textFilterOpts.yOffset) + "size" $fontSize + "linespacing" (mul (sub $lineHeight 1) $fontSize) + "color" (or (index $filterArgs 5) $textFilterOpts.fontColor) + "font" $font + }} + {{- $f = images.Text (index $filterArgs 0) $opts }} +{{- else if eq $filter "unsharpmask" }} + {{- $ctx = merge $ctx (dict "argsRequired" 3) }} + {{- template "validate-arg-count" $ctx }} + {{- $filterArgs = apply $filterArgs "float" "." }} + {{- $ctx = merge $ctx (dict "argName" "sigma" "argValue" (index $filterArgs 0) "min" 0 "max" 500) }} + {{- template "validate-arg-value" $ctx }} + {{- $ctx = merge $ctx (dict "argName" "amount" "argValue" (index $filterArgs 1) "min" 0 "max" 100) }} + {{- template "validate-arg-value" $ctx }} + {{- $ctx = merge $ctx (dict "argName" "threshold" "argValue" (index $filterArgs 2) "min" 0 "max" 1) }} + {{- template "validate-arg-value" $ctx }} + {{- $f = images.UnsharpMask (index $filterArgs 0) (index $filterArgs 1) (index $filterArgs 2) }} +{{- end }} + +{{- /* Apply filter. */}} +{{- $fi := $i }} +{{- with $f }} + {{- $fi = $i.Filter . }} +{{- end }} + +{{- /* Render. */}} +{{- $class := "di va b--black-20" }} +{{- if eq $filter "mask" }} + {{- $class = "di va" }} +{{- end }} +{{- if $example }} +

Original

+ {{ $alt }} +

Processed

+ {{ $alt }} +{{- else -}} + {{ $alt }} +{{- end }} + +{{- define "validate-arg-count" }} + {{- $msg := "When using the %q filter, the %q shortcode requires an args parameter with %d %s. See %s" }} + {{- if lt (len .args) .argsRequired }} + {{- $text := "values" }} + {{- if eq 1 .argsRequired }} + {{- $text = "value" }} + {{- end }} + {{- errorf $msg .filter .name .argsRequired $text .position }} + {{- end }} +{{- end }} + +{{- define "validate-arg-value" }} + {{- $msg := "The %q argument passed to the %q shortcode is invalid. Expected a value in the range [%v,%v], but received %v. See %s" }} + {{- if or (lt .argValue .min) (gt .argValue .max) }} + {{- errorf $msg .argName .name .min .max .argValue .position }} + {{- end }} +{{- end }} + +{{- define "partials/inline/get-resource.html" }} + {{- $r := "" }} + {{- $u := urls.Parse .src }} + {{- $msg := "The %q shortcode was unable to resolve %s. See %s" }} + {{- if $u.IsAbs }} + {{- with try (resources.GetRemote $u.String) }} + {{- with .Err }} + {{- errorf "%s" . }} + {{- else with .Value }} + {{- /* This is a remote resource. */}} + {{- $r = . }} + {{- else }} + {{- errorf $msg $.name $u.String $.position }} + {{- end }} + {{- end }} + {{- else }} + {{- with .page.Resources.Get (strings.TrimPrefix "./" $u.Path) }} + {{- /* This is a page resource. */}} + {{- $r = . }} + {{- else }} + {{- with resources.Get $u.Path }} + {{- /* This is a global resource. */}} + {{- $r = . }} + {{- else }} + {{- errorf $msg $.name $u.Path $.position }} + {{- end }} + {{- end }} + {{- end }} + {{- return $r}} +{{- end -}}