Compare commits

..

23 Commits

Author SHA1 Message Date
Mark Dumay
fc17256fd2 Merge pull request #1222 from Ipstenu/patch-1
Allow front page Persona usage to link to a page
2024-10-10 10:38:49 +02:00
Mark Dumay
887aff5c5b Merge branch 'main' into patch-1 2024-10-10 10:32:27 +02:00
Mark Dumay
6ec26f1216 Merge pull request #1230 from gethinode/develop
Refine CSP configuration
2024-10-10 10:30:17 +02:00
Mark Dumay
357c74e3e0 Merge branch 'main' into develop 2024-10-10 10:23:54 +02:00
Mark Dumay
4b419810ea Bump package release 2024-10-10 10:23:13 +02:00
Mark Dumay
0a313172bd Update build stats 2024-10-10 10:22:46 +02:00
Mark Dumay
93eec0ff5a Add CSP docs annotations 2024-10-10 10:22:41 +02:00
Mark Dumay
f9fc8d9a6a Revise order of output formats 2024-10-10 10:22:27 +02:00
Mark Dumay
c537b9cfe4 Merge pull request #1229 from gethinode/develop
Fix responsive behavior of card group
2024-10-10 10:21:11 +02:00
Mark Dumay
c37fe75f0d Merge branch 'main' into develop 2024-10-10 10:15:58 +02:00
Mark Dumay
4034289a7f Fix responsive behavior of card group 2024-10-10 10:14:48 +02:00
github-actions[bot]
9b5c572ab9 Merge pull request #1226 from gethinode/dependabot/npm_and_yarn/eslint-9.12.0
Bump eslint from 9.11.1 to 9.12.0
2024-10-07 13:43:51 +00:00
dependabot[bot]
10c6344493 Bump eslint from 9.11.1 to 9.12.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.11.1 to 9.12.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.11.1...v9.12.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 13:39:01 +00:00
Mark Dumay
fc386fcad9 Add docs references to default server config 2024-10-07 08:29:24 +02:00
Mark Dumay
a680a61825 Merge pull request #1224 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-10-07 07:44:46 +02:00
Mark Dumay
a075ca5f7b Merge branch 'main' into hugo-mod-dependencies 2024-10-07 07:39:55 +02:00
Mark Dumay
a816d2be25 Merge pull request #1225 from gethinode/develop
Support configurable CSP directives
2024-10-07 07:39:22 +02:00
Mark Dumay
52ff0fb71e Merge branch 'main' into develop 2024-10-07 07:32:05 +02:00
Mark Dumay
95fd919a6f Support configurable CSP directives 2024-10-07 07:31:28 +02:00
markdumay
85778dd374 fix: update Hugo module dependencies 2024-10-07 03:12:33 +00:00
Ipstenu (Mika Epstein)
3b65b2c87f Update nav.html
Add support for HREF in front page nav
2024-10-01 17:11:31 -07:00
github-actions[bot]
ee3a0ee8c4 Merge pull request #1220 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.132.0
Bump hugo-bin from 0.131.3 to 0.132.0
2024-09-30 13:15:30 +00:00
dependabot[bot]
3b721690f1 Bump hugo-bin from 0.131.3 to 0.132.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.131.3 to 0.132.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.131.3...v0.132.0)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 13:09:32 +00:00
16 changed files with 651 additions and 857 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
_vendor/
prebuild/
public/
resources/
node_modules/

View File

@@ -26,20 +26,48 @@ defaultContentLanguage = "en"
defaultContentLanguageInSubdir = false
# toml-docs-end language
# toml-docs-start headers
[outputFormats]
[outputFormats.server]
mediaType = "application/toml"
baseName = "server"
isPlainText = true
notAlternative = true
permalinkable = true
root = true
[outputFormats.netlify]
mediaType = "application/toml"
baseName = "netlify"
isPlainText = true
notAlternative = true
permalinkable = true
root = true
# toml-docs-end headers
[outputFormats.XML]
isPlainText = false
mediaType = "application/xml"
isHtml = false
noUgly = true
permalinkable = false
name = "xml"
# toml-docs-start redirect
[outputFormats.REDIR]
mediaType = "text/netlify"
baseName = "_redirects"
isPlainText = true
notAlternative = true
[outputFormats.REDIR]
mediaType = "text/netlify"
baseName = "_redirects"
isPlainText = true
notAlternative = true
[mediaTypes."text/netlify"]
delimiter = ""
[outputs]
home = ["HTML", "RSS", "REDIR"]
# toml-docs-end redirect
# toml-docs-start outputs
[outputs]
home = ["HTML", "RSS", "REDIR", "netlify", "server"]
# toml-docs-end outputs
# toml-docs-start build
[build]
writeStats = true
@@ -77,15 +105,6 @@ home = ["HTML", "RSS", "REDIR"]
[services.googleAnalytics]
# ID = "G-xxxxxxxxxx"
[outputFormats]
[outputFormats.XML]
isPlainText = false
mediaType = "application/xml"
isHtml = false
noUgly = true
permalinkable = false
name = "xml"
[minify]
[minify.tdewolff.js]
keepVarNames = true
@@ -126,6 +145,8 @@ home = ["HTML", "RSS", "REDIR"]
# toml-docs-start modules
[[module.imports]]
path = "github.com/gethinode/mod-bootstrap"
[[module.imports]]
path = "github.com/gethinode/mod-csp"
[[module.imports]]
path = "github.com/gethinode/mod-flexsearch/v2"
[[module.imports]]
@@ -143,3 +164,11 @@ home = ["HTML", "RSS", "REDIR"]
[[module.imports]]
path = "github.com/gethinode/mod-utils/v2"
# toml-docs-end modules
# toml-docs-start segments
[segments]
[segments.headers]
[[segments.headers.includes]]
kind = '{home}'
output = '{netlify,server}'
# toml-docs-end segments

