mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
129 Commits
v0.27.0-be
...
v0.27.6
Author | SHA1 | Date | |
---|---|---|---|
![]() |
80b28f7557 | ||
![]() |
43eebdf53f | ||
![]() |
b5062fe687 | ||
![]() |
51aa15266b | ||
![]() |
19f638a129 | ||
![]() |
aa2e5ca6f4 | ||
![]() |
04eea0db71 | ||
![]() |
4645f4ee7c | ||
![]() |
bb6421c70b | ||
![]() |
622c6ee1c0 | ||
![]() |
f1befb05cc | ||
![]() |
e146e3a559 | ||
![]() |
068e773ab0 | ||
![]() |
3ae91a78a1 | ||
![]() |
6627446961 | ||
![]() |
d4fd6ece60 | ||
![]() |
a746fd147c | ||
![]() |
d0410af879 | ||
![]() |
314f1a0ca4 | ||
![]() |
066c5ce8eb | ||
![]() |
bba9629f54 | ||
![]() |
d2d59ec3ef | ||
![]() |
c080be2872 | ||
![]() |
3c17234b33 | ||
![]() |
16884abcba | ||
![]() |
2abbe4f6de | ||
![]() |
c6f9de0a64 | ||
![]() |
39f104fa5f | ||
![]() |
437ad0dbf7 | ||
![]() |
2eb354d941 | ||
![]() |
5a7f46bca4 | ||
![]() |
0bc37ff426 | ||
![]() |
0d24f85e13 | ||
![]() |
d067171ba2 | ||
![]() |
09e649d432 | ||
![]() |
87c7bd4238 | ||
![]() |
19734f6a1f | ||
![]() |
12a5ebad9f | ||
![]() |
1b964777a4 | ||
![]() |
f910d1bbbb | ||
![]() |
86461c9739 | ||
![]() |
a730255eb6 | ||
![]() |
e940cc9931 | ||
![]() |
3a70d25f2e | ||
![]() |
9e72e5fe73 | ||
![]() |
561bdcac28 | ||
![]() |
11cd2bb167 | ||
![]() |
45a71fc1d1 | ||
![]() |
3f5c10319b | ||
![]() |
e4331c8ce7 | ||
![]() |
6166615629 | ||
![]() |
27c15b4e36 | ||
![]() |
c99e8c83d1 | ||
![]() |
a0cbdd0cbb | ||
![]() |
1ed825d7ca | ||
![]() |
09099eba58 | ||
![]() |
58b2eebea5 | ||
![]() |
46a2a6c994 | ||
![]() |
0dcec12256 | ||
![]() |
50a188e807 | ||
![]() |
400f27dcc9 | ||
![]() |
90bcc744ff | ||
![]() |
cf0fae6dc1 | ||
![]() |
1b39d23ddf | ||
![]() |
c94249408c | ||
![]() |
f4f207fa25 | ||
![]() |
307067629e | ||
![]() |
f9174e4505 | ||
![]() |
320d44c78d | ||
![]() |
091526a17b | ||
![]() |
9ec61d645d | ||
![]() |
0630043210 | ||
![]() |
2933d1d3bb | ||
![]() |
aa5118cdf6 | ||
![]() |
ec1c87070b | ||
![]() |
e806dc07a4 | ||
![]() |
9e7478f4c4 | ||
![]() |
686dd1c946 | ||
![]() |
548a2fa835 | ||
![]() |
1338df7b8a | ||
![]() |
150e438c59 | ||
![]() |
285f262a01 | ||
![]() |
7989dd17d4 | ||
![]() |
5f4070b481 | ||
![]() |
00160137e8 | ||
![]() |
51510ae047 | ||
![]() |
4fc95db0e9 | ||
![]() |
a1f899c1de | ||
![]() |
e358e737be | ||
![]() |
0e35d26f20 | ||
![]() |
ede04405d1 | ||
![]() |
30aa2df2d2 | ||
![]() |
47d582f855 | ||
![]() |
fa1fcc3dd0 | ||
![]() |
04bc95720b | ||
![]() |
5c539ec003 | ||
![]() |
b19201e561 | ||
![]() |
7e21c93e22 | ||
![]() |
c81efe61d0 | ||
![]() |
6fe8e12509 | ||
![]() |
44b243489b | ||
![]() |
548dca2bb1 | ||
![]() |
b3e47b85f3 | ||
![]() |
087d3666b8 | ||
![]() |
77f4354499 | ||
![]() |
362bf368ce | ||
![]() |
fc17256fd2 | ||
![]() |
887aff5c5b | ||
![]() |
6ec26f1216 | ||
![]() |
357c74e3e0 | ||
![]() |
4b419810ea | ||
![]() |
0a313172bd | ||
![]() |
93eec0ff5a | ||
![]() |
f9fc8d9a6a | ||
![]() |
c537b9cfe4 | ||
![]() |
c37fe75f0d | ||
![]() |
4034289a7f | ||
![]() |
9b5c572ab9 | ||
![]() |
10c6344493 | ||
![]() |
fc386fcad9 | ||
![]() |
a680a61825 | ||
![]() |
a075ca5f7b | ||
![]() |
a816d2be25 | ||
![]() |
52ff0fb71e | ||
![]() |
95fd919a6f | ||
![]() |
85778dd374 | ||
![]() |
3b65b2c87f | ||
![]() |
ee3a0ee8c4 | ||
![]() |
3b721690f1 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
_vendor/
|
||||
prebuild/
|
||||
public/
|
||||
resources/
|
||||
node_modules/
|
||||
|
@@ -1,9 +1,12 @@
|
||||
/* eslint-disable */
|
||||
{{- if site.Params.main.enableLanguageSelectionStorage -}}
|
||||
{{- $folder := (urls.Parse site.BaseURL).Path | default "/" -}}
|
||||
|
||||
(() => {
|
||||
'use strict'
|
||||
|
||||
const folder = '{{ $folder }}'
|
||||
|
||||
// Function to get the selected language from local storage
|
||||
function getLanguage () {
|
||||
return getLocalStorage('selectedLanguage', document.documentElement.lang, 'functional')
|
||||
@@ -22,7 +25,7 @@
|
||||
window.location.href = href
|
||||
}
|
||||
} else {
|
||||
window.location.href = '/' + language + '/'
|
||||
window.location.href = folder + language + '/'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -57,7 +60,7 @@
|
||||
// Redirect to the localized homepage
|
||||
const defaultLang = '{{ site.LanguageCode | default site.Language.Lang }}'
|
||||
let language = storedLanguage ? storedLanguage : defaultLang
|
||||
window.location.href = '/' + language + '/'
|
||||
window.location.href = folder + language + '/'
|
||||
}
|
||||
})
|
||||
})()
|
@@ -5,12 +5,13 @@ const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
|
||||
const colorsBG = ['body', 'secondary', 'tertiary']
|
||||
|
||||
function updateNavbar () {
|
||||
let storedTheme
|
||||
if (typeof getLocalStorage === "function") {
|
||||
storedTheme = getLocalStorage('theme', null, 'functional')
|
||||
}
|
||||
|
||||
if (window.scrollY > 75) {
|
||||
navbar.classList.add('nav-active')
|
||||
let storedTheme
|
||||
if (typeof getLocalStorage === "function") {
|
||||
storedTheme = getLocalStorage('theme', null, 'functional')
|
||||
}
|
||||
if (storedTheme) {
|
||||
navbar.setAttribute('data-bs-theme', storedTheme)
|
||||
}
|
||||
@@ -18,7 +19,8 @@ function updateNavbar () {
|
||||
navbar.classList.remove('nav-active')
|
||||
const defaultTheme = navbar.getAttribute('data-bs-overlay')
|
||||
|
||||
if (defaultTheme) {
|
||||
const targetTheme = defaultTheme ? defaultTheme : storedTheme
|
||||
if (targetTheme) {
|
||||
navbar.setAttribute('data-bs-theme', defaultTheme)
|
||||
}
|
||||
}
|
||||
|
@@ -14,23 +14,22 @@ function webShareAPI (title, description, link) {
|
||||
.catch((error) => console.log('Error sharing', error))
|
||||
}
|
||||
|
||||
const shareBtn = document.getElementById('btn-webshare')
|
||||
|
||||
if (shareBtn !== null) {
|
||||
const shareButtons = document.querySelectorAll('[data-sharing-url]')
|
||||
shareButtons.forEach(btn => {
|
||||
if (navigator.share) {
|
||||
const title = shareBtn.getAttribute('data-sharing-title')
|
||||
const description = shareBtn.getAttribute('data-sharing-description')
|
||||
const url = shareBtn.getAttribute('data-sharing-url')
|
||||
const title = btn.getAttribute('data-sharing-title')
|
||||
const description = btn.getAttribute('data-sharing-description')
|
||||
const url = btn.getAttribute('data-sharing-url')
|
||||
|
||||
// show button if it supports webShareAPI
|
||||
shareBtn.style.display = 'block'
|
||||
shareBtn.addEventListener('click', () =>
|
||||
btn.style.display = 'block'
|
||||
btn.addEventListener('click', () =>
|
||||
webShareAPI(title, description, url)
|
||||
)
|
||||
} else {
|
||||
// hide button if host does not support Web Share API
|
||||
shareBtn.style.display = 'none'
|
||||
btn.style.display = 'none'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
{{- end -}}
|
@@ -25,6 +25,8 @@ strong {
|
||||
$black: #000 !default;
|
||||
$btn-toggle-color: $black !default;
|
||||
|
||||
$card-color: var(--bs-body-color);
|
||||
|
||||
$carousel-dark-indicator-active-bg: #fff !default;
|
||||
$carousel-dark-caption-color: #fff !default;
|
||||
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
|
||||
|
@@ -1,4 +1,8 @@
|
||||
.nav-tabs > .nav-link.active {
|
||||
.nav-tabs .nav-tabs {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link.active {
|
||||
border-bottom-color: var(--bs-body-bg) !important;
|
||||
border-bottom-style: solid !important;
|
||||
z-index: 1;
|
||||
@@ -12,13 +16,13 @@
|
||||
column-gap: var(--#{$prefix}nav-callout-gap) !important;
|
||||
}
|
||||
|
||||
.nav-callout > .tab-content {
|
||||
.nav-callout + .tab-content {
|
||||
background-color: var(--#{$prefix}nav-callout-bg);
|
||||
padding: 2 * $spacer;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.nav-callout > .nav-link {
|
||||
.nav-callout .nav-link {
|
||||
display: flex;
|
||||
text-align: start;
|
||||
vertical-align: text-top;
|
||||
@@ -27,7 +31,7 @@
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.nav-callout > .nav-link.active {
|
||||
.nav-callout .nav-link.active {
|
||||
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-bg) 50%, transparent 0);
|
||||
background-size: 50% (3 * $spacer);
|
||||
background-repeat: no-repeat;
|
||||
@@ -53,7 +57,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.nav-callout > .accordion-item {
|
||||
.nav-callout .accordion-item {
|
||||
margin-top: 2 * $spacer;
|
||||
margin-bottom: 2 * $spacer;
|
||||
border: none;
|
||||
|
@@ -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
|
||||
|
@@ -10,6 +10,8 @@
|
||||
footerBelowFold = false
|
||||
loading = "lazy"
|
||||
breakpoint = "md"
|
||||
[main.internalLinks]
|
||||
validate = true
|
||||
[main.externalLinks]
|
||||
cue = false
|
||||
tab = false
|
||||
@@ -204,3 +206,38 @@
|
||||
|
||||
[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",
|
||||
"www.youtube-nocookie.com",
|
||||
"www.youtube.com"
|
||||
]
|
||||
img-src = [
|
||||
"data:",
|
||||
"*.imgix.net",
|
||||
"*.imagekit.io",
|
||||
"*.cloudinary.com",
|
||||
"i.ytimg.com"
|
||||
]
|
||||
# toml-docs-end csp
|
||||
|
||||
[modules.vimeo]
|
||||
local = true
|
||||
integration = "optional"
|
||||
state = "async"
|
||||
url = "https://player.vimeo.com/api/player.js"
|
||||
|
||||
[modules.vimeo.csp]
|
||||
frame-src = ["player.vimeo.com"]
|
||||
img-src = ["i.vimeocdn.com"]
|
||||
script-src = ["player.vimeo.com"]
|
||||
|
@@ -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'; \
|
||||
font-src 'self' fonts.gstatic.com; \
|
||||
form-action 'self'; \
|
||||
frame-src player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
|
||||
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
|
||||
manifest-src 'self'; \
|
||||
media-src 'self' \
|
||||
media-src 'self'; \
|
||||
object-src 'none'; \
|
||||
script-src 'self' *.google-analytics.com *.googletagmanager.com player.vimeo.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
35
data/netlify.toml
Normal 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
41
data/server.toml
Normal 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
|
@@ -38,3 +38,8 @@ arguments:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Class attribute of the tab control that wraps the file element.
|
||||
options:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Hugo highlighting options.
|
||||
release: v0.27.6
|
||||
|
@@ -2,8 +2,8 @@
|
||||
|
||||
module.exports = require('neostandard')({
|
||||
ignores: [
|
||||
'assets/js/critical/functional/languageSelector.js',
|
||||
'assets/js/critical/functional/color.js',
|
||||
'assets/js/critical/languageSelector.js',
|
||||
'assets/js/critical/color.js',
|
||||
'assets/js/analytics.js',
|
||||
'assets/js/flexsearch.js',
|
||||
'assets/js/navbar.js',
|
||||
|
@@ -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]]
|
||||
|
19
exampleSite/config/_default/netlify.toml
Normal file
19
exampleSite/config/_default/netlify.toml
Normal file
@@ -0,0 +1,19 @@
|
||||
[[redirects]]
|
||||
from = '/fr/*'
|
||||
to = '/fr/404.html'
|
||||
status = 404
|
||||
|
||||
[[redirects]]
|
||||
from = '/nl/*'
|
||||
to = '/nl/404.html'
|
||||
status = 404
|
||||
|
||||
[[redirects]]
|
||||
from = '/en/*'
|
||||
to = '/en/404.html'
|
||||
status = 404
|
||||
|
||||
[[redirects]] # Default language should be last.
|
||||
from = '/*'
|
||||
to = '/en/404.html'
|
||||
status = 404
|
@@ -8,6 +8,8 @@
|
||||
footerBelowFold = false
|
||||
loading = "lazy"
|
||||
breakpoint = "md"
|
||||
[main.internalLinks]
|
||||
validate = true
|
||||
[main.externalLinks]
|
||||
cue = true
|
||||
tab = true
|
||||
@@ -193,5 +195,4 @@
|
||||
hinode = "https://gethinode.com"
|
||||
|
||||
[modules.cookieyes]
|
||||
# local = true
|
||||
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
|
@@ -1,41 +1,49 @@
|
||||
# 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' *.cookieyes.com cdn-cookieyes.com *.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 www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
|
||||
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
|
||||
manifest-src 'self'; \
|
||||
media-src 'self' \
|
||||
media-src 'self'; \
|
||||
object-src 'none'; \
|
||||
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com player.vimeo.com; \
|
||||
style-src 'self' 'unsafe-inline' 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 '
|
||||
|
||||
[[redirects]]
|
||||
from = '/fr/*'
|
||||
status = 404
|
||||
to = '/fr/404.html'
|
||||
|
||||
[[redirects]]
|
||||
from = '/nl/*'
|
||||
status = 404
|
||||
to = '/nl/404.html'
|
||||
|
||||
[[redirects]]
|
||||
from = '/en/*'
|
||||
status = 404
|
||||
to = '/en/404.html'
|
||||
|
||||
[[redirects]]
|
||||
from = '/*'
|
||||
status = 404
|
||||
to = '/en/404.html'
|
||||
|
||||
|
@@ -483,23 +483,3 @@ As an example, the following shortcode displays an Elephants video hosted by Clo
|
||||
{{</* video host="cloudinary" account="demo" id="elephants" autoplay=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Vimeo
|
||||
|
||||
As an example, the following shortcode displays a Vimeo video.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* vimeo id="55073825" autoplay=true autotitle=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Youtube
|
||||
|
||||
As an example, the following shortcode displays a Hugo quickstart guide.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* youtube id="w7Ft2ymGmfc" autoplay=true autotitle=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
63
exampleSite/data/server.toml
Normal file
63
exampleSite/data/server.toml
Normal file
@@ -0,0 +1,63 @@
|
||||
# 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
|
||||
|
||||
# toml-docs-start server-custom-404
|
||||
[[redirects]]
|
||||
from = '/fr/*'
|
||||
to = '/fr/404.html'
|
||||
status = 404
|
||||
|
||||
[[redirects]]
|
||||
from = '/nl/*'
|
||||
to = '/nl/404.html'
|
||||
status = 404
|
||||
|
||||
[[redirects]]
|
||||
from = '/en/*'
|
||||
to = '/en/404.html'
|
||||
status = 404
|
||||
|
||||
[[redirects]] # Default language should be last.
|
||||
from = '/*'
|
||||
to = '/en/404.html'
|
||||
status = 404
|
||||
# toml-docs-end server-custom-404
|
@@ -3,5 +3,5 @@ module github.com/gethinode/hinode/exampleSite
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.1.2 // indirect
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.2 // indirect
|
||||
)
|
||||
|
@@ -1 +1,2 @@
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.0.3/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.2 h1:VNIdbZnzXw/0Jito/IcDNqQ9yRYLCGrDwyrMqtSJgE4=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.2/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
|
||||
|
@@ -144,7 +144,6 @@
|
||||
"chroma",
|
||||
"cky-audit-table-element",
|
||||
"cky-banner-element",
|
||||
"cky-cookie-audit-table",
|
||||
"col",
|
||||
"col-10",
|
||||
"col-12",
|
||||
@@ -293,6 +292,8 @@
|
||||
"link-secondary",
|
||||
"link-success",
|
||||
"link-warning",
|
||||
"lntable",
|
||||
"lntd",
|
||||
"lottie-animation",
|
||||
"m-0",
|
||||
"main-content",
|
||||
@@ -317,7 +318,9 @@
|
||||
"mt-auto",
|
||||
"mt-md-0",
|
||||
"multi-docs-collapse-15",
|
||||
"multi-file-collapse-0",
|
||||
"multi-file-collapse-1",
|
||||
"multi-file-collapse-2",
|
||||
"mx-auto",
|
||||
"mx-md-0",
|
||||
"mx-md-2",
|
||||
@@ -422,7 +425,6 @@
|
||||
"tab-pane",
|
||||
"table",
|
||||
"table-responsive",
|
||||
"table-striped",
|
||||
"tag-link",
|
||||
"text-bg-body",
|
||||
"text-bg-body-tertiary",
|
||||
@@ -502,10 +504,11 @@
|
||||
"barre-de-navigation",
|
||||
"blog",
|
||||
"body-docs-collapse-15",
|
||||
"body-file-collapse-0",
|
||||
"body-file-collapse-1",
|
||||
"body-file-collapse-2",
|
||||
"bouton",
|
||||
"breadcrumb",
|
||||
"btn-webshare",
|
||||
"button",
|
||||
"button-group",
|
||||
"card",
|
||||
@@ -520,8 +523,10 @@
|
||||
"collapse-1",
|
||||
"command-prompt",
|
||||
"cookies-etc",
|
||||
"current-page-as-markdown-file",
|
||||
"custom-activity",
|
||||
"data-tables",
|
||||
"default-configuration",
|
||||
"docs",
|
||||
"documentation",
|
||||
"example",
|
||||
@@ -559,8 +564,11 @@
|
||||
"fichier",
|
||||
"fil-dariane",
|
||||
"file",
|
||||
"file-shortcode",
|
||||
"footer-docs-collapse-15",
|
||||
"footer-file-collapse-0",
|
||||
"footer-file-collapse-1",
|
||||
"footer-file-collapse-2",
|
||||
"formula-katex",
|
||||
"formule-katex",
|
||||
"groupe-de-boutons",
|
||||
@@ -583,13 +591,13 @@
|
||||
"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",
|
||||
"nav-nav-0",
|
||||
"navbar",
|
||||
"navbar-0-collapse",
|
||||
"navbar-mode",
|
||||
@@ -621,10 +629,8 @@
|
||||
"tooltip",
|
||||
"types-of-cookies-we-use",
|
||||
"video",
|
||||
"vimeo",
|
||||
"what-are-cookies",
|
||||
"your-rights",
|
||||
"youtube"
|
||||
"your-rights"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
13
go.mod
13
go.mod
@@ -5,14 +5,15 @@ 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-flexsearch/v2 v2.0.1 // indirect
|
||||
github.com/gethinode/mod-csp v1.0.3 // indirect
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.2 // 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.3 // indirect
|
||||
github.com/gethinode/mod-katex v1.1.2 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.1.1 // 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
|
||||
github.com/gethinode/mod-leaflet v1.2.0 // indirect
|
||||
github.com/gethinode/mod-lottie v1.5.11 // indirect
|
||||
github.com/gethinode/mod-simple-datatables v1.0.14 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.8.3 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
||||
)
|
||||
|
26
go.sum
26
go.sum
@@ -24,6 +24,14 @@ 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-csp v1.0.3 h1:tRmnuVZ3UpCc9HR8qsAwbU0OJ/UsNVSbse0SZuwGcCg=
|
||||
github.com/gethinode/mod-csp v1.0.3/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=
|
||||
@@ -74,6 +82,8 @@ github.com/gethinode/mod-flexsearch v1.12.1 h1:clkGUWaNPe9Dt/66Apy7oH9NwVQfnD6Op
|
||||
github.com/gethinode/mod-flexsearch v1.12.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1 h1:5unGUSb1tX1LBtKygnLfdt7CnVJuFKSt6VXiKRxdojc=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.2 h1:5FkLbjORwKvK544H/yaAltyIB7eptRPxxh5VcfDDeqM=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.2/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
||||
@@ -126,6 +136,12 @@ 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-google-analytics v1.1.3 h1:24qxV5vKIex3zSdow+5r0o8rox1lrO31oGi0/XusBy4=
|
||||
github.com/gethinode/mod-google-analytics v1.1.3/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 +186,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=
|
||||
@@ -218,6 +236,8 @@ github.com/gethinode/mod-lottie v1.5.9 h1:1MFsq8pO7s4RXu1sA0z75xdp63FPdJ6ar9OhEi
|
||||
github.com/gethinode/mod-lottie v1.5.9/go.mod h1:TA1rPRwSilT5mXUakNSVlXNrgTpE87mUOB/fdunAdA0=
|
||||
github.com/gethinode/mod-lottie v1.5.10 h1:tYFgk74T9zWy2FRkfkRI+8QVQy6lnuABnTeWQ8nUX5w=
|
||||
github.com/gethinode/mod-lottie v1.5.10/go.mod h1:L7NpvCAm04R59GSAAm/UFoDCs/6UtrIC5zQEjgQSr4k=
|
||||
github.com/gethinode/mod-lottie v1.5.11 h1:xhxBPDS0iyUY+C1ANaD5EeQV7fO1FG0wMoCjgrCMi/0=
|
||||
github.com/gethinode/mod-lottie v1.5.11/go.mod h1:6FKqk8c+Jkbk2udCxUKVLF1K1wrGwthPsOvRzeoPXRQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
|
||||
@@ -240,6 +260,8 @@ github.com/gethinode/mod-simple-datatables v1.0.12 h1:myyVp1ctQA6j+5UTWcDwQmy8ip
|
||||
github.com/gethinode/mod-simple-datatables v1.0.12/go.mod h1:QuH7wz1igohzCgL76xI1960mFxPPrqgvGtLwR/0cFyQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.13 h1:3GTn46Zh56SFzCUP7CUSrmp/ZoiaVG19q4xdObSx6Pc=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.13/go.mod h1:a2qIdYegX5gBubGbspuHv/2UA/8O89oUG/U5hd7jLK8=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.14 h1:332WtbaQtTm7VP0b7zYfpogTBcOEetkJrNd01K4d/JE=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.14/go.mod h1:mP3yjAdVE1G6JHfv8VVsRmvaPlPwddXknI675AuVs2I=
|
||||
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
|
||||
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
|
||||
@@ -300,6 +322,10 @@ github.com/gethinode/mod-utils/v2 v2.8.0 h1:BdB+onItuO29g5ZLEz/HEwq9c4xBEM4GGqQc
|
||||
github.com/gethinode/mod-utils/v2 v2.8.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.1 h1:u7sFbgJ5sBEMYC/GwcMRyjRAd5NxTjBnbld5b0V5n98=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.2 h1:rKndAMmRBSO5Cgoa/2CvF5XchDSvLvd4TYAbfbbQVhE=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.3 h1:t1MJcIdFhYi0gCkm8f0DYZwyfq7pRdRc0eNpqZa11ic=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
||||
|
190
hugo_stats.json
190
hugo_stats.json
@@ -1,191 +1,7 @@
|
||||
{
|
||||
"htmlElements": {
|
||||
"tags": [
|
||||
"a",
|
||||
"body",
|
||||
"button",
|
||||
"div",
|
||||
"footer",
|
||||
"form",
|
||||
"head",
|
||||
"html",
|
||||
"img",
|
||||
"input",
|
||||
"label",
|
||||
"li",
|
||||
"link",
|
||||
"meta",
|
||||
"nav",
|
||||
"ol",
|
||||
"p",
|
||||
"path",
|
||||
"script",
|
||||
"small",
|
||||
"span",
|
||||
"strong",
|
||||
"svg",
|
||||
"symbol",
|
||||
"title",
|
||||
"ul",
|
||||
"use"
|
||||
],
|
||||
"classes": [
|
||||
"active",
|
||||
"align-items-center",
|
||||
"align-self-center",
|
||||
"align-self-end",
|
||||
"ball",
|
||||
"bg-body",
|
||||
"bg-opacity-10",
|
||||
"bg-primary",
|
||||
"bottom-0",
|
||||
"bottom-bar",
|
||||
"breadcrumb",
|
||||
"breadcrumb-item",
|
||||
"btn",
|
||||
"btn-close",
|
||||
"btn-primary",
|
||||
"checkbox",
|
||||
"col",
|
||||
"col-12",
|
||||
"col-6",
|
||||
"col-md-2",
|
||||
"col-md-3",
|
||||
"col-md-4",
|
||||
"col-md-8",
|
||||
"col-md-9",
|
||||
"col-sm-12",
|
||||
"collapse",
|
||||
"collapsed",
|
||||
"container-fluid",
|
||||
"container-xxl",
|
||||
"d-flex",
|
||||
"d-inline",
|
||||
"d-md-block",
|
||||
"d-none",
|
||||
"display-1",
|
||||
"display-4",
|
||||
"emphasis",
|
||||
"end-0",
|
||||
"fa",
|
||||
"fa-10x",
|
||||
"fa-2x",
|
||||
"fa-book-open",
|
||||
"fa-ellipsis",
|
||||
"fa-face-frown",
|
||||
"fa-fw",
|
||||
"fa-github",
|
||||
"fa-linkedin",
|
||||
"fa-medium",
|
||||
"fa-moon",
|
||||
"fa-sun",
|
||||
"fab",
|
||||
"fas",
|
||||
"fixed-top",
|
||||
"flex-column",
|
||||
"flex-fill",
|
||||
"footer",
|
||||
"form-control",
|
||||
"fs-3",
|
||||
"fs-5",
|
||||
"fw-30",
|
||||
"fw-bold",
|
||||
"hstack",
|
||||
"img-fluid",
|
||||
"img-wrap",
|
||||
"invisible",
|
||||
"is-search",
|
||||
"justify-content-center",
|
||||
"justify-content-end",
|
||||
"justify-content-start",
|
||||
"label",
|
||||
"link-bg-footer",
|
||||
"link-secondary",
|
||||
"main-content",
|
||||
"main-nav-toggler",
|
||||
"me-auto",
|
||||
"middle-bar",
|
||||
"min-vh-100",
|
||||
"mode-switch",
|
||||
"ms-auto",
|
||||
"ms-md-3",
|
||||
"mt-3",
|
||||
"mt-4",
|
||||
"mt-5",
|
||||
"mt-md-0",
|
||||
"mx-auto",
|
||||
"mx-md-0",
|
||||
"my-auto",
|
||||
"my-md-auto",
|
||||
"nav-item",
|
||||
"nav-link",
|
||||
"navbar",
|
||||
"navbar-brand",
|
||||
"navbar-collapse",
|
||||
"navbar-container",
|
||||
"navbar-expand-md",
|
||||
"navbar-fixed-top",
|
||||
"navbar-mode-selector",
|
||||
"navbar-nav",
|
||||
"navbar-toggler",
|
||||
"no-js",
|
||||
"order-0",
|
||||
"order-1",
|
||||
"order-md-0",
|
||||
"order-md-1",
|
||||
"p-0",
|
||||
"p-2",
|
||||
"p-3",
|
||||
"p-4",
|
||||
"pb-4",
|
||||
"pb-md-0",
|
||||
"position-fixed",
|
||||
"position-relative",
|
||||
"ps-1",
|
||||
"pt-4",
|
||||
"pt-5",
|
||||
"pt-md-3",
|
||||
"px-4",
|
||||
"px-xxl-0",
|
||||
"py-3",
|
||||
"rounded",
|
||||
"row",
|
||||
"row-cols-1",
|
||||
"row-cols-2",
|
||||
"row-cols-md-2",
|
||||
"row-cols-sm-3",
|
||||
"search",
|
||||
"search-input",
|
||||
"search-suggestions",
|
||||
"shadow",
|
||||
"svg-inline--fa",
|
||||
"text-center",
|
||||
"text-decoration-none",
|
||||
"text-muted",
|
||||
"text-secondary",
|
||||
"text-sm-start",
|
||||
"text-start",
|
||||
"toast",
|
||||
"toast-body",
|
||||
"toast-container",
|
||||
"toast-header",
|
||||
"toggler-icon",
|
||||
"top-bar"
|
||||
],
|
||||
"ids": [
|
||||
"fa-face-frown",
|
||||
"fab-github",
|
||||
"fab-linkedin",
|
||||
"fab-medium",
|
||||
"fas-book-open",
|
||||
"fas-ellipsis",
|
||||
"fas-moon",
|
||||
"fas-sun",
|
||||
"navbar-0-collapse",
|
||||
"navbar-mode",
|
||||
"navbar-mode-checkbox",
|
||||
"toast-container",
|
||||
"toast-copied-code-message"
|
||||
]
|
||||
"tags": null,
|
||||
"classes": null,
|
||||
"ids": null
|
||||
}
|
||||
}
|
||||
|
@@ -155,3 +155,7 @@
|
||||
translation: Tipp
|
||||
- id: warning
|
||||
translation: Warnung
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: Bild
|
@@ -161,3 +161,7 @@
|
||||
translation: Tip
|
||||
- id: warning
|
||||
translation: Warning
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: image
|
@@ -149,3 +149,7 @@
|
||||
translation: "Commentaire"
|
||||
- id: supportedValues
|
||||
translation: "Valeurs supportées"
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: image
|
@@ -160,3 +160,7 @@
|
||||
translation: Tip
|
||||
- id: warning
|
||||
translation: Waarschuwing
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: Bild
|
||||
|
@@ -6,7 +6,7 @@
|
||||
{{ $toc := .Render "single/panel-toc" }}
|
||||
|
||||
{{ with $sidebar }}
|
||||
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label">
|
||||
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-labelledby="offcanvas-label">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="{{ T "close" }}"></button>
|
||||
|
@@ -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 := "" }}
|
||||
@@ -77,6 +82,7 @@
|
||||
{{- $params = merge $params (dict
|
||||
"title" $element.Title
|
||||
"href" $element.RelPermalink
|
||||
"buttonLabel" $element.buttonLabel
|
||||
"description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true))
|
||||
"thumbnail" $thumbnail
|
||||
"anchor" $anchor
|
||||
@@ -103,7 +109,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" "" }}
|
||||
@@ -138,7 +144,7 @@
|
||||
"style" $args.style
|
||||
"align" $args.align
|
||||
"button" $args.button
|
||||
"buttonLabel" $args.buttonLabel
|
||||
"buttonLabel" $element.buttonLabel
|
||||
"buttonType" $args.buttonType
|
||||
"iconRounded" $args.iconRounded
|
||||
) -}}
|
||||
|
@@ -52,11 +52,12 @@
|
||||
{{- $page := "" }}
|
||||
{{- if .path }}
|
||||
{{ $page = partial "utilities/GetPage.html" (dict "url" .path "page" page) }}
|
||||
{{- if not $page }}
|
||||
{{ $validate := site.Params.main.internalLinks.validate | default true }}
|
||||
{{- if and $validate (not $page) }}
|
||||
{{ if page.File }}
|
||||
{{- errorf "partial [assets/card.html] - Cannot find target page '%s', see '%s'" .path page.File.Path -}}
|
||||
{{- warnf "partial [assets/card.html] - Cannot find target page '%s', see '%s'" .path page.File.Path -}}
|
||||
{{ else }}
|
||||
{{- errorf "partial [assets/card.html] - Cannot find target page '%s'" .path -}}
|
||||
{{- warnf "partial [assets/card.html] - Cannot find target page '%s'" .path -}}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -95,7 +96,7 @@
|
||||
|
||||
{{- if $href -}}
|
||||
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
|
||||
<p class="card-title fs-lg-5 fs-6 fw-bold">{{ $title }}</p>
|
||||
<p class="card-title fs-lg-5 fs-6">{{ $title }}</p>
|
||||
{{ with $description }}
|
||||
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
|
||||
{{ . | safeHTML }}
|
||||
@@ -104,7 +105,7 @@
|
||||
</a>
|
||||
{{- else -}}
|
||||
<div>
|
||||
{{ with $title }}<p class="card-title fs-lg-5 fs-6 fw-bold">{{ . }}</p>{{ end -}}
|
||||
{{ with $title }}<p class="card-title fs-lg-5 fs-6">{{ . }}</p>{{ end -}}
|
||||
{{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
@@ -20,10 +20,11 @@
|
||||
{{- $ratio := .ratio -}}
|
||||
{{- $portrait := .portrait -}}
|
||||
{{- $loading := .loading | default "eager" -}}
|
||||
{{- $title := .caption | default (T "image") -}}
|
||||
|
||||
<!-- Main code -->
|
||||
<div class="carousel-item{{ if $active }} active{{ end }}" {{ if not $active }} fetchpriority="low"{{ end }}>
|
||||
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "class" "d-block w-100" "portrait" $portrait "loading" $loading) }}
|
||||
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "class" "d-block w-100" "portrait" $portrait "loading" $loading "title" $title) }}
|
||||
<div class="carousel-caption gradient"></div>
|
||||
{{ with $caption }}
|
||||
<div class="carousel-caption d-none d-md-block">
|
||||
|
@@ -16,6 +16,7 @@
|
||||
{{- $modes := .modes -}}
|
||||
{{- $plain := .plain | default false }}
|
||||
{{- $anchor := .anchor }}
|
||||
{{- $alt := or $title $caption (T "image") }}
|
||||
|
||||
<!-- Split url into base and anchor when applicable (only relevant for vector images) -->
|
||||
{{- $fileAnchor := "" -}}
|
||||
@@ -71,7 +72,7 @@
|
||||
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
|
||||
{{ with $height }}height="{{ . }}"{{ end }}
|
||||
{{ with $width }}width="{{ . }}"{{ end }}
|
||||
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
|
||||
{{ with $alt }}alt="{{ . }}"{{ end }}>
|
||||
{{- else }}
|
||||
<svg class="{{ $class }}">
|
||||
<use href="{{ $fallbackURL }}#{{ $fileAnchor }}"></use>
|
||||
|
@@ -13,7 +13,15 @@
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{ $destination := strings.TrimPrefix (strings.TrimSuffix "/" site.BaseURL) .destination }}
|
||||
{{ $destination := .destination }}
|
||||
{{ $u := urls.Parse $destination }}
|
||||
{{ if not $u.Scheme }}
|
||||
{{ $b := urls.Parse site.BaseURL }}
|
||||
{{ $destination = strings.TrimPrefix $b.Path $destination }}
|
||||
{{ $destination = path.Clean $destination }}
|
||||
{{ else }}
|
||||
{{ $destination = (strings.TrimPrefix (strings.TrimSuffix "/" site.BaseURL) $destination) }}
|
||||
{{ end }}
|
||||
{{ if not $destination }}{{ $destination = "/" }}{{ end }}
|
||||
|
||||
{{- $target := "" -}}
|
||||
@@ -60,7 +68,9 @@
|
||||
{{ $ref := partial "utilities/GetPage.html" (dict "url" $destination "page" $page) }}
|
||||
{{- if not $ref -}}
|
||||
{{ $pageContext := "" }}
|
||||
{{ with $page.File }}{{ $pageContext = path.Join "/content" .Dir }}{{ end }}
|
||||
{{ with $page.File }}
|
||||
{{ $pageContext = path.Dir (strings.TrimPrefix hugo.WorkingDir .Filename) }}
|
||||
{{ end }}
|
||||
{{ $isPageRes := fileExists (path.Join $pageContext $destination) }}
|
||||
{{ $isStatic := fileExists (path.Join "static" $destination) }}
|
||||
{{ if and (not $isPageRes) (not $isStatic) }}
|
||||
|
@@ -52,45 +52,48 @@
|
||||
<div class="d-none d-lg-block">
|
||||
{{ end }}
|
||||
|
||||
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
|
||||
<ul class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
|
||||
{{- range $index, $item := $list -}}
|
||||
{{ $show := eq $index 0}}
|
||||
<button class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
|
||||
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
|
||||
{{ $item.Title }}
|
||||
</button>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
|
||||
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
|
||||
{{ $item.Title }}
|
||||
</button>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{ range $index, $item := $list }}
|
||||
{{ $header := $item.Title }}
|
||||
{{ $body := $item.Content }}
|
||||
{{ $show := eq $index 0}}
|
||||
{{- $thumbnail := "" -}}
|
||||
{{ if reflect.IsMap $item.Params.Thumbnail }}{{ $thumbnail = $item.Params.Thumbnail.url }}{{ else }}{{ $thumbnail = $item.Params.Thumbnail }}{{ end }}
|
||||
<div class="tab-pane{{ if $show }} active{{ end }}" id="nav-{{ $id }}-{{ $index }}" role="tabpanel" aria-labelledby="{{ $id }}-btn-{{ $index }}" tabindex="0">
|
||||
{{- if eq $pane "persona" -}}
|
||||
{{- partial "assets/persona.html" (dict
|
||||
"title" $item.Title
|
||||
"class" $class
|
||||
"color" $color
|
||||
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||
"thumbnail" $thumbnail
|
||||
) -}}
|
||||
{{- else -}}
|
||||
{{ $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) }}
|
||||
{{ if $illustration }}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
|
||||
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- (or $item.Description $item.Content) -}}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{ range $index, $item := $list }}
|
||||
{{ $header := $item.Title }}
|
||||
{{ $body := $item.Content }}
|
||||
{{ $show := eq $index 0}}
|
||||
{{- $thumbnail := "" -}}
|
||||
{{ if reflect.IsMap $item.Params.Thumbnail }}{{ $thumbnail = $item.Params.Thumbnail.url }}{{ else }}{{ $thumbnail = $item.Params.Thumbnail }}{{ end }}
|
||||
<div class="tab-pane{{ if $show }} active{{ end }}" id="nav-{{ $id }}-{{ $index }}" role="tabpanel" aria-labelledby="{{ $id }}-btn-{{ $index }}" tabindex="0">
|
||||
{{- if eq $pane "persona" -}}
|
||||
{{- partial "assets/persona.html" (dict
|
||||
"title" $item.Title
|
||||
"class" $class
|
||||
"color" $color
|
||||
"href" $item.Params.href
|
||||
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||
"thumbnail" $thumbnail
|
||||
) -}}
|
||||
{{- else -}}
|
||||
{{ $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) }}
|
||||
{{ if $illustration }}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
|
||||
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- (or $item.Description $item.Content) -}}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ if eq $type "callout" }}</div>{{ end }}
|
||||
|
@@ -85,10 +85,10 @@
|
||||
"size" "sm"
|
||||
)}}
|
||||
{{ else }}
|
||||
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
|
||||
{{ cond (ne $menuURL "") "<a" "<div" | safeHTML }} class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
|
||||
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
|
||||
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
|
||||
{{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }}{{ end }} {{ $button | safeHTMLAttr }}>
|
||||
{{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTML }}"{{ with $externalHref }} {{ . | safeHTML }}{{ end }}{{ end }} {{ $button | safeHTML }}>
|
||||
|
||||
{{- with $menu.Pre }}
|
||||
{{ if hasPrefix . "<i" }}
|
||||
@@ -100,6 +100,6 @@
|
||||
<span {{ if $isActive }} class="active"{{ end }}>{{ if or (not $isIcon) $plain }}{{ $menu.Name }}{{ end }}</span>
|
||||
{{- with $menu.Post }}{{ . }}{{ end -}}
|
||||
{{- if not $isIcon }} {{ $suffix }}{{ end -}}
|
||||
</a>
|
||||
{{ cond (ne $menuURL "") "</a>" "</div>" | safeHTML }}
|
||||
{{ end }}
|
||||
{{ end }}
|
@@ -18,14 +18,14 @@
|
||||
{{- define "partials/navbar-mode.html" -}}
|
||||
{{- $id := .id | default "navbar-mode" -}}
|
||||
|
||||
<div class="d-flex mode-switch align-items-center" id="{{ $id }}">
|
||||
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" />
|
||||
<li class="d-flex mode-switch align-items-center" id="{{ $id }}">
|
||||
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" aria-label="{{ T "colorMode" }}" />
|
||||
<label class="label" for="{{ $id }}-checkbox">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw" "spacing" false) }}
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas moon fa-fw" "spacing" false) }}
|
||||
<div class="ball"></div>
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
{{- end -}}
|
||||
|
||||
<!-- Inline partial to render the version switcher -->
|
||||
@@ -295,12 +295,16 @@
|
||||
</li>
|
||||
<li><hr class="dropdown-divider-bg"></li>
|
||||
|
||||
<a class="nav-link d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
<li class="d-{{ $size }}-none">
|
||||
<a class="nav-link" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }} {{ T "ui_search" }}
|
||||
</a>
|
||||
<a class="nav-link d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
</a>
|
||||
</li>
|
||||
<li class="d-none d-{{ $size }}-block">
|
||||
<a class="nav-link" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }}
|
||||
</a>
|
||||
</a>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
</div>
|
||||
|
@@ -58,8 +58,8 @@
|
||||
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" "label" (T "shareLink" $item.name) "spacing" false) }}
|
||||
{{- end -}}
|
||||
{{ if $page.Site.Params.sharing.webshare }}
|
||||
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
|
||||
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
||||
{{ $attr := dict "data-sharing-title" $page.Title "data-sharing-description" $page.Description "data-sharing-url" $page.Permalink }}
|
||||
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
||||
{{- end -}}
|
||||
{{ with $download }}
|
||||
{{ $label := (T "download" ) }}
|
||||
|
@@ -121,7 +121,7 @@
|
||||
{{ if not $error }}
|
||||
<!-- include external scripts first -->
|
||||
{{ range $mod, $cfg := $config.modules }}
|
||||
{{ if eq (index $cfg "integration") $args.type }}
|
||||
{{ if in $modules $mod }}
|
||||
{{ if or (index $cfg "local") (not hugo.IsServer) }}
|
||||
{{ with index $cfg "url" }}
|
||||
{{ partial "templates/script.html" (dict "link" . "category" (index $cfg "category") "state" (index $cfg "state")) }}
|
||||
|
@@ -46,7 +46,7 @@
|
||||
{{ if eq .Kind "404" -}}
|
||||
<meta name="robots" content="noindex, follow">
|
||||
{{ else }}
|
||||
{{ with .Params.robots -}}
|
||||
{{ with or .Params.robots .Params.meta.robots -}}
|
||||
<meta name="robots" content="{{ . }}">
|
||||
{{ else -}}
|
||||
<meta name="robots" content="index, follow">
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{{ with .module }}
|
||||
{{- $dependencies := page.Scratch.Get "dependencies" -}}
|
||||
{{- if reflect.IsSlice $dependencies -}}
|
||||
{{- $dependencies = complement $dependencies . -}}
|
||||
{{- $dependencies = complement $dependencies (slice .) -}}
|
||||
{{ else }}
|
||||
{{- $dependencies = slice . -}}
|
||||
{{ end }}
|
||||
|
@@ -38,6 +38,7 @@
|
||||
{{- $full := true -}}
|
||||
{{ if isset .Params "full" }}{{ $full = partial "utilities/CastBool.html" (.Get "full") }}{{ end -}}
|
||||
{{- $class := .Get "class" | default "" -}}
|
||||
{{- $options := .Get "options" -}}
|
||||
|
||||
{{ if not (fileExists $file) }}
|
||||
{{ warnf "Cannot find file: '%q'. See %s" $file $.Position }}
|
||||
@@ -65,7 +66,7 @@
|
||||
</ul>
|
||||
<div class="border-start border-end border-bottom mb-3">
|
||||
<div class="collapse multi-{{ $id }}{{ if $show }} show{{ end }} syntax-highlight" id="body-{{ $id }}">
|
||||
{{- highlight (trim $content "\r\n") $lang "" -}}
|
||||
{{- highlight (trim $content "\r\n") $lang $options -}}
|
||||
</div>
|
||||
<div class="collapse multi-{{ $id }}{{ if not $show }} show{{ end }} p-3" id="footer-{{ $id }}"><i>...</i></div>
|
||||
</div>
|
||||
|
@@ -81,7 +81,9 @@
|
||||
{{ $ref := partial "utilities/GetPage.html" (dict "url" $url "page" .Page) }}
|
||||
{{- if not $ref -}}
|
||||
{{ $pageContext := "" }}
|
||||
{{ with .Page.File }}{{ $pageContext = path.Join "/content" .Dir }}{{ end }}
|
||||
{{ with .Page.File }}
|
||||
{{ $pageContext = path.Dir (strings.TrimPrefix hugo.WorkingDir .Filename) }}
|
||||
{{ end }}
|
||||
{{ $isPageRes := fileExists (path.Join $pageContext $url) }}
|
||||
{{ $isStatic := fileExists (path.Join "/static" $url) }}
|
||||
{{ if and (not $isPageRes) (not $isStatic) }}
|
||||
|
@@ -60,19 +60,23 @@
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
|
||||
<div class="{{ with $type }} nav-{{ . }}{{ end }}">
|
||||
{{ if $vertical }}<div class="row"><div class="col-auto">{{ end }}
|
||||
<ul class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
|
||||
{{- range $index, $item := $items -}}
|
||||
{{- $header := partial "utilities/GetVal.html" $item -}}
|
||||
{{- $itemDisabled := in $disabled $index -}}
|
||||
<button class="nav-link{{ if not $wrap }} text-nowrap{{ end }}{{ if eq $index $showID }} active{{ end }}{{ if $itemDisabled}} disabled {{end }}" id="{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#{{ $id }}-{{ $index }}"
|
||||
type="button" role="tab" aria-controls="{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
|
||||
{{ $header }}
|
||||
</button>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link{{ if not $wrap }} text-nowrap{{ end }}{{ if eq $index $showID }} active{{ end }}{{ if $itemDisabled}} disabled {{end }}" id="{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#{{ $id }}-{{ $index }}"
|
||||
type="button" role="tab" {{ if $hasContent }}aria-controls="{{ $id }}-{{ $index }}"{{ end }} aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
|
||||
{{ $header }}
|
||||
</button>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
{{ if $vertical }}</div><div class="col">{{ end }}
|
||||
{{- if $hasContent -}}
|
||||
<div class="tab-content w-100 {{ if not $vertical }} {{ end }}{{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
<div class="tab-content w-100 {{ if eq $type "tabs" }}border p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{- $inner | safeHTML -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
151
netlify.toml
151
netlify.toml
@@ -1,88 +1,81 @@
|
||||
# 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' *.cookieyes.com cdn-cookieyes.com *.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 www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
|
||||
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
|
||||
manifest-src 'self'; \
|
||||
media-src 'self'; \
|
||||
object-src 'none'; \
|
||||
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com player.vimeo.com; \
|
||||
style-src 'self' 'unsafe-inline' 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 '
|
||||
|
||||
[[redirects]]
|
||||
from = '/fr/*'
|
||||
status = 404
|
||||
to = '/fr/404.html'
|
||||
|
||||
[[redirects]]
|
||||
from = '/nl/*'
|
||||
status = 404
|
||||
to = '/nl/404.html'
|
||||
|
||||
[[redirects]]
|
||||
from = '/en/*'
|
||||
status = 404
|
||||
to = '/en/404.html'
|
||||
|
||||
[[redirects]]
|
||||
from = '/*'
|
||||
status = 404
|
||||
to = '/en/404.html'
|
||||
|
||||
# [[plugins]]
|
||||
# package = "@netlify/plugin-lighthouse"
|
||||
# [plugins.inputs]
|
||||
# output_path = "reports/lighthouse.html"
|
||||
# toml-docs-end plugins
|
||||
|
674
package-lock.json
generated
674
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
17
package.json
17
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.27.0-beta2",
|
||||
"version": "0.27.6",
|
||||
"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",
|
||||
@@ -36,7 +38,7 @@
|
||||
"lint:styles": "stylelint \"assets/scss/**/*.{css,sass,scss,sss,less}\" --allow-empty-input",
|
||||
"lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\" \"exampleSite/**/*.md\"",
|
||||
"mod:clean": "hugo mod clean",
|
||||
"mod:update": "rimraf _vendor && hugo mod get && npm run -s mod:vendor && npm run -s mod:tidy",
|
||||
"mod:update": "rimraf _vendor && hugo mod get -u ./... && npm run -s mod:vendor && npm run -s mod:tidy",
|
||||
"mod:tidy": "hugo mod tidy && hugo mod tidy -s exampleSite",
|
||||
"mod:vendor": "rimraf _vendor && hugo mod vendor",
|
||||
"test": "npm run -s lint",
|
||||
@@ -71,21 +73,22 @@
|
||||
"autoprefixer": "^10.4.20",
|
||||
"cssnano": "^7.0.6",
|
||||
"cssnano-preset-advanced": "^7.0.6",
|
||||
"hugo-bin": "0.131.3",
|
||||
"hugo-bin": "0.133.5",
|
||||
"purgecss-whitelister": "^2.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
||||
"eslint": "^9.11.1",
|
||||
"cpy-cli": "^5.0.0",
|
||||
"eslint": "^9.13.0",
|
||||
"markdownlint-cli2": "^0.14.0",
|
||||
"neostandard": "^0.11.6",
|
||||
"neostandard": "^0.11.7",
|
||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"postcss-cli": "^11.0.0",
|
||||
"replace-in-files-cli": "^3.0.0",
|
||||
"rimraf": "^6.0.1",
|
||||
"shx": "^0.3.4",
|
||||
"stylelint": "^16.9.0",
|
||||
"stylelint": "^16.10.0",
|
||||
"stylelint-config-standard-scss": "^13.1.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
|
Reference in New Issue
Block a user