Compare commits

...

133 Commits

Author SHA1 Message Date
Mark Dumay
6b39b028fb Merge pull request #1276 from gethinode/develop
Fix button label argument
2024-10-26 09:31:04 +02:00
Mark Dumay
9a83550378 Merge branch 'main' into develop 2024-10-26 09:12:48 +02:00
Mark Dumay
792443c4cf Bump package release 2024-10-26 09:12:01 +02:00
Mark Dumay
3d52162925 Fix button label argument 2024-10-26 09:11:26 +02:00
Mark Dumay
80b28f7557 Merge pull request #1275 from gethinode/develop
Shift Hugo highlighting options to Hinode docs
2024-10-26 08:58:40 +02:00
Mark Dumay
43eebdf53f Merge branch 'main' into develop 2024-10-26 07:57:24 +02:00
Mark Dumay
b5062fe687 Merge pull request #1274 from gethinode/develop
Init default card color variable
2024-10-26 07:56:44 +02:00
Mark Dumay
51aa15266b Shift Hugo highlighting options to Hinode docs 2024-10-26 07:40:41 +02:00
Mark Dumay
19f638a129 Merge branch 'main' into develop 2024-10-26 07:30:21 +02:00
Mark Dumay
aa2e5ca6f4 Merge pull request #1273 from d-oit/file-options
feat: File component extend with Hugo highlight options
2024-10-26 07:28:00 +02:00
Mark Dumay
04eea0db71 Bump package release 2024-10-26 07:25:59 +02:00
Mark Dumay
4645f4ee7c Init default card color variable 2024-10-26 07:25:06 +02:00
do
bb6421c70b feat: File component extend with Hugo highlight options 2024-10-25 22:21:25 +02:00
Mark Dumay
622c6ee1c0 Merge pull request #1271 from gethinode/develop
Fix passing of button label argument to card
2024-10-25 18:35:36 +02:00
Mark Dumay
f1befb05cc Merge branch 'main' into develop 2024-10-25 18:28:05 +02:00
Mark Dumay
e146e3a559 Fix passing of button label argument to card 2024-10-25 18:27:39 +02:00
Mark Dumay
068e773ab0 Merge pull request #1270 from gethinode/develop
Improve navbar modal search accessibility
2024-10-25 16:39:04 +02:00
Mark Dumay
3ae91a78a1 Merge branch 'main' into develop 2024-10-25 16:32:31 +02:00
Mark Dumay
6627446961 Bump package release 2024-10-25 16:31:54 +02:00
Mark Dumay
d4fd6ece60 Improve navbar modal search accessibility 2024-10-25 16:31:26 +02:00
Mark Dumay
a746fd147c Merge pull request #1269 from gethinode/develop
Fix link cleaning and navbar menu check
2024-10-25 15:58:02 +02:00
Mark Dumay
d0410af879 Merge branch 'main' into develop 2024-10-25 15:52:30 +02:00
Mark Dumay
314f1a0ca4 Fix navbar menu conditional check 2024-10-25 15:50:50 +02:00
Mark Dumay
066c5ce8eb Fix cleaning of links that include a scheme 2024-10-25 15:32:44 +02:00
Mark Dumay
bba9629f54 Merge pull request #1268 from gethinode/develop
Improve site accessibility and SEO score
2024-10-25 15:32:28 +02:00
Mark Dumay
d2d59ec3ef Merge branch 'main' into develop 2024-10-25 15:20:00 +02:00
Mark Dumay
c080be2872 CLean up params file 2024-10-25 15:17:41 +02:00
Mark Dumay
3c17234b33 Update build stats 2024-10-25 15:17:13 +02:00
Mark Dumay
16884abcba Bump package release 2024-10-25 15:16:59 +02:00
Mark Dumay
2abbe4f6de Update dependencies 2024-10-25 15:16:36 +02:00
Mark Dumay
c6f9de0a64 Integrate vimeo as optional module 2024-10-25 15:16:24 +02:00
Mark Dumay
39f104fa5f Set default alt title for images 2024-10-25 14:03:15 +02:00
Mark Dumay
437ad0dbf7 Improve accessibility of nav control 2024-10-25 09:19:13 +02:00
Mark Dumay
2eb354d941 Improve theme switcher accessibility 2024-10-24 17:56:49 +02:00
github-actions[bot]
5a7f46bca4 Merge pull request #1265 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.133.5
Bump hugo-bin from 0.133.3 to 0.133.5
2024-10-24 13:43:42 +00:00
dependabot[bot]
0bc37ff426 Bump hugo-bin from 0.133.3 to 0.133.5
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.133.3 to 0.133.5.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.133.3...v0.133.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 13:36:19 +00:00
Mark Dumay
0d24f85e13 Merge pull request #1262 from d-oit/patch-1
Fix attribute aria-inledby -> aria-labelledby
2024-10-24 06:58:56 +02:00
Mark Dumay
d067171ba2 Merge branch 'main' into patch-1 2024-10-24 06:51:59 +02:00
Mark Dumay
09e649d432 Merge pull request #1263 from gethinode/develop
Improve SEO score of navbar item without url
2024-10-24 06:51:13 +02:00
Mark Dumay
87c7bd4238 Merge branch 'main' into develop 2024-10-24 06:37:45 +02:00
Mark Dumay
19734f6a1f Improve SEO score of navbar item without url 2024-10-24 06:37:11 +02:00
Dominik Oswald
12a5ebad9f Fix attribute aria-inledby -> aria-labelledby 2024-10-23 19:55:36 +02:00
Mark Dumay
1b964777a4 Merge pull request #1261 from gethinode/develop
Improve deployment to subfolder
2024-10-23 16:04:28 +02:00
Mark Dumay
f910d1bbbb Merge branch 'main' into develop 2024-10-23 15:57:34 +02:00
Mark Dumay
86461c9739 Improve deployment to subfolder 2024-10-23 15:56:03 +02:00
github-actions[bot]
a730255eb6 Merge pull request #1260 from gethinode/dependabot/npm_and_yarn/neostandard-0.11.7
Bump neostandard from 0.11.6 to 0.11.7
2024-10-23 13:53:38 +00:00
dependabot[bot]
e940cc9931 Bump neostandard from 0.11.6 to 0.11.7
Bumps [neostandard](https://github.com/neostandard/neostandard) from 0.11.6 to 0.11.7.
- [Release notes](https://github.com/neostandard/neostandard/releases)
- [Changelog](https://github.com/neostandard/neostandard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/neostandard/neostandard/compare/v0.11.6...v0.11.7)

---
updated-dependencies:
- dependency-name: neostandard
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 13:44:53 +00:00
Mark Dumay
3a70d25f2e Merge pull request #1259 from gethinode/develop
Support multiple sharing buttons on same page
2024-10-23 15:20:47 +02:00
Mark Dumay
9e72e5fe73 Merge branch 'main' into develop 2024-10-23 15:12:46 +02:00
Mark Dumay
561bdcac28 Support multiple sharing buttons on same page
Handles pages that render multiple sharing buttons to cater for responsive layout.
2024-10-23 15:11:58 +02:00
Mark Dumay
11cd2bb167 Merge pull request #1257 from gethinode/develop
Fix link to multilingual page resources
2024-10-23 07:16:15 +02:00
Mark Dumay
45a71fc1d1 Merge branch 'main' into develop 2024-10-23 07:08:25 +02:00
Mark Dumay
3f5c10319b Fix link to multilingual page resources 2024-10-23 07:07:40 +02:00
github-actions[bot]
e4331c8ce7 Merge pull request #1256 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.133.3
Bump hugo-bin from 0.133.2 to 0.133.3
2024-10-22 13:58:00 +00:00
dependabot[bot]
6166615629 Bump hugo-bin from 0.133.2 to 0.133.3
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.133.2 to 0.133.3.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.133.2...v0.133.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 13:52:44 +00:00
github-actions[bot]
27c15b4e36 Merge pull request #1254 from gethinode/dependabot/npm_and_yarn/eslint-9.13.0
Bump eslint from 9.12.0 to 9.13.0
2024-10-21 13:53:24 +00:00
dependabot[bot]
c99e8c83d1 Bump eslint from 9.12.0 to 9.13.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.12.0 to 9.13.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.12.0...v9.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 13:46:17 +00:00
Mark Dumay
a0cbdd0cbb Merge pull request #1253 from gethinode/develop
Bump package release
2024-10-21 12:34:12 +02:00
Mark Dumay
1ed825d7ca Bump package release 2024-10-21 12:23:42 +02:00
Mark Dumay
09099eba58 Merge pull request #1252 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-10-21 12:22:30 +02:00
markdumay
58b2eebea5 fix: update Hugo module dependencies 2024-10-21 10:15:24 +00:00
Mark Dumay
46a2a6c994 Merge pull request #1251 from gethinode/develop
Assign theme color and site language to essential cookie category
2024-10-21 11:36:32 +02:00
Mark Dumay
0dcec12256 Update linting exceptions 2024-10-21 11:28:07 +02:00
Mark Dumay
50a188e807 Merge branch 'main' into develop 2024-10-21 11:13:24 +02:00
Mark Dumay
400f27dcc9 Assign theme color and site language to essential cookie category 2024-10-21 11:12:48 +02:00
Mark Dumay
90bcc744ff Merge pull request #1250 from gethinode/develop
Fix add module code
2024-10-21 11:08:46 +02:00
Mark Dumay
cf0fae6dc1 Merge branch 'main' into develop 2024-10-21 11:01:41 +02:00
Mark Dumay
1b39d23ddf Fix add module code 2024-10-21 11:01:06 +02:00
Mark Dumay
c94249408c Merge pull request #1249 from gethinode/develop
Bump package release
2024-10-20 13:24:22 +02:00
Mark Dumay
f4f207fa25 Merge branch 'main' into develop 2024-10-20 12:57:11 +02:00
Mark Dumay
307067629e Bump package release 2024-10-20 12:56:38 +02:00
Mark Dumay
f9174e4505 Merge pull request #1248 from gethinode/develop
Fix navbar color mode update
2024-10-20 12:54:58 +02:00
Mark Dumay
320d44c78d Merge branch 'main' into develop 2024-10-20 11:46:39 +02:00
Mark Dumay
091526a17b Fix navbar color mode update
Fixes Switching themes does not work properly #1177
2024-10-20 11:43:50 +02:00
Mark Dumay
9ec61d645d Merge pull request #1247 from gethinode/develop
Fix sharing button
2024-10-20 11:08:16 +02:00
Mark Dumay
0630043210 Merge branch 'main' into develop 2024-10-20 08:45:20 +02:00
Mark Dumay
2933d1d3bb Fix sharing button 2024-10-20 08:44:15 +02:00
Mark Dumay
aa5118cdf6 Merge pull request #1246 from gethinode/develop
Support meta.robots attribute in page params
2024-10-19 15:07:53 +02:00
Mark Dumay
ec1c87070b Merge branch 'main' into develop 2024-10-19 08:36:15 +02:00
Mark Dumay
e806dc07a4 Support meta.robots attribute in page params 2024-10-19 08:34:55 +02:00
github-actions[bot]
9e7478f4c4 Merge pull request #1245 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.133.2
Bump hugo-bin from 0.133.1 to 0.133.2
2024-10-18 14:01:39 +00:00
dependabot[bot]
686dd1c946 Bump hugo-bin from 0.133.1 to 0.133.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.133.1 to 0.133.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.133.1...v0.133.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 13:55:31 +00:00
Mark Dumay
548a2fa835 Merge pull request #1244 from gethinode/develop
Support configuration of internal links validation
2024-10-18 07:00:23 +02:00
Mark Dumay
1338df7b8a Merge branch 'main' into develop 2024-10-18 06:55:08 +02:00
Mark Dumay
150e438c59 Bump package release 2024-10-18 06:54:10 +02:00
Mark Dumay
285f262a01 Remove bold formatting of card title 2024-10-18 06:53:11 +02:00
Mark Dumay
7989dd17d4 Support configuration of internal links validation 2024-10-18 06:52:47 +02:00
github-actions[bot]
5f4070b481 Merge pull request #1243 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.133.1
Bump hugo-bin from 0.133.0 to 0.133.1
2024-10-17 13:17:49 +00:00
dependabot[bot]
00160137e8 Bump hugo-bin from 0.133.0 to 0.133.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.133.0 to 0.133.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.133.0...v0.133.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-17 13:11:58 +00:00
github-actions[bot]
51510ae047 Merge pull request #1242 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.133.0
Bump hugo-bin from 0.132.0 to 0.133.0
2024-10-16 13:59:22 +00:00
dependabot[bot]
4fc95db0e9 Bump hugo-bin from 0.132.0 to 0.133.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.132.0 to 0.133.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.132.0...v0.133.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-16 13:54:30 +00:00
github-actions[bot]
a1f899c1de Merge pull request #1241 from gethinode/dependabot/npm_and_yarn/stylelint-16.10.0
Bump stylelint from 16.9.0 to 16.10.0
2024-10-14 13:40:53 +00:00
dependabot[bot]
e358e737be Bump stylelint from 16.9.0 to 16.10.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.9.0 to 16.10.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.9.0...16.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 13:34:47 +00:00
Mark Dumay
0e35d26f20 Merge pull request #1239 from gethinode/develop
Bump package release
2024-10-12 17:25:44 +02:00
Mark Dumay
ede04405d1 Merge branch 'main' into develop 2024-10-12 17:20:03 +02:00
Mark Dumay
30aa2df2d2 Bump package release 2024-10-12 17:18:35 +02:00
Mark Dumay
47d582f855 Merge pull request #1238 from gethinode/develop
Modify server headers
2024-10-12 17:13:19 +02:00
Mark Dumay
fa1fcc3dd0 Merge branch 'main' into develop 2024-10-12 17:08:58 +02:00
Mark Dumay
04bc95720b Modify server headers 2024-10-12 17:08:32 +02:00
Mark Dumay
5c539ec003 Merge pull request #1237 from gethinode/develop
Modify hugo mod update
2024-10-12 16:48:48 +02:00
Mark Dumay
b19201e561 Merge branch 'main' into develop 2024-10-12 16:42:31 +02:00
Mark Dumay
7e21c93e22 Merge pull request #1233 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-10-12 16:42:06 +02:00
Mark Dumay
c81efe61d0 Modify hugo mod update 2024-10-12 16:41:41 +02:00
Mark Dumay
6fe8e12509 Merge branch 'main' into hugo-mod-dependencies 2024-10-12 16:28:17 +02:00
Mark Dumay
44b243489b Merge pull request #1236 from gethinode/develop
Shift custom 404 redirects to data file
2024-10-12 16:02:26 +02:00
Mark Dumay
548dca2bb1 Shift custom 404 redirects to data file 2024-10-12 15:55:23 +02:00
Mark Dumay
b3e47b85f3 Merge pull request #1235 from d-oit/404error
show language 404.html with redirect config
2024-10-12 15:41:38 +02:00
Dominik Oswald
087d3666b8 move to _default - production is not used for the exampleSite 2024-10-11 10:38:03 +02:00
Dominik Oswald
77f4354499 show language 404.html with redirect config 2024-10-11 09:27:18 +02:00
markdumay
362bf368ce fix: update Hugo module dependencies 2024-10-11 03:09:20 +00:00
Mark Dumay
fc17256fd2 Merge pull request #1222 from Ipstenu/patch-1
Allow front page Persona usage to link to a page
2024-10-10 10:38:49 +02:00
Mark Dumay
887aff5c5b Merge branch 'main' into patch-1 2024-10-10 10:32:27 +02:00
Mark Dumay
6ec26f1216 Merge pull request #1230 from gethinode/develop
Refine CSP configuration
2024-10-10 10:30:17 +02:00
Mark Dumay
357c74e3e0 Merge branch 'main' into develop 2024-10-10 10:23:54 +02:00
Mark Dumay
4b419810ea Bump package release 2024-10-10 10:23:13 +02:00
Mark Dumay
0a313172bd Update build stats 2024-10-10 10:22:46 +02:00
Mark Dumay
93eec0ff5a Add CSP docs annotations 2024-10-10 10:22:41 +02:00
Mark Dumay
f9fc8d9a6a Revise order of output formats 2024-10-10 10:22:27 +02:00
Mark Dumay
c537b9cfe4 Merge pull request #1229 from gethinode/develop
Fix responsive behavior of card group
2024-10-10 10:21:11 +02:00
Mark Dumay
c37fe75f0d Merge branch 'main' into develop 2024-10-10 10:15:58 +02:00
Mark Dumay
4034289a7f Fix responsive behavior of card group 2024-10-10 10:14:48 +02:00
github-actions[bot]
9b5c572ab9 Merge pull request #1226 from gethinode/dependabot/npm_and_yarn/eslint-9.12.0
Bump eslint from 9.11.1 to 9.12.0
2024-10-07 13:43:51 +00:00
dependabot[bot]
10c6344493 Bump eslint from 9.11.1 to 9.12.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.11.1 to 9.12.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.11.1...v9.12.0)

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

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

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

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

1
.gitignore vendored
View File

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

View File

@@ -1,9 +1,12 @@
/* eslint-disable */
{{- if site.Params.main.enableLanguageSelectionStorage -}}
{{- 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 + '/'
}
})
})()