View File

@@ -204,3 +204,29 @@
[links]
hinode = "https://gethinode.com"
# toml-docs-start headers
[headers]
[headers.netlify]
source = "netlify.toml"
# toml-docs-end headers
# toml-docs-start csp
[modules.hinode.csp]
style-src = ["www.youtube.com"]
font-src = ["fonts.gstatic.com"]
frame-src = [
"player.cloudinary.com",
"player.vimeo.com",
"www.youtube-nocookie.com",
"www.youtube.com"
]
img-src = [
"data:",
"*.imgix.net",
"*.imagekit.io",
"*.cloudinary.com",
"i.vimeocdn.com",
"i.ytimg.com"
]
# toml-docs-end csp

View File

@@ -1,41 +1,29 @@
# toml-docs-start server-config
# Auto-generated file - do not modify
[[headers]]
for = '/**'
[headers.values]
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options = "nosniff"
X-XSS-Protection = "1; mode=block"
Content-Security-Policy = """\
default-src 'self'; \
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
for = '/**'
[headers.values]
Access-Control-Allow-Origin = '*'
Content-Security-Policy = """
base-uri 'self'; \
connect-src 'self'
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://player.cloudinary.com https://player.vimeo.com https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' data: https://*.imgix.net https://*.imagekit.io https://*.cloudinary.com https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
connect-src 'self' *.google-analytics.com *.analytics.google.com *.googletagmanager.com; \
default-src 'none' 'self'; \
font-src 'self' fonts.gstatic.com; \
form-action 'self'; \
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
manifest-src 'self'; \
media-src 'self' \
media-src 'self'; \
object-src 'none'; \
script-src 'self' *.google-analytics.com *.googletagmanager.com; \
style-src 'self' www.youtube.com; \
"""
X-Frame-Options = "SAMEORIGIN"
Referrer-Policy = "strict-origin"
Permissions-Policy = """\
geolocation=(), \
midi=(), \
sync-xhr=(), \
microphone=(), \
camera=(), \
magnetometer=(), \
gyroscope=(), \
payment=() \
"""
cache-control = """\
max-age=0, \
no-cache, \
no-store, \
must-revalidate \
"""
Access-Control-Allow-Origin = "*"
# toml-docs-end server-config
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
Referrer-Policy = 'strict-origin'
Strict-Transport-Security = 'max-age=31536000; includeSubDomains; preload'
X-Content-Type-Options = 'nosniff'
X-Frame-Options = 'SAMEORIGIN'
X-XSS-Protection = '1; mode=block'
cache-control = 'max-age=0, no-cache, no-store, must-revalidate '

35
data/netlify.toml Normal file
View File

@@ -0,0 +1,35 @@
# toml-docs-start netlify
[build]
publish = "exampleSite/public"
command = "npm run build:example"
[build.environment]
DART_SASS_VERSION = "1.78.0"
HUGO_VERSION = "0.134.1"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "20.17.0"
NPM_VERSION = "10.8.2"
# toml-docs-end netlify
[context.deploy-preview]
command = "npm run build:example -- -b $DEPLOY_PRIME_URL"
[context.branch-deploy]
command = "npm run build:example -- -b $DEPLOY_PRIME_URL"
[dev]
framework = "#custom"
command = "npm run start:example"
targetPort = 1313
port = 8888
publish = "public"
autoLaunch = false
# toml-docs-start plugins
[[plugins]]
package = "@gethinode/netlify-plugin-dartsass"
[[plugins]]
package = "netlify-plugin-hugo-cache-resources"
# toml-docs-end plugins

41
data/server.toml Normal file
View File

@@ -0,0 +1,41 @@
# toml-docs-start server-config
[[headers]]
for = "/**"
[headers.values]
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options = "nosniff"
X-XSS-Protection = "1; mode=block"
X-Frame-Options = "SAMEORIGIN"
Referrer-Policy = "strict-origin"
Permissions-Policy = """\
geolocation=(), \
midi=(), \
sync-xhr=(), \
microphone=(), \
camera=(), \
magnetometer=(), \
gyroscope=(), \
fullscreen=(), \
payment=() \
"""
cache-control = """\
max-age=0, \
no-cache, \
no-store, \
must-revalidate \
"""
Access-Control-Allow-Origin = "*"
Content-Security-Policy = """\
default-src 'none'; \
script-src 'self'; \
font-src 'self'; \
connect-src 'self'; \
img-src 'self'; \
style-src 'self'; \
base-uri 'self'; \
object-src 'none'; \
form-action 'self'; \
manifest-src 'self'; \
media-src 'self' \
"""
# toml-docs-end server-config

View File

@@ -20,17 +20,39 @@ languageCode = "en-us"
defaultContentLanguage = "en"
defaultContentLanguageInSubdir = true
[outputFormats.REDIR]
mediaType = "text/netlify"
baseName = "_redirects"
isPlainText = true
notAlternative = true
[outputFormats]
[outputFormats.netlify]
mediaType = "application/toml"
baseName = "netlify"
isPlainText = true
notAlternative = true
permalinkable = true
root = true
[outputFormats.server]
mediaType = "application/toml"
baseName = "server"
isPlainText = true
notAlternative = true
permalinkable = true
root = true
[outputFormats.XML]
isPlainText = false
mediaType = "application/xml"
isHtml = false
noUgly = true
permalinkable = false
name = "xml"
[outputFormats.REDIR]
mediaType = "text/netlify"
baseName = "_redirects"
isPlainText = true
notAlternative = true
[mediaTypes."text/netlify"]
delimiter = ""
[outputs]
home = ["HTML", "RSS", "REDIR"]
home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[build]
writeStats = true
@@ -67,15 +89,6 @@ home = ["HTML", "RSS", "REDIR"]
[services.googleAnalytics]
ID = "G-T85PPZ36GN"
[outputFormats]
[outputFormats.XML]
isPlainText = false
mediaType = "application/xml"
isHtml = false
noUgly = true
permalinkable = false
name = "xml"
[minify]
[minify.tdewolff.js]
keepVarNames = true
@@ -84,6 +97,12 @@ home = ["HTML", "RSS", "REDIR"]
[minify.tdewolff.html]
keepWhitespace = true
[segments]
[segments.headers]
[[segments.headers.includes]]
kind = '{home}'
output = '{netlify,server}'
[module]
# Build and serve using local hinode clone declared in the named Hugo workspace:
workspace = "hinode.work"
@@ -93,6 +112,8 @@ home = ["HTML", "RSS", "REDIR"]
path = "github.com/gethinode/hinode"
[[module.imports]]
path = "github.com/gethinode/mod-bootstrap"
[[module.imports]]
path = "github.com/gethinode/mod-csp"
[[module.imports]]
path = "github.com/gethinode/mod-flexsearch/v2"
[[module.imports]]

View File

@@ -1,41 +1,29 @@
# toml-docs-start server-config
# Auto-generated file - do not modify
[[headers]]
for = '/**'
[headers.values]
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options = "nosniff"
X-XSS-Protection = "1; mode=block"
Content-Security-Policy = """\
default-src 'self'; \
script-src 'self' cdn-cookieyes.com https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
for = '/**'
[headers.values]
Access-Control-Allow-Origin = '*'
Content-Security-Policy = """
base-uri 'self'; \
connect-src 'self' *.cookieyes.com cdn-cookieyes.com \
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://player.cloudinary.com https://player.vimeo.com https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' data: cdn-cookieyes.com https://*.imgix.net https://*.imagekit.io https://*.cloudinary.com https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
connect-src 'self' *.google-analytics.com *.analytics.google.com *.googletagmanager.com; \
default-src 'none'; \
font-src 'self' fonts.gstatic.com; \
form-action 'self'; \
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
manifest-src 'self'; \
media-src 'self' \
media-src 'self'; \
object-src 'none'; \
script-src 'self' *.google-analytics.com *.googletagmanager.com; \
style-src 'self' www.youtube.com; \
"""
X-Frame-Options = "SAMEORIGIN"
Referrer-Policy = "strict-origin"
Permissions-Policy = """\
geolocation=(), \
midi=(), \
sync-xhr=(), \
microphone=(), \
camera=(), \
magnetometer=(), \
gyroscope=(), \
payment=() \
"""
cache-control = """\
max-age=0, \
no-cache, \
no-store, \
must-revalidate \
"""
Access-Control-Allow-Origin = "*"
# toml-docs-end server-config
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
Referrer-Policy = 'strict-origin'
Strict-Transport-Security = 'max-age=31536000; includeSubDomains; preload'
X-Content-Type-Options = 'nosniff'
X-Frame-Options = 'SAMEORIGIN'
X-XSS-Protection = '1; mode=block'
cache-control = 'max-age=0, no-cache, no-store, must-revalidate '

