From 346b60358dd8ec2ca228e6635bff9d7914b398b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 23 Jan 2025 09:46:02 +0100 Subject: [PATCH] Squashed 'docs/' changes from 4429eeeea..73a01565c 73a01565c Remove comment shortcode documentation 0ca7ccd30 Replace usage of comment shortcode with HTML comments fe10d9899 Remove expired new-in labels 11e89dfcb [editorial] Link to proper render-hook page in relref.md 11a581c2f netlify: Hugo 0.142.0 1a4fcf7f7 Miscellaneous edits 2c7a3165f Markdown linting and cleanup 69d7a781b Replace links to glossary terms with custom render hook syntax 441752d2d Refactor glossary lookup portion of link render hook 80109a14f Fix glossary term linking for plural form cd95f0f34 Update link render hook to support glossary links 53eadb430 Remove the glossary template 1d40a7f3b Improve transform.ToMath examples 586970df2 Misc edits 6a06a8de7 Add glossary link shortcode 4171c0eb7 Improve description of masking with non-transparent images 41c8feb64 Fix example of image.Mask filter 704a81656 Add alignx option to images.Text usage example 7c03eb0cc Clarify context in example of using the try statement 56d9c9b71 Refactor glossary of terms 042a6846b Add expiry dates to deprecated methods pages 365ab345f Remove services key from instagram shortcode page b7fe31e07 Reorder options list for images.Text filter 8051ff818 Format directory names, file names, and file paths as code d09a14623 Update version refs for Hugo and Dart Sass 3bb006974 Add NODE_VERSION to Netlify config examples 3a0f2531e Fix typo 7e3198eaf Fix typo cf56452a3 Fix typo a9f51d13e Fix typo 82bfdd8c3 Fix typo a5c41a053 Fix typo abcfed7a5 Fix typo 8c1debf3a Remove outdated new-in badges 809ddf9ef Update theme 63867d56f Use warnf instead of errorf in try-catch example dee3e5f09 Update theme 9791f7057 Remove TODO from comment shortcode examples a346ca1fd Elevate embedded shortcode documentation to its own section 8fa19b50f hugoreleaser.toml => hugoreleaser.yaml 575d60345 Update docs for v0.141.0 a0a442d62 netlify: Hugo 0.141.0 6667cbcd8 Merge commit '81a7b6390036138356773c87a886679c81c524e1' f36fc013e docs: Regen CLI docs 365a47ded tpl/images: Change signature of images.QR to images.QR TEXT OPTIONS ae8f8af0a images.Text: Add "alignx" option for horizontal alignment 8f45ccca6 docs: Regen CLI docs f0e6304f4 Merge commit 'e9fbadacc3f09191e2e19f112a49777eeb8df06c' cb9bec2b2 tpl/images: Add images.QR function git-subtree-dir: docs git-subtree-split: 73a01565c5ba0774d65aa6f2384c44804fefa37d --- .markdownlint.yaml | 1 + .../gohugoioTheme/assets/css/_code.css | 4 +- .../gohugoioTheme/assets/output/css/app.css | 4 +- .../components/author-github-data-card.html | 8 +- .../components/author-github-data.html | 8 +- .../partials/utilities/get-remote-data.html | 8 +- .../gohugoioTheme/layouts/shortcodes/hl.html | 11 + .../gohugoioTheme/layouts/shortcodes/img.html | 26 +- _vendor/modules.txt | 2 +- archetypes/glossary.md | 19 + archetypes/showcase/index.md | 2 +- assets/images/examples/mask.png | Bin 0 -> 137283 bytes config/_default/menus/menus.en.toml | 20 +- content/en/about/features.md | 6 +- content/en/about/privacy.md | 18 +- content/en/commands/hugo.md | 1 - content/en/commands/hugo_completion.md | 1 + content/en/commands/hugo_completion_bash.md | 1 + content/en/commands/hugo_completion_fish.md | 1 + .../en/commands/hugo_completion_powershell.md | 1 + content/en/commands/hugo_completion_zsh.md | 1 + content/en/commands/hugo_config.md | 2 + content/en/commands/hugo_config_mounts.md | 1 + content/en/commands/hugo_convert.md | 1 + content/en/commands/hugo_convert_toJSON.md | 1 + content/en/commands/hugo_convert_toTOML.md | 1 + content/en/commands/hugo_convert_toYAML.md | 1 + content/en/commands/hugo_deploy.md | 1 + content/en/commands/hugo_env.md | 1 + content/en/commands/hugo_gen.md | 1 + content/en/commands/hugo_gen_chromastyles.md | 1 + content/en/commands/hugo_gen_doc.md | 1 + content/en/commands/hugo_gen_man.md | 1 + content/en/commands/hugo_import.md | 1 + content/en/commands/hugo_import_jekyll.md | 1 + content/en/commands/hugo_list.md | 1 + content/en/commands/hugo_list_all.md | 1 + content/en/commands/hugo_list_drafts.md | 1 + content/en/commands/hugo_list_expired.md | 1 + content/en/commands/hugo_list_future.md | 1 + content/en/commands/hugo_list_published.md | 1 + content/en/commands/hugo_mod.md | 1 + content/en/commands/hugo_mod_clean.md | 1 + content/en/commands/hugo_mod_get.md | 1 + content/en/commands/hugo_mod_graph.md | 1 + content/en/commands/hugo_mod_init.md | 1 + content/en/commands/hugo_mod_npm.md | 1 + content/en/commands/hugo_mod_npm_pack.md | 1 + content/en/commands/hugo_mod_tidy.md | 1 + content/en/commands/hugo_mod_vendor.md | 1 + content/en/commands/hugo_mod_verify.md | 1 + content/en/commands/hugo_new.md | 1 + content/en/commands/hugo_new_content.md | 1 + content/en/commands/hugo_new_site.md | 1 + content/en/commands/hugo_new_theme.md | 1 + content/en/commands/hugo_server.md | 2 +- content/en/commands/hugo_server_trust.md | 1 + content/en/commands/hugo_version.md | 1 + content/en/content-management/archetypes.md | 34 +- .../en/content-management/build-options.md | 5 +- .../en/content-management/content-adapters.md | 29 +- .../en/content-management/cross-references.md | 2 +- content/en/content-management/data-sources.md | 16 +- content/en/content-management/formats.md | 56 +- content/en/content-management/front-matter.md | 44 +- .../image-processing/index.md | 19 +- .../content-management/markdown-attributes.md | 1 - content/en/content-management/mathematics.md | 48 +- content/en/content-management/menus.md | 7 +- content/en/content-management/multilingual.md | 64 +- content/en/content-management/page-bundles.md | 38 +- content/en/content-management/related.md | 32 +- content/en/content-management/sections.md | 16 +- content/en/content-management/shortcodes.md | 452 +--------- content/en/content-management/summaries.md | 4 +- .../content-management/syntax-highlighting.md | 2 +- content/en/content-management/urls.md | 3 +- content/en/contribute/development.md | 4 +- content/en/contribute/documentation.md | 144 ++- content/en/contribute/themes.md | 2 +- .../functions/_common/highlighting-options.md | 59 ++ content/en/functions/collections/After.md | 2 +- content/en/functions/collections/Append.md | 2 +- .../en/functions/collections/Dictionary.md | 1 - content/en/functions/collections/In.md | 6 +- .../en/functions/collections/NewScratch.md | 3 +- content/en/functions/collections/Where.md | 34 +- content/en/functions/css/Sass.md | 11 +- content/en/functions/css/TailwindCSS.md | 2 +- content/en/functions/data/GetCSV.md | 17 +- content/en/functions/data/GetJSON.md | 15 +- content/en/functions/debug/Timer.md | 2 +- content/en/functions/encoding/Base64Decode.md | 10 +- content/en/functions/fmt/Warnf.md | 1 - content/en/functions/global/page.md | 8 +- content/en/functions/go-template/range.md | 3 +- content/en/functions/go-template/return.md | 13 +- content/en/functions/go-template/try.md | 113 +++ content/en/functions/go-template/with.md | 4 +- content/en/functions/hugo/Environment.md | 4 +- content/en/functions/hugo/Generator.md | 2 +- content/en/functions/hugo/Store.md | 7 +- content/en/functions/hugo/Version.md | 2 +- content/en/functions/hugo/WorkingDir.md | 2 - content/en/functions/images/Config.md | 5 +- content/en/functions/images/Dither.md | 9 +- content/en/functions/images/Mask.md | 80 ++ content/en/functions/images/Overlay.md | 6 +- content/en/functions/images/Process.md | 1 - content/en/functions/images/QR.md | 112 +++ content/en/functions/images/Text.md | 72 +- content/en/functions/js/Batch.md | 22 +- content/en/functions/js/Build.md | 8 +- content/en/functions/js/_common/options.md | 5 +- content/en/functions/lang/Translate.md | 2 +- content/en/functions/math/Abs.md | 2 - content/en/functions/math/Add.md | 4 +- content/en/functions/math/Div.md | 4 +- content/en/functions/math/Mul.md | 4 +- content/en/functions/math/Rand.md | 7 +- content/en/functions/math/Sub.md | 4 +- content/en/functions/openapi3/Unmarshal.md | 14 +- content/en/functions/path/Join.md | 1 - content/en/functions/resources/ByType.md | 2 +- content/en/functions/resources/Concat.md | 2 +- .../functions/resources/ExecuteAsTemplate.md | 4 +- content/en/functions/resources/Fingerprint.md | 2 +- content/en/functions/resources/FromString.md | 14 +- content/en/functions/resources/Get.md | 2 +- content/en/functions/resources/GetMatch.md | 2 +- content/en/functions/resources/GetRemote.md | 49 +- content/en/functions/resources/Match.md | 2 +- content/en/functions/resources/PostProcess.md | 6 +- content/en/functions/resources/ToCSS.md | 11 +- content/en/functions/safe/CSS.md | 6 +- .../en/functions/strings/ContainsNonSpace.md | 2 - content/en/functions/strings/SliceString.md | 3 +- content/en/functions/templates/Defer.md | 2 - content/en/functions/time/AsTime.md | 9 +- content/en/functions/time/Duration.md | 1 - content/en/functions/time/Format.md | 6 +- content/en/functions/time/Now.md | 4 +- content/en/functions/time/ParseDuration.md | 1 - content/en/functions/transform/Emojify.md | 1 - content/en/functions/transform/Highlight.md | 83 +- content/en/functions/transform/ToMath.md | 173 ++-- content/en/functions/transform/Unmarshal.md | 24 +- content/en/functions/urls/JoinPath.md | 2 - content/en/functions/urls/Ref.md | 2 +- content/en/functions/urls/RelRef.md | 2 +- content/en/functions/urls/URLize.md | 3 +- .../en/getting-started/configuration-build.md | 15 +- .../getting-started/configuration-markup.md | 8 +- content/en/getting-started/configuration.md | 35 +- .../en/getting-started/directory-structure.md | 12 +- .../external-learning-resources/index.md | 7 +- content/en/getting-started/glossary.md | 472 ---------- content/en/getting-started/glossary/_index.md | 21 + content/en/getting-started/glossary/action.md | 5 + .../en/getting-started/glossary/archetype.md | 5 + .../en/getting-started/glossary/argument.md | 5 + content/en/getting-started/glossary/array.md | 5 + content/en/getting-started/glossary/bool.md | 5 + .../en/getting-started/glossary/boolean.md | 5 + .../getting-started/glossary/branch-bundle.md | 5 + content/en/getting-started/glossary/build.md | 5 + content/en/getting-started/glossary/bundle.md | 5 + content/en/getting-started/glossary/cache.md | 5 + content/en/getting-started/glossary/chain.md | 5 + content/en/getting-started/glossary/cjk.md | 5 + content/en/getting-started/glossary/cli.md | 5 + .../en/getting-started/glossary/collection.md | 5 + .../glossary/content-adapter.md | 5 + .../glossary/content-format.md | 5 + .../getting-started/glossary/content-type.md | 5 + .../getting-started/glossary/content-view.md | 5 + .../en/getting-started/glossary/context.md | 5 + .../glossary/default-sort-order.md | 5 + .../en/getting-started/glossary/element.md | 5 + .../getting-started/glossary/environment.md | 11 + content/en/getting-started/glossary/field.md | 5 + content/en/getting-started/glossary/flag.md | 5 + content/en/getting-started/glossary/float.md | 6 + .../glossary/floating-point.md | 5 + .../en/getting-started/glossary/fragment.md | 5 + .../getting-started/glossary/front-matter.md | 5 + .../en/getting-started/glossary/function.md | 5 + .../glossary/global-resource.md | 10 + .../glossary/headless-bundle.md | 5 + .../en/getting-started/glossary/identifier.md | 5 + content/en/getting-started/glossary/int.md | 5 + .../en/getting-started/glossary/integer.md | 5 + .../glossary/internationalization.md | 5 + .../glossary/interpreted-string-literal.md | 5 + .../en/getting-started/glossary/interval.md | 11 + content/en/getting-started/glossary/kind.md | 5 + content/en/getting-started/glossary/layout.md | 5 + .../getting-started/glossary/leaf-bundle.md | 5 + content/en/getting-started/glossary/lexer.md | 5 + .../en/getting-started/glossary/list-page.md | 5 + .../getting-started/glossary/list-template.md | 5 + .../getting-started/glossary/localization.md | 5 + .../getting-started/glossary/logical-path.md | 7 + content/en/getting-started/glossary/map.md | 5 + .../glossary/markdown-attribute.md | 5 + .../en/getting-started/glossary/marshal.md | 5 + content/en/getting-started/glossary/method.md | 5 + content/en/getting-started/glossary/module.md | 5 + content/en/getting-started/glossary/node.md | 5 + content/en/getting-started/glossary/noop.md | 5 + content/en/getting-started/glossary/object.md | 5 + .../glossary/ordered-taxonomy.md | 8 + .../getting-started/glossary/output-format.md | 7 + .../getting-started/glossary/page-bundle.md | 5 + .../glossary/page-collection.md | 5 + .../en/getting-started/glossary/page-kind.md | 7 + .../getting-started/glossary/page-resource.md | 7 + content/en/getting-started/glossary/pager.md | 5 + .../en/getting-started/glossary/paginate.md | 5 + .../en/getting-started/glossary/pagination.md | 5 + .../en/getting-started/glossary/paginator.md | 5 + .../en/getting-started/glossary/parameter.md | 5 + .../en/getting-started/glossary/partial.md | 5 + .../en/getting-started/glossary/permalink.md | 5 + content/en/getting-started/glossary/pipe.md | 5 + .../en/getting-started/glossary/pipeline.md | 7 + .../en/getting-started/glossary/publish.md | 5 + .../glossary/raw-string-literal.md | 5 + .../getting-started/glossary/regular-page.md | 5 + .../glossary/relative-permalink.md | 5 + .../glossary/remote-resource.md | 5 + .../getting-started/glossary/render-hook.md | 5 + .../getting-started/glossary/resource-type.md | 8 + .../en/getting-started/glossary/resource.md | 7 + content/en/getting-started/glossary/scalar.md | 5 + .../getting-started/glossary/scratch-pad.md | 8 + .../getting-started/glossary/section-page.md | 5 + .../en/getting-started/glossary/section.md | 5 + .../en/getting-started/glossary/shortcode.md | 5 + content/en/getting-started/glossary/slice.md | 5 + content/en/getting-started/glossary/string.md | 5 + .../glossary/taxonomic-weight.md | 5 + .../glossary/taxonomy-object.md | 5 + .../getting-started/glossary/taxonomy-page.md | 5 + .../en/getting-started/glossary/taxonomy.md | 5 + .../glossary/template-action.md | 5 + .../en/getting-started/glossary/template.md | 5 + .../en/getting-started/glossary/term-page.md | 5 + content/en/getting-started/glossary/term.md | 5 + content/en/getting-started/glossary/theme.md | 5 + content/en/getting-started/glossary/token.md | 5 + content/en/getting-started/glossary/type.md | 5 + .../en/getting-started/glossary/unmarshal.md | 5 + .../en/getting-started/glossary/variable.md | 5 + content/en/getting-started/glossary/walk.md | 5 + content/en/getting-started/glossary/weight.md | 5 + .../getting-started/glossary/weighted-page.md | 5 + .../en/getting-started/glossary/zero-time.md | 5 + content/en/getting-started/quick-start.md | 12 +- content/en/getting-started/usage.md | 11 +- .../deployment-with-rsync.md | 2 +- .../hosting-on-21yunbox.md | 2 +- .../hosting-on-aws-amplify/index.md | 8 +- .../hosting-on-github/index.md | 6 +- .../hosting-on-netlify/index.md | 16 +- .../en/hosting-and-deployment/hugo-deploy.md | 9 +- content/en/hugo-modules/_index.md | 2 +- content/en/hugo-modules/configuration.md | 6 +- content/en/hugo-modules/theme-components.md | 2 +- content/en/hugo-modules/use-modules.md | 6 +- content/en/hugo-pipes/introduction.md | 4 +- content/en/hugo-pipes/js.md | 1 - content/en/hugo-pipes/postprocess.md | 6 +- .../en/hugo-pipes/transpile-sass-to-css.md | 11 +- content/en/installation/linux.md | 5 +- content/en/methods/menu-entry/PageRef.md | 2 - content/en/methods/menu-entry/Params.md | 1 - content/en/methods/menu-entry/URL.md | 1 - content/en/methods/menu/ByWeight.md | 4 +- .../methods/page/AlternativeOutputFormats.md | 2 +- content/en/methods/page/BundleType.md | 6 +- content/en/methods/page/CurrentSection.md | 6 +- content/en/methods/page/Data.md | 11 +- content/en/methods/page/File.md | 8 +- content/en/methods/page/Fragments.md | 15 +- content/en/methods/page/GetPage.md | 2 +- content/en/methods/page/InSection.md | 3 +- content/en/methods/page/IsAncestor.md | 3 +- content/en/methods/page/IsDescendant.md | 3 +- content/en/methods/page/IsHome.md | 4 +- content/en/methods/page/IsNode.md | 3 +- content/en/methods/page/IsPage.md | 4 +- content/en/methods/page/IsSection.md | 4 +- content/en/methods/page/IsTranslated.md | 4 +- content/en/methods/page/Kind.md | 4 +- content/en/methods/page/OutputFormats.md | 2 +- content/en/methods/page/Page.md | 8 +- content/en/methods/page/Pages.md | 9 +- content/en/methods/page/Paginate.md | 8 +- content/en/methods/page/Paginator.md | 3 +- content/en/methods/page/Params.md | 4 +- content/en/methods/page/Path.md | 17 +- content/en/methods/page/Plain.md | 3 +- content/en/methods/page/RawContent.md | 3 +- content/en/methods/page/Ref.md | 2 +- content/en/methods/page/RegularPages.md | 9 +- .../en/methods/page/RegularPagesRecursive.md | 6 +- content/en/methods/page/RelRef.md | 2 +- content/en/methods/page/Render.md | 3 +- content/en/methods/page/RenderShortcodes.md | 1 - content/en/methods/page/Resources.md | 4 +- content/en/methods/page/Scratch.md | 8 +- content/en/methods/page/Section.md | 1 - content/en/methods/page/Store.md | 7 +- content/en/methods/page/Summary.md | 7 +- content/en/methods/page/Type.md | 6 +- content/en/methods/page/Weight.md | 4 +- .../page/_common/definition-of-section.md | 2 +- .../en/methods/page/_common/next-and-prev.md | 2 +- .../nextinsection-and-previnsection.md | 2 +- .../page/_common/output-format-definition.md | 10 - content/en/methods/pages/ByWeight.md | 4 +- content/en/methods/pages/GroupByDate.md | 3 +- content/en/methods/pages/GroupByExpiryDate.md | 3 +- content/en/methods/pages/GroupByLastmod.md | 3 +- content/en/methods/pages/GroupByParamDate.md | 3 +- .../en/methods/pages/GroupByPublishDate.md | 3 +- content/en/methods/pages/Related.md | 4 +- content/en/methods/resource/Colors.md | 1 - content/en/methods/resource/Data.md | 9 +- content/en/methods/resource/Err.md | 7 + content/en/methods/resource/Key.md | 1 - content/en/methods/resource/Name.md | 11 +- content/en/methods/resource/Params.md | 6 +- content/en/methods/resource/Permalink.md | 4 +- content/en/methods/resource/RelPermalink.md | 4 +- content/en/methods/resource/Title.md | 10 +- .../_common/global-page-remote-resources.md | 8 +- content/en/methods/shortcode/Inner.md | 1 - content/en/methods/shortcode/Parent.md | 4 +- content/en/methods/shortcode/Ref.md | 2 +- content/en/methods/shortcode/RelRef.md | 2 +- content/en/methods/shortcode/Scratch.md | 5 +- content/en/methods/shortcode/Store.md | 4 +- content/en/methods/site/AllPages.md | 3 +- content/en/methods/site/Data.md | 14 +- content/en/methods/site/GetPage.md | 6 +- content/en/methods/site/Pages.md | 3 +- content/en/methods/site/Param.md | 1 - content/en/methods/site/Params.md | 4 +- content/en/methods/site/RegularPages.md | 4 +- content/en/methods/site/Store.md | 7 +- content/en/methods/site/Taxonomies.md | 5 - content/en/methods/taxonomy/Alphabetical.md | 11 +- content/en/methods/taxonomy/ByCount.md | 11 +- content/en/methods/taxonomy/Count.md | 5 +- content/en/methods/taxonomy/Get.md | 8 +- .../taxonomy/_common/get-a-taxonomy-object.md | 1 - .../ordered-taxonomy-element-methods.md | 5 +- content/en/methods/time/Format.md | 3 +- content/en/methods/time/Round.md | 4 +- content/en/methods/time/Truncate.md | 4 +- content/en/myshowcase/index.md | 7 +- content/en/quick-reference/emojis.md | 4 +- .../en/quick-reference/page-collections.md | 13 +- content/en/render-hooks/_common/pageinner.md | 3 +- content/en/render-hooks/blockquotes.md | 4 +- content/en/render-hooks/code-blocks.md | 4 +- content/en/render-hooks/headings.md | 4 +- content/en/render-hooks/images.md | 11 +- content/en/render-hooks/introduction.md | 6 +- content/en/render-hooks/links.md | 13 +- content/en/render-hooks/passthrough.md | 40 +- content/en/render-hooks/tables.md | 4 +- content/en/shortcodes/_index.md | 16 + content/en/shortcodes/comment.md | 39 + content/en/shortcodes/details.md | 80 ++ content/en/shortcodes/figure.md | 115 +++ content/en/shortcodes/gist.md | 41 + content/en/shortcodes/highlight.md | 117 +++ content/en/shortcodes/instagram.md | 48 + content/en/shortcodes/param.md | 43 + content/en/shortcodes/qr.md | 113 +++ content/en/shortcodes/ref.md | 48 + content/en/shortcodes/relref.md | 48 + content/en/shortcodes/vimeo.md | 72 ++ content/en/shortcodes/x.md | 61 ++ content/en/shortcodes/youtube.md | 97 +++ .../en/showcase/1password-support/index.md | 2 +- content/en/showcase/_index.md | 2 +- .../en/showcase/hartwell-insurance/index.md | 2 +- content/en/showcase/letsencrypt/index.md | 2 +- content/en/showcase/overmindstudios/bio.md | 1 - content/en/showcase/template/index.md | 6 +- content/en/templates/404.md | 2 +- content/en/templates/_index.md | 2 +- content/en/templates/content-view.md | 18 +- content/en/templates/embedded.md | 10 +- content/en/templates/home.md | 3 +- content/en/templates/introduction.md | 45 +- content/en/templates/lookup-order.md | 6 +- content/en/templates/pagination.md | 19 +- content/en/templates/partial.md | 3 +- content/en/templates/robots.md | 6 +- content/en/templates/rss.md | 4 +- content/en/templates/shortcode.md | 28 +- content/en/templates/sitemap.md | 10 +- content/en/templates/taxonomy.md | 17 +- content/en/templates/term.md | 9 +- content/en/templates/types/index.md | 14 +- content/en/tools/migrations.md | 2 +- content/en/tools/search.md | 3 +- content/en/troubleshooting/deprecation.md | 8 +- content/en/troubleshooting/faq.md | 31 +- content/en/troubleshooting/performance.md | 4 +- data/docs.yaml | 52 +- data/embedded_template_urls.toml | 14 +- go.mod | 2 +- go.sum | 4 +- hugo_stats.json | 820 ------------------ hugoreleaser.toml | 29 - hugoreleaser.yaml | 29 + layouts/_default/_markup/render-link.html | 317 +++++++ layouts/shortcodes/glossary-term.html | 20 + layouts/shortcodes/glossary.html | 43 + netlify.toml | 2 +- 426 files changed, 3443 insertions(+), 3150 deletions(-) create mode 100644 _vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/hl.html create mode 100644 archetypes/glossary.md create mode 100644 assets/images/examples/mask.png create mode 100644 content/en/functions/_common/highlighting-options.md create mode 100644 content/en/functions/go-template/try.md create mode 100644 content/en/functions/images/Mask.md create mode 100644 content/en/functions/images/QR.md delete mode 100644 content/en/getting-started/glossary.md create mode 100644 content/en/getting-started/glossary/_index.md create mode 100644 content/en/getting-started/glossary/action.md create mode 100644 content/en/getting-started/glossary/archetype.md create mode 100644 content/en/getting-started/glossary/argument.md create mode 100644 content/en/getting-started/glossary/array.md create mode 100644 content/en/getting-started/glossary/bool.md create mode 100644 content/en/getting-started/glossary/boolean.md create mode 100644 content/en/getting-started/glossary/branch-bundle.md create mode 100644 content/en/getting-started/glossary/build.md create mode 100644 content/en/getting-started/glossary/bundle.md create mode 100644 content/en/getting-started/glossary/cache.md create mode 100644 content/en/getting-started/glossary/chain.md create mode 100644 content/en/getting-started/glossary/cjk.md create mode 100644 content/en/getting-started/glossary/cli.md create mode 100644 content/en/getting-started/glossary/collection.md create mode 100644 content/en/getting-started/glossary/content-adapter.md create mode 100644 content/en/getting-started/glossary/content-format.md create mode 100644 content/en/getting-started/glossary/content-type.md create mode 100644 content/en/getting-started/glossary/content-view.md create mode 100644 content/en/getting-started/glossary/context.md create mode 100644 content/en/getting-started/glossary/default-sort-order.md create mode 100644 content/en/getting-started/glossary/element.md create mode 100644 content/en/getting-started/glossary/environment.md create mode 100644 content/en/getting-started/glossary/field.md create mode 100644 content/en/getting-started/glossary/flag.md create mode 100644 content/en/getting-started/glossary/float.md create mode 100644 content/en/getting-started/glossary/floating-point.md create mode 100644 content/en/getting-started/glossary/fragment.md create mode 100644 content/en/getting-started/glossary/front-matter.md create mode 100644 content/en/getting-started/glossary/function.md create mode 100644 content/en/getting-started/glossary/global-resource.md create mode 100644 content/en/getting-started/glossary/headless-bundle.md create mode 100644 content/en/getting-started/glossary/identifier.md create mode 100644 content/en/getting-started/glossary/int.md create mode 100644 content/en/getting-started/glossary/integer.md create mode 100644 content/en/getting-started/glossary/internationalization.md create mode 100644 content/en/getting-started/glossary/interpreted-string-literal.md create mode 100644 content/en/getting-started/glossary/interval.md create mode 100644 content/en/getting-started/glossary/kind.md create mode 100644 content/en/getting-started/glossary/layout.md create mode 100644 content/en/getting-started/glossary/leaf-bundle.md create mode 100644 content/en/getting-started/glossary/lexer.md create mode 100644 content/en/getting-started/glossary/list-page.md create mode 100644 content/en/getting-started/glossary/list-template.md create mode 100644 content/en/getting-started/glossary/localization.md create mode 100644 content/en/getting-started/glossary/logical-path.md create mode 100644 content/en/getting-started/glossary/map.md create mode 100644 content/en/getting-started/glossary/markdown-attribute.md create mode 100644 content/en/getting-started/glossary/marshal.md create mode 100644 content/en/getting-started/glossary/method.md create mode 100644 content/en/getting-started/glossary/module.md create mode 100644 content/en/getting-started/glossary/node.md create mode 100644 content/en/getting-started/glossary/noop.md create mode 100644 content/en/getting-started/glossary/object.md create mode 100644 content/en/getting-started/glossary/ordered-taxonomy.md create mode 100644 content/en/getting-started/glossary/output-format.md create mode 100644 content/en/getting-started/glossary/page-bundle.md create mode 100644 content/en/getting-started/glossary/page-collection.md create mode 100644 content/en/getting-started/glossary/page-kind.md create mode 100644 content/en/getting-started/glossary/page-resource.md create mode 100644 content/en/getting-started/glossary/pager.md create mode 100644 content/en/getting-started/glossary/paginate.md create mode 100644 content/en/getting-started/glossary/pagination.md create mode 100644 content/en/getting-started/glossary/paginator.md create mode 100644 content/en/getting-started/glossary/parameter.md create mode 100644 content/en/getting-started/glossary/partial.md create mode 100644 content/en/getting-started/glossary/permalink.md create mode 100644 content/en/getting-started/glossary/pipe.md create mode 100644 content/en/getting-started/glossary/pipeline.md create mode 100644 content/en/getting-started/glossary/publish.md create mode 100644 content/en/getting-started/glossary/raw-string-literal.md create mode 100644 content/en/getting-started/glossary/regular-page.md create mode 100644 content/en/getting-started/glossary/relative-permalink.md create mode 100644 content/en/getting-started/glossary/remote-resource.md create mode 100644 content/en/getting-started/glossary/render-hook.md create mode 100644 content/en/getting-started/glossary/resource-type.md create mode 100644 content/en/getting-started/glossary/resource.md create mode 100644 content/en/getting-started/glossary/scalar.md create mode 100644 content/en/getting-started/glossary/scratch-pad.md create mode 100644 content/en/getting-started/glossary/section-page.md create mode 100644 content/en/getting-started/glossary/section.md create mode 100644 content/en/getting-started/glossary/shortcode.md create mode 100644 content/en/getting-started/glossary/slice.md create mode 100644 content/en/getting-started/glossary/string.md create mode 100644 content/en/getting-started/glossary/taxonomic-weight.md create mode 100644 content/en/getting-started/glossary/taxonomy-object.md create mode 100644 content/en/getting-started/glossary/taxonomy-page.md create mode 100644 content/en/getting-started/glossary/taxonomy.md create mode 100644 content/en/getting-started/glossary/template-action.md create mode 100644 content/en/getting-started/glossary/template.md create mode 100644 content/en/getting-started/glossary/term-page.md create mode 100644 content/en/getting-started/glossary/term.md create mode 100644 content/en/getting-started/glossary/theme.md create mode 100644 content/en/getting-started/glossary/token.md create mode 100644 content/en/getting-started/glossary/type.md create mode 100644 content/en/getting-started/glossary/unmarshal.md create mode 100644 content/en/getting-started/glossary/variable.md create mode 100644 content/en/getting-started/glossary/walk.md create mode 100644 content/en/getting-started/glossary/weight.md create mode 100644 content/en/getting-started/glossary/weighted-page.md create mode 100644 content/en/getting-started/glossary/zero-time.md delete mode 100644 content/en/methods/page/_common/output-format-definition.md create mode 100644 content/en/shortcodes/_index.md create mode 100755 content/en/shortcodes/comment.md create mode 100755 content/en/shortcodes/details.md create mode 100755 content/en/shortcodes/figure.md create mode 100755 content/en/shortcodes/gist.md create mode 100755 content/en/shortcodes/highlight.md create mode 100755 content/en/shortcodes/instagram.md create mode 100755 content/en/shortcodes/param.md create mode 100755 content/en/shortcodes/qr.md create mode 100755 content/en/shortcodes/ref.md create mode 100755 content/en/shortcodes/relref.md create mode 100755 content/en/shortcodes/vimeo.md create mode 100755 content/en/shortcodes/x.md create mode 100755 content/en/shortcodes/youtube.md delete mode 100644 hugo_stats.json delete mode 100644 hugoreleaser.toml create mode 100644 hugoreleaser.yaml create mode 100644 layouts/_default/_markup/render-link.html create mode 100644 layouts/shortcodes/glossary-term.html create mode 100644 layouts/shortcodes/glossary.html diff --git a/.markdownlint.yaml b/.markdownlint.yaml index d9c2c5a6743..ee0a28909ca 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -23,3 +23,4 @@ MD046: false MD049: false MD050: false MD053: false +MD055: false diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css b/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css index c82e77ee776..9906a13d022 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css +++ b/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_code.css @@ -10,9 +10,9 @@ } code { - padding: 0.2em; + padding: 2px 3px; margin: 0; - font-size: 85%; + font-size: 93.75%; background-color: rgba(27,31,35,0.05); border-radius: 3px; } diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css b/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css index b6343c7be82..4fd374a1fe1 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css +++ b/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css @@ -4769,9 +4769,9 @@ h6:hover .header-link { margin: 0; } code { - padding: 0.2em; + padding: 2px 3px; margin: 0; - font-size: 85%; + font-size: 93.75%; background-color: rgba(27, 31, 35, .05); border-radius: 3px; } diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data-card.html b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data-card.html index 4caa21f3e2d..d3edadaac0f 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data-card.html +++ b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data-card.html @@ -4,14 +4,14 @@ {{ $data := "" }} {{ $url := urls.JoinPath "https://api.github.com/users" $author }} - {{ 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/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data.html b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data.html index fbad3a0a74a..c281e411fce 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data.html +++ b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/components/author-github-data.html @@ -4,14 +4,14 @@ {{ $data := "" }} {{ $url := urls.JoinPath "https://api.github.com/users" $author }} - {{ 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 }} {{ with $data }} diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/utilities/get-remote-data.html b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/utilities/get-remote-data.html index 69ac41da40a..78b2ba06e99 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/utilities/get-remote-data.html +++ b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/partials/utilities/get-remote-data.html @@ -11,13 +11,13 @@ {{ $url := . }} {{ $data := dict }} -{{ with resources.GetRemote $url }} +{{ with try (resources.GetRemote $url) }} {{ with .Err }} {{ errorf "%s" . }} - {{ else }} + {{ else with .Value }} {{ $data = .Content | transform.Unmarshal }} + {{ else }} + {{ errorf "Unable to get remote resource %q" $url }} {{ end }} -{{ else }} - {{ errorf "Unable to get remote resource %q" $url }} {{ end }} {{ return $data }} diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/hl.html b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/hl.html new file mode 100644 index 00000000000..1a5b4e1ec8e --- /dev/null +++ b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/hl.html @@ -0,0 +1,11 @@ +{{- /* +Returns syntax-highlighted code from the given text. + +This is useful as a terse way to highlight inline code snippets. Calling the +highlight shortcode for inline snippets is verbose. +*/}} + +{{- $code := .Inner | strings.TrimSpace }} +{{- $lang := or (.Get 0) "go" }} +{{- $opts := dict "hl_inline" true "noClasses" true }} +{{- transform.Highlight $code $lang $opts }} diff --git a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/img.html b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/img.html index dd8c60e18bd..7c2d805d2c0 100644 --- a/_vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/img.html +++ b/_vendor/github.com/gohugoio/gohugoioTheme/layouts/shortcodes/img.html @@ -120,8 +120,8 @@ {{- $validFilters := slice "autoorient" "brightness" "colorbalance" "colorize" "contrast" "dither" - "gamma" "gaussianblur" "grayscale" "hue" "invert" "none" "opacity" "overlay" - "padding" "pixelate" "process" "saturation" "sepia" "sigmoid" "text" + "gamma" "gaussianblur" "grayscale" "hue" "invert" "mask" "none" "opacity" + "overlay" "padding" "pixelate" "process" "saturation" "sepia" "sigmoid" "text" "unsharpmask" }} @@ -229,6 +229,12 @@ {{- $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 }} @@ -322,11 +328,15 @@ {{- end }} {{- /* Render. */}} +{{- $class := "di va b--black-20" }} +{{- if eq $filter "mask" }} + {{- $class = "di va" }} +{{- end }} {{- if $example }}

Original

- {{ $alt }} + {{ $alt }}

Processed

- {{ $alt }} + {{ $alt }} {{- else -}} {{ $alt }} {{- end }} @@ -354,15 +364,15 @@ {{- $u := urls.Parse .src }} {{- $msg := "The %q shortcode was unable to resolve %s. See %s" }} {{- if $u.IsAbs }} - {{- with resources.GetRemote $u.String }} + {{- with try (resources.GetRemote $u.String) }} {{- with .Err }} {{- errorf "%s" . }} - {{- else }} + {{- else with .Value }} {{- /* This is a remote resource. */}} {{- $r = . }} + {{- else }} + {{- errorf $msg $.name $u.String $.position }} {{- end }} - {{- else }} - {{- errorf $msg $.name $u.String $.position }} {{- end }} {{- else }} {{- with .page.Resources.Get (strings.TrimPrefix "./" $u.Path) }} diff --git a/_vendor/modules.txt b/_vendor/modules.txt index a5092f11edc..50178323d2d 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -1 +1 @@ -# github.com/gohugoio/gohugoioTheme v0.0.0-20250106044328-feb60697e056 +# github.com/gohugoio/gohugoioTheme v0.0.0-20250116152525-2d382cae7743 diff --git a/archetypes/glossary.md b/archetypes/glossary.md new file mode 100644 index 00000000000..b38ced64ad0 --- /dev/null +++ b/archetypes/glossary.md @@ -0,0 +1,19 @@ +--- +title: {{ replace .File.ContentBaseName "-" " " }} +--- + + diff --git a/archetypes/showcase/index.md b/archetypes/showcase/index.md index 04d4545756f..cdd0367224a 100644 --- a/archetypes/showcase/index.md +++ b/archetypes/showcase/index.md @@ -20,7 +20,7 @@ byline: "[bep](https://github.com/bep), Hugo Lead" To complete this showcase: 1. Write the story about your site in this file. -2. Add a summary to the `bio.md` file in this folder. +2. Add a summary to the `bio.md` file in this directory. 3. Replace the `featured-template.png` with a screenshot of your site. You can rename it, but it must contain the word `featured`. 4. Create a new pull request in https://github.com/gohugoio/hugoDocs/pulls 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 ef0bca9a5f6..42f882ad7e8 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/commands/hugo_completion.md b/content/en/commands/hugo_completion.md index 96f53742a69..ac60dc14804 100644 --- a/content/en/commands/hugo_completion.md +++ b/content/en/commands/hugo_completion.md @@ -29,6 +29,7 @@ See each sub-command's help for details on how to use the generated script. -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_completion_bash.md b/content/en/commands/hugo_completion_bash.md index 60973415f47..41fb47c0c7c 100644 --- a/content/en/commands/hugo_completion_bash.md +++ b/content/en/commands/hugo_completion_bash.md @@ -52,6 +52,7 @@ hugo completion bash -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_completion_fish.md b/content/en/commands/hugo_completion_fish.md index 92bbd6c22a1..7f971c3ca36 100644 --- a/content/en/commands/hugo_completion_fish.md +++ b/content/en/commands/hugo_completion_fish.md @@ -43,6 +43,7 @@ hugo completion fish [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_completion_powershell.md b/content/en/commands/hugo_completion_powershell.md index f0144292013..6ea17892b8b 100644 --- a/content/en/commands/hugo_completion_powershell.md +++ b/content/en/commands/hugo_completion_powershell.md @@ -40,6 +40,7 @@ hugo completion powershell [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_completion_zsh.md b/content/en/commands/hugo_completion_zsh.md index 142c5310310..b9e79f9f3b6 100644 --- a/content/en/commands/hugo_completion_zsh.md +++ b/content/en/commands/hugo_completion_zsh.md @@ -54,6 +54,7 @@ hugo completion zsh [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_config.md b/content/en/commands/hugo_config.md index 8e8d745d2e4..2b4eaafa19e 100644 --- a/content/en/commands/hugo_config.md +++ b/content/en/commands/hugo_config.md @@ -24,6 +24,7 @@ hugo config [command] [flags] --format string preferred file format (toml, yaml or json) (default "toml") -h, --help help for config --lang string the language to display config for. Defaults to the first language defined. + --printZero include config options with zero values (e.g. false, 0, "") in the output --renderSegments strings named segments to render (configured in the segments config) -t, --theme strings themes to use (located in /themes/THEMENAME/) ``` @@ -38,6 +39,7 @@ hugo config [command] [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_config_mounts.md b/content/en/commands/hugo_config_mounts.md index 5af4819a2dc..06a78122046 100644 --- a/content/en/commands/hugo_config_mounts.md +++ b/content/en/commands/hugo_config_mounts.md @@ -32,6 +32,7 @@ hugo config mounts [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_convert.md b/content/en/commands/hugo_convert.md index aeaa3776662..a8d0b6a387a 100644 --- a/content/en/commands/hugo_convert.md +++ b/content/en/commands/hugo_convert.md @@ -31,6 +31,7 @@ See convert's subcommands toJSON, toTOML and toYAML for more information. -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_convert_toJSON.md b/content/en/commands/hugo_convert_toJSON.md index 40403193c06..fe81146f932 100644 --- a/content/en/commands/hugo_convert_toJSON.md +++ b/content/en/commands/hugo_convert_toJSON.md @@ -32,6 +32,7 @@ hugo convert toJSON [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file -o, --output string filesystem path to write files to --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) diff --git a/content/en/commands/hugo_convert_toTOML.md b/content/en/commands/hugo_convert_toTOML.md index 53ab826517a..490b15ee642 100644 --- a/content/en/commands/hugo_convert_toTOML.md +++ b/content/en/commands/hugo_convert_toTOML.md @@ -32,6 +32,7 @@ hugo convert toTOML [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file -o, --output string filesystem path to write files to --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) diff --git a/content/en/commands/hugo_convert_toYAML.md b/content/en/commands/hugo_convert_toYAML.md index efb63a4e2ff..9b00ce247e4 100644 --- a/content/en/commands/hugo_convert_toYAML.md +++ b/content/en/commands/hugo_convert_toYAML.md @@ -32,6 +32,7 @@ hugo convert toYAML [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file -o, --output string filesystem path to write files to --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) diff --git a/content/en/commands/hugo_deploy.md b/content/en/commands/hugo_deploy.md index fce1e54220d..696acf51f9c 100644 --- a/content/en/commands/hugo_deploy.md +++ b/content/en/commands/hugo_deploy.md @@ -42,6 +42,7 @@ hugo deploy [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_env.md b/content/en/commands/hugo_env.md index e216be41688..7e21733a42f 100644 --- a/content/en/commands/hugo_env.md +++ b/content/en/commands/hugo_env.md @@ -31,6 +31,7 @@ hugo env [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_gen.md b/content/en/commands/hugo_gen.md index 97cdbdb9da2..d6333b52dd1 100644 --- a/content/en/commands/hugo_gen.md +++ b/content/en/commands/hugo_gen.md @@ -27,6 +27,7 @@ Generate documentation for your project using Hugo's documentation engine, inclu -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_gen_chromastyles.md b/content/en/commands/hugo_gen_chromastyles.md index 49cde6bb90a..2863e46b407 100644 --- a/content/en/commands/hugo_gen_chromastyles.md +++ b/content/en/commands/hugo_gen_chromastyles.md @@ -37,6 +37,7 @@ hugo gen chromastyles [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_gen_doc.md b/content/en/commands/hugo_gen_doc.md index 180dc4f95a6..2c2c3a1184e 100644 --- a/content/en/commands/hugo_gen_doc.md +++ b/content/en/commands/hugo_gen_doc.md @@ -37,6 +37,7 @@ hugo gen doc [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_gen_man.md b/content/en/commands/hugo_gen_man.md index f33342c548b..14fe859e3c6 100644 --- a/content/en/commands/hugo_gen_man.md +++ b/content/en/commands/hugo_gen_man.md @@ -34,6 +34,7 @@ hugo gen man [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_import.md b/content/en/commands/hugo_import.md index b20b585991a..2b8e629518e 100644 --- a/content/en/commands/hugo_import.md +++ b/content/en/commands/hugo_import.md @@ -29,6 +29,7 @@ Import requires a subcommand, e.g. `hugo import jekyll jekyll_root_path target_p -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_import_jekyll.md b/content/en/commands/hugo_import_jekyll.md index 14c57cc447b..8746c156e39 100644 --- a/content/en/commands/hugo_import_jekyll.md +++ b/content/en/commands/hugo_import_jekyll.md @@ -34,6 +34,7 @@ hugo import jekyll [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_list.md b/content/en/commands/hugo_list.md index 726fe51a96d..741ca1d6862 100644 --- a/content/en/commands/hugo_list.md +++ b/content/en/commands/hugo_list.md @@ -29,6 +29,7 @@ List requires a subcommand, e.g. hugo list drafts -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_list_all.md b/content/en/commands/hugo_list_all.md index 59846733d83..e0f1efdcbba 100644 --- a/content/en/commands/hugo_list_all.md +++ b/content/en/commands/hugo_list_all.md @@ -31,6 +31,7 @@ hugo list all [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_list_drafts.md b/content/en/commands/hugo_list_drafts.md index 5f3bcd61742..25ddc78d3af 100644 --- a/content/en/commands/hugo_list_drafts.md +++ b/content/en/commands/hugo_list_drafts.md @@ -31,6 +31,7 @@ hugo list drafts [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_list_expired.md b/content/en/commands/hugo_list_expired.md index c010d1159ab..1936b99203b 100644 --- a/content/en/commands/hugo_list_expired.md +++ b/content/en/commands/hugo_list_expired.md @@ -31,6 +31,7 @@ hugo list expired [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_list_future.md b/content/en/commands/hugo_list_future.md index 888784dcd87..3152639c2fa 100644 --- a/content/en/commands/hugo_list_future.md +++ b/content/en/commands/hugo_list_future.md @@ -31,6 +31,7 @@ hugo list future [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_list_published.md b/content/en/commands/hugo_list_published.md index b8ec0e7b22f..a7a08c7b4f3 100644 --- a/content/en/commands/hugo_list_published.md +++ b/content/en/commands/hugo_list_published.md @@ -31,6 +31,7 @@ hugo list published [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod.md b/content/en/commands/hugo_mod.md index 2c07b89cfba..c037be6daff 100644 --- a/content/en/commands/hugo_mod.md +++ b/content/en/commands/hugo_mod.md @@ -38,6 +38,7 @@ See https://gohugo.io/hugo-modules/ for more information. -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_clean.md b/content/en/commands/hugo_mod_clean.md index 7df51059fb4..6f49284b7e0 100644 --- a/content/en/commands/hugo_mod_clean.md +++ b/content/en/commands/hugo_mod_clean.md @@ -38,6 +38,7 @@ hugo mod clean [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_get.md b/content/en/commands/hugo_mod_get.md index f4ca6069a7e..08e1e5c840b 100644 --- a/content/en/commands/hugo_mod_get.md +++ b/content/en/commands/hugo_mod_get.md @@ -62,6 +62,7 @@ hugo mod get [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_graph.md b/content/en/commands/hugo_mod_graph.md index 5b5a14d5d2b..b7bfc6bfed1 100644 --- a/content/en/commands/hugo_mod_graph.md +++ b/content/en/commands/hugo_mod_graph.md @@ -39,6 +39,7 @@ hugo mod graph [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_init.md b/content/en/commands/hugo_mod_init.md index bf9651b598b..0d9f1fd4e98 100644 --- a/content/en/commands/hugo_mod_init.md +++ b/content/en/commands/hugo_mod_init.md @@ -43,6 +43,7 @@ hugo mod init [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_npm.md b/content/en/commands/hugo_mod_npm.md index a013fb91fd8..4c6b0c6a7a1 100644 --- a/content/en/commands/hugo_mod_npm.md +++ b/content/en/commands/hugo_mod_npm.md @@ -31,6 +31,7 @@ hugo mod npm [command] [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_npm_pack.md b/content/en/commands/hugo_mod_npm_pack.md index 8f8738280a7..ffbf0703e87 100644 --- a/content/en/commands/hugo_mod_npm_pack.md +++ b/content/en/commands/hugo_mod_npm_pack.md @@ -46,6 +46,7 @@ hugo mod npm pack [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_tidy.md b/content/en/commands/hugo_mod_tidy.md index c15ddb3c85b..cff19213039 100644 --- a/content/en/commands/hugo_mod_tidy.md +++ b/content/en/commands/hugo_mod_tidy.md @@ -32,6 +32,7 @@ hugo mod tidy [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_vendor.md b/content/en/commands/hugo_mod_vendor.md index ae112a36a7a..2b812e4c4c8 100644 --- a/content/en/commands/hugo_mod_vendor.md +++ b/content/en/commands/hugo_mod_vendor.md @@ -38,6 +38,7 @@ hugo mod vendor [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_mod_verify.md b/content/en/commands/hugo_mod_verify.md index 63dd28ce82a..051477c902d 100644 --- a/content/en/commands/hugo_mod_verify.md +++ b/content/en/commands/hugo_mod_verify.md @@ -37,6 +37,7 @@ hugo mod verify [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_new.md b/content/en/commands/hugo_new.md index 4d3021b44b3..2788ef16888 100644 --- a/content/en/commands/hugo_new.md +++ b/content/en/commands/hugo_new.md @@ -34,6 +34,7 @@ Ensure you run this within the root directory of your site. -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_new_content.md b/content/en/commands/hugo_new_content.md index a8d2100f9bd..9624e9a61b8 100644 --- a/content/en/commands/hugo_new_content.md +++ b/content/en/commands/hugo_new_content.md @@ -46,6 +46,7 @@ hugo new content [path] [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_new_site.md b/content/en/commands/hugo_new_site.md index cc0e630132d..0f0096ae494 100644 --- a/content/en/commands/hugo_new_site.md +++ b/content/en/commands/hugo_new_site.md @@ -35,6 +35,7 @@ hugo new site [path] [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_new_theme.md b/content/en/commands/hugo_new_theme.md index a79978c4ab6..b1c937bae26 100644 --- a/content/en/commands/hugo_new_theme.md +++ b/content/en/commands/hugo_new_theme.md @@ -34,6 +34,7 @@ hugo new theme [name] [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_server.md b/content/en/commands/hugo_server.md index a1c77d36f79..4ab161f8fac 100644 --- a/content/en/commands/hugo_server.md +++ b/content/en/commands/hugo_server.md @@ -50,7 +50,6 @@ hugo server [command] [flags] --liveReloadPort int port for live reloading (i.e. 443 in HTTPS proxy situations) (default -1) --minify minify any supported output format (HTML, XML etc.) -N, --navigateToChanged navigate to changed content file on live browser reload - --noBuildLock don't create .hugo_build.lock file --noChmod don't sync permission mode of files --noHTTPCache prevent HTTP caching --noTimes don't sync modification time of files @@ -85,6 +84,7 @@ hugo server [command] [flags] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_server_trust.md b/content/en/commands/hugo_server_trust.md index 1a904e8453e..9d24e78e308 100644 --- a/content/en/commands/hugo_server_trust.md +++ b/content/en/commands/hugo_server_trust.md @@ -28,6 +28,7 @@ hugo server trust [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/commands/hugo_version.md b/content/en/commands/hugo_version.md index b1a6b971e10..14cc92a00b8 100644 --- a/content/en/commands/hugo_version.md +++ b/content/en/commands/hugo_version.md @@ -31,6 +31,7 @@ hugo version [flags] [args] -e, --environment string build environment --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern --logLevel string log level (debug|info|warn|error) + --noBuildLock don't create .hugo_build.lock file --quiet build in quiet mode -M, --renderToMemory render to memory (mostly useful when running the server) -s, --source string filesystem path to read files relative from diff --git a/content/en/content-management/archetypes.md b/content/en/content-management/archetypes.md index acf101fda15..30747258c02 100644 --- a/content/en/content-management/archetypes.md +++ b/content/en/content-management/archetypes.md @@ -15,7 +15,7 @@ aliases: [/content/archetypes/] ## Overview -A content file consists of [front matter] and markup. The markup is typically Markdown, but Hugo also supports other [content formats]. Front matter can be TOML, YAML, or JSON. +A content file consists of [front matter](g) and markup. The markup is typically Markdown, but Hugo also supports other [content formats](g). Front matter can be TOML, YAML, or JSON. The `hugo new content` command creates a new file in the `content` directory, using an archetype as a template. This is the default archetype: @@ -25,7 +25,7 @@ date = '{{ .Date }}' draft = true {{< /code-toggle >}} -When you create new content, Hugo evaluates the [template actions] within the archetype. For example: +When you create new content, Hugo evaluates the [template actions](g) within the archetype. For example: ```sh hugo new content posts/my-first-post.md @@ -39,7 +39,7 @@ date = '2023-08-24T11:49:46-07:00' draft = true {{< /code-toggle >}} -You can create an archetype for one or more [content types]. For example, use one archetype for posts, and use the default archetype for everything else: +You can create an archetype for one or more [content types](g). For example, use one archetype for posts, and use the default archetype for everything else: ```text archetypes/ @@ -59,18 +59,18 @@ hugo new content posts/my-first-post.md The archetype lookup order is: -1. archetypes/posts.md -1. archetypes/default.md -1. themes/my-theme/archetypes/posts.md -1. themes/my-theme/archetypes/default.md +1. `archetypes/posts.md` +1. `archetypes/default.md` +1. `themes/my-theme/archetypes/posts.md` +1. `themes/my-theme/archetypes/default.md` If none of these exists, Hugo uses a built-in default archetype. ## Functions and context -You can use any [template function] within an archetype. As shown above, the default archetype uses the [`replace`](/functions/strings/replace) function to replace hyphens with spaces when populating the title in front matter. +You can use any template [function](g) within an archetype. As shown above, the default archetype uses the [`replace`](/functions/strings/replace) function to replace hyphens with spaces when populating the title in front matter. -Archetypes receive the following [context]: +Archetypes receive the following [context](g): Date : (`string`) The current date and time, formatted in compliance with RFC3339. @@ -79,9 +79,7 @@ File : (`hugolib.fileInfo`) Returns file information for the current page. See [details](/methods/page/file). Type -: (`string`) The [content type] inferred from the top-level directory name, or as specified by the `--kind` flag passed to the `hugo new content` command. - -[content type]: /getting-started/glossary#content-type +: (`string`) The [content type](g) inferred from the top-level directory name, or as specified by the `--kind` flag passed to the `hugo new content` command. Site : (`page.Site`) The current site object. See [details](/methods/site/). @@ -130,11 +128,11 @@ One or more practical examples, each within a fenced code block. Additional information to clarify as needed. {{< /code >}} -Although you can include [template actions] within the content body, remember that Hugo evaluates these once---at the time of content creation. In most cases, place template actions in a [template] where Hugo evaluates the actions every time you [build](/getting-started/glossary/#build) the site. +Although you can include [template actions](g) within the content body, remember that Hugo evaluates these once---at the time of content creation. In most cases, place template actions in a [template](g) where Hugo evaluates the actions every time you [build](g) the site. ## Leaf bundles -You can also create archetypes for [leaf bundles](/getting-started/glossary/#leaf-bundle). +You can also create archetypes for [leaf bundles](g). For example, in a photography site you might have a section (content type) for galleries. Each gallery is leaf bundle with content and images. @@ -193,11 +191,3 @@ To create an article using the tutorials archetype: ```sh hugo new content --kind tutorials articles/something.md ``` - -[content formats]: /getting-started/glossary/#content-format -[content types]: /getting-started/glossary/#content-type -[context]: /getting-started/glossary/#context -[front matter]: /getting-started/glossary/#front-matter -[template actions]: /getting-started/glossary/#template-action -[template]: /getting-started/glossary/#template -[template function]: /getting-started/glossary/#function diff --git a/content/en/content-management/build-options.md b/content/en/content-management/build-options.md index a279fb651f8..e7846245530 100644 --- a/content/en/content-management/build-options.md +++ b/content/en/content-management/build-options.md @@ -21,7 +21,6 @@ publishResources = true render = 'always' {{< /code-toggle >}} - list : When to include the page within page collections. Specify one of: @@ -115,7 +114,7 @@ public/ In the example above, note that: 1. Hugo did not publish an HTML file for the page. -2. Despite setting `publishResources` to `false` in front matter, Hugo published the [page resources] because we invoked the [`RelPermalink`] method on each resource. This is the expected behavior. +1. Despite setting `publishResources` to `false` in front matter, Hugo published the [page resources] because we invoked the [`RelPermalink`] method on each resource. This is the expected behavior. ## Example -- headless section @@ -181,7 +180,7 @@ public/ In the example above, note that: 1. Hugo did not publish an HTML file for the page. -2. Despite setting `publishResources` to `false` in front matter, Hugo correctly published the [page resources] because we invoked the [`RelPermalink`] method on each resource. This is the expected behavior. +1. Despite setting `publishResources` to `false` in front matter, Hugo correctly published the [page resources] because we invoked the [`RelPermalink`] method on each resource. This is the expected behavior. ## Example -- list without publishing diff --git a/content/en/content-management/content-adapters.md b/content/en/content-management/content-adapters.md index a88bdba5f17..369e91a1240 100644 --- a/content/en/content-management/content-adapters.md +++ b/content/en/content-management/content-adapters.md @@ -17,7 +17,7 @@ toc: true A content adapter is a template that dynamically creates pages when building a site. For example, use a content adapter to create pages from a remote data source such as JSON, TOML, YAML, or XML. -Unlike templates that reside in the layouts directory, content adapters reside in the content directory, no more than one per directory per language. When a content adapter creates a page, the page's [logical path] will be relative to the content adapter. +Unlike templates that reside in the `layouts` directory, content adapters reside in the `content` directory, no more than one per directory per language. When a content adapter creates a page, the page's [logical path](g) will be relative to the content adapter. ```text content/ @@ -33,7 +33,7 @@ content/ └── _index.md ``` -Each content adapter is named _content.gotmpl and uses the same [syntax] as templates in the layouts directory. You can use any of the [template functions] within a content adapter, as well as the methods described below. +Each content adapter is named _content.gotmpl and uses the same [syntax] as templates in the `layouts` directory. You can use any of the [template functions] within a content adapter, as well as the methods described below. ## Methods @@ -137,9 +137,8 @@ Key|Description|Required `dates.expiryDate`|The page expiry date as a `time.Time` value.|  `dates.lastmod`|The page last modification date as a `time.Time` value.|  `dates.publishDate`|The page publication date as a `time.Time` value.|  -`kind`|The [page kind]. Default is `page`.|  `params`|A map of page parameters.|  -`path`|The page's [logical path] relative to the content adapter. Do not include a leading slash or file extension.|:heavy_check_mark: +`path`|The page's [logical path](g) relative to the content adapter. Do not include a leading slash or file extension.|:heavy_check_mark: `title`|The page title.|  {{% note %}} @@ -158,7 +157,7 @@ Key|Description|Required `content.value`|The content value as a string or resource.|:heavy_check_mark: `name`|The resource name.|  `params`|A map of resource parameters.|  -`path`|The resources's [logical path] relative to the content adapter. Do not include a leading slash.|:heavy_check_mark: +`path`|The resources's [logical path](g) relative to the content adapter. Do not include a leading slash.|:heavy_check_mark: `title`|The resource title.|  {{% note %}} @@ -193,14 +192,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 +222,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 +234,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 }} @@ -281,7 +280,7 @@ Step 4 With multilingual sites you can: 1. Create one content adapter for all languages using the [`EnableAllLanguages`](#enablealllanguages) method as described above. -2. Create content adapters unique to each language. See the examples below. +1. Create content adapters unique to each language. See the examples below. ### Translations by file name @@ -352,8 +351,6 @@ To detect page collisions, use the `--printPathWarnings` flag when building your [content formats]: /content-management/formats/#classification [front matter field]: /content-management/front-matter/#fields -[logical path]: /getting-started/glossary/#logical-path [media type]: https://en.wikipedia.org/wiki/Media_type -[page kind]: /getting-started/glossary/#page-kind [syntax]: /templates/introduction/ [template functions]: /functions/ diff --git a/content/en/content-management/cross-references.md b/content/en/content-management/cross-references.md index 124a3bf06ac..56f4c39e184 100644 --- a/content/en/content-management/cross-references.md +++ b/content/en/content-management/cross-references.md @@ -49,7 +49,7 @@ The pages can be referenced as follows: {{}} ``` -index.md can be reference either by its path or by its containing folder without the ending `/`. \_index.md can be referenced only by its containing folder: +`index.md` can be reference either by its path or by its containing directory without the ending `/`. `_index.md` can be referenced only by its containing directory: ```text {{}} <-- References /about/_index.md diff --git a/content/en/content-management/data-sources.md b/content/en/content-management/data-sources.md index c009fb7f3a3..1237e4f4d5e 100644 --- a/content/en/content-management/data-sources.md +++ b/content/en/content-management/data-sources.md @@ -12,21 +12,15 @@ toc: true aliases: [/extras/datafiles/,/extras/datadrivencontent/,/doc/datafiles/,/templates/data-templates/] --- -Hugo can access and [unmarshal] local and remote data sources including CSV, JSON, TOML, YAML, and XML. Use this data to augment existing content or to create new content. +Hugo can access and [unmarshal](g) local and remote data sources including CSV, JSON, TOML, YAML, and XML. Use this data to augment existing content or to create new content. -[unmarshal]: /getting-started/glossary/#unmarshal - -A data source might be a file in the data directory, a [global resource], a [page resource], or a [remote resource]. - -[global resource]: /getting-started/glossary/#global-resource -[page resource]: /getting-started/glossary/#page-resource -[remote resource]: /getting-started/glossary/#remote-resource +A data source might be a file in the `data` directory, a [global resource](g), a [page resource](g), or a [remote resource](g). ## Data directory -The data directory in the root of your project may contain one or more data files, in either a flat or nested tree. Hugo merges the data files to create a single data structure, accessible with the `Data` method on a `Site` object. +The `data` directory in the root of your project may contain one or more data files, in either a flat or nested tree. Hugo merges the data files to create a single data structure, accessible with the `Data` method on a `Site` object. -Hugo also merges data directories from themes and modules into this single data structure, where the data directory in the root of your project takes precedence. +Hugo also merges data directories from themes and modules into this single data structure, where the `data` directory in the root of your project takes precedence. {{% note %}} Hugo reads the combined data structure into memory and keeps it there for the entire build. For data that is infrequently accessed, use global or page resources instead. @@ -42,7 +36,7 @@ project/ ``` {{% note %}} -Do not place CSV files in the data directory. Access CSV files as page, global, or remote resources. +Do not place CSV files in the `data` directory. Access CSV files as page, global, or remote resources. {{% /note %}} See the documentation for the [`Data`] method on a `Site` object for details and examples. diff --git a/content/en/content-management/formats.md b/content/en/content-management/formats.md index 1132c888c25..a02aa254574 100644 --- a/content/en/content-management/formats.md +++ b/content/en/content-management/formats.md @@ -29,7 +29,10 @@ content/ Regardless of content format, all content must have [front matter], preferably including both `title` and `date`. -Hugo selects the content renderer based on the `markup` identifier in front matter, falling back to the file extension. See the [classification](#classification) table below for a list of markup identifiers and recognized file extensions. +Hugo selects the content renderer based on the `markup` identifier in front matter, falling back to the file extension. See the [classification] table below for a list of markup identifiers and recognized file extensions. + +[classification]: #classification +[front matter]: /content-management/front-matter/ ## Formats @@ -37,7 +40,7 @@ Hugo selects the content renderer based on the `markup` identifier in front matt Create your content in [Markdown] preceded by front matter. -Markdown is Hugo's default content format. Hugo natively renders Markdown to HTML using [Goldmark]. Goldmark is fast and conforms to the [CommonMark] and [GitHub Flavored Markdown] specifications. You can [configure Goldmark] in your site configuration. +Markdown is Hugo's default content format. Hugo natively renders Markdown to HTML using [Goldmark]. Goldmark is fast and conforms to the [CommonMark] and [GitHub Flavored Markdown] specifications. You can configure Goldmark in your [site configuration][configure goldmark]. Hugo provides custom Markdown features including: @@ -48,24 +51,39 @@ Hugo provides custom Markdown features including: : Leverage the embedded Markdown extensions to create tables, definition lists, footnotes, task lists, inserted text, mark text, subscripts, superscripts, and more. [Mathematics] -: Include mathematical equations and expressions in Markdown using LaTeX or TeX typesetting syntax. +: Include mathematical equations and expressions in Markdown using LaTeX markup. [Render hooks] : Override the conversion of Markdown to HTML when rendering fenced code blocks, headings, images, and links. For example, render every standalone image as an HTML `figure` element. +[Attributes]: /content-management/markdown-attributes/ +[CommonMark]: https://spec.commonmark.org/current/ +[Extensions]: /getting-started/configuration-markup/#goldmark-extensions +[GitHub Flavored Markdown]: https://github.github.com/gfm/ +[Goldmark]: https://github.com/yuin/goldmark +[Markdown]: https://daringfireball.net/projects/markdown/ +[Mathematics]: /content-management/mathematics/ +[Render hooks]: /render-hooks/introduction/ +[configure goldmark]: /getting-started/configuration-markup/#goldmark + ### HTML Create your content in [HTML] preceded by front matter. The content is typically what you would place within an HTML document's `body` or `main` element. +[HTML]: https://developer.mozilla.org/en-US/docs/Learn_web_development/Getting_started/Your_first_website/Creating_the_content + ### Emacs Org Mode -Create your content in the [Emacs Org Mode] format preceded by front matter. You can use Org Mode keywords for front matter. See [details](/content-management/front-matter/#emacs-org-mode). +Create your content in the [Emacs Org Mode] format preceded by front matter. You can use Org Mode keywords for front matter. See [details]. + +[details]: /content-management/front-matter/#emacs-org-mode +[Emacs Org Mode]: https://orgmode.org/ ### AsciiDoc Create your content in the [AsciiDoc] format preceded by front matter. Hugo renders AsciiDoc content to HTML using the Asciidoctor executable. You must install Asciidoctor and its dependencies (Ruby) to use the AsciiDoc content format. -You can [configure the AsciiDoc renderer] in your site configuration. +You can configure the AsciiDoc renderer in your [site configuration][configure asciidoc]. In its default configuration, Hugo passes these CLI flags when calling the Asciidoctor executable: @@ -79,6 +97,10 @@ The CLI flags passed to the Asciidoctor executable depend on configuration. You hugo --logLevel info ``` +[AsciiDoc]: https://asciidoc.org/ +[configure the AsciiDoc renderer]: /getting-started/configuration-markup/#asciidoc +[configure asciidoc]: /getting-started/configuration-markup/#asciidoc + ### Pandoc Create your content in the [Pandoc] format preceded by front matter. Hugo renders Pandoc content to HTML using the Pandoc executable. You must install Pandoc to use the Pandoc content format. @@ -89,6 +111,8 @@ Hugo passes these CLI flags when calling the Pandoc executable: --mathjax ``` +[Pandoc]: https://pandoc.org/ + ### reStructuredText Create your content in the [reStructuredText] format preceded by front matter. Hugo renders reStructuredText content to HTML using [Docutils], specifically rst2html. You must install Docutils and its dependencies (Python) to use the reStructuredText content format. @@ -99,6 +123,9 @@ Hugo passes these CLI flags when calling the rst2html executable: --leave-comments --initial-header-level=2 ``` +[Docutils]: https://docutils.sourceforge.io/ +[reStructuredText]: https://docutils.sourceforge.io/rst.html + ## Classification Content format|Media type|Identifier|File extensions @@ -116,22 +143,3 @@ When converting content to HTML, Hugo uses: - External renderers for AsciiDoc, Pandoc, and reStructuredText Native renderers are faster than external renderers. - -[AsciiDoc]: https://asciidoc.org/ -[Asciidoctor]: https://asciidoctor.org/ -[Attributes]: /content-management/markdown-attributes/ -[CommonMark]: https://spec.commonmark.org/current/ -[Docutils]: https://docutils.sourceforge.io/ -[Emacs Org Mode]: https://orgmode.org/ -[Extensions]: /getting-started/configuration-markup/#goldmark-extensions -[GitHub Flavored Markdown]: https://github.github.com/gfm/ -[Goldmark]: https://github.com/yuin/goldmark -[HTML]: https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/HTML_basics -[Markdown]: https://daringfireball.net/projects/markdown/ -[Mathematics]: /content-management/mathematics/ -[Pandoc]: https://pandoc.org/ -[Render hooks]: https://gohugo.io/render-hooks/introduction/ -[configure Goldmark]: /getting-started/configuration-markup/#goldmark -[configure the AsciiDoc renderer]: /getting-started/configuration-markup/#asciidoc -[front matter]: /content-management/front-matter/ -[reStructuredText]: https://docutils.sourceforge.io/rst.html diff --git a/content/en/content-management/front-matter.md b/content/en/content-management/front-matter.md index 5cbf645a5b1..dba77f1d1e2 100644 --- a/content/en/content-management/front-matter.md +++ b/content/en/content-management/front-matter.md @@ -39,15 +39,7 @@ weight = 10 author = 'John Smith' {{< /code-toggle >}} -Front matter fields may be [boolean], [integer], [float], [string], [arrays], or [maps]. Note that the TOML format also supports unquoted date/time values. - -[scalar]: /getting-started/glossary/#scalar -[arrays]: /getting-started/glossary/#array -[maps]: /getting-started/glossary/#map -[boolean]: /getting-started/glossary/#boolean -[integer]: /getting-started/glossary/#integer -[float]: /getting-started/glossary/#float -[string]: /getting-started/glossary/#string +Front matter fields may be [boolean](g), [integer](g), [float](g), [string](g), [arrays](g), or [maps](g). Note that the TOML format also supports unquoted date/time values. ## Fields @@ -82,7 +74,6 @@ The field names below are reserved. For example, you cannot create a custom fiel (`string`) The date associated with the page, typically the creation date. Note that the TOML format also supports unquoted date/time values. See the [dates](#dates) section for examples. Access this value from a template using the [`Date`] method on a `Page` object. - [`date`]: /methods/page/date/ ###### description @@ -113,22 +104,19 @@ If `true`, the page will not be rendered unless you pass the `--buildDrafts` fla ###### isCJKLanguage -(`bool`) Set to `true` if the content language is in the [CJK] family. This value determines how Hugo calculates word count, and affects the values returned by the [`WordCount`], [`FuzzyWordCount`], [`ReadingTime`], and [`Summary`] methods on a `Page` object. +(`bool`) Set to `true` if the content language is in the [CJK](g) family. This value determines how Hugo calculates word count, and affects the values returned by the [`WordCount`], [`FuzzyWordCount`], [`ReadingTime`], and [`Summary`] methods on a `Page` object. [`fuzzywordcount`]: /methods/page/wordcount/ [`readingtime`]: /methods/page/readingtime/ [`summary`]: /methods/page/summary/ [`wordcount`]: /methods/page/wordcount/ -[cjk]: /getting-started/glossary/#cjk ###### keywords -(`string array`) An array of keywords, typically rendered within a `meta` element within the `head` element of the published HTML file, or used as a [taxonomy] to classify content. Access these values from a template using the [`Keywords`] method on a `Page` object. +(`string array`) An array of keywords, typically rendered within a `meta` element within the `head` element of the published HTML file, or used as a [taxonomy](g) to classify content. Access these values from a template using the [`Keywords`] method on a `Page` object. [`keywords`]: /methods/page/keywords/ -[taxonomy]: /getting-started/glossary/#taxonomy -{{% comment %}} -{{% /comment %}} ###### lastmod @@ -154,7 +141,7 @@ lang [`layout`]: /methods/page/layout/ [template lookup order]: /templates/lookup-order/ -[target a specific template]: templates/lookup-order/#target-a-template +[target a specific template]: /templates/lookup-order/#target-a-template ###### linkTitle @@ -184,13 +171,11 @@ Alias to [lastmod](#lastmod). [output formats]: /templates/output-formats/ -{{% comment %}} -{{% /comment %}} ###### params @@ -254,9 +239,8 @@ Alias to [publishDate](#publishdate). ###### type -(`string`) The [content type], overriding the value derived from the top level section in which the page resides. Access this value from a template using the [`Type`] method on a `Page` object. +(`string`) The [content type](g), overriding the value derived from the top level section in which the page resides. Access this value from a template using the [`Type`] method on a `Page` object. -[content type]: /getting-started/glossary/#content-type [`type`]: /methods/page/type/ ###### unpublishdate @@ -268,10 +252,8 @@ Alias to [expirydate](#expirydate). (`string`) Overrides the entire URL path. Applicable to regular pages and section pages. See the [URL management] page for details. ###### weight -(`int`) The page [weight], used to order the page within a [page collection]. Access this value from a template using the [`Weight`] method on a `Page` object. +(`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. -[page collection]: /getting-started/glossary/#page-collection -[weight]: /getting-started/glossary/#weight [`weight`]: /methods/page/weight/ ## Parameters @@ -302,7 +284,7 @@ Parameter|Data type|Used by these embedded templates `images`|`[]string`|[`opengraph.html`], [`schema.html`], [`twitter_cards.html`] `videos`|`[]string`|[`opengraph.html`] -The embedded templates will skip a parameter if not provided in front matter, but will throw an error if the data type is unexpected. +The embedded templates will skip a parameter if not provided in front matter, but will throw an error if the data type is unexpected. [`opengraph.html`]: {{% eturl opengraph %}} [`schema.html`]: {{% eturl schema %}} @@ -332,7 +314,7 @@ genres = ['mystery','romance'] author = 'John Smith' {{< /code-toggle >}} -You can add taxonomy terms to the front matter of any these [page kinds]: +You can add taxonomy terms to the front matter of any these [page kinds](g): - `home` - `page` @@ -340,8 +322,6 @@ You can add taxonomy terms to the front matter of any these [page kinds]: - `taxonomy` - `term` -[page kinds]: /getting-started/glossary/#page-kind - Access taxonomy terms from a template using the [`Params`] or [`GetTerms`] method on a `Page` object. For example: {{< code file=layouts/_default/single.html >}} @@ -360,9 +340,7 @@ Access taxonomy terms from a template using the [`Params`] or [`GetTerms`] metho ## Cascade -Any [node] can pass down to its descendants a set of front matter values. - -[node]: /getting-started/glossary/#node +Any [node](g) can pass down to its descendants a set of front matter values. ### Target specific pages @@ -459,5 +437,5 @@ When populating a date field, whether a [custom page parameter](#parameters) or To override the default time zone, set the [`timeZone`](https://gohugo.io/getting-started/configuration/#timezone) in your site configuration. The order of precedence for determining the time zone is: 1. The time zone offset in the date/time string -2. The time zone specified in your site configuration -3. The `Etc/UTC` time zone +1. The time zone specified in your site configuration +1. The `Etc/UTC` time zone diff --git a/content/en/content-management/image-processing/index.md b/content/en/content-management/image-processing/index.md index 841f1286367..69ee30dc8a6 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 }} ``` @@ -482,7 +482,7 @@ To control tag availability, change the `excludeFields` or `includeFields` setti ## Smart cropping of images -By default, Hugo uses the [Smartcrop] library when cropping images with the `Crop` or`Fill` methods. You can set the anchor point manually, but in most cases the `Smart` option will make a good choice. +By default, Hugo uses the [Smartcrop] library when cropping images with the `Crop` or `Fill` methods. You can set the anchor point manually, but in most cases the `Smart` option will make a good choice. Examples using the sunset image from above: @@ -500,15 +500,14 @@ If you change image processing methods or options, or if you rename or remove im hugo --gc ``` - [`anchor`]: /content-management/image-processing#anchor [mounted]: /hugo-modules/configuration#module-configuration-mounts [page bundle]: /content-management/page-bundles/ [`lang.FormatNumber`]: /functions/lang/formatnumber/ [filters]: /functions/images/filter/#image-filters -[github.com/disintegration/imaging]: -[Smartcrop]: -[Exif]: +[github.com/disintegration/imaging]: https://github.com/disintegration/imaging#image-resizing +[Smartcrop]: https://github.com/muesli/smartcrop#smartcrop +[Exif]: https://en.wikipedia.org/wiki/Exif [`Process`]: #process [`Colors`]: #colors [`Crop`]: #crop diff --git a/content/en/content-management/markdown-attributes.md b/content/en/content-management/markdown-attributes.md index 9c62c4fba3a..a465f244d0e 100644 --- a/content/en/content-management/markdown-attributes.md +++ b/content/en/content-management/markdown-attributes.md @@ -45,7 +45,6 @@ title = true # default is true block = true # default is false {{< /code-toggle >}} - ## Standalone images By default, when the [Goldmark] Markdown renderer encounters a standalone image element (no other elements or text on the same line), it wraps the image element within a paragraph element per the [CommonMark specification]. diff --git a/content/en/content-management/mathematics.md b/content/en/content-management/mathematics.md index 3212fe251c1..5eda9ffa32c 100644 --- a/content/en/content-management/mathematics.md +++ b/content/en/content-management/mathematics.md @@ -1,9 +1,9 @@ --- title: Mathematics in Markdown linkTitle: Mathematics -description: Include mathematical equations and expressions in your Markdown using LaTeX or TeX typesetting syntax. +description: Include mathematical equations and expressions in Markdown using LaTeX markup. categories: [content management] -keywords: [chemical,chemistry,latex,math,mathjax,tex,typesetting] +keywords: [katex,latex,math,mathjax,typesetting] menu: docs: parent: content-management @@ -15,37 +15,45 @@ math: true {{< new-in 0.122.0 >}} +## Overview + +Mathematical equations and expressions written in [LaTeX] are common in academic and scientific publications. Your browser typically renders this mathematical markup using an open-source JavaScript display engine such as [MathJax] or [KaTeX]. + +For example, with this LaTeX markup: + +```text \[ \begin{aligned} KL(\hat{y} || y) &= \sum_{c=1}^{M}\hat{y}_c \log{\frac{\hat{y}_c}{y_c}} \\ JS(\hat{y} || y) &= \frac{1}{2}(KL(y||\frac{y+\hat{y}}{2}) + KL(\hat{y}||\frac{y+\hat{y}}{2})) \end{aligned} \] +``` -## Overview - -Mathematical equations and expressions authored in [LaTeX] or [TeX] are common in academic and scientific publications. Your browser typically renders this mathematical markup using an open-source JavaScript display engine such as [MathJax] or [KaTeX]. - -For example, this is the mathematical markup for the equations displayed at the top of this page: +The MathJax display engine renders this: -```text \[ \begin{aligned} KL(\hat{y} || y) &= \sum_{c=1}^{M}\hat{y}_c \log{\frac{\hat{y}_c}{y_c}} \\ JS(\hat{y} || y) &= \frac{1}{2}(KL(y||\frac{y+\hat{y}}{2}) + KL(\hat{y}||\frac{y+\hat{y}}{2})) \end{aligned} \] -``` Equations and expressions can be displayed inline with other text, or as standalone blocks. Block presentation is also known as "display" mode. -Whether an equation or expression appears inline, or as a block, depends on the delimiters that surround the mathematical markup. Delimiters are defined in pairs, where each pair consists of an opening and closing delimiter. The opening and closing delimiters may be the same, or different. Common delimiter pairs are shown in [Step 1]. +Whether an equation or expression appears inline, or as a block, depends on the delimiters that surround the mathematical markup. Delimiters are defined in pairs, where each pair consists of an opening and closing delimiter. The opening and closing delimiters may be the same, or different. -The approach described below avoids reliance on platform-specific features like shortcodes or code block render hooks. Instead, it utilizes a standardized markup format for mathematical equations and expressions, compatible with the rendering engines used by GitHub, GitLab, [Microsoft VS Code], [Obsidian], [Typora], and others. +{{% note %}} +You can configure Hugo to render mathematical markup on the client-side using the MathJax or KaTeX display engine, or you can render the markup while building your site with the [`transform.ToMath`]function. + +The first approach is described below. + +[`transform.ToMath`]: /functions/transform/tomath/ +{{% /note %}} ## Setup -Follow these instructions to include mathematical equations and expressions in your Markdown using LaTeX or TeX typesetting syntax. +Follow these instructions to include mathematical equations and expressions in your Markdown using LaTeX markup. ###### Step 1 @@ -122,7 +130,7 @@ The example above loads the partial template if you have set the `math` paramete ###### Step 4 -Include mathematical equations and expressions in your Markdown using LaTeX or TeX typesetting syntax. +Include mathematical equations and expressions in Markdown using LaTeX markup. {{< code file=content/math-examples.md copy=true >}} This is an inline \(a^*=x-b^*\) equation. @@ -173,7 +181,7 @@ If you use the `$...$` delimiter pair for inline equations, and occasionally use ## Engines -MathJax and KaTeX are open-source JavaScript display engines. Both engines are fast, but at the time of this writing MathJax v3.2.2 is slightly faster than KaTeX v0.16.9. +MathJax and KaTeX are open-source JavaScript display engines. Both engines are fast, but at the time of this writing MathJax v3.2.2 is slightly faster than KaTeX v0.16.11. {{% note %}} If you use the `$...$` delimiter pair for inline equations, and occasionally use the `$` symbol outside of math contexts, you must use MathJax instead of KaTeX to avoid unintended formatting caused by [this KaTeX limitation](https://github.com/KaTeX/KaTeX/issues/437). @@ -184,9 +192,9 @@ See the [inline delimiters](#inline-delimiters) section for details. To use KaTeX instead of MathJax, replace the partial template from [Step 2] with this: {{< code file=layouts/partials/math.html copy=true >}} - - - + + +