mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
91 Commits
v0.27.0-be
...
v0.27.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
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/
|
_vendor/
|
||||||
|
prebuild/
|
||||||
public/
|
public/
|
||||||
resources/
|
resources/
|
||||||
node_modules/
|
node_modules/
|
||||||
|
@@ -1,9 +1,12 @@
|
|||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
{{- if site.Params.main.enableLanguageSelectionStorage -}}
|
{{- if site.Params.main.enableLanguageSelectionStorage -}}
|
||||||
|
{{- $folder := (urls.Parse site.BaseURL).Path | default "/" -}}
|
||||||
|
|
||||||
(() => {
|
(() => {
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
|
const folder = '{{ $folder }}'
|
||||||
|
|
||||||
// Function to get the selected language from local storage
|
// Function to get the selected language from local storage
|
||||||
function getLanguage () {
|
function getLanguage () {
|
||||||
return getLocalStorage('selectedLanguage', document.documentElement.lang, 'functional')
|
return getLocalStorage('selectedLanguage', document.documentElement.lang, 'functional')
|
||||||
@@ -22,7 +25,7 @@
|
|||||||
window.location.href = href
|
window.location.href = href
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
window.location.href = '/' + language + '/'
|
window.location.href = folder + language + '/'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -57,7 +60,7 @@
|
|||||||
// Redirect to the localized homepage
|
// Redirect to the localized homepage
|
||||||
const defaultLang = '{{ site.LanguageCode | default site.Language.Lang }}'
|
const defaultLang = '{{ site.LanguageCode | default site.Language.Lang }}'
|
||||||
let language = storedLanguage ? storedLanguage : defaultLang
|
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']
|
const colorsBG = ['body', 'secondary', 'tertiary']
|
||||||
|
|
||||||
function updateNavbar () {
|
function updateNavbar () {
|
||||||
|
let storedTheme
|
||||||
|
if (typeof getLocalStorage === "function") {
|
||||||
|
storedTheme = getLocalStorage('theme', null, 'functional')
|
||||||
|
}
|
||||||
|
|
||||||
if (window.scrollY > 75) {
|
if (window.scrollY > 75) {
|
||||||
navbar.classList.add('nav-active')
|
navbar.classList.add('nav-active')
|
||||||
let storedTheme
|
|
||||||
if (typeof getLocalStorage === "function") {
|
|
||||||
storedTheme = getLocalStorage('theme', null, 'functional')
|
|
||||||
}
|
|
||||||
if (storedTheme) {
|
if (storedTheme) {
|
||||||
navbar.setAttribute('data-bs-theme', storedTheme)
|
navbar.setAttribute('data-bs-theme', storedTheme)
|
||||||
}
|
}
|
||||||
@@ -18,7 +19,8 @@ function updateNavbar () {
|
|||||||
navbar.classList.remove('nav-active')
|
navbar.classList.remove('nav-active')
|
||||||
const defaultTheme = navbar.getAttribute('data-bs-overlay')
|
const defaultTheme = navbar.getAttribute('data-bs-overlay')
|
||||||
|
|
||||||
if (defaultTheme) {
|
const targetTheme = defaultTheme ? defaultTheme : storedTheme
|
||||||
|
if (targetTheme) {
|
||||||
navbar.setAttribute('data-bs-theme', defaultTheme)
|
navbar.setAttribute('data-bs-theme', defaultTheme)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -14,23 +14,22 @@ function webShareAPI (title, description, link) {
|
|||||||
.catch((error) => console.log('Error sharing', error))
|
.catch((error) => console.log('Error sharing', error))
|
||||||
}
|
}
|
||||||
|
|
||||||
const shareBtn = document.getElementById('btn-webshare')
|
const shareButtons = document.querySelectorAll('[data-sharing-url]')
|
||||||
|
shareButtons.forEach(btn => {
|
||||||
if (shareBtn !== null) {
|
|
||||||
if (navigator.share) {
|
if (navigator.share) {
|
||||||
const title = shareBtn.getAttribute('data-sharing-title')
|
const title = btn.getAttribute('data-sharing-title')
|
||||||
const description = shareBtn.getAttribute('data-sharing-description')
|
const description = btn.getAttribute('data-sharing-description')
|
||||||
const url = shareBtn.getAttribute('data-sharing-url')
|
const url = btn.getAttribute('data-sharing-url')
|
||||||
|
|
||||||
// show button if it supports webShareAPI
|
// show button if it supports webShareAPI
|
||||||
shareBtn.style.display = 'block'
|
btn.style.display = 'block'
|
||||||
shareBtn.addEventListener('click', () =>
|
btn.addEventListener('click', () =>
|
||||||
webShareAPI(title, description, url)
|
webShareAPI(title, description, url)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
// hide button if host does not support Web Share API
|
// hide button if host does not support Web Share API
|
||||||
shareBtn.style.display = 'none'
|
btn.style.display = 'none'
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
|
|
||||||
{{- end -}}
|
{{- end -}}
|
@@ -26,20 +26,48 @@ defaultContentLanguage = "en"
|
|||||||
defaultContentLanguageInSubdir = false
|
defaultContentLanguageInSubdir = false
|
||||||
# toml-docs-end language
|
# 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
|
# toml-docs-start redirect
|
||||||
[outputFormats.REDIR]
|
[outputFormats.REDIR]
|
||||||
mediaType = "text/netlify"
|
mediaType = "text/netlify"
|
||||||
baseName = "_redirects"
|
baseName = "_redirects"
|
||||||
isPlainText = true
|
isPlainText = true
|
||||||
notAlternative = true
|
notAlternative = true
|
||||||
|
|
||||||
[mediaTypes."text/netlify"]
|
[mediaTypes."text/netlify"]
|
||||||
delimiter = ""
|
delimiter = ""
|
||||||
|
|
||||||
[outputs]
|
|
||||||
home = ["HTML", "RSS", "REDIR"]
|
|
||||||
# toml-docs-end redirect
|
# toml-docs-end redirect
|
||||||
|
|
||||||
|
# toml-docs-start outputs
|
||||||
|
[outputs]
|
||||||
|
home = ["HTML", "RSS", "REDIR", "netlify", "server"]
|
||||||
|
# toml-docs-end outputs
|
||||||
|
|
||||||
# toml-docs-start build
|
# toml-docs-start build
|
||||||
[build]
|
[build]
|
||||||
writeStats = true
|
writeStats = true
|
||||||
@@ -77,15 +105,6 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
[services.googleAnalytics]
|
[services.googleAnalytics]
|
||||||
# ID = "G-xxxxxxxxxx"
|
# ID = "G-xxxxxxxxxx"
|
||||||
|
|
||||||
[outputFormats]
|
|
||||||
[outputFormats.XML]
|
|
||||||
isPlainText = false
|
|
||||||
mediaType = "application/xml"
|
|
||||||
isHtml = false
|
|
||||||
noUgly = true
|
|
||||||
permalinkable = false
|
|
||||||
name = "xml"
|
|
||||||
|
|
||||||
[minify]
|
[minify]
|
||||||
[minify.tdewolff.js]
|
[minify.tdewolff.js]
|
||||||
keepVarNames = true
|
keepVarNames = true
|
||||||
@@ -126,6 +145,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
# toml-docs-start modules
|
# toml-docs-start modules
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
path = "github.com/gethinode/mod-bootstrap"
|
path = "github.com/gethinode/mod-bootstrap"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-csp"
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
path = "github.com/gethinode/mod-flexsearch/v2"
|
path = "github.com/gethinode/mod-flexsearch/v2"
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
@@ -143,3 +164,11 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
path = "github.com/gethinode/mod-utils/v2"
|
path = "github.com/gethinode/mod-utils/v2"
|
||||||
# toml-docs-end modules
|
# 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
|
footerBelowFold = false
|
||||||
loading = "lazy"
|
loading = "lazy"
|
||||||
breakpoint = "md"
|
breakpoint = "md"
|
||||||
|
[main.internalLinks]
|
||||||
|
validate = true
|
||||||
[main.externalLinks]
|
[main.externalLinks]
|
||||||
cue = false
|
cue = false
|
||||||
tab = false
|
tab = false
|
||||||
@@ -204,3 +206,29 @@
|
|||||||
|
|
||||||
[links]
|
[links]
|
||||||
hinode = "https://gethinode.com"
|
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
|
@@ -1,41 +1,29 @@
|
|||||||
# toml-docs-start server-config
|
# Auto-generated file - do not modify
|
||||||
|
|
||||||
[[headers]]
|
[[headers]]
|
||||||
for = '/**'
|
for = '/**'
|
||||||
[headers.values]
|
|
||||||
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
|
[headers.values]
|
||||||
X-Content-Type-Options = "nosniff"
|
Access-Control-Allow-Origin = '*'
|
||||||
X-XSS-Protection = "1; mode=block"
|
Content-Security-Policy = """
|
||||||
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'; \
|
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self'
|
connect-src 'self' *.google-analytics.com *.analytics.google.com *.googletagmanager.com; \
|
||||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
default-src 'none'; \
|
||||||
font-src 'self' https://fonts.gstatic.com; \
|
font-src 'self' fonts.gstatic.com; \
|
||||||
frame-src 'self' https://player.cloudinary.com https://player.vimeo.com https://www.youtube-nocookie.com https://www.youtube.com; \
|
form-action 'self'; \
|
||||||
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; \
|
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'; \
|
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"
|
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
|
||||||
Referrer-Policy = "strict-origin"
|
Referrer-Policy = 'strict-origin'
|
||||||
Permissions-Policy = """\
|
Strict-Transport-Security = 'max-age=31536000; includeSubDomains; preload'
|
||||||
geolocation=(), \
|
X-Content-Type-Options = 'nosniff'
|
||||||
midi=(), \
|
X-Frame-Options = 'SAMEORIGIN'
|
||||||
sync-xhr=(), \
|
X-XSS-Protection = '1; mode=block'
|
||||||
microphone=(), \
|
cache-control = 'max-age=0, no-cache, no-store, must-revalidate '
|
||||||
camera=(), \
|
|
||||||
magnetometer=(), \
|
|
||||||
gyroscope=(), \
|
|
||||||
payment=() \
|
|
||||||
"""
|
|
||||||
cache-control = """\
|
|
||||||
max-age=0, \
|
|
||||||
no-cache, \
|
|
||||||
no-store, \
|
|
||||||
must-revalidate \
|
|
||||||
"""
|
|
||||||
Access-Control-Allow-Origin = "*"
|
|
||||||
# toml-docs-end server-config
|
|
||||||
|
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
|
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
module.exports = require('neostandard')({
|
module.exports = require('neostandard')({
|
||||||
ignores: [
|
ignores: [
|
||||||
'assets/js/critical/functional/languageSelector.js',
|
'assets/js/critical/languageSelector.js',
|
||||||
'assets/js/critical/functional/color.js',
|
'assets/js/critical/color.js',
|
||||||
'assets/js/analytics.js',
|
'assets/js/analytics.js',
|
||||||
'assets/js/flexsearch.js',
|
'assets/js/flexsearch.js',
|
||||||
'assets/js/navbar.js',
|
'assets/js/navbar.js',
|
||||||
|
@@ -20,17 +20,39 @@ languageCode = "en-us"
|
|||||||
defaultContentLanguage = "en"
|
defaultContentLanguage = "en"
|
||||||
defaultContentLanguageInSubdir = true
|
defaultContentLanguageInSubdir = true
|
||||||
|
|
||||||
[outputFormats.REDIR]
|
[outputFormats]
|
||||||
mediaType = "text/netlify"
|
[outputFormats.netlify]
|
||||||
baseName = "_redirects"
|
mediaType = "application/toml"
|
||||||
isPlainText = true
|
baseName = "netlify"
|
||||||
notAlternative = true
|
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"]
|
[mediaTypes."text/netlify"]
|
||||||
delimiter = ""
|
delimiter = ""
|
||||||
|
|
||||||
[outputs]
|
[outputs]
|
||||||
home = ["HTML", "RSS", "REDIR"]
|
home = ["HTML", "RSS", "REDIR", "netlify", "server"]
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
writeStats = true
|
writeStats = true
|
||||||
@@ -67,15 +89,6 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
[services.googleAnalytics]
|
[services.googleAnalytics]
|
||||||
ID = "G-T85PPZ36GN"
|
ID = "G-T85PPZ36GN"
|
||||||
|
|
||||||
[outputFormats]
|
|
||||||
[outputFormats.XML]
|
|
||||||
isPlainText = false
|
|
||||||
mediaType = "application/xml"
|
|
||||||
isHtml = false
|
|
||||||
noUgly = true
|
|
||||||
permalinkable = false
|
|
||||||
name = "xml"
|
|
||||||
|
|
||||||
[minify]
|
[minify]
|
||||||
[minify.tdewolff.js]
|
[minify.tdewolff.js]
|
||||||
keepVarNames = true
|
keepVarNames = true
|
||||||
@@ -84,6 +97,12 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
[minify.tdewolff.html]
|
[minify.tdewolff.html]
|
||||||
keepWhitespace = true
|
keepWhitespace = true
|
||||||
|
|
||||||
|
[segments]
|
||||||
|
[segments.headers]
|
||||||
|
[[segments.headers.includes]]
|
||||||
|
kind = '{home}'
|
||||||
|
output = '{netlify,server}'
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
# Build and serve using local hinode clone declared in the named Hugo workspace:
|
# Build and serve using local hinode clone declared in the named Hugo workspace:
|
||||||
workspace = "hinode.work"
|
workspace = "hinode.work"
|
||||||
@@ -93,6 +112,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
path = "github.com/gethinode/hinode"
|
path = "github.com/gethinode/hinode"
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
path = "github.com/gethinode/mod-bootstrap"
|
path = "github.com/gethinode/mod-bootstrap"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-csp"
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
path = "github.com/gethinode/mod-flexsearch/v2"
|
path = "github.com/gethinode/mod-flexsearch/v2"
|
||||||
[[module.imports]]
|
[[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
|
footerBelowFold = false
|
||||||
loading = "lazy"
|
loading = "lazy"
|
||||||
breakpoint = "md"
|
breakpoint = "md"
|
||||||
|
[main.internalLinks]
|
||||||
|
validate = true
|
||||||
[main.externalLinks]
|
[main.externalLinks]
|
||||||
cue = true
|
cue = true
|
||||||
tab = true
|
tab = true
|
||||||
|
@@ -1,41 +1,49 @@
|
|||||||
# toml-docs-start server-config
|
# Auto-generated file - do not modify
|
||||||
|
|
||||||
[[headers]]
|
[[headers]]
|
||||||
for = '/**'
|
for = '/**'
|
||||||
[headers.values]
|
|
||||||
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
|
[headers.values]
|
||||||
X-Content-Type-Options = "nosniff"
|
Access-Control-Allow-Origin = '*'
|
||||||
X-XSS-Protection = "1; mode=block"
|
Content-Security-Policy = """
|
||||||
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'; \
|
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self' *.cookieyes.com cdn-cookieyes.com \
|
connect-src 'self' *.cookieyes.com cdn-cookieyes.com *.google-analytics.com *.analytics.google.com *.googletagmanager.com; \
|
||||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
default-src 'none'; \
|
||||||
font-src 'self' https://fonts.gstatic.com; \
|
font-src 'self' fonts.gstatic.com; \
|
||||||
frame-src 'self' https://player.cloudinary.com https://player.vimeo.com https://www.youtube-nocookie.com https://www.youtube.com; \
|
form-action 'self'; \
|
||||||
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; \
|
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
|
||||||
|
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
|
||||||
manifest-src 'self'; \
|
manifest-src 'self'; \
|
||||||
media-src 'self' \
|
media-src 'self'; \
|
||||||
|
object-src 'none'; \
|
||||||
|
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com; \
|
||||||
|
style-src 'self' 'unsafe-inline' www.youtube.com; \
|
||||||
"""
|
"""
|
||||||
X-Frame-Options = "SAMEORIGIN"
|
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
|
||||||
Referrer-Policy = "strict-origin"
|
Referrer-Policy = 'strict-origin'
|
||||||
Permissions-Policy = """\
|
Strict-Transport-Security = 'max-age=31536000; includeSubDomains; preload'
|
||||||
geolocation=(), \
|
X-Content-Type-Options = 'nosniff'
|
||||||
midi=(), \
|
X-Frame-Options = 'SAMEORIGIN'
|
||||||
sync-xhr=(), \
|
X-XSS-Protection = '1; mode=block'
|
||||||
microphone=(), \
|
cache-control = 'max-age=0, no-cache, no-store, must-revalidate '
|
||||||
camera=(), \
|
|
||||||
magnetometer=(), \
|
[[redirects]]
|
||||||
gyroscope=(), \
|
from = '/fr/*'
|
||||||
payment=() \
|
status = 404
|
||||||
"""
|
to = '/fr/404.html'
|
||||||
cache-control = """\
|
|
||||||
max-age=0, \
|
[[redirects]]
|
||||||
no-cache, \
|
from = '/nl/*'
|
||||||
no-store, \
|
status = 404
|
||||||
must-revalidate \
|
to = '/nl/404.html'
|
||||||
"""
|
|
||||||
Access-Control-Allow-Origin = "*"
|
[[redirects]]
|
||||||
# toml-docs-end server-config
|
from = '/en/*'
|
||||||
|
status = 404
|
||||||
|
to = '/en/404.html'
|
||||||
|
|
||||||
|
[[redirects]]
|
||||||
|
from = '/*'
|
||||||
|
status = 404
|
||||||
|
to = '/en/404.html'
|
||||||
|
|
||||||
|
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
|
go 1.19
|
||||||
|
|
||||||
require (
|
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",
|
"chroma",
|
||||||
"cky-audit-table-element",
|
"cky-audit-table-element",
|
||||||
"cky-banner-element",
|
"cky-banner-element",
|
||||||
"cky-cookie-audit-table",
|
|
||||||
"col",
|
"col",
|
||||||
"col-10",
|
"col-10",
|
||||||
"col-12",
|
"col-12",
|
||||||
@@ -422,7 +421,6 @@
|
|||||||
"tab-pane",
|
"tab-pane",
|
||||||
"table",
|
"table",
|
||||||
"table-responsive",
|
"table-responsive",
|
||||||
"table-striped",
|
|
||||||
"tag-link",
|
"tag-link",
|
||||||
"text-bg-body",
|
"text-bg-body",
|
||||||
"text-bg-body-tertiary",
|
"text-bg-body-tertiary",
|
||||||
@@ -505,7 +503,6 @@
|
|||||||
"body-file-collapse-1",
|
"body-file-collapse-1",
|
||||||
"bouton",
|
"bouton",
|
||||||
"breadcrumb",
|
"breadcrumb",
|
||||||
"btn-webshare",
|
|
||||||
"button",
|
"button",
|
||||||
"button-group",
|
"button-group",
|
||||||
"card",
|
"card",
|
||||||
|
11
go.mod
11
go.mod
@@ -5,14 +5,15 @@ go 1.19
|
|||||||
require (
|
require (
|
||||||
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
||||||
github.com/gethinode/mod-bootstrap v1.3.1 // indirect
|
github.com/gethinode/mod-bootstrap v1.3.1 // indirect
|
||||||
|
github.com/gethinode/mod-csp v1.0.3 // indirect
|
||||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
|
github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
|
||||||
github.com/gethinode/mod-fontawesome v1.10.0 // 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-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-lottie v1.5.11 // indirect
|
||||||
github.com/gethinode/mod-simple-datatables v1.0.13 // indirect
|
github.com/gethinode/mod-simple-datatables v1.0.14 // indirect
|
||||||
github.com/gethinode/mod-utils/v2 v2.8.1 // indirect
|
github.com/gethinode/mod-utils/v2 v2.8.3 // indirect
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
||||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
||||||
)
|
)
|
||||||
|
24
go.sum
24
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.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 h1:ZUX72St0WZ5tyXpEPBJlayX/dmCH3cGErzsozkUKCok=
|
||||||
github.com/gethinode/mod-bootstrap v1.3.1/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
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 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
|
||||||
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
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=
|
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
|
||||||
@@ -126,6 +134,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.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 h1:QUm4AeBR6D9cLx26F6Cy5qQvQe/19c2wTJAqxmCfAq4=
|
||||||
github.com/gethinode/mod-google-analytics v1.0.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
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 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
|
||||||
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
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=
|
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
|
||||||
@@ -170,6 +184,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.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 h1:AIHR4k8SjmeoZxtjLgSS6/N3jKeZNZGdZTgu/7MwP4c=
|
||||||
github.com/gethinode/mod-leaflet v1.1.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
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 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
|
||||||
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
||||||
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
|
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
|
||||||
@@ -218,6 +234,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.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 h1:tYFgk74T9zWy2FRkfkRI+8QVQy6lnuABnTeWQ8nUX5w=
|
||||||
github.com/gethinode/mod-lottie v1.5.10/go.mod h1:L7NpvCAm04R59GSAAm/UFoDCs/6UtrIC5zQEjgQSr4k=
|
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 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.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
|
||||||
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
|
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
|
||||||
@@ -240,6 +258,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.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 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.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 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
|
||||||
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||||
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
|
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
|
||||||
@@ -300,6 +320,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.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 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.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 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-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
||||||
|
@@ -49,6 +49,11 @@
|
|||||||
"5" (printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize)
|
"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 -->
|
<!-- Apply optional pagination -->
|
||||||
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $list) }}
|
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $list) }}
|
||||||
{{ $paginator := "" }}
|
{{ $paginator := "" }}
|
||||||
@@ -103,7 +108,7 @@
|
|||||||
{{- $colGrid := "" -}}
|
{{- $colGrid := "" -}}
|
||||||
{{ if not $args.scroll }}
|
{{ if not $args.scroll }}
|
||||||
{{ $colGrid = index $colsMap $args.cols }}
|
{{ $colGrid = index $colsMap $args.cols }}
|
||||||
{{ if $args.responsive }}{{ $sizes = index $sizesMap $args.cols }}{{ end }}
|
{{ $sizes = index $sizesMap $args.cols }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ if in (slice "2" "3" "4" "5") $args.cols }}
|
{{ if in (slice "2" "3" "4" "5") $args.cols }}
|
||||||
{{ $sizes = replace (printf "%.1fvw" (div 100.0 (int $args.cols))) ".0" "" }}
|
{{ $sizes = replace (printf "%.1fvw" (div 100.0 (int $args.cols))) ".0" "" }}
|
||||||
|
@@ -52,11 +52,12 @@
|
|||||||
{{- $page := "" }}
|
{{- $page := "" }}
|
||||||
{{- if .path }}
|
{{- if .path }}
|
||||||
{{ $page = partial "utilities/GetPage.html" (dict "url" .path "page" page) }}
|
{{ $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 }}
|
{{ 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 }}
|
{{ 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 }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -95,7 +96,7 @@
|
|||||||
|
|
||||||
{{- if $href -}}
|
{{- if $href -}}
|
||||||
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
|
<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 }}
|
{{ with $description }}
|
||||||
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
|
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
|
||||||
{{ . | safeHTML }}
|
{{ . | safeHTML }}
|
||||||
@@ -104,7 +105,7 @@
|
|||||||
</a>
|
</a>
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
<div>
|
<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 -}}
|
{{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@@ -13,7 +13,15 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<!-- Initialize arguments -->
|
<!-- 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 }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $destination = (strings.TrimPrefix (strings.TrimSuffix "/" site.BaseURL) $destination) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $destination = path.Clean $destination }}
|
||||||
{{ if not $destination }}{{ $destination = "/" }}{{ end }}
|
{{ if not $destination }}{{ $destination = "/" }}{{ end }}
|
||||||
|
|
||||||
{{- $target := "" -}}
|
{{- $target := "" -}}
|
||||||
@@ -60,7 +68,9 @@
|
|||||||
{{ $ref := partial "utilities/GetPage.html" (dict "url" $destination "page" $page) }}
|
{{ $ref := partial "utilities/GetPage.html" (dict "url" $destination "page" $page) }}
|
||||||
{{- if not $ref -}}
|
{{- if not $ref -}}
|
||||||
{{ $pageContext := "" }}
|
{{ $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) }}
|
{{ $isPageRes := fileExists (path.Join $pageContext $destination) }}
|
||||||
{{ $isStatic := fileExists (path.Join "static" $destination) }}
|
{{ $isStatic := fileExists (path.Join "static" $destination) }}
|
||||||
{{ if and (not $isPageRes) (not $isStatic) }}
|
{{ if and (not $isPageRes) (not $isStatic) }}
|
||||||
|
@@ -74,6 +74,7 @@
|
|||||||
"title" $item.Title
|
"title" $item.Title
|
||||||
"class" $class
|
"class" $class
|
||||||
"color" $color
|
"color" $color
|
||||||
|
"href" $item.Params.href
|
||||||
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||||
"thumbnail" $thumbnail
|
"thumbnail" $thumbnail
|
||||||
) -}}
|
) -}}
|
||||||
|
@@ -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) }}
|
{{ 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 -}}
|
{{- end -}}
|
||||||
{{ if $page.Site.Params.sharing.webshare }}
|
{{ if $page.Site.Params.sharing.webshare }}
|
||||||
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
|
{{ $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" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
{{ 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 -}}
|
{{- end -}}
|
||||||
{{ with $download }}
|
{{ with $download }}
|
||||||
{{ $label := (T "download" ) }}
|
{{ $label := (T "download" ) }}
|
||||||
|
@@ -46,7 +46,7 @@
|
|||||||
{{ if eq .Kind "404" -}}
|
{{ if eq .Kind "404" -}}
|
||||||
<meta name="robots" content="noindex, follow">
|
<meta name="robots" content="noindex, follow">
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ with .Params.robots -}}
|
{{ with or .Params.robots .Params.meta.robots -}}
|
||||||
<meta name="robots" content="{{ . }}">
|
<meta name="robots" content="{{ . }}">
|
||||||
{{ else -}}
|
{{ else -}}
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
{{ with .module }}
|
{{ with .module }}
|
||||||
{{- $dependencies := page.Scratch.Get "dependencies" -}}
|
{{- $dependencies := page.Scratch.Get "dependencies" -}}
|
||||||
{{- if reflect.IsSlice $dependencies -}}
|
{{- if reflect.IsSlice $dependencies -}}
|
||||||
{{- $dependencies = complement $dependencies . -}}
|
{{- $dependencies = complement $dependencies (slice .) -}}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{- $dependencies = slice . -}}
|
{{- $dependencies = slice . -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@@ -81,7 +81,9 @@
|
|||||||
{{ $ref := partial "utilities/GetPage.html" (dict "url" $url "page" .Page) }}
|
{{ $ref := partial "utilities/GetPage.html" (dict "url" $url "page" .Page) }}
|
||||||
{{- if not $ref -}}
|
{{- if not $ref -}}
|
||||||
{{ $pageContext := "" }}
|
{{ $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) }}
|
{{ $isPageRes := fileExists (path.Join $pageContext $url) }}
|
||||||
{{ $isStatic := fileExists (path.Join "/static" $url) }}
|
{{ $isStatic := fileExists (path.Join "/static" $url) }}
|
||||||
{{ if and (not $isPageRes) (not $isStatic) }}
|
{{ if and (not $isPageRes) (not $isStatic) }}
|
||||||
|
151
netlify.toml
151
netlify.toml
@@ -1,88 +1,81 @@
|
|||||||
# toml-docs-start netlify
|
# Auto-generated file - do not modify
|
||||||
[build]
|
[build]
|
||||||
publish = "exampleSite/public"
|
command = 'npm run build:example'
|
||||||
command = "npm run build:example"
|
publish = 'exampleSite/public'
|
||||||
|
|
||||||
[build.environment]
|
[build.environment]
|
||||||
DART_SASS_VERSION = "1.78.0"
|
DART_SASS_VERSION = '1.78.0'
|
||||||
HUGO_VERSION = "0.134.1"
|
HUGO_ENABLEGITINFO = 'true'
|
||||||
HUGO_ENV = "production"
|
HUGO_ENV = 'production'
|
||||||
HUGO_ENABLEGITINFO = "true"
|
HUGO_VERSION = '0.134.1'
|
||||||
NODE_VERSION = "20.17.0"
|
NODE_VERSION = '20.17.0'
|
||||||
NPM_VERSION = "10.8.2"
|
NPM_VERSION = '10.8.2'
|
||||||
# toml-docs-end netlify
|
|
||||||
|
|
||||||
[[headers]]
|
[context]
|
||||||
for = "/*"
|
[context.branch-deploy]
|
||||||
[headers.values]
|
command = 'npm run build:example -- -b $DEPLOY_PRIME_URL'
|
||||||
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.deploy-preview]
|
[context.deploy-preview]
|
||||||
command = "npm run build:example -- -b $DEPLOY_PRIME_URL"
|
command = 'npm run build:example -- -b $DEPLOY_PRIME_URL'
|
||||||
|
|
||||||
[context.branch-deploy]
|
|
||||||
command = "npm run build:example -- -b $DEPLOY_PRIME_URL"
|
|
||||||
|
|
||||||
[dev]
|
[dev]
|
||||||
framework = "#custom"
|
autoLaunch = false
|
||||||
command = "npm run start:example"
|
command = 'npm run start:example'
|
||||||
targetPort = 1313
|
framework = '#custom'
|
||||||
port = 8888
|
port = 8888
|
||||||
publish = "public"
|
publish = 'public'
|
||||||
autoLaunch = false
|
targetPort = 1313
|
||||||
|
|
||||||
# toml-docs-start plugins
|
|
||||||
[[plugins]]
|
|
||||||
package = "@gethinode/netlify-plugin-dartsass"
|
|
||||||
|
|
||||||
[[plugins]]
|
[[plugins]]
|
||||||
package = "netlify-plugin-hugo-cache-resources"
|
package = '@gethinode/netlify-plugin-dartsass'
|
||||||
[plugins.inputs]
|
|
||||||
# Redirected in exampleSite/config/_default/hugo.toml
|
[[plugins]]
|
||||||
# srcdir = ""
|
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 player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
|
||||||
|
img-src 'self' cdn-cookieyes.com *.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' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.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",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.27.0-beta2",
|
"version": "0.27.1",
|
||||||
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"hugo",
|
"hugo",
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
"prestart": "npm run -s mod:vendor",
|
"prestart": "npm run -s mod:vendor",
|
||||||
"start": "hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings",
|
"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: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",
|
"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",
|
"prebuild": "npm run clean:public && npm run -s mod:vendor",
|
||||||
"build": "hugo --gc --minify",
|
"build": "hugo --gc --minify",
|
||||||
@@ -28,6 +28,8 @@
|
|||||||
"build:example": "npm run -s prebuild && hugo --gc --minify -s exampleSite",
|
"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:example:ci": "npm run -s prebuild && hugo --gc --minify -s exampleSite -e ci",
|
||||||
"build:debug": "hugo -e debug --debug",
|
"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",
|
"build:preview": "npm run build -D -F",
|
||||||
"clean:public": "rimraf public exampleSite/public",
|
"clean:public": "rimraf public exampleSite/public",
|
||||||
"clean:install": "rimraf package-lock.json node_modules",
|
"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:styles": "stylelint \"assets/scss/**/*.{css,sass,scss,sss,less}\" --allow-empty-input",
|
||||||
"lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\" \"exampleSite/**/*.md\"",
|
"lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\" \"exampleSite/**/*.md\"",
|
||||||
"mod:clean": "hugo mod clean",
|
"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:tidy": "hugo mod tidy && hugo mod tidy -s exampleSite",
|
||||||
"mod:vendor": "rimraf _vendor && hugo mod vendor",
|
"mod:vendor": "rimraf _vendor && hugo mod vendor",
|
||||||
"test": "npm run -s lint",
|
"test": "npm run -s lint",
|
||||||
@@ -71,21 +73,22 @@
|
|||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"cssnano": "^7.0.6",
|
"cssnano": "^7.0.6",
|
||||||
"cssnano-preset-advanced": "^7.0.6",
|
"cssnano-preset-advanced": "^7.0.6",
|
||||||
"hugo-bin": "0.131.3",
|
"hugo-bin": "0.133.3",
|
||||||
"purgecss-whitelister": "^2.4.0"
|
"purgecss-whitelister": "^2.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
"@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",
|
"markdownlint-cli2": "^0.14.0",
|
||||||
"neostandard": "^0.11.6",
|
"neostandard": "^0.11.7",
|
||||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"postcss-cli": "^11.0.0",
|
"postcss-cli": "^11.0.0",
|
||||||
"replace-in-files-cli": "^3.0.0",
|
"replace-in-files-cli": "^3.0.0",
|
||||||
"rimraf": "^6.0.1",
|
"rimraf": "^6.0.1",
|
||||||
"shx": "^0.3.4",
|
"shx": "^0.3.4",
|
||||||
"stylelint": "^16.9.0",
|
"stylelint": "^16.10.0",
|
||||||
"stylelint-config-standard-scss": "^13.1.0"
|
"stylelint-config-standard-scss": "^13.1.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
|
Reference in New Issue
Block a user