View File

@@ -1,630 +1,15 @@
{
"htmlElements": {
"tags": [
"a",
"abbr",
"annotation",
"body",
"button",
"code",
"div",
"em",
"figcaption",
"figure",
"footer",
"form",
"h2",
"h3",
"head",
"hr",
"html",
"i",
"iframe",
"img",
"input",
"label",
"li",
"link",
"mark",
"math",
"meta",
"mfrac",
"mi",
"mn",
"mo",
"mrow",
"mspace",
"msqrt",
"msub",
"msup",
"nav",
"noscript",
"ol",
"p",
"path",
"pre",
"script",
"semantics",
"small",
"span",
"strong",
"sub",
"sup",
"svg",
"symbol",
"table",
"tbody",
"td",
"th",
"thead",
"time",
"title",
"tr",
"ul",
"use"
"title"
],
"classes": [
"accordion",
"accordion-body",
"accordion-button",
"accordion-collapse",
"accordion-header",
"accordion-item",
"active",
"alert",
"alert-danger",
"alert-dismissible",
"align-items-center",
"align-items-end",
"align-items-start",
"align-middle",
"align-self-center",
"align-self-end",
"anchor",
"badge",
"ball",
"bg-body",
"bg-body-tertiary",
"bg-danger",
"bg-opacity-10",
"bg-primary",
"bg-primary-subtle",
"bi",
"bi-activity",
"border",
"border-0",
"border-1",
"border-bottom",
"border-end",
"border-none",
"border-start",
"border-top",
"bottom-0",
"bottom-bar",
"breadcrumb",
"breadcrumb-item",
"btn",
"btn-close",
"btn-group",
"btn-light",
"btn-link",
"btn-outline-primary",
"btn-outline-secondary",
"btn-primary",
"btn-secondary",
"btn-sm",
"btn-social",
"card",
"card-block-2",
"card-body",
"card-body-link",
"card-body-margin",
"card-button",
"card-button-link",
"card-container",
"card-container-wrapper",
"card-emphasize",
"card-icon",
"card-img-bg",
"card-img-top",
"card-img-wrap",
"card-text",
"card-title",
"card-zoom",
"carousel",
"carousel-caption",
"carousel-control-next",
"carousel-control-next-icon",
"carousel-control-prev",
"carousel-control-prev-icon",
"carousel-indicators",
"carousel-inner",
"carousel-item",
"checkbox",
"chroma",
"cky-audit-table-element",
"cky-banner-element",
"cky-cookie-audit-table",
"col",
"col-10",
"col-12",
"col-2",
"col-3",
"col-4",
"col-6",
"col-9",
"col-auto",
"col-lg-2",
"col-lg-4",
"col-lg-8",
"col-md-2",
"col-md-3",
"col-md-4",
"col-md-6",
"col-md-8",
"col-md-9",
"col-md-auto",
"col-sm-12",
"col-sm-3",
"col-sm-6",
"col-sm-9",
"col-xl-10",
"col-xl-2",
"collapse",
"collapsed",
"container",
"container-fluid",
"container-xxl",
"custom",
"d-block",
"d-flex",
"d-grid",
"d-inline",
"d-inline-flex",
"d-lg-block",
"d-md-block",
"d-md-flex",
"d-md-none",
"d-none",
"d-none-dark",
"d-none-light",
"d-sm-block",
"d-sm-none",
"data-table",
"display-1",
"display-4",
"dropdown",
"dropdown-divider-bg",
"dropdown-item",
"dropdown-menu",
"dropdown-menu-end",
"dropdown-toggle",
"emphasis",
"end-0",
"fa",
"fa-10x",
"fa-2x",
"fa-2xs",
"fa-4x",
"fa-activity",
"fa-arrow-left",
"fa-arrow-right",
"fa-bootstrap",
"fa-circle-check",
"fa-code",
"fa-docker",
"fa-ellipsis",
"fa-face-frown",
"fa-facebook",
"fa-fluid",
"fa-fw",
"fa-github",
"fa-globe",
"fa-heart",
"fa-house",
"fa-link",
"fa-linkedin",
"fa-magnifying-glass",
"fa-medium",
"fa-moon",
"fa-rocket",
"fa-share-nodes",
"fa-sort",
"fa-square-check",
"fa-sun",
"fa-up-right-from-square",
"fa-whatsapp",
"fa-wrapper",
"fa-x-twitter",
"fab",
"fade",
"fas",
"figure-caption",
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
"flex-md-grow-0",
"flex-nowrap",
"flex-row",
"font-monospace",
"footer",
"form-control",
"fs-3",
"fs-5",
"fs-6",
"fs-lg-5",
"fs-md-5",
"fw-30",
"fw-bold",
"fw-semibold",
"g-0",
"g-3",
"g-4",
"gap-1",
"gap-2",
"gradient",
"h-100",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"heading",
"highlight",
"hstack",
"img-fluid",
"img-wrap",
"invisible",
"is-search",
"justify-content-between",
"justify-content-center",
"justify-content-end",
"justify-content-start",
"katex",
"label",
"lead",
"leaflet-map",
"link-bg-body",
"link-bg-body-tertiary",
"link-bg-footer",
"link-primary",
"link-secondary",
"link-success",
"link-warning",
"lottie-animation",
"m-0",
"main-content",
"main-nav-toggler",
"mb-0",
"mb-3",
"mb-5",
"mb-lg-5",
"me-3",
"me-auto",
"middle-bar",
"min-vh-100",
"mode-switch",
"ms-1",
"ms-3",
"ms-auto",
"ms-md-3",
"mt-2",
"mt-3",
"mt-4",
"mt-5",
"mt-auto",
"mt-md-0",
"multi-docs-collapse-15",
"multi-file-collapse-1",
"mx-auto",
"mx-md-0",
"mx-md-2",
"my-2",
"my-4",
"my-auto",
"my-md-0",
"my-md-auto",
"nav",
"nav-item",
"nav-link",
"nav-pills",
"nav-tabs",
"navbar",
"navbar-brand",
"navbar-collapse",
"navbar-container",
"navbar-contrast",
"navbar-expand-md",
"navbar-fixed-top",
"navbar-mode-selector",
"navbar-nav",
"navbar-nav-scroll",
"navbar-title",
"navbar-toggler",
"next",
"no-js",
"order-0",
"order-1",
"order-first",
"order-md-0",
"order-md-1",
"p-0",
"p-1",
"p-2",
"p-3",
"p-4",
"pb-2",
"pb-3",
"pb-4",
"pb-5",
"pb-md-0",
"pe-3",
"pe-5",
"persona",
"position-absolute",
"position-fixed",
"position-relative",
"post-date",
"previous",
"ps-1",
"ps-3",
"pt-1",
"pt-5",
"pt-md-3",
"ptw-3",
"ptw-5",
"ptw-lg-5",
"ptw-sm-4",
"px-2",
"px-4",
"px-xxl-0",
"py-1",
"py-2",
"py-3",
"py-5",
"py-md-1",
"ratio",
"ratio-16x9",
"rounded",
"rounded-2",
"rounded-5",
"rounded-bottom",
"rounded-pill",
"rounded-top",
"row",
"row-cols-1",
"row-cols-2",
"row-cols-lg-3",
"row-cols-md-2",
"row-cols-md-3",
"row-cols-sm-2",
"row-cols-sm-3",
"scrollbar-horizontal",
"search",
"search-input",
"search-suggestions",
"shadow",
"show",
"sidebar-overflow",
"slide",
"small",
"spinner-border",
"start-0",
"start-100",
"start-50",
"sticky-top",
"stretched-link",
"svg-inline--fa",
"syntax-highlight",
"tab-content",
"tab-pane",
"table",
"table-responsive",
"table-striped",
"tag-link",
"text-bg-body",
"text-bg-body-tertiary",
"text-bg-info",
"text-bg-primary",
"text-bg-secondary",
"text-bg-success",
"text-bg-warning",
"text-body",
"text-body-secondary",
"text-break",
"text-center",
"text-decoration-none",
"text-end",
"text-info",
"text-muted",
"text-nowrap",
"text-right",
"text-secondary",
"text-sm-start",
"text-start",
"text-uppercase",
"tickmark",
"timeline",
"timeline-bg-dark",
"timeline-connector-end",
"timeline-connector-start",
"timeline-description-text-end",
"timeline-description-text-start",
"timeline-dot",
"timeline-info",
"timeline-panel-end",
"timeline-panel-start",
"timeline-primary",
"timeline-semi-circle-end",
"timeline-semi-circle-start",
"timeline-sm",
"timeline-success",
"timeline-warning",
"toast",
"toast-body",
"toast-container",
"toast-header",
"toc",
"toc-button",
"toc-panel",
"toc-sidebar",
"toggler-icon",
"top-0",
"top-25",
"top-50",
"top-bar",
"translate-middle",
"translate-middle-y",
"video-embedded",
"visually-hidden",
"vr",
"w-100",
"w-50"
],
"ids": [
"TableOfContents",
"abbr",
"accordion",
"accordion-0",
"accordion-0-heading-0",
"accordion-0-heading-1",
"accordion-0-heading-2",
"accordion-0-item-0",
"accordion-0-item-1",
"accordion-0-item-2",
"accordéon",
"alert",
"alerte",
"animation",
"badge",
"barre-de-navigation",
"blog",
"body-docs-collapse-15",
"body-file-collapse-1",
"bouton",
"breadcrumb",
"btn-webshare",
"button",
"button-group",
"card",
"card-group",
"carousel",
"carousel-0",
"carrousel",
"carte",
"chronologie",
"cloudinary",
"collapse",
"collapse-1",
"command-prompt",
"cookies-etc",
"custom-activity",
"data-tables",
"docs",
"documentation",
"example",
"exemple",
"fa-face-frown",
"fa-square-check",
"fab-bootstrap",
"fab-docker",
"fab-facebook",
"fab-github",
"fab-linkedin",
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"fas-angle-left",
"fas-angle-right",
"fas-angles-left",
"fas-angles-right",
"fas-arrow-left",
"fas-arrow-right",
"fas-circle-check",
"fas-code",
"fas-ellipsis",
"fas-globe",
"fas-heart",
"fas-house",
"fas-link",
"fas-magnifying-glass",
"fas-moon",
"fas-rocket",
"fas-share-nodes",
"fas-sort",
"fas-sun",
"fas-up-right-from-square",
"fichier",
"fil-dariane",
"file",
"footer-docs-collapse-15",
"footer-file-collapse-1",
"formula-katex",
"formule-katex",
"groupe-de-boutons",
"groupe-de-cartes",
"how-do-we-use-cookies",
"how-we-share-your-information",
"icon",
"image",
"imagekitio",
"imgix",
"indicateur-de-chargement",
"infobulle",
"invite-de-commandes",
"language-selector",
"leaflet-map-0",
"lien",
"link",
"lottie-animation-0",
"manage-cookie-preferences",
"map",
"mark",
"nav",
"nav-0",
"nav-0-0",
"nav-0-1",
"nav-0-2",
"nav-0-btn-0",
"nav-0-btn-1",
"nav-0-btn-2",
"navbar",
"navbar-0-collapse",
"navbar-mode",
"navbar-mode-checkbox",
"navbar-sample-collapse",
"navigation",
"notification",
"persona",
"projecten",
"projects",
"projets",
"publication",
"release",
"réduire",
"security",
"spinner",
"sub",
"sup",
"table",
"third-party-links--use-of-your-information",
"timeline",
"toast",
"toast-container",
"toast-copied-code-message",
"toast-example-1",
"toast-example-2",
"toast-message-email-4",
"toc-collapse",
"tooltip",
"types-of-cookies-we-use",
"video",
"vimeo",
"what-are-cookies",
"your-rights",
"youtube"
]
"classes": null,
"ids": null
}
}