View File

@@ -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)
}
}

View File

@@ -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 -}}

View File

@@ -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;

View File

@@ -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;

View File

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

View File

@@ -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"]

View File

@@ -1,41 +1,29 @@
# toml-docs-start server-config
# Auto-generated file - do not modify
[[headers]]
for = '/**'
[headers.values]
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options = "nosniff"
X-XSS-Protection = "1; mode=block"
Content-Security-Policy = """\
default-src 'self'; \
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
for = '/**'
[headers.values]
Access-Control-Allow-Origin = '*'
Content-Security-Policy = """
base-uri 'self'; \
connect-src 'self'
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://player.cloudinary.com https://player.vimeo.com https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' data: https://*.imgix.net https://*.imagekit.io https://*.cloudinary.com https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
connect-src 'self' *.google-analytics.com *.analytics.google.com *.googletagmanager.com; \
default-src 'none'; \
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
View File

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

41
data/server.toml Normal file
View File

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

View File

@@ -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

View File

@@ -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',

View File

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

View File

@@ -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

View File

@@ -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"
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"

View File

@@ -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'

View File

@@ -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 -->

View 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

View File

@@ -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
)

View File

@@ -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=

View File

@@ -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
View File

@@ -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
View File

@@ -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=

View File

@@ -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
}
}

