diff --git a/docs/.cspell.json b/docs/.cspell.json
index 0958b7645..ae469d646 100644
--- a/docs/.cspell.json
+++ b/docs/.cspell.json
@@ -1,361 +1,133 @@
{
"version": "0.2",
- "words": [
- "aaabaab",
- "aabb",
- "aabba",
- "aabbaa",
- "aabbaabb",
- "aabbaabbab",
- "abbaa",
- "abourget",
- "absurl",
- "adoc",
- "algolia",
- "allowfullscreen",
- "ananke",
- "anchorize",
- "anthonyfok",
- "asciidoctor",
- "attrlink",
- "azblob",
- "baseof",
- "bbaa",
- "bcde",
- "bcdef",
- "beevelop",
- "Bergevin",
- "bibtex",
- "Bjørn",
- "blackfriday",
- "blogue",
- "bogem",
- "Bootcamp",
- "brlink",
- "Brotli",
- "Browsersync",
- "canonicalization",
- "canonify",
- "Catmull",
- "Catwoman",
- "changefreq",
- "Cheatsheet",
- "choco",
- "chromastyles",
- "clockoon",
- "Cloudinary",
- "CNAME",
- "Codecademy's",
- "CODEOWNERS",
- "Coen",
- "Commento",
- "Cond",
- "contentdir",
- "Contentful",
- "Copr",
- "copyrighthtml",
- "corejs",
- "countrunes",
- "countwords",
- "crossreferences",
- "daftaupe",
- "datatable",
- "DATOCMS",
- "debugconfig",
- "defang",
- "Deindent",
- "DELIM",
- "dhersam",
- "digitalcraftsman",
- "Disqus",
- "Dmdh",
- "doas",
- "dokuwiki",
- "dpkg",
- "DRING",
- "Eiqc",
- "Eliott",
- "embeddable",
- "Emojify",
- "Enwrite",
- "eopkg",
- "eparis",
- "errorf",
- "erroridf",
- "esbuild",
- "Evernote",
- "Exif",
- "exitwp",
- "expirydate",
- "Feminella",
- "firstpost",
- "Flickr",
- "Formspree",
- "fpath",
- "Francia",
- "freenode",
- "frontmatter",
- "funcs",
- "funcsig",
- "Garen",
- "Garuda",
- "gcloud",
- "Getenv",
- "getjson",
- "getpage",
- "Gitee",
- "Gmfc",
- "Goel",
- "Gohugo",
- "gohugoio",
- "goldenbridge",
- "Goldmark",
- "gomodules",
- "GOPATH",
- "govendor",
- "Gowans",
- "Grayscale",
- "Gregor",
- "Gruber",
- "gtag",
- "gvfs",
- "hidecaption",
- "hmac",
- "Hokus",
- "hola",
- "hügó",
- "hugodeps",
- "hugodoc",
- "Hugofy",
- "hugolang",
- "hugoversion",
- "Hyas",
- "Hyvor",
- "iframes",
- "ifttt",
- "iife",
- "imgproc",
- "importr",
- "IMWQ",
- "indice",
- "innershortcode",
- "Intelli",
- "interdoc",
- "IPTC",
- "ismenucurrent",
- "Isset",
- "Isso",
- "Jaco",
- "JIRN",
- "johnpatitucci",
- "Joomla",
- "JRBR",
- "jsonify",
- "Karmada",
- "katex",
- "keycdn",
- "KEYVALS",
- "kubernetes",
- "Kubuntu",
- "Lanczos",
- "langformatnumber",
- "lastmod",
- "libwebp",
- "linktitle",
- "Lipi",
- "lrwxr",
- "Lubuntu",
- "maingo",
- "markdownified",
- "markdownify",
- "mathjax",
- "mdhender",
- "mdshortcode",
- "MENUENTRY",
- "mercredi",
- "Milli",
- "Mittwoch",
- "mkdir",
- "modh",
- "monokai",
- "Morling",
- "mspowerpoint",
- "Multihost",
- "Muut",
- "myclass",
- "mydeployment",
- "myindex",
- "mylayout",
- "mylogin",
- "mypage",
- "mypartials",
- "mypost",
- "mysite",
- "myspa",
- "mystyle",
- "mytextpartial",
- "mytheme",
- "NDJSON",
- "needsexample",
- "Netravali",
- "newparam",
- "Nichlas",
- "Nikhil",
- "Nikola",
- "Njjy",
- "nlist",
- "nobr",
- "nocopy",
- "Norsk",
- "nosniff",
- "NOSQL",
- "notoc",
- "novembre",
- "numfmt",
- "NUMWORKERMULTIPLIER",
- "Obhu",
- "octohug",
- "Octopress",
- "oldparam",
- "onrender",
- "opengraph",
- "OWASP",
- "Pandoc",
- "partialcached",
- "Pastorius",
- "Patitucci",
- "PCRE",
- "peaceiris",
- "Pedersen",
- "Pekka",
- "permalinkable",
- "plainify",
- "POSIX",
- "postprocess",
- "Poupin",
- "prerender",
- "println",
- "Pritchard",
- "publishdate",
- "Pygments",
- "qref",
- "querify",
- "QVOMC",
- "Racic",
- "Rclone",
- "rdwatters",
- "readfile",
- "rebinded",
- "recommendedby",
- "REDIR",
- "reftext",
- "relatedfuncs",
- "relref",
- "relurl",
- "remarkjs",
- "rgba",
- "Riku",
- "rlimit",
- "roboto",
- "rssxml",
- "rwxrwxrwx",
- "RYUGV",
- "safehtml",
- "safejs",
- "Samsa",
- "schemaorg",
- "setx",
- "Shekhar",
- "Shortcode",
- "Shortcodes",
- "signup",
- "Silvola",
- "Sindre",
- "sitemapindex",
- "sitemapxml",
- "slugorfilename",
- "Smartcrop",
- "Sobre",
- "Sprintf",
- "Startseite",
- "strconv",
- "stringifier",
- "struct",
- "structs",
- "subdir",
- "svgs",
- "symdiff",
- "Talkyard",
- "taxo",
- "taxonomyname",
- "tbody",
- "tdewolff",
- "testshortcodes",
- "thead",
- "Thinkful",
- "Tknx",
- "TLDR",
- "TMPDIR",
- "toclevels",
- "TOCSS",
- "todos",
- "tojson",
- "Tomango",
- "topologix",
- "Torikian",
- "totoml",
- "toyaml",
- "twitteruser",
- "Unmarshal",
- "unpublishdate",
- "Unsharp",
- "urlize",
- "urlset",
- "utimestamp",
- "vendored",
- "vimrc",
- "wanghc",
- "Wappalyzer",
- "warnf",
- "webp",
- "Wercker",
- "wibble",
- "wordcount",
- "workson",
- "Wowchemy",
- "wpxr",
- "Xbaabbab",
- "Xubuntu",
- "xvzf",
- "yoyoyo",
- "yunbox",
- "Zgotmpl",
- "Zorin",
- "zzbbaabb",
- "مدونتي"
- ],
- "language": "en,en-US,de,fr",
"allowCompoundWords": true,
"files": [
"**/*.md"
],
- "ignoreRegExpList": [
- "\\n(`{3,})\\w*\\n[\\s\\S]+?\\1",
- "\\[(\\*{2})?@\\w+?\\1\\]",
- "\\[`\\w+`\\]",
- "ve{2,}r{2,}y",
- "ve+r+y+long\\w*",
- "\\/.*?\\/",
- "\\_\\w+",
- "\\#\\w+"
+ "flagWords": [
+ "alot",
+ "hte",
+ "reccommend",
+ "seperate"
],
"ignorePaths": [
- ".cspell.json",
- "**/node_modules/**",
- "*.min.*",
- "**/news/*",
- "**/showcase/*"
+ "**/emojis.md",
+ "**/commands/*",
+ "**/showcase/*",
+ "**/tools/*"
],
- "useGitignore": true,
- "enabled": true
+ "ignoreRegExpList": [
+ "# cspell: ignore fenced code blocks",
+ "^(\\s*`{3,}).*[\\s\\S]*?^\\1",
+ "# cspell: ignore words joined with dot",
+ "\\w+\\.\\w+",
+ "# cspell: ignore strings within backticks",
+ "`.+`",
+ "# cspell: ignore strings within single quotes",
+ "'.+'",
+ "# cspell: ignore strings within double quotes",
+ "\".+\"",
+ "# cspell: ignore strings within brackets",
+ "\\[.+\\]",
+ "# cspell: ignore strings within parentheses",
+ "\\(.+\\)",
+ "# cspell: ignore words that begin with a slash",
+ "/\\w+",
+ "# cspell: ignore everything within action delimiters",
+ "\\{\\{.+\\}\\}",
+ "# cspell: ignore everything after a right arrow",
+ "\\s+→\\s+.+"
+ ],
+ "language": "en",
+ "words": [
+ "antialiasing",
+ "codeowners",
+ "composability",
+ "configurators",
+ "defang",
+ "deindent",
+ "downscale",
+ "downscaled",
+ "downscaling",
+ "exif",
+ "geolocalized",
+ "grayscale",
+ "marshal",
+ "marshaling",
+ "multihost",
+ "performantly",
+ "preconfigured",
+ "prerendering",
+ "redirection",
+ "redirections",
+ "shortcode",
+ "shortcodes",
+ "subexpression",
+ "subexpressions",
+ "suppressable",
+ "templating",
+ "transpile",
+ "transpiles",
+ "unmarshal",
+ "unmarshaling",
+ "# ----------------------------------------------------------------------",
+ "# cspell: ignore foreign language words",
+ "# ----------------------------------------------------------------------",
+ "bezpieczeństwo",
+ "dokumentation",
+ "libros",
+ "miesiąc",
+ "miesiąc",
+ "miesięcy",
+ "miesięcy",
+ "misérables",
+ "projekt",
+ "régime",
+ "# ----------------------------------------------------------------------",
+ "# cspell: ignore proper nouns",
+ "# ----------------------------------------------------------------------",
+ "Eliott",
+ "Gregor",
+ "Jaco",
+ "Noll",
+ "Pastorius",
+ "Samsa",
+ "# ----------------------------------------------------------------------",
+ "# cspell: ignore operating systems and software packages",
+ "# ----------------------------------------------------------------------",
+ "asciidoctor",
+ "brotli",
+ "corejs",
+ "disqus",
+ "doas",
+ "eopkg",
+ "gitee",
+ "goldmark",
+ "kubuntu",
+ "lubuntu",
+ "nosql",
+ "pandoc",
+ "pkgin",
+ "rclone",
+ "xubuntu",
+ "# ----------------------------------------------------------------------",
+ "# cspell: ignore miscellaneous",
+ "# ----------------------------------------------------------------------",
+ "dring",
+ "getenv",
+ "gohugo",
+ "inor",
+ "jdoe",
+ "milli",
+ "rgba",
+ "rsmith",
+ "stringifier",
+ "struct",
+ "tdewolff",
+ "tjones",
+ "toclevels",
+ "vals",
+ "xfeff",
+ "zgotmplz"
+ ]
}
diff --git a/docs/.github/workflows/codeql-analysis.yml b/docs/.github/workflows/codeql-analysis.yml
index 30f98a000..48555823e 100644
--- a/docs/.github/workflows/codeql-analysis.yml
+++ b/docs/.github/workflows/codeql-analysis.yml
@@ -15,7 +15,7 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
diff --git a/docs/.github/workflows/spellcheck.yml b/docs/.github/workflows/spellcheck.yml
index 594621604..a650f153c 100644
--- a/docs/.github/workflows/spellcheck.yml
+++ b/docs/.github/workflows/spellcheck.yml
@@ -1,9 +1,9 @@
name: "Check spelling"
-on: # rebuild any PRs and main branch changes
+on:
push:
+ pull_request:
branches-ignore:
- "dependabot/**"
- pull_request:
permissions:
contents: read
@@ -12,10 +12,11 @@ jobs:
spellcheck:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
- - uses: streetsidesoftware/cspell-action@v2
+ - uses: actions/checkout@v4
+ - uses: streetsidesoftware/cspell-action@v4
with:
check_dot_files: false
+ files: content/**/*.md
incremental_files_only: true
inline: warning
strict: false
diff --git a/docs/.github/workflows/super-linter.yml b/docs/.github/workflows/super-linter.yml
index efd206960..b2a5cb6f1 100644
--- a/docs/.github/workflows/super-linter.yml
+++ b/docs/.github/workflows/super-linter.yml
@@ -18,10 +18,10 @@ jobs:
steps:
- name: Checkout Code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Lint Code Base
- uses: github/super-linter/slim@v4
+ uses: super-linter/super-linter/slim@v5
env:
DEFAULT_BRANCH: master
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/docs/LICENSE.md b/docs/LICENSE.md
index b62a9b5ff..b09cd7856 100644
--- a/docs/LICENSE.md
+++ b/docs/LICENSE.md
@@ -1,194 +1,201 @@
Apache License
-==============
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
-_Version 2.0, January 2004_
-_<>_
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-### Terms and Conditions for use, reproduction, and distribution
+ 1. Definitions.
-#### 1. Definitions
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
-“License” shall mean the terms and conditions for use, reproduction, and
-distribution as defined by Sections 1 through 9 of this document.
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
-“Licensor” shall mean the copyright owner or entity authorized by the copyright
-owner that is granting the License.
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
-“Legal Entity” shall mean the union of the acting entity and all other entities
-that control, are controlled by, or are under common control with that entity.
-For the purposes of this definition, “control” means **(i)** the power, direct or
-indirect, to cause the direction or management of such entity, whether by
-contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the
-outstanding shares, or **(iii)** beneficial ownership of such entity.
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
-“You” (or “Your”) shall mean an individual or Legal Entity exercising
-permissions granted by this License.
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
-“Source” form shall mean the preferred form for making modifications, including
-but not limited to software source code, documentation source, and configuration
-files.
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
-“Object” form shall mean any form resulting from mechanical transformation or
-translation of a Source form, including but not limited to compiled object code,
-generated documentation, and conversions to other media types.
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
-“Work” shall mean the work of authorship, whether in Source or Object form, made
-available under the License, as indicated by a copyright notice that is included
-in or attached to the work (an example is provided in the Appendix below).
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
-“Derivative Works” shall mean any work, whether in Source or Object form, that
-is based on (or derived from) the Work and for which the editorial revisions,
-annotations, elaborations, or other modifications represent, as a whole, an
-original work of authorship. For the purposes of this License, Derivative Works
-shall not include works that remain separable from, or merely link (or bind by
-name) to the interfaces of, the Work and Derivative Works thereof.
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
-“Contribution” shall mean any work of authorship, including the original version
-of the Work and any modifications or additions to that Work or Derivative Works
-thereof, that is intentionally submitted to Licensor for inclusion in the Work
-by the copyright owner or by an individual or Legal Entity authorized to submit
-on behalf of the copyright owner. For the purposes of this definition,
-“submitted” means any form of electronic, verbal, or written communication sent
-to the Licensor or its representatives, including but not limited to
-communication on electronic mailing lists, source code control systems, and
-issue tracking systems that are managed by, or on behalf of, the Licensor for
-the purpose of discussing and improving the Work, but excluding communication
-that is conspicuously marked or otherwise designated in writing by the copyright
-owner as “Not a Contribution.”
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
-“Contributor” shall mean Licensor and any individual or Legal Entity on behalf
-of whom a Contribution has been received by Licensor and subsequently
-incorporated within the Work.
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
-#### 2. Grant of Copyright License
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
-Subject to the terms and conditions of this License, each Contributor hereby
-grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
-irrevocable copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the Work and such
-Derivative Works in Source or Object form.
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
-#### 3. Grant of Patent License
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
-Subject to the terms and conditions of this License, each Contributor hereby
-grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
-irrevocable (except as stated in this section) patent license to make, have
-made, use, offer to sell, sell, import, and otherwise transfer the Work, where
-such license applies only to those patent claims licensable by such Contributor
-that are necessarily infringed by their Contribution(s) alone or by combination
-of their Contribution(s) with the Work to which such Contribution(s) was
-submitted. If You institute patent litigation against any entity (including a
-cross-claim or counterclaim in a lawsuit) alleging that the Work or a
-Contribution incorporated within the Work constitutes direct or contributory
-patent infringement, then any patent licenses granted to You under this License
-for that Work shall terminate as of the date such litigation is filed.
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
-#### 4. Redistribution
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
-You may reproduce and distribute copies of the Work or Derivative Works thereof
-in any medium, with or without modifications, and in Source or Object form,
-provided that You meet the following conditions:
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
-* **(a)** You must give any other recipients of the Work or Derivative Works a copy of
-this License; and
-* **(b)** You must cause any modified files to carry prominent notices stating that You
-changed the files; and
-* **(c)** You must retain, in the Source form of any Derivative Works that You distribute,
-all copyright, patent, trademark, and attribution notices from the Source form
-of the Work, excluding those notices that do not pertain to any part of the
-Derivative Works; and
-* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any
-Derivative Works that You distribute must include a readable copy of the
-attribution notices contained within such NOTICE file, excluding those notices
-that do not pertain to any part of the Derivative Works, in at least one of the
-following places: within a NOTICE text file distributed as part of the
-Derivative Works; within the Source form or documentation, if provided along
-with the Derivative Works; or, within a display generated by the Derivative
-Works, if and wherever such third-party notices normally appear. The contents of
-the NOTICE file are for informational purposes only and do not modify the
-License. You may add Your own attribution notices within Derivative Works that
-You distribute, alongside or as an addendum to the NOTICE text from the Work,
-provided that such additional attribution notices cannot be construed as
-modifying the License.
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
-You may add Your own copyright statement to Your modifications and may provide
-additional or different license terms and conditions for use, reproduction, or
-distribution of Your modifications, or for any such Derivative Works as a whole,
-provided Your use, reproduction, and distribution of the Work otherwise complies
-with the conditions stated in this License.
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
-#### 5. Submission of Contributions
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
-Unless You explicitly state otherwise, any Contribution intentionally submitted
-for inclusion in the Work by You to the Licensor shall be under the terms and
-conditions of this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify the terms of
-any separate license agreement you may have executed with Licensor regarding
-such Contributions.
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
-#### 6. Trademarks
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
-This License does not grant permission to use the trade names, trademarks,
-service marks, or product names of the Licensor, except as required for
-reasonable and customary use in describing the origin of the Work and
-reproducing the content of the NOTICE file.
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
-#### 7. Disclaimer of Warranty
+ END OF TERMS AND CONDITIONS
-Unless required by applicable law or agreed to in writing, Licensor provides the
-Work (and each Contributor provides its Contributions) on an “AS IS” BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
-including, without limitation, any warranties or conditions of TITLE,
-NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
-solely responsible for determining the appropriateness of using or
-redistributing the Work and assume any risks associated with Your exercise of
-permissions under this License.
+ APPENDIX: How to apply the Apache License to your work.
-#### 8. Limitation of Liability
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
-In no event and under no legal theory, whether in tort (including negligence),
-contract, or otherwise, unless required by applicable law (such as deliberate
-and grossly negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special, incidental,
-or consequential damages of any character arising as a result of this License or
-out of the use or inability to use the Work (including but not limited to
-damages for loss of goodwill, work stoppage, computer failure or malfunction, or
-any and all other commercial damages or losses), even if such Contributor has
-been advised of the possibility of such damages.
+ Copyright [yyyy] [name of copyright owner]
-#### 9. Accepting Warranty or Additional Liability
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-While redistributing the Work or Derivative Works thereof, You may choose to
-offer, and charge a fee for, acceptance of support, warranty, indemnity, or
-other liability obligations and/or rights consistent with this License. However,
-in accepting such obligations, You may act only on Your own behalf and on Your
-sole responsibility, not on behalf of any other Contributor, and only if You
-agree to indemnify, defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason of your
-accepting any such warranty or additional liability.
+ http://www.apache.org/licenses/LICENSE-2.0
-_END OF TERMS AND CONDITIONS_
-
-### APPENDIX: How to apply the Apache License to your work
-
-To apply the Apache License to your work, attach the following boilerplate
-notice, with the fields enclosed by brackets `[]` replaced with your own
-identifying information. (Don't include the brackets!) The text should be
-enclosed in the appropriate comment syntax for the file format. We also
-recommend that a file or class name and description of purpose be included on
-the same “printed page” as the copyright notice for easier identification within
-third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/docs/README.md b/docs/README.md
index 730ad5fc8..bf5d9402c 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -19,12 +19,11 @@ Spelling fixes are most welcomed, and if you want to contribute longer sections
* For example, try to find short snippets that teaches people about the concept. If the example is also useful as-is (copy and paste), then great. Don't list long and similar examples just so people can use them on their sites.
* Hugo has users from all over the world, so easy to understand and [simple English](https://simple.wikipedia.org/wiki/Basic_English) is good.
-
## Edit the theme
If you want to do docs-related theme changes, the simplest way is to have both `hugoDocs` and `gohugoioTheme` cloned as sibling directories, and then run:
-```
+```sh
HUGO_MODULE_WORKSPACE=hugo.work hugo server --ignoreVendorPaths "**"
```
@@ -37,7 +36,7 @@ HUGO_MODULE_WORKSPACE=hugo.work hugo server --ignoreVendorPaths "**"
To view the documentation site locally, you need to clone this repository:
-```bash
+```sh
git clone https://github.com/gohugoio/hugoDocs.git
```
@@ -45,7 +44,7 @@ Also note that the documentation version for a given version of Hugo can also be
Then to view the docs in your browser, run Hugo and open up the link:
-```bash
+```sh
▶ hugo server
Started building sites ...
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_print.css b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_print.css
new file mode 100644
index 000000000..c0be3af61
--- /dev/null
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_print.css
@@ -0,0 +1,7 @@
+@media print {
+ #page-footer,
+ body > footer,
+ body > nav {
+ display: none;
+ }
+}
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_right-sidebar.css b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_right-sidebar.css
new file mode 100644
index 000000000..757457b2d
--- /dev/null
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_right-sidebar.css
@@ -0,0 +1,11 @@
+#right-sidebar {
+ scrollbar-width: none; /* hide scrollbar: Firefox */
+ -ms-overflow-style: none; /* hide scrollbar: Internet Explorer 10+ */
+ height: calc(100vh - 9rem);
+ overflow-y: auto;
+}
+
+#right-sidebar::-webkit-scrollbar { /* hide scrollbar: WebKit */
+ width: 0;
+ height: 0;
+}
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_shame.css b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_shame.css
new file mode 100644
index 000000000..634adbf06
--- /dev/null
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_shame.css
@@ -0,0 +1,20 @@
+/*
+Make h6 elements behave like dt elements. Initially implemented to support
+linkable glossary entries.
+
+Yes, it's a hack. That's why it's in the shame file.
+*/
+
+h6 {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 1.125rem;
+}
+
+h6:first-of-type {
+ margin-top: 3em;
+}
+
+h6 ~ p {
+ margin: 0.5em 0 2em 0;
+}
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/main.css b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/main.css
index c71f69dd1..fd0f2a503 100644
--- a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/main.css
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/main.css
@@ -21,18 +21,18 @@
@import '_no-js';
@import '_social-icons';
@import '_stickyheader';
-
+@import '_right-sidebar';
@import '_svg';
@import '_chroma';
@import '_variables';
+@import '_print';
+@import '_shame';
.nested-blockquote blockquote {
border-left: 4px solid var(--primary-color);
padding-left: 1em;
- /*margin: 0;*/
}
-
.mw-90 {
max-width:90%;
}
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css
index f5e09aeb1..5e0b0c708 100644
--- a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css
@@ -5174,6 +5174,16 @@ code, .code, pre code, .highlight pre {
right:0;
}
}
+#right-sidebar {
+ scrollbar-width: none; /* hide scrollbar: Firefox */
+ -ms-overflow-style: none; /* hide scrollbar: Internet Explorer 10+ */
+ height: calc(100vh - 9rem);
+ overflow-y: auto;
+}
+#right-sidebar::-webkit-scrollbar { /* hide scrollbar: WebKit */
+ width: 0;
+ height: 0;
+}
.fill-current { fill: currentColor; }
/* Background */
.chroma { background-color: #ffffff }
@@ -5305,10 +5315,33 @@ code, .code, pre code, .highlight pre {
.chroma .gt { color: #aa0000 }
/* TextWhitespace */
.chroma .w { color: #bbbbbb }
+@media print {
+ #page-footer,
+ body > footer,
+ body > nav {
+ display: none;
+ }
+}
+/*
+Make h6 elements behave like dt elements. Initially implemented to support
+linkable glossary entries.
+
+Yes, it's a hack. That's why it's in the shame file.
+*/
+h6 {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 1.125rem;
+}
+h6:first-of-type {
+ margin-top: 3em;
+}
+h6 ~ p {
+ margin: 0.5em 0 2em 0;
+}
.nested-blockquote blockquote {
border-left: 4px solid #0594CB;
padding-left: 1em;
- /*margin: 0;*/
}
.mw-90 {
max-width:90%;
diff --git a/docs/layouts/_default/_markup/render-codeblock-mermaid.html b/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-codeblock-mermaid.html
similarity index 100%
rename from docs/layouts/_default/_markup/render-codeblock-mermaid.html
rename to docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-codeblock-mermaid.html
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-heading.html b/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-heading.html
index 6f944aee3..e1b29119f 100644
--- a/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-heading.html
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-heading.html
@@ -1,5 +1,5 @@
{{ .Text | safeHTML }}
-{{- if and (ge .Level 2) (le .Level 4) }}{{" " -}}
+{{- if in (slice 2 3 4 6) .Level }}{{" " -}}
{{- end -}}
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-link.html b/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-link.html
new file mode 100644
index 000000000..7b3d58c2d
--- /dev/null
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-link.html
@@ -0,0 +1,250 @@
+{{- /* Last modified: 2023-09-04T09:23:04-07:00 */}}
+
+{{- /*
+Copyright 2023 Veriphor LLC
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not
+use this file except in compliance with the License. You may obtain a copy of
+the License at
+
+https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations under
+the License.
+*/}}
+
+{{- /*
+This render hook resolves internal destinations by looking for a matching:
+
+ 1. Content page
+ 2. Page resource (a file in the current page bundle)
+ 3. Section resource (a file in the current section)
+ 4. Global resource (a file in the assets directory)
+
+It skips the section resource lookup if the current page is a leaf bundle.
+
+External destinations are not modified.
+
+You must place global resources in the assets directory. If you have placed
+your resources in the static directory, and you are unable or unwilling to move
+them, you must mount the static directory to the assets directory by including
+both of these entries in your site configuration:
+
+ [[module.mounts]]
+ source = 'assets'
+ target = 'assets'
+
+ [[module.mounts]]
+ source = 'static'
+ target = 'assets'
+
+By default, if this render hook is unable to resolve a destination, including a
+fragment if present, it passes the destination through without modification. To
+emit a warning or error, set the error level in your site configuration:
+
+ [params.render_hooks.link]
+ errorLevel = 'warning' # ignore (default), warning, or error (fails the build)
+
+When you set the error level to warning, and you are in a development
+environment, you can visually highlight broken internal links:
+
+ [params.render_hooks.link]
+ errorLevel = 'warning' # ignore (default), warning, or error (fails the build)
+ highlightBroken = true # true or false (default)
+
+This will add a "broken" class to anchor elements with invalid src attributes.
+Add a rule to your CSS targeting the broken links:
+
+ a.broken {
+ background: #ff0;
+ border: 2px solid #f00;
+ padding: 0.1em 0.2em;
+ }
+
+This render hook may be unable to resolve destinations created with the ref and
+relref shortcodes. Unless you set the error level to ignore you should not use
+either of these shortcodes in conjunction with this render hook.
+
+@context {string} Destination The link destination.
+@context {page} Page A reference to the page containing the link.
+@context {string} PlainText The link description as plain text.
+@context {string} Text The link description.
+@context {string} Title The link title.
+
+@returns {template.html}
+*/}}
+
+{{- /* Initialize. */}}
+{{- $renderHookName := "link" }}
+
+{{- /* Verify minimum required version. */}}
+{{- $minHugoVersion := "0.120.0" }}
+{{- if lt hugo.Version $minHugoVersion }}
+ {{- errorf "The %q render hook requires Hugo v%s or later." $renderHookName $minHugoVersion }}
+{{- end }}
+
+{{- /* Error level when unable to resolve destination: ignore, warning, or error. */}}
+{{- $errorLevel := or site.Params.render_hooks.link.errorLevel "ignore" | lower }}
+
+{{- /* If true, adds "broken" class to broken links. Applicable in development environment when errorLevel is warning. */}}
+{{- $highlightBrokenLinks := or site.Params.render_hooks.link.highlightBroken false }}
+
+{{- /* Validate error level. */}}
+{{- if not (in (slice "ignore" "warning" "error") $errorLevel) }}
+ {{- errorf "The %q render hook is misconfigured. The errorLevel %q is invalid. Please check your site configuration." $renderHookName $errorLevel }}
+{{- end }}
+
+{{- /* Determine content path for warning and error messages. */}}
+{{- $contentPath := "" }}
+{{- with .Page.File }}
+ {{- $contentPath = .Path }}
+{{- else }}
+ {{- $contentPath = .Path }}
+{{- end }}
+
+{{- /* Parse destination. */}}
+{{- $u := urls.Parse .Destination }}
+
+{{- /* Set common message. */}}
+{{- $msg := printf "The %q render hook was unable to resolve the destination %q in %s" $renderHookName $u.String $contentPath }}
+
+{{- /* Set attributes for anchor element. */}}
+{{- $attrs := dict "href" $u.String }}
+{{- if $u.IsAbs }}
+ {{- /* Destination is a remote resource. */}}
+ {{- $attrs = merge $attrs (dict "rel" "external") }}
+{{- else }}
+ {{- with $u.Path }}
+ {{- with $p := or ($.Page.GetPage .) ($.Page.GetPage (strings.TrimRight "/" .)) }}
+ {{- /* Destination is a page. */}}
+ {{- $href := .RelPermalink }}
+ {{- with $u.RawQuery }}
+ {{- $href = printf "%s?%s" $href . }}
+ {{- end }}
+ {{- with $u.Fragment }}
+ {{- $ctx := dict
+ "contentPath" $contentPath
+ "errorLevel" $errorLevel
+ "page" $p
+ "parsedURL" $u
+ "renderHookName" $renderHookName
+ }}
+ {{- partial "inline/h-rh-l/validate-fragment.html" $ctx }}
+ {{- $href = printf "%s#%s" $href . }}
+ {{- end }}
+ {{- $attrs = dict "href" $href }}
+ {{- else }}
+ {{- with $.Page.Resources.Get $u.Path }}
+ {{- /* Destination is a page resource; drop query and fragment. */}}
+ {{- $attrs = dict "href" .RelPermalink }}
+ {{- else }}
+ {{- with (and (ne $.Page.BundleType "leaf") ($.Page.CurrentSection.Resources.Get $u.Path)) }}
+ {{- /* Destination is a section resource, and current page is not a leaf bundle. */}}
+ {{- $attrs = dict "href" .RelPermalink }}
+ {{- else }}
+ {{- with resources.Get $u.Path }}
+ {{- /* Destination is a global resource; drop query and fragment. */}}
+ {{- $attrs = dict "href" .RelPermalink }}
+ {{- else }}
+ {{- if eq $errorLevel "warning" }}
+ {{- warnf $msg }}
+ {{- if and $highlightBrokenLinks hugo.IsDevelopment }}
+ {{- $attrs = merge $attrs (dict "class" "broken") }}
+ {{- end }}
+ {{- else if eq $errorLevel "error" }}
+ {{- errorf $msg }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- else }}
+ {{- with $u.Fragment }}
+ {{- /* Destination is on the same page; prepend relative permalink. */}}
+ {{- $ctx := dict
+ "contentPath" $contentPath
+ "errorLevel" $errorLevel
+ "page" $.Page
+ "parsedURL" $u
+ "renderHookName" $renderHookName
+ }}
+ {{- partial "inline/h-rh-l/validate-fragment.html" $ctx }}
+ {{- $attrs = dict "href" (printf "%s#%s" $.Page.RelPermalink .) }}
+ {{- else }}
+ {{- if eq $errorLevel "warning" }}
+ {{- warnf $msg }}
+ {{- if and $highlightBrokenLinks hugo.IsDevelopment }}
+ {{- $attrs = merge $attrs (dict "class" "broken") }}
+ {{- end }}
+ {{- else if eq $errorLevel "error" }}
+ {{- errorf $msg }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
+{{- with .Title }}
+ {{- $attrs = merge $attrs (dict "title" .) }}
+{{- end -}}
+
+{{- /* Render anchor element. */ -}}
+{{ .Text | safeHTML }}
+
+{{- define "partials/inline/h-rh-l/validate-fragment.html" }}
+ {{- /*
+ Validates the fragment portion of a link destination.
+
+ @context {string} contentPath The page containing the link.
+ @context {srting} errorLevel The error level when unable to resolve destination; ignore (default), warning, or error.
+ @context {page} page The page corresponding to the link destination
+ @context {struct} parsedURL The link destination parsed by urls.Parse.
+ @context {string} renderHookName The name of the render hook.
+ */}}
+
+ {{- /* Initialize. */}}
+ {{- $contentPath := .contentPath }}
+ {{- $errorLevel := .errorLevel }}
+ {{- $p := .page }}
+ {{- $u := .parsedURL }}
+ {{- $renderHookName := .renderHookName }}
+
+ {{- /* Validate. */}}
+ {{- with $u.Fragment }}
+ {{- if $p.Fragments.Identifiers.Contains . }}
+ {{- if gt ($p.Fragments.Identifiers.Count .) 1 }}
+ {{- $msg := printf "The %q render hook detected duplicate heading IDs %q in %s" $renderHookName . $contentPath }}
+ {{- if eq $errorLevel "warning" }}
+ {{- warnf $msg }}
+ {{- else if eq $errorLevel "error" }}
+ {{- errorf $msg }}
+ {{- end }}
+ {{- end }}
+ {{- else }}
+ {{- /* Determine target path for warning and error message. */}}
+ {{- $targetPath := "" }}
+ {{- with $p.File }}
+ {{- $targetPath = .Path }}
+ {{- else }}
+ {{- $targetPath = .Path }}
+ {{- end }}
+ {{- /* Set common message. */}}
+ {{- $msg := printf "The %q render hook was unable to find heading ID %q in %s. See %s" $renderHookName . $targetPath $contentPath }}
+ {{- if eq $targetPath $contentPath }}
+ {{- $msg = printf "The %q render hook was unable to find heading ID %q in %s" $renderHookName . $targetPath }}
+ {{- end }}
+ {{- /* Throw warning or error. */}}
+ {{- if eq $errorLevel "warning" }}
+ {{- warnf $msg }}
+ {{- else if eq $errorLevel "error" }}
+ {{- errorf $msg }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+
+{{- end -}}
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/baseof.html b/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/baseof.html
index 5767f078b..09cbb2f66 100644
--- a/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/baseof.html
+++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/baseof.html
@@ -95,7 +95,7 @@
{{- partial "opengraph/twitter_cards.html" . -}}
{{ if hugo.IsProduction }}
- {{ partial "gtag" . }}
+ {{ partial "gtag.html" . }}
{{ end }}
@@ -104,7 +104,7 @@
class="ma0 sans-serif bg-primary-color-light{{ with getenv "HUGO_ENV" }}
{{ . }}
{{ end }}">
- {{ partial "hooks/after-body-start" . }}
+ {{ partial "hooks/after-body-start.html" . }}
{{ block "nav" . }}{{ partial "site-nav.html" . }}{{ end }}
{{ block "header" . }}{{ end }}