5
go.mod
View File

@@ -5,11 +5,12 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/gethinode/mod-bootstrap v1.3.1 // indirect
github.com/gethinode/mod-csp v1.0.2 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
github.com/gethinode/mod-fontawesome v1.10.0 // indirect
github.com/gethinode/mod-google-analytics v1.0.3 // indirect
github.com/gethinode/mod-google-analytics v1.1.2 // indirect
github.com/gethinode/mod-katex v1.1.2 // indirect
github.com/gethinode/mod-leaflet v1.1.1 // indirect
github.com/gethinode/mod-leaflet v1.2.0 // indirect
github.com/gethinode/mod-lottie v1.5.10 // indirect
github.com/gethinode/mod-simple-datatables v1.0.13 // indirect
github.com/gethinode/mod-utils/v2 v2.8.1 // indirect

12
go.sum
View File

@@ -24,6 +24,12 @@ github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+
github.com/gethinode/mod-bootstrap v1.3.0/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.1 h1:ZUX72St0WZ5tyXpEPBJlayX/dmCH3cGErzsozkUKCok=
github.com/gethinode/mod-bootstrap v1.3.1/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-csp v1.0.0 h1:Obp0MVMBjIPZbKDh6Ejl5pImDG7yERMLf2or9UVnwPA=
github.com/gethinode/mod-csp v1.0.0/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.1 h1:IUUwPc41UNw7DAFuJ75nNPzhkPExenxXU7susdLaxdQ=
github.com/gethinode/mod-csp v1.0.1/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.2 h1:KX8EeoCGbHhGSo5r0YIa9BmPZ6S6v7L9CChTejREkK4=
github.com/gethinode/mod-csp v1.0.2/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
@@ -126,6 +132,10 @@ github.com/gethinode/mod-google-analytics v1.0.2 h1:ljrAYdAPqiQg6rdnL6Je8zLK6mhl
github.com/gethinode/mod-google-analytics v1.0.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.0.3 h1:QUm4AeBR6D9cLx26F6Cy5qQvQe/19c2wTJAqxmCfAq4=
github.com/gethinode/mod-google-analytics v1.0.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.1 h1:XzMXd6nBDl5Lj1Q5pd8MWtE87FI/vRCsUAkAvfuXDxE=
github.com/gethinode/mod-google-analytics v1.1.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.2 h1:mcoqaRRorut+PxYxJnOEMfKIlVIIOd6vxKhuEYTwFzw=
github.com/gethinode/mod-google-analytics v1.1.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
@@ -170,6 +180,8 @@ github.com/gethinode/mod-leaflet v1.1.0 h1:FXzPCic5XmUluxQ6e7LYUhhLnxuQOBwry8qjG
github.com/gethinode/mod-leaflet v1.1.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.1.1 h1:AIHR4k8SjmeoZxtjLgSS6/N3jKeZNZGdZTgu/7MwP4c=
github.com/gethinode/mod-leaflet v1.1.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.2.0 h1:5q5LHmGNi9N4cdRDCsl/6oI8vY3oQ2ogNUjP3NCnk4Y=
github.com/gethinode/mod-leaflet v1.2.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=