View File

@@ -155,3 +155,7 @@
translation: Tipp
- id: warning
translation: Warnung
# Image
- id: image
translation: Bild

View File

@@ -160,4 +160,8 @@
- id: tip
translation: Tip
- id: warning
translation: Warning
translation: Warning
# Image
- id: image
translation: image

View File

@@ -149,3 +149,7 @@
translation: "Commentaire"
- id: supportedValues
translation: "Valeurs supportées"
# Image
- id: image
translation: image

View File

@@ -160,3 +160,7 @@
translation: Tip
- id: warning
translation: Waarschuwing
# Image
- id: image
translation: Bild

View File

@@ -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>
@@ -41,4 +41,4 @@
</div>
{{ end -}}
</div>
{{ end -}}
{{ end -}}

View File

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

View File

@@ -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 -}}

View File

@@ -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">

View File

@@ -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>

View File

@@ -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) }}

View File

@@ -52,47 +52,50 @@
<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 }}
{{ if $vertical }}</div>{{ end }}
</div>
</div>

View File

@@ -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 }}&nbsp;{{ $suffix }}{{ end -}}
</a>
{{ cond (ne $menuURL "") "</a>" "</div>" | safeHTML }}
{{ end }}
{{ end }}

View File

@@ -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") }}&nbsp;{{ 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>

View File

@@ -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" ) }}

View File

@@ -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")) }}

View File

@@ -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">

View File

@@ -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 }}

View File

@@ -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>

View File

@@ -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) }}

View File

@@ -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 -}}

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.27.0-beta2",
"version": "0.27.7",
"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": {