aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2023-08-07 10:52:52 +0200
committerBjørn Erik Pedersen <[email protected]>2023-08-07 13:42:54 +0200
commit851bf3515e61141cda6209fb196f4505c826607c (patch)
tree4c227fb57c849638059836a4f490d0c5c0da0a42 /docs
parentd4a6c16c17b8804c13c9c0a5526be01fc238c67a (diff)
downloadhugo-851bf3515e61141cda6209fb196f4505c826607c.tar.gz
hugo-851bf3515e61141cda6209fb196f4505c826607c.zip
Add all config to docshelper.json
Also consolidate so the mediaTypes and outputFormats are listed once only. Fixes #11328
Diffstat (limited to 'docs')
-rw-r--r--docs/content/en/getting-started/configuration.md2
-rw-r--r--docs/content/en/templates/output-formats.md4
-rw-r--r--docs/data/docs.json975
-rw-r--r--docs/layouts/maintenance/list.html134
-rw-r--r--docs/layouts/shortcodes/code-toggle.html44
-rw-r--r--docs/layouts/shortcodes/datatable.html41
6 files changed, 748 insertions, 452 deletions
diff --git a/docs/content/en/getting-started/configuration.md b/docs/content/en/getting-started/configuration.md
index ea82f1b53..2ed46cb10 100644
--- a/docs/content/en/getting-started/configuration.md
+++ b/docs/content/en/getting-started/configuration.md
@@ -112,7 +112,7 @@ deep
Note that you don't need to be so verbose as in the default setup below; a `_merge` value higher up will be inherited if not set.
-{{< code-toggle config="mergeStrategy" skipHeader=true />}}
+{{< code-toggle file="hugo" dataKey="config_helpers.mergeStrategy" skipHeader=true />}}
## All configuration settings
diff --git a/docs/content/en/templates/output-formats.md b/docs/content/en/templates/output-formats.md
index 3983acc24..d1f5f3bfe 100644
--- a/docs/content/en/templates/output-formats.md
+++ b/docs/content/en/templates/output-formats.md
@@ -20,7 +20,7 @@ A [media type] (also known as _MIME type_ and _content type_) is a two-part iden
This is the full set of built-in media types in Hugo:
-{{< datatable "media" "types" "type" "suffixes" >}}
+{{< datatable "config" "mediaTypes" "_key" "suffixes" >}}
**Note:**
@@ -61,7 +61,7 @@ Given a media type and some additional configuration, you get an **Output Format
This is the full set of Hugo's built-in output formats:
-{{< datatable "output" "formats" "name" "mediaType" "path" "baseName" "rel" "protocol" "isPlainText" "isHTML" "noUgly" "permalinkable" >}}
+{{< datatable "config" "outputFormats" "name" "mediaType" "path" "baseName" "rel" "protocol" "isPlainText" "isHTML" "noUgly" "permalinkable" >}}
- A page can be output in as many output formats as you want, and you can have an infinite amount of output formats defined **as long as they resolve to a unique path on the file system**. In the above table, the best example of this is `AMP` vs. `HTML`. `AMP` has the value `amp` for `Path` so it doesn't overwrite the `HTML` version; e.g. we can now have both `/index.html` and `/amp/index.html`.
- The `MediaType` must match the `Type` of an already defined media type.
diff --git a/docs/data/docs.json b/docs/data/docs.json
index 8d130b2fc..23f9710bb 100644
--- a/docs/data/docs.json
+++ b/docs/data/docs.json
@@ -1600,6 +1600,144 @@
]
},
"config": {
+ "baseURL": "",
+ "buildDrafts": false,
+ "buildExpired": false,
+ "buildFuture": false,
+ "copyright": "",
+ "defaultContentLanguage": "en",
+ "defaultContentLanguageInSubdir": false,
+ "disableAliases": false,
+ "disablePathToLower": false,
+ "disableKinds": null,
+ "disableLanguages": null,
+ "disableHugoGeneratorInject": false,
+ "disableLiveReload": false,
+ "enableEmoji": false,
+ "mainSections": null,
+ "enableRobotsTXT": false,
+ "enableGitInfo": false,
+ "templateMetrics": false,
+ "templateMetricsHints": false,
+ "noBuildLock": false,
+ "ignoreErrors": null,
+ "ignoreFiles": [],
+ "ignoreCache": false,
+ "enableMissingTranslationPlaceholders": false,
+ "panicOnWarning": false,
+ "environment": "production",
+ "languageCode": "",
+ "hasCJKLanguage": false,
+ "paginate": 10,
+ "paginatePath": "page",
+ "pluralizeListTitles": true,
+ "canonifyURLs": false,
+ "relativeURLs": false,
+ "removePathAccents": false,
+ "printUnusedTemplates": false,
+ "printI18nWarnings": false,
+ "printPathWarnings": false,
+ "refLinksNotFoundURL": "",
+ "refLinksErrorLevel": "",
+ "sectionPagesMenu": "",
+ "summaryLength": 70,
+ "title": "",
+ "theme": null,
+ "timeout": "30s",
+ "timeZone": "",
+ "titleCaseStyle": "AP",
+ "newContentEditor": "",
+ "noTimes": false,
+ "noChmod": false,
+ "cleanDestinationDir": false,
+ "ignoreVendorPaths": "",
+ "themesDir": "themes",
+ "publishDir": "public",
+ "resourceDir": "resources",
+ "workingDir": "",
+ "cacheDir": "",
+ "contentDir": "content",
+ "dataDir": "data",
+ "layoutDir": "layouts",
+ "i18nDir": "i18n",
+ "archeTypeDir": "archetypes",
+ "assetDir": "assets",
+ "staticDir": [
+ "static"
+ ],
+ "staticDir0": null,
+ "staticDir1": null,
+ "staticDir2": null,
+ "staticDir3": null,
+ "staticDir4": null,
+ "staticDir5": null,
+ "staticDir6": null,
+ "staticDir7": null,
+ "staticDir8": null,
+ "staticDir9": null,
+ "staticDir10": null,
+ "author": {},
+ "social": null,
+ "build": {
+ "useResourceCacheWhen": "fallback",
+ "buildStats": {
+ "enable": false,
+ "disableTags": false,
+ "disableClasses": false,
+ "disableIDs": false
+ },
+ "noJSConfigInAssets": false,
+ "cacheBusters": [
+ {
+ "source": "assets/.*\\.(js|ts|jsx|tsx)",
+ "target": "(js|scripts|javascript)"
+ },
+ {
+ "source": "assets/.*\\.(css|sass|scss)$",
+ "target": "(css|styles|scss|sass)"
+ },
+ {
+ "source": "(postcss|tailwind)\\.config\\.js",
+ "target": "(css|styles|scss|sass)"
+ },
+ {
+ "source": "assets/.*\\.(.*)$",
+ "target": "$1"
+ }
+ ]
+ },
+ "caches": {
+ "assets": {
+ "maxAge": -1,
+ "dir": ":resourceDir/_gen",
+ "isResourceDir": true
+ },
+ "getcsv": {
+ "maxAge": -1,
+ "dir": ":cacheDir/:project",
+ "isResourceDir": false
+ },
+ "getjson": {
+ "maxAge": -1,
+ "dir": ":cacheDir/:project",
+ "isResourceDir": false
+ },
+ "getresource": {
+ "maxAge": -1,
+ "dir": ":cacheDir/:project",
+ "isResourceDir": false
+ },
+ "images": {
+ "maxAge": 1800000000000000,
+ "dir": ":cacheDir/images",
+ "isResourceDir": false
+ },
+ "modules": {
+ "maxAge": -1,
+ "dir": ":cacheDir/modules",
+ "isResourceDir": false
+ }
+ },
"markup": {
"defaultMarkdownHandler": "goldmark",
"highlight": {
@@ -1674,287 +1812,86 @@
"preserveTOC": false
}
},
- "mergeStrategy": {
- "build": {
- "_merge": "none"
- },
- "caches": {
- "_merge": "none"
- },
- "cascade": {
- "_merge": "none"
- },
- "frontmatter": {
- "_merge": "none"
- },
- "imaging": {
- "_merge": "none"
- },
- "languages": {
- "_merge": "none",
- "en": {
- "_merge": "none",
- "menus": {
- "_merge": "shallow"
- },
- "params": {
- "_merge": "deep"
- }
- }
- },
- "markup": {
- "_merge": "none"
- },
- "mediatypes": {
- "_merge": "shallow"
- },
- "menus": {
- "_merge": "shallow"
- },
- "minify": {
- "_merge": "none"
- },
- "module": {
- "_merge": "none"
- },
- "outputformats": {
- "_merge": "shallow"
- },
- "params": {
- "_merge": "deep"
- },
- "permalinks": {
- "_merge": "none"
- },
- "privacy": {
- "_merge": "none"
- },
- "related": {
- "_merge": "none"
- },
- "security": {
- "_merge": "none"
- },
- "sitemap": {
- "_merge": "none"
- },
- "taxonomies": {
- "_merge": "none"
- }
- },
- "minify": {
- "minifyOutput": false,
- "disableHTML": false,
- "disableCSS": false,
- "disableJS": false,
- "disableJSON": false,
- "disableSVG": false,
- "disableXML": false,
- "tdewolff": {
- "html": {
- "keepComments": false,
- "keepConditionalComments": true,
- "keepDefaultAttrVals": true,
- "keepDocumentTags": true,
- "keepEndTags": true,
- "keepQuotes": false,
- "keepWhitespace": false
- },
- "css": {
- "keepCSS2": true,
- "precision": 0
- },
- "js": {
- "precision": 0,
- "keepVarNames": false,
- "version": 2022
- },
- "json": {
- "precision": 0,
- "keepNumbers": false
- },
- "svg": {
- "keepComments": false,
- "precision": 0
- },
- "xml": {
- "keepWhitespace": false
- }
- }
- },
- "security": {
- "enableInlineShortcodes": false,
- "exec": {
- "allow": [
- "^(dart-)?sass(-embedded)?$",
- "^go$",
- "^npx$",
- "^postcss$"
- ],
- "osEnv": [
- "(?i)^((HTTPS?|NO)_PROXY|PATH(EXT)?|APPDATA|TE?MP|TERM|GO\\w+|(XDG_CONFIG_)?HOME|USERPROFILE|SSH_AUTH_SOCK|DISPLAY|LANG)$"
- ]
- },
- "funcs": {
- "getenv": [
- "^HUGO_",
- "^CI$"
- ]
- },
- "goTemplates": {
- "AllowActionJSTmpl": false
- },
- "http": {
- "mediaTypes": null,
- "methods": [
- "(?i)GET|POST"
- ],
- "urls": [
- ".*"
- ]
- }
- }
- },
- "media": {
- "types": [
- {
- "mainType": "application",
- "subType": "json",
+ "mediaTypes": {
+ "application/json": {
"delimiter": ".",
- "type": "application/json",
- "string": "application/json",
"suffixes": [
"json"
]
},
- {
- "mainType": "application",
- "subType": "manifest",
+ "application/manifest+json": {
"delimiter": ".",
- "type": "application/manifest+json",
- "string": "application/manifest+json",
"suffixes": [
"webmanifest"
]
},
- {
- "mainType": "application",
- "subType": "octet-stream",
- "delimiter": ".",
- "type": "application/octet-stream",
- "string": "application/octet-stream",
- "suffixes": [
- ""
- ]
+ "application/octet-stream": {
+ "delimiter": "."
},
- {
- "mainType": "application",
- "subType": "pdf",
+ "application/pdf": {
"delimiter": ".",
- "type": "application/pdf",
- "string": "application/pdf",
"suffixes": [
"pdf"
]
},
- {
- "mainType": "application",
- "subType": "rss",
+ "application/rss+xml": {
"delimiter": ".",
- "type": "application/rss+xml",
- "string": "application/rss+xml",
"suffixes": [
"xml",
"rss"
]
},
- {
- "mainType": "application",
- "subType": "toml",
+ "application/toml": {
"delimiter": ".",
- "type": "application/toml",
- "string": "application/toml",
"suffixes": [
"toml"
]
},
- {
- "mainType": "application",
- "subType": "wasm",
+ "application/wasm": {
"delimiter": ".",
- "type": "application/wasm",
- "string": "application/wasm",
"suffixes": [
"wasm"
]
},
- {
- "mainType": "application",
- "subType": "xml",
+ "application/xml": {
"delimiter": ".",
- "type": "application/xml",
- "string": "application/xml",
"suffixes": [
"xml"
]
},
- {
- "mainType": "application",
- "subType": "yaml",
+ "application/yaml": {
"delimiter": ".",
- "type": "application/yaml",
- "string": "application/yaml",
"suffixes": [
"yaml",
"yml"
]
},
- {
- "mainType": "font",
- "subType": "otf",
+ "font/otf": {
"delimiter": ".",
- "type": "font/otf",
- "string": "font/otf",
"suffixes": [
"otf"
]
},
- {
- "mainType": "font",
- "subType": "ttf",
+ "font/ttf": {
"delimiter": ".",
- "type": "font/ttf",
- "string": "font/ttf",
"suffixes": [
"ttf"
]
},
- {
- "mainType": "image",
- "subType": "bmp",
+ "image/bmp": {
"delimiter": ".",
- "type": "image/bmp",
- "string": "image/bmp",
"suffixes": [
"bmp"
]
},
- {
- "mainType": "image",
- "subType": "gif",
+ "image/gif": {
"delimiter": ".",
- "type": "image/gif",
- "string": "image/gif",
"suffixes": [
"gif"
]
},
- {
- "mainType": "image",
- "subType": "jpeg",
+ "image/jpeg": {
"delimiter": ".",
- "type": "image/jpeg",
- "string": "image/jpeg",
"suffixes": [
"jpg",
"jpeg",
@@ -1963,251 +1900,153 @@
"jfif"
]
},
- {
- "mainType": "image",
- "subType": "png",
+ "image/png": {
"delimiter": ".",
- "type": "image/png",
- "string": "image/png",
"suffixes": [
"png"
]
},
- {
- "mainType": "image",
- "subType": "svg",
+ "image/svg+xml": {
"delimiter": ".",
- "type": "image/svg+xml",
- "string": "image/svg+xml",
"suffixes": [
"svg"
]
},
- {
- "mainType": "image",
- "subType": "tiff",
+ "image/tiff": {
"delimiter": ".",
- "type": "image/tiff",
- "string": "image/tiff",
"suffixes": [
"tif",
"tiff"
]
},
- {
- "mainType": "image",
- "subType": "webp",
+ "image/webp": {
"delimiter": ".",
- "type": "image/webp",
- "string": "image/webp",
"suffixes": [
"webp"
]
},
- {
- "mainType": "text",
- "subType": "calendar",
+ "text/calendar": {
"delimiter": ".",
- "type": "text/calendar",
- "string": "text/calendar",
"suffixes": [
"ics"
]
},
- {
- "mainType": "text",
- "subType": "css",
+ "text/css": {
"delimiter": ".",
- "type": "text/css",
- "string": "text/css",
"suffixes": [
"css"
]
},
- {
- "mainType": "text",
- "subType": "csv",
+ "text/csv": {
"delimiter": ".",
- "type": "text/csv",
- "string": "text/csv",
"suffixes": [
"csv"
]
},
- {
- "mainType": "text",
- "subType": "html",
+ "text/html": {
"delimiter": ".",
- "type": "text/html",
- "string": "text/html",
"suffixes": [
"html"
]
},
- {
- "mainType": "text",
- "subType": "javascript",
+ "text/javascript": {
"delimiter": ".",
- "type": "text/javascript",
- "string": "text/javascript",
"suffixes": [
"js",
"jsm",
"mjs"
]
},
- {
- "mainType": "text",
- "subType": "jsx",
+ "text/jsx": {
"delimiter": ".",
- "type": "text/jsx",
- "string": "text/jsx",
"suffixes": [
"jsx"
]
},
- {
- "mainType": "text",
- "subType": "markdown",
+ "text/markdown": {
"delimiter": ".",
- "type": "text/markdown",
- "string": "text/markdown",
"suffixes": [
"md",
"markdown"
]
},
- {
- "mainType": "text",
- "subType": "plain",
+ "text/plain": {
"delimiter": ".",
- "type": "text/plain",
- "string": "text/plain",
"suffixes": [
"txt"
]
},
- {
- "mainType": "text",
- "subType": "tsx",
+ "text/tsx": {
"delimiter": ".",
- "type": "text/tsx",
- "string": "text/tsx",
"suffixes": [
"tsx"
]
},
- {
- "mainType": "text",
- "subType": "typescript",
+ "text/typescript": {
"delimiter": ".",
- "type": "text/typescript",
- "string": "text/typescript",
"suffixes": [
"ts"
]
},
- {
- "mainType": "text",
- "subType": "x-sass",
+ "text/x-sass": {
"delimiter": ".",
- "type": "text/x-sass",
- "string": "text/x-sass",
"suffixes": [
"sass"
]
},
- {
- "mainType": "text",
- "subType": "x-scss",
+ "text/x-scss": {
"delimiter": ".",
- "type": "text/x-scss",
- "string": "text/x-scss",
"suffixes": [
"scss"
]
},
- {
- "mainType": "video",
- "subType": "3gpp",
+ "video/3gpp": {
"delimiter": ".",
- "type": "video/3gpp",
- "string": "video/3gpp",
"suffixes": [
"3gpp",
"3gp"
]
},
- {
- "mainType": "video",
- "subType": "mp4",
+ "video/mp4": {
"delimiter": ".",
- "type": "video/mp4",
- "string": "video/mp4",
"suffixes": [
"mp4"
]
},
- {
- "mainType": "video",
- "subType": "mpeg",
+ "video/mpeg": {
"delimiter": ".",
- "type": "video/mpeg",
- "string": "video/mpeg",
"suffixes": [
"mpg",
"mpeg"
]
},
- {
- "mainType": "video",
- "subType": "ogg",
+ "video/ogg": {
"delimiter": ".",
- "type": "video/ogg",
- "string": "video/ogg",
"suffixes": [
"ogv"
]
},
- {
- "mainType": "video",
- "subType": "webm",
+ "video/webm": {
"delimiter": ".",
- "type": "video/webm",
- "string": "video/webm",
"suffixes": [
"webm"
]
},
- {
- "mainType": "video",
- "subType": "x-msvideo",
+ "video/x-msvideo": {
"delimiter": ".",
- "type": "video/x-msvideo",
- "string": "video/x-msvideo",
"suffixes": [
"avi"
]
}
- ]
- },
- "output": {
- "formats": [
- {
- "mediaType": "text/html",
- "name": "html",
- "path": "",
- "baseName": "index",
- "rel": "canonical",
- "protocol": "",
- "isPlainText": false,
- "isHTML": true,
- "noUgly": false,
- "notAlternative": false,
- "permalinkable": true,
- "weight": 10
- },
- {
+ },
+ "imaging": {
+ "bgColor": "#ffffff",
+ "hint": "photo",
+ "quality": 75,
+ "resampleFilter": "box"
+ },
+ "outputFormats": {
+ "amp": {
"mediaType": "text/html",
"name": "amp",
"path": "amp",
@@ -2221,7 +2060,7 @@
"permalinkable": true,
"weight": 0
},
- {
+ "calendar": {
"mediaType": "text/calendar",
"name": "calendar",
"path": "",
@@ -2235,7 +2074,7 @@
"permalinkable": false,
"weight": 0
},
- {
+ "css": {
"mediaType": "text/css",
"name": "css",
"path": "",
@@ -2249,7 +2088,7 @@
"permalinkable": false,
"weight": 0
},
- {
+ "csv": {
"mediaType": "text/csv",
"name": "csv",
"path": "",
@@ -2263,7 +2102,21 @@
"permalinkable": false,
"weight": 0
},
- {
+ "html": {
+ "mediaType": "text/html",
+ "name": "html",
+ "path": "",
+ "baseName": "index",
+ "rel": "canonical",
+ "protocol": "",
+ "isPlainText": false,
+ "isHTML": true,
+ "noUgly": false,
+ "notAlternative": false,
+ "permalinkable": true,
+ "weight": 10
+ },
+ "json": {
"mediaType": "application/json",
"name": "json",
"path": "",
@@ -2277,7 +2130,7 @@
"permalinkable": false,
"weight": 0
},
- {
+ "markdown": {
"mediaType": "text/markdown",
"name": "markdown",
"path": "",
@@ -2291,7 +2144,7 @@
"permalinkable": false,
"weight": 0
},
- {
+ "robots": {
"mediaType": "text/plain",
"name": "robots",
"path": "",
@@ -2305,7 +2158,7 @@
"permalinkable": false,
"weight": 0
},
- {
+ "rss": {
"mediaType": "application/rss+xml",
"name": "rss",
"path": "",
@@ -2319,7 +2172,7 @@
"permalinkable": false,
"weight": 0
},
- {
+ "sitemap": {
"mediaType": "application/xml",
"name": "sitemap",
"path": "",
@@ -2333,7 +2186,7 @@
"permalinkable": false,
"weight": 0
},
- {
+ "webappmanifest": {
"mediaType": "application/manifest+json",
"name": "webappmanifest",
"path": "",
@@ -2347,7 +2200,412 @@
"permalinkable": false,
"weight": 0
}
- ],
+ },
+ "outputs": {
+ "home": [
+ "html",
+ "rss"
+ ],
+ "page": [
+ "html"
+ ],
+ "rss": [
+ "rss"
+ ],
+ "section": [
+ "html",
+ "rss"
+ ],
+ "taxonomy": [
+ "html",
+ "rss"
+ ],
+ "term": [
+ "html",
+ "rss"
+ ]
+ },
+ "cascade": [],
+ "menus": {},
+ "deployment": {
+ "targets": null,
+ "matchers": null,
+ "order": null,
+ "target": "",
+ "confirm": false,
+ "dryRun": false,
+ "force": false,
+ "invalidateCDN": true,
+ "maxDeletes": 256,
+ "workers": 10
+ },
+ "module": {
+ "mounts": [
+ {
+ "source": "content",
+ "target": "content",
+ "lang": "",
+ "includeFiles": null,
+ "excludeFiles": null
+ },
+ {
+ "source": "data",
+ "target": "data",
+ "lang": "",
+ "includeFiles": null,
+ "excludeFiles": null
+ },
+ {
+ "source": "layouts",
+ "target": "layouts",
+ "lang": "",
+ "includeFiles": null,
+ "excludeFiles": null
+ },
+ {
+ "source": "i18n",
+ "target": "i18n",
+ "lang": "",
+ "includeFiles": null,
+ "excludeFiles": null
+ },
+ {
+ "source": "archetypes",
+ "target": "archetypes",
+ "lang": "",
+ "includeFiles": null,
+ "excludeFiles": null
+ },
+ {
+ "source": "assets",
+ "target": "assets",
+ "lang": "",
+ "includeFiles": null,
+ "excludeFiles": null
+ },
+ {
+ "source": "static",
+ "target": "static",
+ "lang": "",
+ "includeFiles": null,
+ "excludeFiles": null
+ }
+ ],
+ "imports": null,
+ "params": null,
+ "hugoVersion": {
+ "min": "",
+ "max": "",
+ "extended": false
+ },
+ "noVendor": "",
+ "vendorClosest": false,
+ "replacements": null,
+ "proxy": "direct",
+ "noProxy": "none",
+ "private": "*.*",
+ "workspace": "off"
+ },
+ "frontmatter": {
+ "date": [
+ "date",
+ "publishdate",
+ "pubdate",
+ "published",
+ "lastmod",
+ "modified"
+ ],
+ "lastmod": [
+ ":git",
+ "lastmod",
+ "modified",
+ "date",
+ "publishdate",
+ "pubdate",
+ "published"
+ ],
+ "publishDate": [
+ "publishdate",
+ "pubdate",
+ "published",
+ "date"
+ ],
+ "expiryDate": [
+ "expirydate",
+ "unpublishdate"
+ ]
+ },
+ "minify": {
+ "minifyOutput": false,
+ "disableHTML": false,
+ "disableCSS": false,
+ "disableJS": false,
+ "disableJSON": false,
+ "disableSVG": false,
+ "disableXML": false,
+ "tdewolff": {
+ "html": {
+ "keepComments": false,
+ "keepConditionalComments": true,
+ "keepDefaultAttrVals": true,
+ "keepDocumentTags": true,
+ "keepEndTags": true,
+ "keepQuotes": false,
+ "keepWhitespace": false
+ },
+ "css": {
+ "keepCSS2": true,
+ "precision": 0
+ },
+ "js": {
+ "precision": 0,
+ "keepVarNames": false,
+ "version": 2022
+ },
+ "json": {
+ "precision": 0,
+ "keepNumbers": false
+ },
+ "svg": {
+ "keepComments": false,
+ "precision": 0
+ },
+ "xml": {
+ "keepWhitespace": false
+ }
+ }
+ },
+ "permalinks": {
+ "page": {},
+ "section": {},
+ "taxonomy": {},
+ "term": {}
+ },
+ "taxonomies": {
+ "category": "categories",
+ "tag": "tags"
+ },
+ "sitemap": {
+ "changeFreq": "",
+ "priority": -1,
+ "filename": "sitemap.xml"
+ },
+ "related": {
+ "threshold": 80,
+ "includeNewer": false,
+ "toLower": false,
+ "indices": [
+ {
+ "name": "keywords",
+ "type": "basic",
+ "applyFilter": false,
+ "pattern": "",
+ "weight": 100,
+ "cardinalityThreshold": 0,
+ "toLower": false
+ },
+ {
+ "name": "date",
+ "type": "basic",
+ "applyFilter": false,
+ "pattern": "",
+ "weight": 10,
+ "cardinalityThreshold": 0,
+ "toLower": false
+ },
+ {
+ "name": "tags",
+ "type": "",
+ "applyFilter": false,
+ "pattern": "",
+ "weight": 80,
+ "cardinalityThreshold": 0,
+ "toLower": false
+ }
+ ]
+ },
+ "server": {
+ "headers": null,
+ "redirects": [
+ {
+ "from": "**",
+ "to": "/404.html",
+ "status": 404,
+ "force": false
+ }
+ ]
+ },
+ "privacy": {
+ "disqus": {
+ "disable": false
+ },
+ "googleAnalytics": {
+ "disable": false,
+ "useSessionStorage": false,
+ "respectDoNotTrack": false,
+ "anonymizeIP": false
+ },
+ "instagram": {
+ "disable": false,
+ "simple": false
+ },
+ "twitter": {
+ "disable": false,
+ "enableDNT": false,
+ "simple": false
+ },
+ "vimeo": {
+ "disable": false,
+ "enableDNT": false,
+ "simple": false
+ },
+ "youTube": {
+ "disable": false,
+ "privacyEnhanced": false
+ }
+ },
+ "security": {
+ "exec": {
+ "allow": [
+ "^((dart-)?sass(-embedded)?|go|npx|postcss)$"
+ ],
+ "osEnv": [
+ "(?i)^(PATH|PATHEXT|APPDATA|HOME|TMP|TEMP|TERM)$"
+ ]
+ },
+ "funcs": {
+ "getenv": [
+ "^(HUGO_|REPOSITORY_URL|^BRANCH$)"
+ ]
+ },
+ "http": {
+ "urls": [
+ ".*"
+ ],
+ "methods": [
+ "(?i)GET|POST"
+ ],
+ "mediaTypes": null
+ },
+ "enableInlineShortcodes": false,
+ "goTemplates": {
+ "allowActionJSTmpl": false
+ }
+ },
+ "services": {
+ "disqus": {
+ "shortname": ""
+ },
+ "googleAnalytics": {
+ "id": ""
+ },
+ "instagram": {
+ "disableInlineCSS": false,
+ "accessToken": ""
+ },
+ "twitter": {
+ "disableInlineCSS": false
+ },
+ "rss": {
+ "limit": -1
+ }
+ },
+ "params": {},
+ "languages": {
+ "en": {
+ "languageName": "",
+ "languageCode": "",
+ "title": "",
+ "languageDirection": "",
+ "weight": 0,
+ "disabled": false
+ }
+ },
+ "uglyURLs": false
+ },
+ "config_helpers": {
+ "mergeStrategy": {
+ "build": {
+ "_merge": "none"
+ },
+ "caches": {
+ "_merge": "none"
+ },
+ "cascade": {
+ "_merge": "none"
+ },
+ "deployment": {
+ "_merge": "none"
+ },
+ "frontmatter": {
+ "_merge": "none"
+ },
+ "imaging": {
+ "_merge": "none"
+ },
+ "languages": {
+ "_merge": "none",
+ "en": {
+ "_merge": "none",
+ "menus": {
+ "_merge": "shallow"
+ },
+ "params": {
+ "_merge": "deep"
+ }
+ }
+ },
+ "markup": {
+ "_merge": "none"
+ },
+ "mediatypes": {
+ "_merge": "shallow"
+ },
+ "menus": {
+ "_merge": "shallow"
+ },
+ "minify": {
+ "_merge": "none"
+ },
+ "module": {
+ "_merge": "none"
+ },
+ "outputformats": {
+ "_merge": "shallow"
+ },
+ "outputs": {
+ "_merge": "none"
+ },
+ "params": {
+ "_merge": "deep"
+ },
+ "permalinks": {
+ "_merge": "none"
+ },
+ "privacy": {
+ "_merge": "none"
+ },
+ "related": {
+ "_merge": "none"
+ },
+ "security": {
+ "_merge": "none"
+ },
+ "server": {
+ "_merge": "none"
+ },
+ "services": {
+ "_merge": "none"
+ },
+ "sitemap": {
+ "_merge": "none"
+ },
+ "taxonomies": {
+ "_merge": "none"
+ }
+ }
+ },
+ "output": {
"layouts": [
{
"Example": "Single page in \"posts\" section",
@@ -3138,7 +3396,7 @@
"Examples": []
},
"Apply": {
- "Description": "Apply takes a map, array, or slice c and returns a new slice with the function fname applied over it.",
+ "Description": "Apply takes an array or slice c and returns a new slice with the function fname applied over it.",
"Args": [
"ctx",
"c",
@@ -3168,6 +3426,7 @@
"Delimit": {
"Description": "Delimit takes a given list l and returns a string delimited by sep.\nIf last is passed to the function, it will be used as the final delimiter.",
"Args": [
+ "ctx",
"l",
"sep",
"last"
@@ -3415,6 +3674,7 @@
"Sort": {
"Description": "Sort returns a sorted copy of the list l.",
"Args": [
+ "ctx",
"l",
"args"
],
@@ -3473,6 +3733,7 @@
"Where": {
"Description": "Where returns a filtered subset of collection c.",
"Args": [
+ "ctx",
"c",
"key",
"args"
diff --git a/docs/layouts/maintenance/list.html b/docs/layouts/maintenance/list.html
index 2035c058b..f78bbd08f 100644
--- a/docs/layouts/maintenance/list.html
+++ b/docs/layouts/maintenance/list.html
@@ -1,68 +1,78 @@
{{ define "main" }}
-<div class="w-100 ph4 pb5 pb6-ns pt1 mt4 pt3-ns">
+ <div class="w-100 ph4 pb5 pb6-ns pt1 mt4 pt3-ns">
<div class="flex-l">
- <div class="order-2 w-100 w-20-l ph5-m ph0-l mb4 sticky">
- <aside class="fixed-lTK mw5-l right-0 f6 bl-l b--moon-gray pv4 pv0-ns ph4-l nested-list-reset nested-links nested-copy-line-height">
- <p class="b">What's on this Page</p>
- <ul>
- <li><a href="#last-updated">Last Updated</a></li>
- <li><a href="#least-recently-updated">Least Recently Updated</a></li>
- <li><a href="#todos">Pages marked with TODO</a></li>
- <li><a href="#dependencies">Project dependencies (Hugo Modules)</a></li>
- </ul>
- </aside>
- </div>
- <div class="w-100">
- {{ $byLastMod := .Site.RegularPages.ByLastmod }}
- {{ $recent := ($byLastMod | last 30).Reverse }}
- {{ $leastRecent := $byLastMod | first 10 }}
- <h2 id="last-updated">Last Updated</h2>
- {{ partial "maintenance-pages-table.html" $recent }}
- <h2 id="least-recently-updated">Least Recently Updated</h2>
- {{ partial "maintenance-pages-table.html" $leastRecent }}
+ <div class="order-2 w-100 w-20-l ph5-m ph0-l mb4 sticky">
+ <aside
+ class="fixed-lTK mw5-l right-0 f6 bl-l b--moon-gray pv4 pv0-ns ph4-l nested-list-reset nested-links nested-copy-line-height">
+ <p class="b">What's on this Page</p>
+ <ul>
+ <li><a href="#last-updated">Last Updated</a></li>
+ <li>
+ <a href="#least-recently-updated">Least Recently Updated</a>
+ </li>
+ <li><a href="#todos">Pages marked with TODO</a></li>
+ <li>
+ <a href="#dependencies">Project dependencies (Hugo Modules)</a>
+ </li>
+ </ul>
+ </aside>
+ </div>
+ <div class="w-100">
+ {{ $byLastMod := .Site.RegularPages.ByLastmod }}
+ {{ $recent := ($byLastMod | last 30).Reverse }}
+ {{ $leastRecent := $byLastMod | first 10 }}
+ <h2 id="last-updated">Last Updated</h2>
+ {{ partial "maintenance-pages-table.html" $recent }}
+ <h2 id="least-recently-updated">Least Recently Updated</h2>
+ {{ partial "maintenance-pages-table.html" $leastRecent }}
- {{/* Don't think this is possible with where directly. Should investigate. */}}
- {{ .Scratch.Set "todos" slice }}
- {{ range .Site.RegularPages }}
- {{ if .HasShortcode "todo" }}
- {{ $.Scratch.Add "todos" . }}
- {{ end }}
- {{ end }}
- <h2 id="todos">Pages marked with TODO</h2>
- {{ partial "maintenance-pages-table.html" (.Scratch.Get "todos") }}
+ {{/* Don't think this is possible with where directly. Should investigate. */}}
+ {{ .Scratch.Set "todos" slice }}
+ {{ range .Site.RegularPages }}
+ {{ if .HasShortcode "todo" }}
+ {{ $.Scratch.Add "todos" . }}
+ {{ end }}
+ {{ end }}
+ <h2 id="todos">Pages marked with TODO</h2>
+ {{ partial "maintenance-pages-table.html" (.Scratch.Get "todos") }}
- <h2 id="dependencies">Dependencies</h2>
- <table class="collapse ba br2 b--black-10 pv2 ph3">
- <thead>
- <tr>
- <th class="pv2 ph3 tl f6 fw6 ttu">#</th>
- <th class="pv2 ph3 tl f6 fw6 ttu">Owner</th>
- <th class="pv2 ph3 tl f6 fw6 ttu">Path</th>
- <th class="pv2 ph3 tl f6 fw6 ttu">Version</th>
- <th class="pv2 ph3 tl f6 fw6 ttu">Time</th>
- <th class="pv2 ph3 tl f6 fw6 ttu">Vendor</th>
- </tr>
- </thead>
- <tbody>
- {{ range $index, $element := hugo.Deps }}
- <tr class="striped--light-gray">
- <th class="pv2 ph3">{{ add $index 1 }}</th>
- <td class="pv2 ph3">{{ with $element.Owner }}{{.Path }}{{ end }}</td>
- <td class="pv2 ph3">
- {{ $element.Path }}
- {{ with $element.Replace}}
- => {{ .Path }}
- {{ end }}
- </td>
- <td class="pv2 ph3">{{ $element.Version }}</td>
- <td class="pv2 ph3">{{ with $element.Time }}{{ . }}{{ end }}</td>
- <td class="pv2 ph3">{{ $element.Vendor }}</td>
- </tr>
- {{ end }}
- </tbody>
- </table>
- </div>
+ <h2 id="dependencies">Dependencies</h2>
+ <table class="collapse ba br2 b--black-10 pv2 ph3">
+ <thead>
+ <tr>
+ <th class="pv2 ph3 tl f6 fw6 ttu">#</th>
+ <th class="pv2 ph3 tl f6 fw6 ttu">Owner</th>
+ <th class="pv2 ph3 tl f6 fw6 ttu">Path</th>
+ <th class="pv2 ph3 tl f6 fw6 ttu">Version</th>
+ <th class="pv2 ph3 tl f6 fw6 ttu">Time</th>
+ <th class="pv2 ph3 tl f6 fw6 ttu">Vendor</th>
+ </tr>
+ </thead>
+ <tbody>
+ {{ range $index, $element := hugo.Deps }}
+ <tr class="striped--light-gray">
+ <th class="pv2 ph3">{{ add $index 1 }}</th>
+ <td class="pv2 ph3">
+ {{ with $element.Owner }}{{ .Path }}{{ end }}
+ </td>
+ <td class="pv2 ph3">
+ {{ $element.Path }}
+ {{ with $element.Replace }}
+ =>
+ {{ .Path }}
+ {{ end }}
+ </td>
+ <td class="pv2 ph3">{{ $element.Version }}</td>
+ <td class="pv2 ph3">
+ {{ with $element.Time }}{{ . }}{{ end }}
+ </td>
+ <td class="pv2 ph3">{{ $element.Vendor }}</td>
+ </tr>
+ {{ end }}
+ </tbody>
+ </table>
+ </div>
</div>
-</div>
-{{ end }} \ No newline at end of file
+ </div>
+{{ end }}
diff --git a/docs/layouts/shortcodes/code-toggle.html b/docs/layouts/shortcodes/code-toggle.html
index 3b151669f..6e0e3d73e 100644
--- a/docs/layouts/shortcodes/code-toggle.html
+++ b/docs/layouts/shortcodes/code-toggle.html
@@ -1,17 +1,18 @@
{{- /*
-Renders syntax-highlighted configuration data in JSON, TOML, and YAML formats.
+ Renders syntax-highlighted configuration data in JSON, TOML, and YAML formats.
-@param {string} [config] The section of site.Data.docs.config to render.
-@param {bool} [copy=true] If true, display a copy to clipboard button.
-@param {string} [file] The file name to display above the rendered code.
-@param {bool} [fm=false] If true, render the code as front matter.
-@param {bool} [skipHeader=false] If false, omit top level key(s) when rendering a section of site.Data.docs.config.
+ @param {string} [config] The section of site.Data.docs.config to render.
+ @param {bool} [copy=true] If true, display a copy to clipboard button.
+ @param {string} [file] The file name to display above the rendered code.
+ @param {bool} [fm=false] If true, render the code as front matter.
+ @param {bool} [skipHeader=false] If false, omit top level key(s) when rendering a section of site.Data.docs.config.
-@returns {template.HTML}
+ @returns {template.HTML}
*/}}
{{- /* Initialize. */}}
{{- $config := "" }}
+{{- $dataKey := "" }}
{{- $copy := true }}
{{- $file := "" }}
{{- $fm := false }}
@@ -19,20 +20,21 @@ Renders syntax-highlighted configuration data in JSON, TOML, and YAML formats.
{{- /* Get parameters. */}}
{{- $config = .Get "config" }}
+{{- $dataKey = .Get "dataKey" }}
{{- $file = .Get "file" }}
{{- if in (slice "false" false 0) (.Get "copy") }}
{{- $copy = false }}
-{{- else if in (slice "true" true 1) (.Get "copy")}}
+{{- else if in (slice "true" true 1) (.Get "copy") }}
{{- $copy = true }}
{{- end }}
{{- if in (slice "false" false 0) (.Get "fm") }}
{{- $fm = false }}
-{{- else if in (slice "true" true 1) (.Get "fm")}}
+{{- else if in (slice "true" true 1) (.Get "fm") }}
{{- $fm = true }}
{{- end }}
{{- if in (slice "false" false 0) (.Get "skipHeader") }}
{{- $skipHeader = false }}
-{{- else if in (slice "true" true 1) (.Get "skipHeader")}}
+{{- else if in (slice "true" true 1) (.Get "skipHeader") }}
{{- $skipHeader = true }}
{{- end }}
@@ -43,14 +45,18 @@ Renders syntax-highlighted configuration data in JSON, TOML, and YAML formats.
{{- /* Render. */}}
{{- $code := "" }}
-{{- with $config }}
+{{- if $config }}
{{- $file = $file | default "hugo" }}
- {{- $sections := (split . ".") }}
+ {{- $sections := (split $config ".") }}
{{- $configSection := index $.Site.Data.docs.config $sections }}
{{- $code = dict $sections $configSection }}
{{- if $skipHeader }}
{{- $code = $configSection }}
{{- end }}
+{{- else if $dataKey }}
+ {{- $file = $file | default $dataKey }}
+ {{- $sections := (split $dataKey ".") }}
+ {{- $code = index $.Site.Data.docs $sections }}
{{- else }}
{{- $code = $.Inner }}
{{- end }}
@@ -62,7 +68,9 @@ Renders syntax-highlighted configuration data in JSON, TOML, and YAML formats.
</div>
{{- end }}
{{- range $langs }}
- <button data-toggle-tab="{{ . }}" class="tab-button {{ cond (eq . "yaml") "active" "" }} ba san-serif f6 dib lh-solid ph2 pv2">
+ <button
+ data-toggle-tab="{{ . }}"
+ class="tab-button {{ cond (eq . "yaml") "active" "" }} ba san-serif f6 dib lh-solid ph2 pv2">
{{ . }}
</button>
&nbsp;
@@ -70,7 +78,9 @@ Renders syntax-highlighted configuration data in JSON, TOML, and YAML formats.
</div>
<div class="tab-content">
{{- range $langs }}
- <div data-pane="{{ . }}" class="code-copy-content nt3 tab-pane {{ cond (eq . "yaml") "active" "" }}">
+ <div
+ data-pane="{{ . }}"
+ class="code-copy-content nt3 tab-pane {{ cond (eq . "yaml") "active" "" }}">
{{- $hCode := $code | transform.Remarshal . }}
{{- if and $fm (in (slice "toml" "yaml") .) }}
{{- $hCode = printf "%s\n%s\n%s" $placeHolder $hCode $placeHolder }}
@@ -79,7 +89,11 @@ Renders syntax-highlighted configuration data in JSON, TOML, and YAML formats.
{{ highlight $hCode . "" | replaceRE $placeHolder (index $delimiters .) | safeHTML }}
</div>
{{- if $copy }}
- <button class="needs-js copy copy-toggle bg-accent-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2" title="Copy this code to your clipboard." data-clipboard-action="copy" aria-label="copy button"></button>
+ <button
+ class="needs-js copy copy-toggle bg-accent-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2"
+ title="Copy this code to your clipboard."
+ data-clipboard-action="copy"
+ aria-label="copy button"></button>
{{- /* Functionality located within filesaver.js The copy here is located in the css with .copy class so it can be replaced with JS on success */}}
{{- end }}
{{- end }}
diff --git a/docs/layouts/shortcodes/datatable.html b/docs/layouts/shortcodes/datatable.html
index 4e2814f5a..12054f89d 100644
--- a/docs/layouts/shortcodes/datatable.html
+++ b/docs/layouts/shortcodes/datatable.html
@@ -3,20 +3,31 @@
{{ $list := (index (index .Site.Data.docs $package) $listname) }}
{{ $fields := after 2 .Params }}
+
<table class="table table-bordered">
- <tr>
- {{ range $fields }}
- <th>{{ . }}</th>
- {{ end }}
- </tr>
- {{ range $list }}
- <tr>
- {{ range $k, $v := . }}
- {{ $.Scratch.Set $k $v }}
- {{ end }}
- {{ range $fields }}
- <td>{{ $.Scratch.Get . }}</td>
- {{ end }}
- </tr>
- {{ end }}
+ <tr>
+ {{ range $fields }}
+ {{ $s := . }}
+ {{ if eq $s "_key" }}
+ {{ $s = "Type" }}
+ {{ end }}
+ <th>{{ $s }}</th>
+ {{ end }}
+ </tr>
+ {{ range $k1, $v1 := $list }}
+ <tr>
+ {{ range $k2, $v2 := . }}
+ {{ $.Scratch.Set $k2 $v2 }}
+ {{ end }}
+ {{ range $fields }}
+ {{ $s := "" }}
+ {{ if eq . "_key" }}
+ {{ $s = $k1 }}
+ {{ else }}
+ {{ $s = $.Scratch.Get . }}
+ {{ end }}
+ <td>{{ $s }}</td>
+ {{ end }}
+ </tr>
+ {{ end }}
</table>