View File

@@ -49,6 +49,11 @@
"5" (printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize)
}}
{{ if not $args.responsive }}
{{ $colsMap = dict "auto" "" "1" "row-cols-1" "2" "row-cols-2" "3" "row-cols-3" "4" "row-cols-4" "5" "row-cols-5" }}
{{ $sizesMap = dict "auto" "100vw" "1" "100vw" "2" "50vw" "3" "33.3vw" "4" "25vw" "5" "20vw" }}
{{ end }}
<!-- Apply optional pagination -->
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $list) }}
{{ $paginator := "" }}
@@ -103,7 +108,7 @@
{{- $colGrid := "" -}}
{{ if not $args.scroll }}
{{ $colGrid = index $colsMap $args.cols }}
{{ if $args.responsive }}{{ $sizes = index $sizesMap $args.cols }}{{ end }}
{{ $sizes = index $sizesMap $args.cols }}
{{ else }}
{{ if in (slice "2" "3" "4" "5") $args.cols }}
{{ $sizes = replace (printf "%.1fvw" (div 100.0 (int $args.cols))) ".0" "" }}

View File

@@ -74,6 +74,7 @@
"title" $item.Title
"class" $class
"color" $color
"href" $item.Params.href
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
"thumbnail" $thumbnail
) -}}

View File

@@ -1,88 +1,61 @@
# toml-docs-start netlify
# Auto-generated file - do not modify
[build]
publish = "exampleSite/public"
command = "npm run build:example"
command = 'npm run build:example'
publish = 'exampleSite/public'
[build.environment]
DART_SASS_VERSION = "1.78.0"
HUGO_VERSION = "0.134.1"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "20.17.0"
NPM_VERSION = "10.8.2"
# toml-docs-end netlify
[build.environment]
DART_SASS_VERSION = '1.78.0'
HUGO_ENABLEGITINFO = 'true'
HUGO_ENV = 'production'
HUGO_VERSION = '0.134.1'
NODE_VERSION = '20.17.0'
NPM_VERSION = '10.8.2'
[[headers]]
for = "/*"
[headers.values]
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options = "nosniff"
X-XSS-Protection = "1; mode=block"
Content-Security-Policy = """\
default-src 'self'; \
child-src 'self' app.netlify.com; \
script-src 'self' cdn-cookieyes.com \
https://*.netlify.app app.netlify.com netlify-cdp-loader.netlify.app \
https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' 'unsafe-inline' \
https://*.netlify.app https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
base-uri 'self'; \
connect-src 'self' *.cookieyes.com cdn-cookieyes.com \
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://*.netlify.app https://fonts.gstatic.com; \
frame-src 'self' https://player.cloudinary.com https://player.vimeo.com https://www.youtube-nocookie.com https://www.youtube.com \
app.netlify.com; \
img-src 'self' data: cdn-cookieyes.com https://*.imgix.net https://*.imagekit.io https://*.cloudinary.com https://*.netlify.app https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
manifest-src 'self'; \
media-src 'self' \
"""
X-Frame-Options = "SAMEORIGIN"
Referrer-Policy = "strict-origin"
Permissions-Policy = """\
geolocation=(), \
midi=(), \
sync-xhr=(), \
microphone=(), \
camera=(), \
magnetometer=(), \
gyroscope=(), \
payment=() \
"""
cache-control = """\
max-age=0, \
no-cache, \
no-store, \
must-revalidate \
"""
Access-Control-Allow-Origin = "*"
[context]
[context.branch-deploy]
command = 'npm run build:example -- -b $DEPLOY_PRIME_URL'
[context.deploy-preview]
command = "npm run build:example -- -b $DEPLOY_PRIME_URL"
[context.branch-deploy]
command = "npm run build:example -- -b $DEPLOY_PRIME_URL"
[context.deploy-preview]
command = 'npm run build:example -- -b $DEPLOY_PRIME_URL'
[dev]
framework = "#custom"
command = "npm run start:example"
targetPort = 1313
port = 8888
publish = "public"
autoLaunch = false
# toml-docs-start plugins
[[plugins]]
package = "@gethinode/netlify-plugin-dartsass"
autoLaunch = false
command = 'npm run start:example'
framework = '#custom'
port = 8888
publish = 'public'
targetPort = 1313
[[plugins]]
package = "netlify-plugin-hugo-cache-resources"
[plugins.inputs]
# Redirected in exampleSite/config/_default/hugo.toml
# srcdir = ""
package = '@gethinode/netlify-plugin-dartsass'
[[plugins]]
package = 'netlify-plugin-hugo-cache-resources'
[[headers]]
for = '/**'
[headers.values]
Access-Control-Allow-Origin = '*'
Content-Security-Policy = """
base-uri 'self'; \
connect-src 'self' *.google-analytics.com *.analytics.google.com *.googletagmanager.com; \
default-src 'none'; \
font-src 'self' fonts.gstatic.com; \
form-action 'self'; \
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
manifest-src 'self'; \
media-src 'self'; \
object-src 'none'; \
script-src 'self' *.google-analytics.com *.googletagmanager.com; \
style-src 'self' www.youtube.com; \
"""
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
Referrer-Policy = 'strict-origin'
Strict-Transport-Security = 'max-age=31536000; includeSubDomains; preload'
X-Content-Type-Options = 'nosniff'
X-Frame-Options = 'SAMEORIGIN'
X-XSS-Protection = '1; mode=block'
cache-control = 'max-age=0, no-cache, no-store, must-revalidate '
# [[plugins]]
# package = "@netlify/plugin-lighthouse"
# [plugins.inputs]
# output_path = "reports/lighthouse.html"
# toml-docs-end plugins

377
package-lock.json generated
View File

@@ -1,24 +1,25 @@
{
"name": "@gethinode/hinode",
"version": "0.27.0-beta2",
"version": "0.27.0-beta4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.27.0-beta2",
"version": "0.27.0-beta4",
"license": "MIT",
"dependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0",
"autoprefixer": "^10.4.20",
"cssnano": "^7.0.6",
"cssnano-preset-advanced": "^7.0.6",
"hugo-bin": "0.131.3",
"hugo-bin": "0.132.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
"eslint": "^9.11.1",
"cpy-cli": "^5.0.0",
"eslint": "^9.12.0",
"markdownlint-cli2": "^0.14.0",
"neostandard": "^0.11.6",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
@@ -390,9 +391,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.11.1",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.11.1.tgz",
"integrity": "sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==",
"version": "9.12.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz",
"integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -436,6 +437,28 @@
"integrity": "sha512-EWBWLW1jwZzbP6U7+bD50Y1yqlvfVcENNy9qAU/uW14zf325TbnD8qLrJE/+Y2rzZj1yFv+9FZcVuRmzlCEVbw==",
"dev": true
},
"node_modules/@humanfs/core": {
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz",
"integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==",
"dev": true,
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@humanfs/node": {
"version": "0.16.5",
"resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz",
"integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==",
"dev": true,
"dependencies": {
"@humanfs/core": "^0.19.0",
"@humanwhocodes/retry": "^0.3.0"
},
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@humanwhocodes/gitignore-to-minimatch": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
@@ -460,9 +483,9 @@
}
},
"node_modules/@humanwhocodes/retry": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz",
"integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==",
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
"integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
"dev": true,
"engines": {
"node": ">=18.18"
@@ -1089,6 +1112,23 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/aggregate-error": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
"dev": true,
"license": "MIT",
"dependencies": {
"clean-stack": "^4.0.0",
"indent-string": "^5.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -1295,6 +1335,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/arrify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz",
"integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/astral-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
@@ -1656,6 +1709,35 @@
"node": ">= 6"
}
},
"node_modules/clean-stack": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
"dev": true,
"license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/clean-stack/node_modules/escape-string-regexp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
@@ -1760,6 +1842,100 @@
}
}
},
"node_modules/cp-file": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/cp-file/-/cp-file-10.0.0.tgz",
"integrity": "sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==",
"dev": true,
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.10",
"nested-error-stacks": "^2.1.1",
"p-event": "^5.0.1"
},
"engines": {
"node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cpy": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/cpy/-/cpy-10.1.0.tgz",
"integrity": "sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"arrify": "^3.0.0",
"cp-file": "^10.0.0",
"globby": "^13.1.4",
"junk": "^4.0.1",
"micromatch": "^4.0.5",
"nested-error-stacks": "^2.1.1",
"p-filter": "^3.0.0",
"p-map": "^6.0.0"
},
"engines": {
"node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cpy-cli": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-5.0.0.tgz",
"integrity": "sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"cpy": "^10.1.0",
"meow": "^12.0.1"
},
"bin": {
"cpy": "cli.js"
},
"engines": {
"node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cpy-cli/node_modules/meow": {
"version": "12.1.1",
"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=16.10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cpy/node_modules/globby": {
"version": "13.2.2",
"resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
"dev": true,
"license": "MIT",
"dependencies": {
"dir-glob": "^3.0.1",
"fast-glob": "^3.3.0",
"ignore": "^5.2.4",
"merge2": "^1.4.1",
"slash": "^4.0.0"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -2437,9 +2613,9 @@
}
},
"node_modules/eslint": {
"version": "9.11.1",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.11.1.tgz",
"integrity": "sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==",
"version": "9.12.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz",
"integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
@@ -2447,11 +2623,11 @@
"@eslint/config-array": "^0.18.0",
"@eslint/core": "^0.6.0",
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "9.11.1",
"@eslint/js": "9.12.0",
"@eslint/plugin-kit": "^0.2.0",
"@humanfs/node": "^0.16.5",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.3.0",
"@nodelib/fs.walk": "^1.2.8",
"@humanwhocodes/retry": "^0.3.1",
"@types/estree": "^1.0.6",
"@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
@@ -2459,9 +2635,9 @@
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"escape-string-regexp": "^4.0.0",
"eslint-scope": "^8.0.2",
"eslint-visitor-keys": "^4.0.0",
"espree": "^10.1.0",
"eslint-scope": "^8.1.0",
"eslint-visitor-keys": "^4.1.0",
"espree": "^10.2.0",
"esquery": "^1.5.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -2471,13 +2647,11 @@
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
"is-path-inside": "^3.0.3",
"json-stable-stringify-without-jsonify": "^1.0.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
"optionator": "^0.9.3",
"strip-ansi": "^6.0.1",
"text-table": "^0.2.0"
},
"bin": {
@@ -2669,9 +2843,9 @@
}
},
"node_modules/eslint-scope": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz",
"integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz",
"integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==",
"dev": true,
"dependencies": {
"esrecurse": "^4.3.0",
@@ -2697,9 +2871,9 @@
}
},
"node_modules/eslint/node_modules/eslint-visitor-keys": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
"integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2709,14 +2883,14 @@
}
},
"node_modules/espree": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
"version": "10.2.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz",
"integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==",
"dev": true,
"dependencies": {
"acorn": "^8.12.0",
"acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^4.0.0"
"eslint-visitor-keys": "^4.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2726,9 +2900,9 @@
}
},
"node_modules/espree/node_modules/eslint-visitor-keys": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
"integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3681,9 +3855,9 @@
}
},
"node_modules/hugo-bin": {
"version": "0.131.3",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.131.3.tgz",
"integrity": "sha512-8+NVbq5ttvhUO2BHS+/qHKypXLxzAZ0ctLL/rkBU7DR+W1uTdSOZaxDZoFi67w5RquZCKoBTvHfJVtQgAOk/wQ==",
"version": "0.132.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.132.0.tgz",
"integrity": "sha512-P8Bjl2ussOFzDJVppZfjxuyRegklKnlz2ILeFUszwkq9aDab8il0IJgr6pNxI0bbPIbLcoV64FmStyB1vXsynQ==",
"funding": [
{
"type": "github",
@@ -3763,6 +3937,19 @@
"node": ">=0.8.19"
}
},
"node_modules/indent-string": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -4060,15 +4247,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-path-inside": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
@@ -4345,6 +4523,19 @@
"node": ">=4.0"
}
},
"node_modules/junk": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz",
"integrity": "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@@ -4765,6 +4956,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/nested-error-stacks": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz",
"integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==",
"dev": true,
"license": "MIT"
},
"node_modules/netlify-plugin-hugo-cache-resources": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/netlify-plugin-hugo-cache-resources/-/netlify-plugin-hugo-cache-resources-0.2.1.tgz",
@@ -5164,6 +5362,54 @@
"node": ">=12.20"
}
},
"node_modules/p-event": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz",
"integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"p-timeout": "^5.0.2"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-filter": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz",
"integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==",
"dev": true,
"license": "MIT",
"dependencies": {
"p-map": "^5.1.0"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-filter/node_modules/p-map": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz",
"integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==",
"dev": true,
"license": "MIT",
"dependencies": {
"aggregate-error": "^4.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -5194,6 +5440,32 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-map": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz",
"integrity": "sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-timeout": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz",
"integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -6833,6 +7105,19 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
"node_modules/slash": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/slice-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.27.0-beta2",
"version": "0.27.0-beta4",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -20,7 +20,7 @@
"prestart": "npm run -s mod:vendor",
"start": "hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings",
"start:example": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings -s exampleSite",
"start:prod": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings --minify -e production",
"start:prod": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings --minify -e production",
"start:example:prod": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings --minify -e production -s exampleSite",
"prebuild": "npm run clean:public && npm run -s mod:vendor",
"build": "hugo --gc --minify",
@@ -28,6 +28,8 @@
"build:example": "npm run -s prebuild && hugo --gc --minify -s exampleSite",
"build:example:ci": "npm run -s prebuild && hugo --gc --minify -s exampleSite -e ci",
"build:debug": "hugo -e debug --debug",
"build:headers": "hugo --renderSegments headers -d prebuild && cpy prebuild/server.toml config/_default/ --flat",
"build:example:headers": "hugo -s exampleSite --renderSegments headers -d prebuild && cpy exampleSite/prebuild/netlify.toml ./ --flat && cpy exampleSite/prebuild/server.toml exampleSite/config/_default/ --flat",
"build:preview": "npm run build -D -F",
"clean:public": "rimraf public exampleSite/public",
"clean:install": "rimraf package-lock.json node_modules",
@@ -71,12 +73,13 @@
"autoprefixer": "^10.4.20",
"cssnano": "^7.0.6",
"cssnano-preset-advanced": "^7.0.6",
"hugo-bin": "0.131.3",
"hugo-bin": "0.132.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
"eslint": "^9.11.1",
"cpy-cli": "^5.0.0",
"eslint": "^9.12.0",
"markdownlint-cli2": "^0.14.0",
"neostandard": "^0.11.6",
"netlify-plugin-hugo-cache-resources": "^0.2.1",