Compare commits

...

175 Commits

Author SHA1 Message Date
github-actions[bot]
56eaa9d90b Merge pull request #1105 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.129.2
Bump hugo-bin from 0.129.1 to 0.129.2
2024-08-15 13:42:51 +00:00
dependabot[bot]
492dbbec24 Bump hugo-bin from 0.129.1 to 0.129.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.129.1 to 0.129.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.129.1...v0.129.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-08-15 13:38:04 +00:00
Mark Dumay
d2fc5e3433 Merge pull request #1104 from gethinode/develop
Support markdown links
2024-08-15 15:15:30 +02:00
Mark Dumay
b5cc3f6d84 Merge branch 'main' into develop 2024-08-15 14:46:54 +02:00
Mark Dumay
e1e1041c1b Support markdown links
Closes #826
2024-08-15 14:46:10 +02:00
Mark Dumay
e1cac645a7 Merge pull request #1103 from gethinode/develop
Support markdown images
2024-08-15 13:14:35 +02:00
Mark Dumay
d23d533575 Merge branch 'main' into develop 2024-08-15 12:48:56 +02:00
Mark Dumay
d447a4a65a Support markdown images 2024-08-15 12:48:26 +02:00
Mark Dumay
3a466277e3 Merge pull request #1102 from gethinode/develop
Support server-side math rendering using KaTeX
2024-08-15 11:44:50 +02:00
Mark Dumay
2b09ceef93 Merge branch 'main' into develop 2024-08-15 10:22:46 +02:00
Mark Dumay
ee30409257 Support server-side math rendering using KaTeX 2024-08-15 10:22:12 +02:00
Mark Dumay
70583bdb33 Merge pull request #1101 from gethinode/develop
Fix rendering of theme toggle button
2024-08-14 16:57:34 +02:00
Mark Dumay
8e1a299a72 Merge branch 'main' into develop 2024-08-14 16:36:52 +02:00
Mark Dumay
e20aba4907 Improve initial state of theme toggle button 2024-08-14 16:33:04 +02:00
Mark Dumay
1aedf22923 Fix toggle button color in high-contrast mode 2024-08-14 14:47:10 +02:00
Mark Dumay
e77671ffef Merge pull request #1100 from gethinode/develop
Bump required Hugo version
2024-08-14 14:20:09 +02:00
Mark Dumay
433f8ef60d Merge branch 'main' into develop 2024-08-14 14:00:50 +02:00
Mark Dumay
acb261ba69 Bump required Hugo version
Hinode v0.25.5 uses the blockquote template and GitHub-style alerts introduced by Hugo v0.132.0
2024-08-14 13:33:41 +02:00
Mark Dumay
b04b5a136f Merge pull request #1099 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-08-14 07:04:31 +02:00
markdumay
953f4ba908 fix: update Hugo module dependencies 2024-08-14 03:06:36 +00:00
Mark Dumay
90e65b5614 Merge pull request #1096 from gethinode/develop
Add link type to release shortcode
2024-08-13 17:17:19 +02:00
Mark Dumay
944437ea4c Merge branch 'main' into develop 2024-08-13 17:07:25 +02:00
Mark Dumay
5d0593bf65 Add link type to release shortcode 2024-08-13 17:06:47 +02:00
Mark Dumay
4935e627f6 Merge pull request #1095 from gethinode/develop
Refine rendering of embedded buttons
2024-08-13 17:03:26 +02:00
Mark Dumay
f7d535d025 Merge branch 'main' into develop 2024-08-13 16:16:38 +02:00
Mark Dumay
67280d6ad0 Refine refining of embedded buttons 2024-08-13 16:16:00 +02:00
Mark Dumay
e21332d016 Merge pull request #1094 from gethinode/develop
Fix inline rendering of buttons
2024-08-13 16:11:20 +02:00
Mark Dumay
f306bc2b22 Merge branch 'main' into develop 2024-08-13 16:04:35 +02:00
github-actions[bot]
475745cc6c Merge pull request #1093 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.129.1
Bump hugo-bin from 0.129.0 to 0.129.1
2024-08-13 14:03:22 +00:00
Mark Dumay
90c43c84e5 Bump package release 2024-08-13 16:00:25 +02:00
Mark Dumay
a81b672731 Fix inline rendering of buttons 2024-08-13 15:59:47 +02:00
dependabot[bot]
b86ec388b6 Bump hugo-bin from 0.129.0 to 0.129.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.129.0 to 0.129.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.129.0...v0.129.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-08-13 13:58:21 +00:00
Mark Dumay
5dd0fce394 Merge pull request #1091 from d-oit/main
Save and load the selected language on domain level
2024-08-13 13:48:55 +02:00
Mark Dumay
a66dc2f91c Disable language selection storage in default setup 2024-08-13 13:41:40 +02:00
Mark Dumay
0072292522 Refine layout 2024-08-13 13:39:39 +02:00
Mark Dumay
d3f534629d Restore scheduled updates 2024-08-13 13:35:18 +02:00
Mark Dumay
1407e1ba0d Merge branch 'main' into main 2024-08-13 11:43:29 +02:00
Mark Dumay
b9bce4800c Merge pull request #1092 from gethinode/develop
Support GitHub-style alerts
2024-08-13 11:35:28 +02:00
Mark Dumay
a5a424b6ed Merge branch 'main' into develop 2024-08-13 11:27:50 +02:00
Mark Dumay
9c8b21233c Support GitHub-style alerts
Fixes #1070
2024-08-13 11:27:05 +02:00
Mark Dumay
b564696728 Merge pull request #1090 from gethinode/develop
Bump hugo bin dependency
2024-08-13 10:19:46 +02:00
Mark Dumay
c669c82324 Merge branch 'main' into develop 2024-08-13 10:13:09 +02:00
Mark Dumay
8014f4d636 Bump hugo bin dependency 2024-08-13 10:12:39 +02:00
Mark Dumay
7f80f52294 Merge pull request #1089 from gethinode/develop
Fix color mode behavior of navbar
2024-08-13 10:09:40 +02:00
Mark Dumay
485db3808f Fix linting issue 2024-08-13 10:01:16 +02:00
Mark Dumay
7b10339aea Fix navbar title color in high-contrast mode 2024-08-13 09:43:04 +02:00
Mark Dumay
ed5c32a7a4 Merge branch 'main' into develop 2024-08-13 09:22:08 +02:00
Mark Dumay
c42a379ca0 Fix color mode behavior of navbar
Fixes #1083
2024-08-13 09:21:03 +02:00
Mark Dumay
22c17c3123 Merge pull request #1088 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-08-13 07:17:40 +02:00
markdumay
e4f82c1304 fix: update Hugo module dependencies 2024-08-13 03:06:04 +00:00
do
07fa46b9a6 prevent loading twice 2024-08-12 18:39:38 +02:00
github-actions[bot]
809ce0d4ad Merge pull request #1086 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.5
Bump cssnano-preset-advanced from 7.0.4 to 7.0.5
2024-08-12 13:45:04 +00:00
dependabot[bot]
deb97e0e29 Bump cssnano-preset-advanced from 7.0.4 to 7.0.5
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@7.0.4...cssnano-preset-advanced@7.0.5)

---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 13:39:15 +00:00
github-actions[bot]
14a89a2ff9 Merge pull request #1087 from gethinode/dependabot/npm_and_yarn/cssnano-7.0.5
Bump cssnano from 7.0.4 to 7.0.5
2024-08-12 13:38:09 +00:00
dependabot[bot]
81b40d145d Bump cssnano from 7.0.4 to 7.0.5
Bumps [cssnano](https://github.com/cssnano/cssnano) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.0.4...cssnano@7.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 13:33:05 +00:00
Mark Dumay
1dfce3d445 Merge pull request #1085 from gethinode/develop
Reduce screen flickering when using color mode
2024-08-12 15:00:47 +02:00
Mark Dumay
145b2c29d1 Merge branch 'main' into develop 2024-08-12 14:49:36 +02:00
Mark Dumay
77fe046bea Bump package release 2024-08-12 14:48:47 +02:00
Mark Dumay
63250c6ac9 Reduce screen flickering when using color mode 2024-08-12 14:48:21 +02:00
Mark Dumay
54e0f720bd Merge pull request #1082 from gethinode/develop
Fix argument handling
2024-08-11 16:40:44 +02:00
Mark Dumay
423670f95f Merge branch 'main' into develop 2024-08-11 16:34:17 +02:00
Mark Dumay
78560aa07a Bump package release 2024-08-11 16:33:42 +02:00
Mark Dumay
1c6ff7ac55 Fix argument handling 2024-08-11 16:32:56 +02:00
Mark Dumay
eb9b7ea8f0 Include autotitle release 2024-08-11 16:32:29 +02:00
Mark Dumay
753b949af2 Merge pull request #1081 from gethinode/develop
Simplify blockquote specification
2024-08-11 16:06:46 +02:00
Mark Dumay
2322cdcdc0 Merge branch 'main' into develop 2024-08-11 16:00:22 +02:00
Mark Dumay
edc8128395 Simplify blockquote specification 2024-08-11 15:59:39 +02:00
Mark Dumay
cc22f73f5c Merge pull request #1080 from gethinode/develop
Improve handling of unspecified post date
2024-08-11 15:36:16 +02:00
Mark Dumay
8312de35c8 Merge branch 'main' into develop 2024-08-11 15:24:34 +02:00
Mark Dumay
a3a8d7e08c Improve handling of unspecified post date 2024-08-11 15:23:50 +02:00
Mark Dumay
0513692cf5 Merge pull request #1079 from gethinode/develop
Bump Netlify build environment
2024-08-11 13:38:19 +02:00
Mark Dumay
bfa6e00c2f Adjust Dart Sass version 2024-08-11 13:07:17 +02:00
Mark Dumay
c61fa6b4c7 Merge branch 'main' into develop 2024-08-11 12:55:20 +02:00
Mark Dumay
c754451002 Bump Netlify build environment 2024-08-11 12:54:06 +02:00
Mark Dumay
8d4cb82863 Merge pull request #1078 from gethinode/develop
Refactor YouTube shortcode
2024-08-11 12:45:47 +02:00
Mark Dumay
ae18134218 Merge branch 'main' into develop 2024-08-11 12:06:21 +02:00
Mark Dumay
fb20543d88 Refactor YouTube shortcode
Includes the following changes:
 - Add support to retrieve the YouTube title from the video metadata
 - Adjusts autoplay configuration
 - Improve argument handling
2024-08-11 12:05:48 +02:00
Mark Dumay
14d1489b60 Merge pull request #1077 from gethinode/develop
Update node test strategy
2024-08-11 12:05:38 +02:00
Mark Dumay
e99ac83fbc Merge branch 'main' into develop 2024-08-11 11:57:59 +02:00
Mark Dumay
d96b103180 Update node test strategy 2024-08-11 11:57:06 +02:00
Mark Dumay
7f1dc95402 Merge pull request #1076 from gethinode/develop
Fix handling of bool shortcode arguments
2024-08-11 11:55:24 +02:00
Mark Dumay
e3420e357c Merge branch 'main' into develop 2024-08-11 11:49:29 +02:00
Mark Dumay
5ee51ebb18 Fix handling of bool shortcode arguments 2024-08-11 11:38:31 +02:00
Mark Dumay
684ec0f823 Merge pull request #1072 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-08-11 07:17:25 +02:00
Dominik Oswald
5335e3d607 Update remove-selected-language.md 2024-08-09 19:46:09 +02:00
Dominik Oswald
3fc51e6158 Update remove-selected-language.md 2024-08-09 19:42:07 +02:00
Dominik Oswald
4a20e8beef fix lint erros 2024-08-09 17:21:44 +02:00
Dominik Oswald
163ac52332 Store and load the selected language 2024-08-09 16:27:07 +02:00
Dominik Oswald
176c5447a8 Merge branch 'gethinode:main' into main 2024-08-09 15:18:33 +02:00
markdumay
1a88fa93bb fix: update Hugo module dependencies 2024-08-08 03:05:46 +00:00
github-actions[bot]
b0d266aedc Merge pull request #1068 from gethinode/dependabot/npm_and_yarn/autoprefixer-10.4.20
Bump autoprefixer from 10.4.19 to 10.4.20
2024-08-05 13:48:58 +00:00
dependabot[bot]
eba81c236a Bump autoprefixer from 10.4.19 to 10.4.20
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.19 to 10.4.20.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.19...10.4.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 13:43:39 +00:00
github-actions[bot]
cdca92ea02 Merge pull request #1067 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.128.0
Bump hugo-bin from 0.127.0 to 0.128.0
2024-08-05 13:42:28 +00:00
dependabot[bot]
a4743aabf5 Bump hugo-bin from 0.127.0 to 0.128.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.127.0 to 0.128.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.127.0...v0.128.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-08-05 13:37:01 +00:00
Mark Dumay
cf8465e627 Merge pull request #1066 from gethinode/develop
Fix FlexSearch purge settings
2024-08-02 10:40:15 +02:00
Mark Dumay
86941f05d0 Merge branch 'main' into develop 2024-08-02 10:35:11 +02:00
Mark Dumay
cbb777f524 Fix FlexSearch purge settings 2024-08-02 10:32:38 +02:00
Mark Dumay
d20d00e42f Merge pull request #1065 from gethinode/develop
Support localization of script bundles
2024-08-02 09:55:56 +02:00
Mark Dumay
348981a1a0 Support localization of script bundles 2024-08-02 09:49:10 +02:00
Mark Dumay
0942d79e2c Merge pull request #1062 from gethinode/develop
Bump package release
2024-07-31 14:16:48 +02:00
Mark Dumay
0251bd1838 Merge branch 'main' into develop 2024-07-31 14:10:24 +02:00
Mark Dumay
ae5e240cf1 Bump package release 2024-07-31 14:09:58 +02:00
Mark Dumay
dd127b973a Merge pull request #1061 from gethinode/develop
Optimize image size of scrollable card group
2024-07-31 07:43:59 +02:00
Mark Dumay
63b186a2e5 Merge branch 'main' into develop 2024-07-31 07:13:44 +02:00
github-actions[bot]
bc71ba1d19 Merge pull request #1059 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.127.0
Bump hugo-bin from 0.126.0 to 0.127.0
2024-07-31 04:59:09 +00:00
Mark Dumay
9c3bd970a5 Merge branch 'main' into dependabot/npm_and_yarn/hugo-bin-0.127.0 2024-07-31 06:52:24 +02:00
Mark Dumay
9f143786af Optimize image size of scrollable card group 2024-07-31 06:51:52 +02:00
github-actions[bot]
e8ccada6f3 Merge pull request #1058 from gethinode/dependabot/npm_and_yarn/stylelint-16.8.1
Bump stylelint from 16.7.0 to 16.8.1
2024-07-30 14:07:33 +00:00
dependabot[bot]
a40092b1eb Bump hugo-bin from 0.126.0 to 0.127.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.126.0 to 0.127.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.126.0...v0.127.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-07-30 14:01:31 +00:00
dependabot[bot]
00965b5224 Bump stylelint from 16.7.0 to 16.8.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.7.0 to 16.8.1.
- [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.7.0...16.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 14:01:24 +00:00
Mark Dumay
92dc97d325 Merge pull request #1056 from gethinode/develop
Add anchor support to cards
2024-07-29 17:33:12 +02:00
Mark Dumay
2394f148e5 Merge branch 'main' into develop 2024-07-29 17:11:42 +02:00
Mark Dumay
8d259a3e3a Add anchor support to cards 2024-07-29 17:10:32 +02:00
Mark Dumay
1c8912e92e Merge pull request #1055 from gethinode/develop
Support image crop box placement
2024-07-29 11:05:05 +02:00
Mark Dumay
207c08431f Merge branch 'main' into develop 2024-07-29 08:33:16 +02:00
Mark Dumay
d2703d4885 Support image crop box placement 2024-07-29 08:32:37 +02:00
Mark Dumay
4728191370 Merge pull request #1054 from gethinode/develop
Adjust card title size on small screens
2024-07-28 08:16:23 +02:00
Mark Dumay
cd40d75962 Merge branch 'main' into develop 2024-07-28 08:10:15 +02:00
Mark Dumay
2d4732d03b Adjust card title size on small screens 2024-07-28 08:09:35 +02:00
Mark Dumay
e3c256b41f Merge pull request #1053 from gethinode/develop
Fix priority of card's thumbnail and icon args
2024-07-28 08:07:35 +02:00
Mark Dumay
f0a53f252c Merge branch 'main' into develop 2024-07-27 14:35:48 +02:00
Mark Dumay
a1273d99d5 Fix priority of card's thumbnail and icon args 2024-07-27 14:35:17 +02:00
Mark Dumay
4e62956c82 Merge pull request #1052 from gethinode/develop
Fix layout of scrollable card group
2024-07-27 14:32:52 +02:00
Mark Dumay
cf096a7f6a Merge branch 'main' into develop 2024-07-27 14:13:47 +02:00
Mark Dumay
ee790dc6fd Fix layout of scrollable card group 2024-07-27 14:13:20 +02:00
Mark Dumay
df9bc9ed6c Merge pull request #1050 from gethinode/develop
Adjust main cover style
2024-07-25 07:23:58 +02:00
Mark Dumay
69338b4abf Merge branch 'main' into develop 2024-07-25 07:16:28 +02:00
Mark Dumay
c206054dc8 Adjust main cover style 2024-07-25 07:15:57 +02:00
Mark Dumay
a2bcba5916 Merge pull request #1043 from d-oit/patch-3
Add missing params.opengraph locale for fr_FR, nl_NL
2024-07-25 07:11:26 +02:00
d.o.it
788b68f6bc add missing config for the meta tag og:locale nl + fr 2024-07-24 21:22:43 +02:00
Dominik Oswald
73697f43aa Merge branch 'gethinode:main' into patch-3 2024-07-24 20:27:53 +02:00
Mark Dumay
129df382cd Merge pull request #1048 from gethinode/develop
Add maximized cover style
2024-07-24 16:32:36 +02:00
Mark Dumay
c15eb4edc3 Make style compatible with libsass 2024-07-24 16:27:00 +02:00
Mark Dumay
12725caa1c Merge branch 'main' into develop 2024-07-24 13:39:26 +02:00
Mark Dumay
6077c33fcc Add maximized cover style 2024-07-24 13:38:10 +02:00
Mark Dumay
b944d818c8 Merge pull request #1047 from gethinode/develop
Suppress undefined navbar links
2024-07-23 12:16:34 +02:00
Mark Dumay
f25fbb3440 Merge branch 'main' into develop 2024-07-23 11:55:18 +02:00
Mark Dumay
0b9d43f130 Suppress undefined navbar links 2024-07-23 11:54:47 +02:00
github-actions[bot]
884da31fd0 Merge pull request #1046 from gethinode/dependabot/npm_and_yarn/eslint-plugin-promise-6.6.0
Bump eslint-plugin-promise from 6.4.0 to 6.6.0
2024-07-22 14:03:48 +00:00
dependabot[bot]
6dbfb0ac64 Bump eslint-plugin-promise from 6.4.0 to 6.6.0
Bumps [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) from 6.4.0 to 6.6.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-promise/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-promise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-community/eslint-plugin-promise/compare/v6.4.0...v6.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 13:57:31 +00:00
Mark Dumay
3bef9579b4 Merge branch 'main' into patch-3 2024-07-22 11:01:37 +02:00
Mark Dumay
0ea1f92d4c Merge pull request #1039 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-07-22 11:01:22 +02:00
Mark Dumay
77d44d44c6 Merge branch 'main' into hugo-mod-dependencies 2024-07-22 10:50:04 +02:00
Mark Dumay
e8c1eac2af Merge pull request #1045 from gethinode/develop
Suppress image container when wrapper class is empty
2024-07-22 10:49:51 +02:00
Mark Dumay
2f992b82cf Merge branch 'main' into develop 2024-07-22 10:44:15 +02:00
Mark Dumay
fe70b24859 Suppress image container when wrapper class is empty 2024-07-22 10:41:52 +02:00
Dominik Oswald
d18f0469fc Add missing params.opengraph locale for fr_FR, nl_NL
Add missing "params.opengraph" > "locale" for fr_FR, nl_NL instead of the default en_US:
<meta property="og:locale" content="en_US" /
2024-07-21 10:05:46 +02:00
markdumay
497c5d0e5e fix: update Hugo module dependencies 2024-07-21 03:05:30 +00:00
Mark Dumay
834435db00 Adjust warning for invalid local url 2024-07-20 07:01:13 +02:00
Mark Dumay
3d8195e24b Merge pull request #1042 from gethinode/develop
Validate local url of menu entries
2024-07-20 06:59:18 +02:00
Mark Dumay
ce31587f22 Merge branch 'main' into develop 2024-07-20 06:52:50 +02:00
Mark Dumay
6342ae1a33 Validate local url of menu entries 2024-07-20 06:51:49 +02:00
Mark Dumay
88eb894fde Merge pull request #1041 from gethinode/develop
Develop
2024-07-18 16:40:26 +02:00
Mark Dumay
8870668c21 Merge branch 'main' into develop 2024-07-18 16:33:40 +02:00
Mark Dumay
cd379fa8d7 Extend card parameters 2024-07-18 16:32:53 +02:00
Mark Dumay
fd029492f7 Fix rendering of scrollable card group 2024-07-18 16:31:45 +02:00
github-actions[bot]
29b0d6f978 Merge pull request #1040 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.126.0
Bump hugo-bin from 0.125.2 to 0.126.0
2024-07-18 13:25:34 +00:00
dependabot[bot]
bed2afe44d Bump hugo-bin from 0.125.2 to 0.126.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.125.2 to 0.126.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.125.2...v0.126.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-07-18 13:19:49 +00:00
Dominik Oswald
1922fc825e Update mod-update.yml 2024-07-17 09:53:24 +02:00
Mark Dumay
8c3ea99429 Merge pull request #1038 from gethinode/develop
Fix image portrait mode
2024-07-17 09:53:21 +02:00
Mark Dumay
d8929da5ec Merge branch 'main' into develop 2024-07-17 09:47:48 +02:00
Mark Dumay
4a5e8c7311 Fix image portrait mode 2024-07-17 09:47:18 +02:00
Mark Dumay
600b487f43 Merge pull request #1037 from d-oit/patch-1
Update de.yaml
2024-07-15 06:48:07 +02:00
Dominik Oswald
ed013e9b6f Update de.yaml 2024-07-14 15:44:15 +02:00
Mark Dumay
5a299a73dc Adjust datatable padding 2024-07-14 12:19:45 +02:00
Dominik Oswald
82f3837db1 Delete .github/workflows/hugo.yml 2024-07-13 20:23:42 +02:00
Dominik Oswald
69cf1ccf6c Create hugo.yml 2024-07-13 20:19:42 +02:00
Mark Dumay
bf76ee7108 Merge pull request #1036 from gethinode/develop
Fix purging of data tables styles
2024-07-13 09:13:01 +02:00
Mark Dumay
7a1c3970ea Merge branch 'main' into develop 2024-07-13 09:00:36 +02:00
Mark Dumay
a679b1c7e0 Fix purging of data tables styles 2024-07-13 09:00:03 +02:00
Mark Dumay
bb448f3194 Merge pull request #1035 from gethinode/develop
Fix table parameter initialization
2024-07-13 08:12:16 +02:00
Mark Dumay
b017a0a785 Merge branch 'main' into develop 2024-07-13 08:01:34 +02:00
Mark Dumay
00d141a4da Fix table parameter initialization 2024-07-13 08:00:11 +02:00
github-actions[bot]
88dfc50c50 Merge pull request #1034 from gethinode/dependabot/npm_and_yarn/stylelint-16.7.0
Bump stylelint from 16.6.1 to 16.7.0
2024-07-12 13:44:35 +00:00
dependabot[bot]
61ad1106c5 Bump stylelint from 16.6.1 to 16.7.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.6.1 to 16.7.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.6.1...16.7.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-07-12 13:37:34 +00:00
92 changed files with 1323 additions and 572 deletions

View File

@@ -1,3 +1,4 @@
assets/js/critical/languageSelector.js
assets/js/critical/color.js assets/js/critical/color.js
assets/js/analytics.js assets/js/analytics.js
assets/js/flexsearch.js assets/js/flexsearch.js

View File

@@ -43,7 +43,7 @@ jobs:
matrix: matrix:
os: [macos-latest, windows-latest, ubuntu-latest] os: [macos-latest, windows-latest, ubuntu-latest]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
node-version: [18.x, 20.x] node-version: [20.x, 22.x]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}

2
.gitignore vendored
View File

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

View File

@@ -61,32 +61,16 @@
}) })
window.addEventListener('DOMContentLoaded', () => { window.addEventListener('DOMContentLoaded', () => {
setTheme(getTheme())
const light = (document.documentElement.getAttribute('data-bs-theme') === 'light')
document.querySelectorAll('.ball').forEach(ball => {
ball.classList.add('notransition');
})
document.querySelectorAll('.navbar-mode-selector').forEach(chk => { document.querySelectorAll('.navbar-mode-selector').forEach(chk => {
chk.checked = light
chk.addEventListener('change', function () { chk.addEventListener('change', function () {
document.documentElement.setAttribute('data-bs-theme-animate', 'true')
toggleTheme() toggleTheme()
}) })
}) })
document.querySelectorAll('.ball').forEach(ball => {
ball.offsetHeight; // flush css changes
ball.classList.remove('notransition');
})
}) })
window.addEventListener('load', () => { // initialize theme directly when script is invoked
const light = (document.documentElement.getAttribute('data-bs-theme') === 'light') setTheme(getTheme())
document.querySelectorAll('.navbar-mode-selector').forEach(chk => {
chk.checked = light
})
});
})() })()
{{- end -}} {{- end -}}

View File

@@ -0,0 +1,65 @@
/* eslint-disable */
{{- if site.Params.main.enableLanguageSelectionStorage -}}
(() => {
'use strict'
// Function to get the selected language from localStorage
function getLanguage () {
return localStorage.getItem('selectedLanguage')
}
// Function to set the selected language in localStorage
function setLanguage (language) {
localStorage.setItem('selectedLanguage', language)
}
// Function to apply the selected language to the website
function applyLanguage (language, href) {
if (document.documentElement.lang !== language) {
if (href) {
if (window.location.pathname !== href) {
window.location.href = href
}
} else {
window.location.href = '/' + language + '/'
}
}
}
// Event listener for language selection
document.addEventListener('DOMContentLoaded', () => {
const storedLanguage = getLanguage()
const languageItems = document.querySelectorAll('#language-selector .dropdown-item')
if (languageItems.length > 0) {
// Redirect if the stored language differs from the active language
if ((storedLanguage) && (document.documentElement.lang !== storedLanguage)) {
languageItems.forEach(item => {
if (item.getAttribute('hreflang') === storedLanguage) {
applyLanguage(storedLanguage, item.getAttribute('href'))
}
})
}
// Update the stored language when the user selects a new one
languageItems.forEach(item => {
item.addEventListener('click', () => {
const selectedLanguage = item.getAttribute('hreflang')
if (selectedLanguage) {
setLanguage(selectedLanguage)
}
})
})
}
else {
// Redirect to the localized homepage
const defaultLang = '{{ site.LanguageCode | default site.Language.Lang }}'
let language = storedLanguage ? storedLanguage : defaultLang
window.location.href = '/' + language + '/'
}
})
})()
{{- end -}}
/* eslint-enable */

View File

@@ -11,7 +11,10 @@ function updateNavbar () {
} else { } else {
navbar.classList.remove('nav-active') navbar.classList.remove('nav-active')
const defaultTheme = navbar.getAttribute('data-bs-overlay') const defaultTheme = navbar.getAttribute('data-bs-overlay')
navbar.setAttribute('data-bs-theme', defaultTheme)
if (defaultTheme) {
navbar.setAttribute('data-bs-theme', defaultTheme)
}
} }
} }

View File

@@ -1,5 +1,5 @@
@if $enable-dark-mode { @if $enable-dark-mode {
body { [data-bs-theme-animate="true"] body {
transition: background-color 0.5s, color 0.5s; transition: background-color 0.5s, color 0.5s;
} }
} }
@@ -146,6 +146,24 @@ $utilities: map-merge(
} }
} }
.main-cover {
min-height: 100vh;
}
@include media-breakpoint-up(xxl) {
.main-cover {
min-height: calc(min(100vh, 1000px));
}
}
/* stylelint-disable media-feature-range-notation */
@media (min-height: 1400px) {
.main-cover {
min-height: calc(min(100vh, 1000px));
}
}
/* stylelint-enable media-feature-range-notation */
$utilities: map-merge( $utilities: map-merge(
$utilities, $utilities,
( (

View File

@@ -1,6 +1,54 @@
.blockquote { .blockquote {
// background: var(--bs-light);
border-left: 0.3rem solid; border-left: 0.3rem solid;
border-color: $secondary; border-color: $secondary;
padding: 1rem 1.5rem; padding: 1rem 1.5rem;
} }
.blockquote-alert {
--bs-blockquote-alert-color: $secondary;
border-left: 0.3rem solid;
border-color: var(--bs-blockquote-alert-color);
padding: .5rem 1.5rem;
}
.blockquote-alert > p:nth-of-type(2) {
margin-bottom: 0;
}
.blockquote-alert-heading {
font-weight: bold;
color: var(--bs-blockquote-alert-color);
}
.blockquote-alert-caution {
--bs-blockquote-alert-color: var(--#{$prefix}danger);
}
.blockquote-alert-important {
--bs-blockquote-alert-color: var(--#{$prefix}primary);
}
.blockquote-alert-note {
--bs-blockquote-alert-color: var(--#{$prefix}info);
}
.blockquote-alert-tip {
--bs-blockquote-alert-color: var(--#{$prefix}success);
}
.blockquote-alert-warning {
--bs-blockquote-alert-color: var(--#{$prefix}warning);
}
.blockquote-alert a.btn-link {
--bs-link-color: var(--bs-blockquote-alert-color);
--bs-link-hover-color: color-mix(in srgb, var(--bs-link-color), black 20%);
color: var(--bs-link-color) !important;
&:hover,
&:focus {
color: var(--bs-link-hover-color) !important;
}
}

View File

@@ -44,4 +44,7 @@ a.btn {
.btn-link { .btn-link {
--bs-btn-padding-x: 0; --bs-btn-padding-x: 0;
--bs-btn-padding-y: 0;
margin: 0 !important;
} }

View File

@@ -1,11 +1,81 @@
// stylelint-disable annotation-no-unknown // stylelint-disable annotation-no-unknown
// adapted from https://www.codeply.com/p/UsTEwDkzNp#
.checkbox {
opacity: 0;
position: absolute;
}
.mode-switch {
--#{$prefix}mode-switch-width: 50px;
}
.mode-switch .label {
border-color: var(--#{$prefix}border-color);
border-style: solid;
border-width: 1px;
border-radius: var(--#{$prefix}mode-switch-width);
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
padding: 5px;
position: relative;
height: calc(1px + var(--#{$prefix}mode-switch-width) / 2);
width: var(--#{$prefix}mode-switch-width);
transform: scale(0.9);
}
.notransition {
-webkit-transition: none !important;
-moz-transition: none !important;
-o-transition: none !important;
transition: none !important;
}
.mode-switch .label .ball {
background-color: var(--#{$prefix}border-color);
border-radius: 50%;
position: absolute;
top: 2px;
left: 2px;
height: calc((var(--#{$prefix}mode-switch-width) / 2) - 5px);
width: calc((var(--#{$prefix}mode-switch-width) / 2) - 5px);
transition: transform 0.2s linear;
}
.mode-switch .checkbox:checked + .label .ball {
transform: translateX(calc((var(--#{$prefix}mode-switch-width) / 2) - 1px));
}
@if $enable-dark-mode {
[data-bs-theme="light"] .mode-switch .ball {
transform: translateX(calc((var(--#{$prefix}mode-switch-width) / 2) - 1px));
}
}
.mode-switch .fa-moon {
color: $yellow;
transform: scale(0.8);
}
.mode-switch .fa-sun {
color: var(--#{$prefix}bs-body-color);
transform: scale(0.8);
}
// Source: https://jsfiddle.net/njhgr40m/ // Source: https://jsfiddle.net/njhgr40m/
@if $enable-dark-mode {
[data-bs-theme-animate="true"] .navbar {
transition: 0.5s ease-in-out;
}
}
.navbar { .navbar {
--bs-navbar-expanded-color: var(--bs-body-bg); --bs-navbar-expanded-color: var(--bs-body-bg);
--bs-navbar-toggler-color: var(--bs-navbar-hover-color); --bs-navbar-toggler-color: var(--bs-navbar-hover-color);
transition: 0.5s ease-in-out;
background-color: transparent; background-color: transparent;
@each $state, $val in $theme-colors { @each $state, $val in $theme-colors {
@@ -22,6 +92,15 @@
margin: 0 .15rem; margin: 0 .15rem;
} }
.navbar-title {
display: inline-block;
white-space: normal;
text-align: center !important;
vertical-align: middle;
padding: 0 $spacer;
width: 100% !important;
}
.navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover { .navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover {
border-bottom: solid 1px var(--bs-navbar-hover-color); border-bottom: solid 1px var(--bs-navbar-hover-color);
margin-bottom: -1px; margin-bottom: -1px;
@@ -33,6 +112,16 @@
--bs-navbar-disabled-color: white !important; --bs-navbar-disabled-color: white !important;
--bs-navbar-active-color: white !important; --bs-navbar-active-color: white !important;
--bs-navbar-toggler-color: white; --bs-navbar-toggler-color: white;
.navbar-title, .mode-switch {
--#{$prefix}border-color: white;
color: white !important;
}
.mode-switch .fa-moon {
color: $white;
}
} }
.navbar-expanded { .navbar-expanded {
@@ -112,7 +201,7 @@
background-color: var(--bs-navbar-toggler-color); background-color: var(--bs-navbar-toggler-color);
} }
.emphasis, .emphasis-dark, .emphasis-light { .emphasis {
background-color: var(--bs-navbar-toggler-color); background-color: var(--bs-navbar-toggler-color);
} }
@@ -133,15 +222,6 @@
--navbar-offset: #{$navbar-offset-xs}; --navbar-offset: #{$navbar-offset-xs};
} }
.navbar-title {
display: inline-block;
white-space: normal;
text-align: center !important;
vertical-align: middle;
padding: 0 $spacer;
width: 100% !important;
}
.navbar-container { .navbar-container {
width: 100% !important; width: 100% !important;
} }
@@ -235,60 +315,3 @@
} }
} }
// adapted from https://www.codeply.com/p/UsTEwDkzNp#
.checkbox {
opacity: 0;
position: absolute;
}
.mode-switch {
--#{$prefix}mode-switch-width: 50px;
}
.mode-switch .label {
border-color: var(--#{$prefix}border-color);
border-style: solid;
border-width: 1px;
border-radius: var(--#{$prefix}mode-switch-width);
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
padding: 5px;
position: relative;
height: calc(1px + var(--#{$prefix}mode-switch-width) / 2);
width: var(--#{$prefix}mode-switch-width);
transform: scale(0.9);
}
.notransition {
-webkit-transition: none !important;
-moz-transition: none !important;
-o-transition: none !important;
transition: none !important;
}
.mode-switch .label .ball {
background-color: var(--#{$prefix}secondary-bg);
border-radius: 50%;
position: absolute;
top: 2px;
left: 2px;
height: calc((var(--#{$prefix}mode-switch-width) / 2) - 5px);
width: calc((var(--#{$prefix}mode-switch-width) / 2) - 5px);
transition: transform 0.2s linear;
}
.mode-switch .checkbox:checked + .label .ball {
transform: translateX(calc((var(--#{$prefix}mode-switch-width) / 2) - 1px));
}
.mode-switch .fa-moon {
color: $yellow;
transform: scale(0.8);
}
.mode-switch .fa-sun {
color: var(--#{$prefix}bs-body-color);
transform: scale(0.8);
}

View File

@@ -7,6 +7,7 @@
} }
.datatable-sorter { .datatable-sorter {
padding-left: 0;
padding-right: 1rem; padding-right: 1rem;
} }

View File

@@ -95,7 +95,7 @@ home = ["HTML", "RSS", "REDIR"]
[module] [module]
[module.hugoVersion] [module.hugoVersion]
extended = true extended = true
min = "0.120.0" min = "0.132.0"
max = "" max = ""
[[module.mounts]] [[module.mounts]]
source = "archetypes" source = "archetypes"
@@ -125,7 +125,7 @@ home = ["HTML", "RSS", "REDIR"]
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-bootstrap" path = "github.com/gethinode/mod-bootstrap"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-flexsearch" path = "github.com/gethinode/mod-flexsearch/v2"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-fontawesome" path = "github.com/gethinode/mod-fontawesome"
[[module.imports]] [[module.imports]]

View File

@@ -24,9 +24,15 @@ defaultMarkdownHandler = "goldmark"
table = true table = true
taskList = true taskList = true
typographer = true typographer = true
[goldmark.extensions.passthrough]
enable = true
[goldmark.extensions.passthrough.delimiters]
block = [['\[', '\]'], ['$$', '$$']]
inline = [['\(', '\)'], ['$', '$']]
[goldmark.parser] [goldmark.parser]
autoHeadingID = true autoHeadingID = true
autoHeadingIDType = 'github' autoHeadingIDType = 'github'
wrapStandAloneImageWithinParagraph = false
[goldmark.parser.attribute] [goldmark.parser.attribute]
block = true block = true
[goldmark.renderer] [goldmark.renderer]

View File

@@ -3,6 +3,7 @@
separator = "-" separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5." description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true enableDarkMode = true
enableLanguageSelectionStorage = false
modes = ["light", "dark"] modes = ["light", "dark"]
canonifyAssetsURLs = false canonifyAssetsURLs = false
endorse = true endorse = true

View File

@@ -24,9 +24,10 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
'./assets/scss/components/_video.scss', './assets/scss/components/_video.scss',
'./assets/scss/theme/fonts.scss', './assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss', './assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss', './_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss', './_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss', './_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss', './_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss', './_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss', './_vendor/github.com/twbs/bootstrap/scss/_modal.scss',

View File

@@ -122,6 +122,13 @@ arguments:
Enables horizontal scrolling of the cards. By default, the card group Enables horizontal scrolling of the cards. By default, the card group
wraps any cards beyond the amount of defined columns to a new line. When wraps any cards beyond the amount of defined columns to a new line. When
`scroll` is set to true, a horizontal scroll bar is added instead. `scroll` is set to true, a horizontal scroll bar is added instead.
spacer:
type: bool
optional: true
comment: >-
Inserts a spacer before the card.
release: v0.24.16
group: partial
hook: hook:
type: string type: string
optional: true optional: true

View File

@@ -90,6 +90,18 @@ arguments:
- publication - publication
- tags - tags
- none - none
body:
type: select
optional: true
default: full
parent: cascade
release: v0.24.16
comment: >-
Body of the card.
options:
values:
- full
- none
footer: footer:
type: select type: select
optional: true optional: true
@@ -146,6 +158,16 @@ arguments:
- 16x9 - 16x9
- 21x9 - 21x9
group: partial group: partial
portrait:
type: bool
parent: cascade
optional: true
default: false
release: v0.24.16
comment: >-
Flag to adjust the ratio from landscape to portrait. The image itself is
not rotated, only the crop area is adjusted. Not applicable to vector
graphics.
alt: alt:
type: string type: string
optional: true optional: true
@@ -249,6 +271,25 @@ arguments:
One or more strings separated by commas, indicating the source sizes of an One or more strings separated by commas, indicating the source sizes of an
image set. image set.
group: partial group: partial
anchor:
type: select
optional: true
comment:
Anchor of the thumbnail's crop box, defaults to anchor value set in
`imaging` section of the site configuration (usually `Smart`).
options:
values:
- TopLeft
- Top
- TopRight
- Left
- Center
- Right
- BottomLeft
- Bottom
- BottomRight
- Smart
release: v0.24.23
body: body:
optional: true optional: true
comment: >- comment: >-

View File

@@ -60,3 +60,20 @@ arguments:
type: int type: int
optional: false optional: false
comment: Width of the image in pixels. comment: Width of the image in pixels.
anchor:
type: select
optional: true
comment: Anchor of the crop box.
options:
values:
- TopLeft
- Top
- TopRight
- Left
- Center
- Right
- BottomLeft
- Bottom
- BottomRight
- Smart

View File

@@ -36,6 +36,7 @@ arguments:
page: page:
type: type:
- '*hugolib.pageState' - '*hugolib.pageState'
- '*hugolib.pageForRenderHooks'
- '*hugolib.pageForShortcode' - '*hugolib.pageForShortcode'
optional: true optional: true
comment: Page context, used to match page resources. comment: Page context, used to match page resources.
@@ -109,7 +110,9 @@ arguments:
image set. image set.
group: partial group: partial
title: title:
type: string type:
- string
- 'hstring.RenderedString'
optional: true optional: true
comment: Alternate text of the image. comment: Alternate text of the image.
caption: caption:
@@ -138,3 +141,22 @@ arguments:
Flag to indicate if the image should render a plain image instead of an Flag to indicate if the image should render a plain image instead of an
image set. When set, no transformations are applied to the image. image set. When set, no transformations are applied to the image.
release: v0.24.0 release: v0.24.0
anchor:
type: select
optional: true
comment:
Anchor of the crop box, defaults to anchor value set in `imaging` section
of the site configuration (usually `Smart`).
options:
values:
- TopLeft
- Top
- TopRight
- Left
- Center
- Right
- BottomLeft
- Bottom
- BottomRight
- Smart
release: v0.24.22

View File

@@ -10,6 +10,7 @@ arguments:
page: page:
type: type:
- '*hugolib.pageState' - '*hugolib.pageState'
- '*hugolib.pageForRenderHooks'
- '*hugolib.pageForShortcode' - '*hugolib.pageForShortcode'
optional: false optional: false
group: partial group: partial
@@ -70,11 +71,17 @@ arguments:
type: type:
- string - string
- template.HTML - template.HTML
- hstring.RenderedString
optional: true optional: true
group: partial group: partial
comment: Link description.
title:
type: string
optional: true
comment: Link title. comment: Link title.
release: v0.26.0
body: body:
type: string type: string
optional: true optional: true
group: shortcode group: shortcode
comment: Link title. comment: Link description.

View File

@@ -38,3 +38,12 @@ arguments:
optional: true optional: true
default: false default: false
comment: Flag to render the release button inline. comment: Flag to render the release button inline.
type:
type: select
optional: true
default: button
comment: Type of the element.
options:
values:
- link
- button

View File

@@ -0,0 +1,69 @@
comment: >-
Bundles a JavaScript file for client-side processing. Scripts can be included
as critical, core, or optional file.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
core:
type: bool
default: false
optional: true
comment: >-
Trigger to include all core files in the script bundle. Core bundles are
loaded asynchronously in each page of the site.
filename:
type: string
default: js/main.bundle.js
optional: true
comment: >-
Path of the target bundle file, relative to the site root.
match:
type: string
default: {js/*.js,js/vendor/**.js}
optional: true
comment: >-
Regular expression that defines the pattern of source files to be included
in the bundle. The pattern is relative to the project's `asset` folder.
header:
type: bool
default: false
comment: >-
Trigger to consider the script as loaded in the page header. When enabled,
it includes a script to load Google Analytics adjacent to any bundle
input.
localize:
type: bool
default: false
optional: true
comment: >-
Triggers the creation of a language-specific bundle file. The language
code is appended as suffix to the base name. For example, the English
version of `js/main.bundle.js` becomes `js/main.bundle.en.js`.
skipTemplate:
type: bool
default: false
optional: true
comment: >-
Script source input can contain Go Template magic. As such, Hinode
processes all input files with `resources.ExecuteAsTemplate`. However,
certain input files may be incompatible. Set `skipTemplate` to true to
skip template processing.
state:
type: select
optional: true
default: async
comment: >-
Defines the loading behavior of the script bundle. By default, scripts are
processed in the background and loaded when ready (`async`). Set the state
to `immediate` to load the script immediately (such as critical scripts).
Use 'defer' to load the script in relative order when the DOM is fully
built.
options:
values:
- async
- defer
- immediate

View File

@@ -23,4 +23,13 @@ arguments:
type: bool type: bool
optional: true optional: true
default: false default: false
comment: Flag indicating the video should start playing immediately when loaded. comment: >-
Flag indicating the video should start playing immediately when loaded, if
supported by the browser. The audio will be muted.
autotitle:
type: bool
optional: true
default: false
release: v0.25.2
comment: >-
Trigger to retrieve the title from the video metadata.

View File

@@ -1,4 +1,5 @@
/_vendor _vendor/
exampleSite/public/
public/ public/
resources/ resources/

View File

@@ -22,6 +22,8 @@ reference = "More Projects"
languageName = "Nederlands" languageName = "Nederlands"
contentDir = "content/nl" contentDir = "content/nl"
weight = 2 weight = 2
[nl.params.opengraph]
locale = "nl_NL"
[nl.params.head] [nl.params.head]
tagline = "Een Hugo Thema" tagline = "Een Hugo Thema"
[nl.params.social] [nl.params.social]
@@ -39,6 +41,8 @@ reference = "Meer projecten"
languageName = "Français" languageName = "Français"
contentDir = "content/fr" contentDir = "content/fr"
weight = 2 weight = 2
[fr.params.opengraph]
locale = "fr_FR"
[fr.params.head] [fr.params.head]
tagline = "Un thème Hugo" tagline = "Un thème Hugo"
[fr.params.social] [fr.params.social]

View File

@@ -24,9 +24,15 @@ defaultMarkdownHandler = "goldmark"
table = true table = true
taskList = true taskList = true
typographer = true typographer = true
[goldmark.extensions.passthrough]
enable = true
[goldmark.extensions.passthrough.delimiters]
block = [['\[', '\]'], ['$$', '$$']]
inline = [['\(', '\)'], ['$', '$']]
[goldmark.parser] [goldmark.parser]
autoHeadingID = true autoHeadingID = true
autoHeadingIDType = 'github' autoHeadingIDType = 'github'
wrapStandAloneImageWithinParagraph = false
[goldmark.parser.attribute] [goldmark.parser.attribute]
block = true block = true
[goldmark.renderer] [goldmark.renderer]

View File

@@ -2,6 +2,7 @@
separator = "-" separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5." description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true enableDarkMode = true
enableLanguageSelectionStorage = true
modes = ["light", "dark"] modes = ["light", "dark"]
canonifyAssetsURLs = false canonifyAssetsURLs = false
footerBelowFold = false footerBelowFold = false

View File

@@ -24,7 +24,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_video.scss', './_vendor/github.com/gethinode/hinode/assets/scss/components/_video.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/theme/fonts.scss', './_vendor/github.com/gethinode/hinode/assets/scss/theme/fonts.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/theme/theme.scss', './_vendor/github.com/gethinode/hinode/assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss', './_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss', './_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss', './_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss', './_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',

View File

@@ -27,6 +27,6 @@ Additional features include:
* Reusable Bootstrap components through configurable shortcodes and partials * Reusable Bootstrap components through configurable shortcodes and partials
* Versioned documentation, including sidebar navigation and version switcher * Versioned documentation, including sidebar navigation and version switcher
* Responsive image handling for multiple screen sizes and resolutions * Responsive image handling for multiple screen sizes and resolutions
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}}) * Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{% param "links.pagespeed" %}})
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}}) * Secure by default, scoring A+ on [Mozilla Observatory test]({{% param "links.observatory" %}})
{.tickmark} {.tickmark}

View File

@@ -12,7 +12,7 @@ thumbnail:
originURL: https://unsplash.com/photos/QLPWQvHvmII originURL: https://unsplash.com/photos/QLPWQvHvmII
--- ---
Hinode provides several shortcodes that wrap common Bootstrap components. Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details. Hinode provides several shortcodes that wrap common Bootstrap components. Refer to the [official documentation]({{% param "links.hinode_docs" %}}) for more details.
## Abbr ## Abbr
@@ -121,7 +121,7 @@ As an example, the following shortcode displays a group of three buttons.
## Card ## Card
As an example, the following shortcode displays a stacked card that links to the [about]({{< ref "about" >}}) page. It includes a custom header. As an example, the following shortcode displays a stacked card that links to the [about]({{% ref "about" %}}) page. It includes a custom header.
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}} {{< example lang="hugo" >}}
@@ -255,14 +255,22 @@ As an example, the following shortcodes show a square check, a brand logo, a cir
## Image ## Image
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio. As an example, the following shortcode displays an image with rounded corners and a 4x3 aspect ratio in portrait mode.
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}} {{< example lang="hugo" >}}
{{</* image src="img/flowers.jpg" ratio="21x9" caption="Figure caption" class="rounded" */>}} {{</* image src="img/flowers.jpg" ratio="4x3" caption="Figure caption" class="rounded col-md-6"
portrait=true wrapper="text-center" */>}}
{{< /example >}} {{< /example >}}
<!-- markdownlint-enable MD037 --> <!-- markdownlint-enable MD037 -->
The same image, but then using Markdown syntax:
{{< example lang="hugo" >}}
![Flowers](/img/flowers.jpg "Figure caption")
{class="rounded col-md-6" ratio="4x3" portrait=true wrapper="text-center"}
{{< /example >}}
As an example, the following shortcode displays a regular vector image. As an example, the following shortcode displays a regular vector image.
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
@@ -465,3 +473,13 @@ As an example, the following shortcode displays a tooltip for a colored hyperlin
{{</* tooltip color="primary" title="Tooltip caption" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration {{</* tooltip color="primary" title="Tooltip caption" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
{{< /example >}} {{< /example >}}
<!-- markdownlint-enable MD037 --> <!-- 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

@@ -10,10 +10,10 @@ thumbnail:
authorURL: https://unsplash.com/@ryoji__iwata authorURL: https://unsplash.com/@ryoji__iwata
origin: Unsplash origin: Unsplash
originURL: https://unsplash.com/photos/5siQcvSxCP8 originURL: https://unsplash.com/photos/5siQcvSxCP8
modules: ["katex", "leaflet", "lottie", "simple-datatables"] modules: ["leaflet", "lottie", "simple-datatables"]
--- ---
Hinode provides several shortcodes on top of the common [Bootstrap elements]({{< relref "bootstrap-elements" >}}). Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details. Hinode provides several shortcodes on top of the common [Bootstrap elements]({{% relref "bootstrap-elements" %}}). Refer to the [official documentation]({{% param "links.hinode_docs" %}}) for more details.
## Animation ## Animation
@@ -70,7 +70,7 @@ As an example, the following shortcode displays a responsive table that uses adv
## Formula (KaTeX) ## Formula (KaTeX)
As an example, the following markdown renders two formulas using the KaTeX typesetting library. As an example, the following markdown renders two formulas using server-side math rendering using KaTeX.
{{< example lang="markdown" >}} {{< example lang="markdown" >}}
This is an inline $-b \pm \sqrt{b^2 - 4ac} \over 2a$ formula This is an inline $-b \pm \sqrt{b^2 - 4ac} \over 2a$ formula

View File

@@ -26,7 +26,7 @@ As an example, the following shortcode displays an image with rounded corners an
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}} {{< example lang="hugo" >}}
{{</* image src="https://ik.imagekit.io/demo/default-image.jpg" {{</* image src="https://ik.imagekit.io/demo/default-image.jpg"
ratio="21x9" caption="ImageKit.io image" class="rounded" */>}} ratio="21x9" caption="ImageKit.io image" class="rounded" anchor="Center" */>}}
{{< /example >}} {{< /example >}}
<!-- markdownlint-enable MD037 --> <!-- markdownlint-enable MD037 -->
@@ -37,6 +37,6 @@ As an example, the following shortcode displays an image with rounded corners an
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}} {{< example lang="hugo" >}}
{{</* image src="https://assets.imgix.net/examples/bluehat.jpg" {{</* image src="https://assets.imgix.net/examples/bluehat.jpg"
ratio="21x9" caption="imgix image" class="rounded" */>}} ratio="21x9" caption="imgix image" class="rounded" anchor="Top" */>}}
{{< /example >}} {{< /example >}}
<!-- markdownlint-enable MD037 --> <!-- markdownlint-enable MD037 -->

View File

@@ -28,6 +28,6 @@ Les fonctionnalités supplémentaires incluent:
- Composants bootstrap réutilisables à travers des codes et partiels configurables - Composants bootstrap réutilisables à travers des codes et partiels configurables
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version. - Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions. - Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}). - Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{% param "links.pagespeed" %}}).
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}}) - Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{% param "links.observatory" %}})
{.tickmark} {.tickmark}

View File

@@ -13,7 +13,7 @@ thumbnail:
originURL: https://unsplash.com/photos/QLPWQvHvmII originURL: https://unsplash.com/photos/QLPWQvHvmII
--- ---
Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap courants. Consultez la [documentation officielle]({{< param "links.hinode_docs" >}}) pour plus de détails. Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap courants. Consultez la [documentation officielle]({{% param "links.hinode_docs" %}}) pour plus de détails.
## Abbr ## Abbr
@@ -121,7 +121,7 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
## Carte ## Carte
À titre d'exemple, le shortcode suivant affiche une carte empilée qui renvoie à la page [à propos]({{< ref "about" >}}). Elle inclut un en-tête personnalisé. À titre d'exemple, le shortcode suivant affiche une carte empilée qui renvoie à la page [à propos]({{% ref "about" %}}). Elle inclut un en-tête personnalisé.
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}} {{< example lang="hugo" >}}

View File

@@ -14,7 +14,7 @@ thumbnail:
modules: ["katex", "leaflet", "lottie"] modules: ["katex", "leaflet", "lottie"]
--- ---
Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{< relref "bootstrap-elements" >}}) courants. Consultez la [documentation officielle]({{< param "links.hinode_docs" >}}) pour plus de détails. Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{% relref "bootstrap-elements" %}}) courants. Consultez la [documentation officielle]({{% param "links.hinode_docs" %}}) pour plus de détails.
## Animation ## Animation

View File

@@ -29,6 +29,6 @@ Overige functies:
* Herbruikbare Bootstrap componenten via shortcodes en partials * Herbruikbare Bootstrap componenten via shortcodes en partials
* Versiebeheer van documentatiepagina's, inclusief secundaire navigatie en selectie van versies * Versiebeheer van documentatiepagina's, inclusief secundaire navigatie en selectie van versies
* Optimalisering van foto's voor meerdere schermafmetingen en resoluties * Optimalisering van foto's voor meerdere schermafmetingen en resoluties
* Optimale zoekresultaten, met 100 punten voor SEO volgens [PageSpeed Insights]({{< param "links.pagespeed" >}}) * Optimale zoekresultaten, met 100 punten voor SEO volgens [PageSpeed Insights]({{% param "links.pagespeed" %}})
* Veilige communicatie, met een score van A+ volgens [Mozilla Observatory]({{< param "links.observatory" >}}) * Veilige communicatie, met een score van A+ volgens [Mozilla Observatory]({{% param "links.observatory" %}})
{.tickmark} {.tickmark}

View File

@@ -3,8 +3,8 @@
"tags": [ "tags": [
"a", "a",
"abbr", "abbr",
"annotation",
"body", "body",
"br",
"button", "button",
"code", "code",
"div", "div",
@@ -20,13 +20,24 @@
"hr", "hr",
"html", "html",
"i", "i",
"iframe",
"img", "img",
"input", "input",
"label", "label",
"li", "li",
"link", "link",
"mark", "mark",
"math",
"meta", "meta",
"mfrac",
"mi",
"mn",
"mo",
"mrow",
"mspace",
"msqrt",
"msub",
"msup",
"nav", "nav",
"noscript", "noscript",
"ol", "ol",
@@ -34,6 +45,7 @@
"path", "path",
"pre", "pre",
"script", "script",
"semantics",
"small", "small",
"span", "span",
"strong", "strong",
@@ -145,6 +157,7 @@
"col-md-2", "col-md-2",
"col-md-3", "col-md-3",
"col-md-4", "col-md-4",
"col-md-6",
"col-md-8", "col-md-8",
"col-md-9", "col-md-9",
"col-md-auto", "col-md-auto",
@@ -184,7 +197,6 @@
"dropdown-menu-end", "dropdown-menu-end",
"dropdown-toggle", "dropdown-toggle",
"emphasis", "emphasis",
"emphasis-dark",
"end-0", "end-0",
"fa", "fa",
"fa-10x", "fa-10x",
@@ -238,6 +250,7 @@
"fs-3", "fs-3",
"fs-5", "fs-5",
"fs-6", "fs-6",
"fs-lg-5",
"fs-md-5", "fs-md-5",
"fw-30", "fw-30",
"fw-bold", "fw-bold",
@@ -266,6 +279,7 @@
"justify-content-center", "justify-content-center",
"justify-content-end", "justify-content-end",
"justify-content-start", "justify-content-start",
"katex",
"label", "label",
"lead", "lead",
"leaflet-map", "leaflet-map",
@@ -466,7 +480,8 @@
"visually-hidden", "visually-hidden",
"vr", "vr",
"w-100", "w-100",
"w-50" "w-50",
"youtube-embedded"
], ],
"ids": [ "ids": [
"TableOfContents", "TableOfContents",
@@ -525,6 +540,7 @@
"indicateur-de-chargement", "indicateur-de-chargement",
"infobulle", "infobulle",
"invite-de-commandes", "invite-de-commandes",
"language-selector",
"leaflet-map-0", "leaflet-map-0",
"lien", "lien",
"link", "link",
@@ -567,7 +583,8 @@
"toast-example-2", "toast-example-2",
"toast-message-email-4", "toast-message-email-4",
"toc-collapse", "toc-collapse",
"tooltip" "tooltip",
"youtube"
] ]
} }
} }

16
go.mod
View File

@@ -4,14 +4,14 @@ 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.0 // indirect github.com/gethinode/mod-bootstrap v1.3.1 // indirect
github.com/gethinode/mod-flexsearch v1.12.0 // indirect github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
github.com/gethinode/mod-fontawesome v1.9.0 // indirect github.com/gethinode/mod-fontawesome v1.9.1 // indirect
github.com/gethinode/mod-katex v1.1.0 // indirect github.com/gethinode/mod-katex v1.1.2 // indirect
github.com/gethinode/mod-leaflet v1.1.0 // indirect github.com/gethinode/mod-leaflet v1.1.1 // indirect
github.com/gethinode/mod-lottie v1.5.5 // indirect github.com/gethinode/mod-lottie v1.5.6 // indirect
github.com/gethinode/mod-simple-datatables v1.0.2 // indirect github.com/gethinode/mod-simple-datatables v1.0.7 // indirect
github.com/gethinode/mod-utils/v2 v2.3.10 // indirect github.com/gethinode/mod-utils/v2 v2.3.10 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // 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
) )

26
go.sum
View File

@@ -22,6 +22,8 @@ github.com/gethinode/mod-bootstrap v1.2.8 h1:kIKSO6qqE8xA0KQC5s6kkEv5UDc8oT17Hal
github.com/gethinode/mod-bootstrap v1.2.8/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ= github.com/gethinode/mod-bootstrap v1.2.8/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+txB0pwBk= github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+txB0pwBk=
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/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
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=
@@ -68,6 +70,10 @@ github.com/gethinode/mod-flexsearch v1.11.3 h1:ykxpUg8M4vr1C4QzxJOPGt+1ZmPAD/gOC
github.com/gethinode/mod-flexsearch v1.11.3/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ= github.com/gethinode/mod-flexsearch v1.11.3/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.12.0 h1:zg1IHvc8VO9WEtQuQnuG6HeWFNByvyqC9JYWDtpsP6s= github.com/gethinode/mod-flexsearch v1.12.0 h1:zg1IHvc8VO9WEtQuQnuG6HeWFNByvyqC9JYWDtpsP6s=
github.com/gethinode/mod-flexsearch v1.12.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ= github.com/gethinode/mod-flexsearch v1.12.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.12.1 h1:clkGUWaNPe9Dt/66Apy7oH9NwVQfnD6OpGSLffeC9sY=
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-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg= 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.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk= github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
@@ -108,6 +114,8 @@ github.com/gethinode/mod-fontawesome v1.8.2 h1:LAzLytyh9c9gLzBWMju6Gtp3uEojhBQEY
github.com/gethinode/mod-fontawesome v1.8.2/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y= github.com/gethinode/mod-fontawesome v1.8.2/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.9.0 h1:xqUB8AnezMHAt8lye4ksqvmHSVPCOkiHsHGUbqNoeP0= github.com/gethinode/mod-fontawesome v1.9.0 h1:xqUB8AnezMHAt8lye4ksqvmHSVPCOkiHsHGUbqNoeP0=
github.com/gethinode/mod-fontawesome v1.9.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y= github.com/gethinode/mod-fontawesome v1.9.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.9.1 h1:cQk84vriqffM4fuUUoM9j3SSD+3ppeW2j4ta7AiToMU=
github.com/gethinode/mod-fontawesome v1.9.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
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=
@@ -128,6 +136,10 @@ github.com/gethinode/mod-katex v1.0.9 h1:cCJoR28tZwkDvXps17o9Jwfe3aQQAZ3Rxk0jCNR
github.com/gethinode/mod-katex v1.0.9/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.0.9/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.0 h1:PxST3HPUt6F2X/xKakTVeTkwWqCtEr53K1vYEOyQu3I= github.com/gethinode/mod-katex v1.1.0 h1:PxST3HPUt6F2X/xKakTVeTkwWqCtEr53K1vYEOyQu3I=
github.com/gethinode/mod-katex v1.1.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.1.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.1 h1:z8+mfVI6UTWcfpQMVPIzxQzt6Lp9BcmXxSOILQ84qFg=
github.com/gethinode/mod-katex v1.1.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.2 h1:TbeVIWeG5TqldlVxpM1upOWj11RljXy4fhpOQIwOnS4=
github.com/gethinode/mod-katex v1.1.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk= github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk= github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc= github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
@@ -146,6 +158,8 @@ github.com/gethinode/mod-leaflet v1.0.1 h1:L4Coe6HTD9O0Txs1S8AtVg+6/TEneSF9i6fJK
github.com/gethinode/mod-leaflet v1.0.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE= github.com/gethinode/mod-leaflet v1.0.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.1.0 h1:FXzPCic5XmUluxQ6e7LYUhhLnxuQOBwry8qjG9k30UY= github.com/gethinode/mod-leaflet v1.1.0 h1:FXzPCic5XmUluxQ6e7LYUhhLnxuQOBwry8qjG9k30UY=
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/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=
@@ -184,10 +198,20 @@ github.com/gethinode/mod-lottie v1.5.4 h1:+xbamSsjcnP2tyzGl0CA1enma7gkAp67wenmuP
github.com/gethinode/mod-lottie v1.5.4/go.mod h1:gALqz48aYpoDLxJOI3LzIpdy0Eq/lOBNtlcOxABa9tg= github.com/gethinode/mod-lottie v1.5.4/go.mod h1:gALqz48aYpoDLxJOI3LzIpdy0Eq/lOBNtlcOxABa9tg=
github.com/gethinode/mod-lottie v1.5.5 h1:uEJKsz+ovsZtbGkMhPONcIhtG6M3RjYiK+iVoScLOVo= github.com/gethinode/mod-lottie v1.5.5 h1:uEJKsz+ovsZtbGkMhPONcIhtG6M3RjYiK+iVoScLOVo=
github.com/gethinode/mod-lottie v1.5.5/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0= github.com/gethinode/mod-lottie v1.5.5/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
github.com/gethinode/mod-lottie v1.5.6 h1:dxz5nmD0XXEt/DAOc1s5fIPynj5bhzDL32EEwLFCSmk=
github.com/gethinode/mod-lottie v1.5.6/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
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=
github.com/gethinode/mod-simple-datatables v1.0.2/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc= github.com/gethinode/mod-simple-datatables v1.0.2/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.3 h1:JL2nBlEHWMmkE7EZrpfpmzka47dklJUh23/xKJkOQoI=
github.com/gethinode/mod-simple-datatables v1.0.3/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.5 h1:2Aa4k1Bd1WEYHbskFQj+1X35BB7abB8RXHE7Uk2N4pg=
github.com/gethinode/mod-simple-datatables v1.0.5/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.6 h1:voKiwLAfC7kfD+atv7ah0sOf8OcPRyxEB/Q92gx1d00=
github.com/gethinode/mod-simple-datatables v1.0.6/go.mod h1:Y7AzIYAWpzDKLvH96eqBA/Gs3jompWCgxadLuoKZ/rc=
github.com/gethinode/mod-simple-datatables v1.0.7 h1:pfxWhgmn/njJcynNIDnUyeOBW0tsy2E4TP21sEYsqRs=
github.com/gethinode/mod-simple-datatables v1.0.7/go.mod h1:Y7AzIYAWpzDKLvH96eqBA/Gs3jompWCgxadLuoKZ/rc=
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=
@@ -240,6 +264,8 @@ github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8Fxb
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU= github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA= github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU= github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 h1:6PNbL0/LxO8Xl8MZSe5uvCidYNpFTz9nlWTqj2qdlzA=
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ= github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ= github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=

View File

@@ -2,11 +2,13 @@
"htmlElements": { "htmlElements": {
"tags": [ "tags": [
"a", "a",
"annotation",
"body", "body",
"button", "button",
"div", "div",
"footer", "footer",
"form", "form",
"h5",
"head", "head",
"html", "html",
"img", "img",
@@ -14,12 +16,29 @@
"label", "label",
"li", "li",
"link", "link",
"math",
"meta", "meta",
"mfrac",
"mi",
"mn",
"mo",
"mpadded",
"mphantom",
"mrow",
"mspace",
"msqrt",
"mstyle",
"msub",
"msup",
"mtext",
"munder",
"nav", "nav",
"noscript",
"ol", "ol",
"p", "p",
"path", "path",
"script", "script",
"semantics",
"small", "small",
"span", "span",
"strong", "strong",
@@ -36,6 +55,7 @@
"bg-body", "bg-body",
"bg-opacity-10", "bg-opacity-10",
"bg-primary", "bg-primary",
"border-0",
"bottom-0", "bottom-0",
"bottom-bar", "bottom-bar",
"breadcrumb", "breadcrumb",
@@ -43,10 +63,19 @@
"btn", "btn",
"btn-close", "btn-close",
"btn-primary", "btn-primary",
"btn-social",
"card",
"card-body",
"card-body-link",
"card-text",
"card-title",
"card-zoom",
"checkbox", "checkbox",
"col", "col",
"col-12", "col-12",
"col-6", "col-6",
"col-lg-2",
"col-lg-8",
"col-md-2", "col-md-2",
"col-md-3", "col-md-3",
"col-md-4", "col-md-4",
@@ -59,7 +88,9 @@
"container-xxl", "container-xxl",
"d-flex", "d-flex",
"d-inline", "d-inline",
"d-lg-block",
"d-md-block", "d-md-block",
"d-md-none",
"d-none", "d-none",
"display-1", "display-1",
"display-4", "display-4",
@@ -71,12 +102,17 @@
"fa-book-open", "fa-book-open",
"fa-ellipsis", "fa-ellipsis",
"fa-face-frown", "fa-face-frown",
"fa-facebook",
"fa-fw", "fa-fw",
"fa-github", "fa-github",
"fa-link",
"fa-linkedin", "fa-linkedin",
"fa-medium", "fa-medium",
"fa-moon", "fa-moon",
"fa-share-nodes",
"fa-sun", "fa-sun",
"fa-whatsapp",
"fa-x-twitter",
"fab", "fab",
"fas", "fas",
"fixed-top", "fixed-top",
@@ -86,8 +122,13 @@
"form-control", "form-control",
"fs-3", "fs-3",
"fs-5", "fs-5",
"fs-6",
"fs-lg-5",
"fw-30", "fw-30",
"fw-bold", "fw-bold",
"g-4",
"gap-1",
"h-100",
"hstack", "hstack",
"img-fluid", "img-fluid",
"img-wrap", "img-wrap",
@@ -96,11 +137,17 @@
"justify-content-center", "justify-content-center",
"justify-content-end", "justify-content-end",
"justify-content-start", "justify-content-start",
"katex",
"label", "label",
"lead",
"link-bg-footer", "link-bg-footer",
"link-secondary", "link-secondary",
"main-content", "main-content",
"main-nav-toggler", "main-nav-toggler",
"mb-3",
"mb-4",
"mb-5",
"mb-lg-5",
"me-auto", "me-auto",
"middle-bar", "middle-bar",
"min-vh-100", "min-vh-100",
@@ -112,6 +159,7 @@
"mx-auto", "mx-auto",
"mx-md-0", "mx-md-0",
"my-auto", "my-auto",
"my-md-0",
"my-md-auto", "my-md-auto",
"nav-item", "nav-item",
"nav-link", "nav-link",
@@ -125,6 +173,11 @@
"navbar-nav", "navbar-nav",
"navbar-toggler", "navbar-toggler",
"no-js", "no-js",
"offcanvas",
"offcanvas-body",
"offcanvas-header",
"offcanvas-start",
"offcanvas-title",
"order-0", "order-0",
"order-1", "order-1",
"order-md-0", "order-md-0",
@@ -134,11 +187,11 @@
"p-3", "p-3",
"p-4", "p-4",
"pb-4", "pb-4",
"pb-5",
"pb-md-0", "pb-md-0",
"position-fixed", "position-fixed",
"position-relative", "position-relative",
"ps-1", "ps-1",
"pt-4",
"pt-5", "pt-5",
"pt-md-3", "pt-md-3",
"px-4", "px-4",
@@ -148,32 +201,48 @@
"row", "row",
"row-cols-1", "row-cols-1",
"row-cols-2", "row-cols-2",
"row-cols-lg-3",
"row-cols-md-2", "row-cols-md-2",
"row-cols-md-3",
"row-cols-sm-2",
"row-cols-sm-3", "row-cols-sm-3",
"search", "search",
"search-input", "search-input",
"search-suggestions", "search-suggestions",
"shadow", "shadow",
"sidebar-overflow",
"sticky-top",
"stretched-link",
"svg-inline--fa", "svg-inline--fa",
"text-body-secondary",
"text-center", "text-center",
"text-decoration-none", "text-decoration-none",
"text-end",
"text-muted", "text-muted",
"text-secondary", "text-secondary",
"text-sm-start", "text-sm-start",
"text-start", "text-start",
"text-uppercase",
"toast", "toast",
"toast-body", "toast-body",
"toast-container", "toast-container",
"toast-header", "toast-header",
"toc",
"toc-sidebar",
"toggler-icon", "toggler-icon",
"top-bar" "top-bar"
], ],
"ids": [ "ids": [
"blogs",
"btn-webshare",
"navbar-0-collapse", "navbar-0-collapse",
"navbar-mode", "navbar-mode",
"navbar-mode-checkbox", "navbar-mode-checkbox",
"offcanvas-label",
"offcanvass-sidebar",
"toast-container", "toast-container",
"toast-copied-code-message" "toast-copied-code-message",
"toast-message-email-4"
] ]
} }
} }

View File

@@ -28,7 +28,7 @@
- id: shareLink - id: shareLink
translation: "Diese Seite teilen per {{ . }}" translation: "Diese Seite teilen per {{ . }}"
- id: shareSystem - id: shareSystem
translation: "Betriebssystem" translation: "System"
- id: copyToClipboard - id: copyToClipboard
translation: "In die Zwischenablage kopieren" translation: "In die Zwischenablage kopieren"
- id: copiedToClipboard - id: copiedToClipboard
@@ -52,7 +52,7 @@
# Navigation # Navigation
- id: colorMode - id: colorMode
translation: "Thema umschalten" translation: "Modus umschalten"
- id: colorLight - id: colorLight
translation: "Light" translation: "Light"
- id: colorDark - id: colorDark
@@ -76,7 +76,7 @@
# Sidebar # Sidebar
- id: toggleSidebar - id: toggleSidebar
translation: "Menünavigation anzuzeigen oder auszublenden" translation: "Menünavigation anzeigen oder ausblenden"
# Feature # Feature
- id: addedFeature - id: addedFeature

View File

@@ -149,3 +149,15 @@
translation: "Comment" translation: "Comment"
- id: supportedValues - id: supportedValues
translation: "Supported values" translation: "Supported values"
# Alerts
- id: caution
translation: Caution
- id: important
translation: Important
- id: note
translation: Note
- id: tip
translation: Tip
- id: warning
translation: Warning

View File

@@ -148,3 +148,15 @@
translation: "Toelichting" translation: "Toelichting"
- id: supportedValues - id: supportedValues
translation: "Toegestane waarden" translation: "Toegestane waarden"
# Alerts
- id: caution
translation: Voorzichtig
- id: important
translation: Belangrijk
- id: note
translation: Opmerking
- id: tip
translation: Tip
- id: warning
translation: Waarschuwing

View File

@@ -0,0 +1,23 @@
{{/* Adapted from https://gohugo.io/render-hooks/blockquotes/#alerts */}}
{{ $icons := dict
"caution" "fa hand"
"important" "fas exclamation"
"note" "fas circle-info"
"tip" "fa lightbulb"
"warning" "fas triangle-exclamation"
}}
{{ if eq .Type "alert" }}
<blockquote class="blockquote-alert blockquote-alert-{{ .AlertType }}">
<p class="blockquote-alert-heading">
{{ partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" (index $icons .AlertType))) }}
{{ or (i18n .AlertType) (title .AlertType) }}
</p>
{{ trim .Text "\n\r" | safeHTML }}
</blockquote>
{{ else }}
<blockquote class="blockquote">
{{ trim .Text "\n\r" | safeHTML }}
</blockquote>
{{ end }}

View File

@@ -0,0 +1,11 @@
{{ with transform.ToMath .Inner (dict "displayMode" true) }}
{{ with .Err }}
{{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }}
{{ else }}
{{ if $.Attributes.class }}
<div class="{{ $.Attributes.class }}">{{ . }}</div>
{{ else }}
{{ . }}
{{ end }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,15 @@
{{ partial "assets/image.html" (dict
"url" .Destination
"page" .Page
"caption" .Title
"title" .Text
"anchor" .Attributes.anchor
"class" .Attributes.class
"figclass" .Attributes.figclass
"loading" .Attributes.loading
"mode" .Attributes.mode
"plain" .Attributes.plain
"portrait" .Attributes.portrait
"ratio" .Attributes.ratio
"wrapper" .Attributes.wrapper
) }}

View File

@@ -0,0 +1,13 @@
{{ if gt (findRE `^HAHAHUGO` .Destination 1) 0 }}
{{ errorf "Invalid markdown link destination, use '%s' syntax when using shortcodes as input. See '%s'"
("&#123;&#123;% %&#125;&#125;" | htmlUnescape)
.Page.File.Filename
}}
{{ else }}
{{ partial "assets/link.html" (dict
"destination" .Destination
"page" .Page
"text" .Text
"title" .Title
) }}
{{ end }}

View File

@@ -0,0 +1,13 @@
{{ $opts := dict }}
{{ if eq .Type "block" }}
{{ $opts = dict "displayMode" true }}
{{ end }}
{{ with transform.ToMath .Inner $opts }}
{{ with .Err }}
{{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }}
{{ else }}
{{ . }}
{{ end }}
{{ end }}

View File

@@ -36,11 +36,11 @@
<!doctype html> <!doctype html>
<html lang="{{ .Site.Language.Lang }}" class="no-js"> <html lang="{{ .Site.Language.Lang }}" class="no-js">
<head> <head>
{{- partial "footer/scripts.html" (dict "filename" "js/critical.bundle.js" "match" "js/critical/**.js" "header" true "page" .) -}}
{{ block "head" . }}{{ end -}} {{ block "head" . }}{{ end -}}
</head> </head>
<body> <body>
{{- partial "footer/scripts.html" (dict "filename" "js/critical.bundle.js" "match" "js/critical/**.js" "header" true "page" .) -}}
<div class="d-flex flex-column min-vh-100"> <div class="d-flex flex-column min-vh-100">
<div class="d-flex flex-column {{ if $fullCover }} fullscreen{{ end }}{{ if .IsHome }} {{ .Site.Params.home.style }}{{ end }}"> <div class="d-flex flex-column {{ if $fullCover }} fullscreen{{ end }}{{ if .IsHome }} {{ .Site.Params.home.style }}{{ end }}">
{{- partial "assets/navbar.html" (dict {{- partial "assets/navbar.html" (dict

View File

@@ -14,14 +14,16 @@
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }} {{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ if ne $metadata "none" }} {{ if ne $metadata "none" }}
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
{{ $datestr := (partial "utilities/date.html" (dict "date" .Date "format" "long")) -}}
<small class="text-body-secondary text-uppercase"> <small class="text-body-secondary text-uppercase">
{{ $datestr | i18n "postedOnDate" -}} {{ if .Date }}
{{ if eq $metadata "full" }} {{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
{{ if ne $datestr $lastmodstr -}}&nbsp;({{ $lastmodstr | i18n "lastModified" }}){{ end }} {{ $datestr := (partial "utilities/date.html" (dict "date" .Date "format" "long")) -}}
{{ $datestr | i18n "postedOnDate" -}}
{{ if eq $metadata "full" }}
{{ if ne $datestr $lastmodstr -}}&nbsp;({{ $lastmodstr | i18n "lastModified" }}){{ end }}
{{ end }}
&bull;
{{ end }} {{ end }}
&bull;
{{ .ReadingTime | lang.FormatNumber 0 }}&nbsp;{{ i18n "minutesShort" }} {{ i18n "read" }} &bull; {{ .ReadingTime | lang.FormatNumber 0 }}&nbsp;{{ i18n "minutesShort" }} {{ i18n "read" }} &bull;
{{ .WordCount | lang.FormatNumber 0 }}&nbsp;{{ i18n "words" }} {{ .WordCount | lang.FormatNumber 0 }}&nbsp;{{ i18n "words" }}
</small> </small>

View File

@@ -7,6 +7,10 @@
<meta name="robots" content="noindex"> <meta name="robots" content="noindex">
<meta charset="utf-8"> <meta charset="utf-8">
<noscript><meta http-equiv="refresh" content="0; url={{ .Permalink }}"></noscript> <noscript><meta http-equiv="refresh" content="0; url={{ .Permalink }}"></noscript>
<script src='{{ partial "utilities/GetStaticURL" (dict "url" "js/alias.js") }}'></script> {{ if site.Params.main.enableLanguageSelectionStorage }}
{{- partial "footer/scripts.html" (dict "filename" "js/critical.bundle.js" "match" "js/critical/**.js" "header" true "page" page) -}}
{{ else }}
<script src='{{ partial "utilities/GetStaticURL" (dict "url" "js/alias.js") }}'></script>
{{ end }}
</head> </head>
</html> </html>

View File

@@ -6,6 +6,19 @@
{{ $error := false }} {{ $error := false }}
{{ $anchorMap := dict
"TopLeft" "north_west"
"Top" "north"
"TopRight" "north_east"
"Left" "west"
"Center" "center"
"Right" "east"
"BottomLeft" "south_west"
"Bottom" "south"
"BottomRight" "south_east"
"Smart" "auto"
}}
<!-- Validate arguments --> <!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
{{ errorf "partial [assets/adapter/cloudinary.html] - Invalid arguments" -}} {{ errorf "partial [assets/adapter/cloudinary.html] - Invalid arguments" -}}
@@ -20,6 +33,8 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := "" }}
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
{{ if eq $transform "fill" }}{{ $transform = "c_fill" }}{{ else }}{{ $transform = "c_fit" }}{{ end }} {{ if eq $transform "fill" }}{{ $transform = "c_fill" }}{{ else }}{{ $transform = "c_fit" }}{{ end }}
{{ $element := "" }} {{ $element := "" }}
@@ -37,6 +52,9 @@
{{ else }} {{ else }}
{{ $operation = printf "f_auto,%s,h_%d,w_%d" $transform $height $width }} {{ $operation = printf "f_auto,%s,h_%d,w_%d" $transform $height $width }}
{{ end }} {{ end }}
{{ with $anchor }}
{{ $operation = printf "%s,g_%s" $operation . }}
{{ end }}
{{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}} {{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}}
{{ end }} {{ end }}

View File

@@ -20,6 +20,7 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := .anchor | default "" }}
{{ $element := "" }} {{ $element := "" }}
{{ $absoluteURL := .absoluteURL }} {{ $absoluteURL := .absoluteURL }}
{{ $url := urls.JoinPath $dir $file }} {{ $url := urls.JoinPath $dir $file }}
@@ -46,13 +47,20 @@
{{ if not $error }} {{ if not $error }}
{{ $scaled := "" }} {{ $scaled := "" }}
{{ if eq $transform "fill" }} {{ if eq $transform "fill" }}
{{- $scaled = $img.Fill (printf "%dx%d %s" $width $height $format) -}} {{- $scaled = $img.Fill (printf "%dx%d %s %s" $width $height $anchor $format) -}}
{{ else }} {{ else }}
{{- $scaled = $img.Fit (printf "%dx%d %s" $width $height $format) -}} {{- $scaled = $img.Fit (printf "%dx%d %s" $width $height $format) -}}
{{ end }} {{ end }}
{{- $clean := path.Ext $img.RelPermalink -}} {{- $clean := path.Ext $img.RelPermalink -}}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean (printf "-%dx%d.%s" $width $height $format)) -}} {{ $destination := "" }}
{{ if $anchor }}
{{ $destination = printf "-%dx%d-%s.%s" $width $height (lower $anchor) $format }}
{{ else }}
{{ $destination = printf "-%dx%d.%s" $width $height $format }}
{{ end }}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean $destination) -}}
{{- if $absoluteURL -}} {{- if $absoluteURL -}}
{{- $element = $scaled.Permalink -}} {{- $element = $scaled.Permalink -}}
{{- else -}} {{- else -}}

View File

@@ -6,6 +6,19 @@
{{ $error := false }} {{ $error := false }}
{{ $anchorMap := dict
"TopLeft" "top_left"
"Top" "top"
"TopRight" "top_right"
"Left" "left"
"Center" "center"
"Right" "right"
"BottomLeft" "bottom_left"
"Bottom" "bottom"
"BottomRight" "bottom_right"
"Smart" "auto"
}}
<!-- Validate arguments --> <!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
{{ errorf "partial [assets/adapter/imagekit.html] - Invalid arguments" -}} {{ errorf "partial [assets/adapter/imagekit.html] - Invalid arguments" -}}
@@ -20,6 +33,8 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := "" }}
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
{{ if eq $transform "fill" }}{{ $transform = "c-maintain_ratio" }}{{ else }}{{ $transform = "c-at_max" }}{{ end }} {{ if eq $transform "fill" }}{{ $transform = "c-maintain_ratio" }}{{ else }}{{ $transform = "c-at_max" }}{{ end }}
{{ $element := "" }} {{ $element := "" }}
@@ -42,6 +57,9 @@
{{ else }} {{ else }}
{{ $operation = printf "tr:f-auto,%s,h-%d,w-%d" $transform $height $width }} {{ $operation = printf "tr:f-auto,%s,h-%d,w-%d" $transform $height $width }}
{{ end }} {{ end }}
{{ with $anchor }}
{{ $operation = printf "%s,fo-%s" $operation . }}
{{ end }}
{{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}} {{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}}
{{ end }} {{ end }}

View File

@@ -6,6 +6,19 @@
{{ $error := false }} {{ $error := false }}
{{ $anchorMap := dict
"TopLeft" "top,left"
"Top" "top"
"TopRight" "top,right"
"Left" "left"
"Center" "center"
"Right" "right"
"BottomLeft" "bottom,left"
"Bottom" "bottom"
"BottomRight" "bottom,right"
"Smart" "faces,edges,center"
}}
<!-- Validate arguments --> <!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
{{ errorf "partial [assets/adapter/imgix.html] - Invalid arguments" -}} {{ errorf "partial [assets/adapter/imgix.html] - Invalid arguments" -}}
@@ -20,6 +33,8 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := "" }}
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
{{ if eq $transform "fill" }}{{ $transform = "crop" }}{{ else }}{{ $transform = "max" }}{{ end }} {{ if eq $transform "fill" }}{{ $transform = "crop" }}{{ else }}{{ $transform = "max" }}{{ end }}
{{ $element := "" }} {{ $element := "" }}
@@ -37,6 +52,9 @@
{{ else }} {{ else }}
{{ $operation = printf "f_auto&fit=%s&h=%d&w=%d" $transform $height $width }} {{ $operation = printf "f_auto&fit=%s&h=%d&w=%d" $transform $height $width }}
{{ end }} {{ end }}
{{ with $anchor }}
{{ $operation = printf "%s&crop=%s" $operation . }}
{{ end }}
{{- $element = printf "%s?%s" (urls.JoinPath (slice "https://" $host $dir $file)) $operation -}} {{- $element = printf "%s?%s" (urls.JoinPath (slice "https://" $host $dir $file)) $operation -}}
{{ end }} {{ end }}

View File

@@ -95,10 +95,10 @@
{{- end -}} {{- end -}}
role="button" role="button"
> >
<div class="d-flex justify-content-{{ $justify }}"> <span class="d-flex justify-content-{{ $justify }}">
<div class="my-auto">{{ $title | safeHTML }}</div> <span class="my-auto">{{ $title | safeHTML }}</span>
{{- with $icon }}<div class="align-self-center{{ if $title }}{{ if eq $order "first" }} order-first pe-1{{ else }} ps-1{{ end }}{{ end }}">{{ partial "assets/icon.html" (dict "icon" $icon "spacing" false) }}</div>{{ end }} {{- with $icon }}<span class="align-self-center{{ if $title }}{{ if eq $order "first" }} order-first pe-1{{ else }} ps-1{{ end }}{{ end }}">{{ partial "assets/icon.html" (dict "icon" $icon "spacing" false) }}</span>{{ end }}
</div> </span>
{{- with $badge }} {{- with $badge }}
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger"> <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">

View File

@@ -23,9 +23,11 @@
{{- $color := .color -}} {{- $color := .color -}}
{{- $padding := .padding -}} {{- $padding := .padding -}}
{{- $header := .header -}} {{- $header := .header -}}
{{- $body := .body -}}
{{- $footer := .footer -}} {{- $footer := .footer -}}
{{- $orientation := .orientation -}} {{- $orientation := .orientation -}}
{{- $ratio := .ratio -}} {{- $ratio := .ratio -}}
{{- $portrait := .portrait | default false -}}
{{- $wrapper := .wrapper | default "p-0" -}} {{- $wrapper := .wrapper | default "p-0" -}}
{{- $style := .style -}} {{- $style := .style -}}
{{- $align := .align -}} {{- $align := .align -}}
@@ -36,7 +38,9 @@
{{- $buttonType := .buttonType -}} {{- $buttonType := .buttonType -}}
{{- $iconRounded := .iconRounded }} {{- $iconRounded := .iconRounded }}
{{- $scroll := .scroll | default false }} {{- $scroll := .scroll | default false }}
{{- $spacer := .spacer | default false }}
{{- $hook := .hook | default "assets/card.html" }} {{- $hook := .hook | default "assets/card.html" }}
{{- $cols := string .cols | default "3" -}}
<!-- Override arguments --> <!-- Override arguments -->
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }} {{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }}
@@ -50,6 +54,13 @@
{{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }} {{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }}
{{ end }} {{ end }}
{{ $cardWrapper := "" }}
{{ if $scroll }}
{{ $cardWrapper = printf "card-block card-block-%d" (int $cols) }}
{{ end }}
{{ if not $spacer }}{{ $class = printf "%s h-100" $class }}{{ end }}
{{ $list := slice }} {{ $list := slice }}
{{ if $isPages }} {{ if $isPages }}
{{ range $index, $element := $pages }} {{ range $index, $element := $pages }}
@@ -60,11 +71,13 @@
<!-- headless page --> <!-- headless page -->
{{- else -}} {{- else -}}
{{- $thumbnail := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.url) $element.Params.Thumbnail) -}} {{- $thumbnail := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.url) $element.Params.Thumbnail) -}}
{{- $anchor := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.anchor) "") -}}
{{- $params = merge $params (dict {{- $params = merge $params (dict
"title" $element.Title "title" $element.Title
"href" $element.RelPermalink "href" $element.RelPermalink
"description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true)) "description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true))
"thumbnail" $thumbnail "thumbnail" $thumbnail
"anchor" $anchor
"icon" $element.Params.icon "icon" $element.Params.icon
) -}} ) -}}
{{- end -}} {{- end -}}
@@ -79,13 +92,10 @@
{{- $max := $count -}} {{- $max := $count -}}
{{- $max = math.Min (.max | default $count) $count -}} {{- $max = math.Min (.max | default $count) $count -}}
{{- $responsive := .responsive | default true -}} {{- $responsive := .responsive | default true -}}
{{- $cols := string .cols | default "3" -}}
{{- $sizes := "100vw" }} {{- $sizes := "100vw" }}
{{- $colGrid := "" -}} {{- $colGrid := "" -}}
{{ if $scroll }} {{ if not $scroll }}
{{- $colGrid = (printf "card-block-%d" $cols) -}}
{{ else }}
{{ $colGrid = printf "row-cols-%s" $cols }} {{ $colGrid = printf "row-cols-%s" $cols }}
{{- if eq $cols "1" }} {{- if eq $cols "1" }}
{{ $colGrid = "row-cols-1" -}} {{ $colGrid = "row-cols-1" -}}
@@ -110,6 +120,10 @@
{{ end -}} {{ end -}}
{{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }} {{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{ end -}} {{ end -}}
{{ else }}
{{ if in (slice "2" "3" "4" "5") $cols }}
{{ $sizes = replace (printf "%.1fvw" (div 100.0 (int $cols))) ".0" "" }}
{{ end }}
{{ end }} {{ end }}
{{- if not $paginate -}} {{- if not $paginate -}}
@@ -119,19 +133,21 @@
{{- if and (eq $cols "1") (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}} {{- if and (eq $cols "1") (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
<!-- Main code --> <!-- Main code -->
<div class="container {{ $wrapper }} {{ if $scroll }}card-container-wrapper{{ end }}"> <div class="container-fluid {{ $wrapper }} {{ if $scroll }}card-container-wrapper{{ end }}">
<div class="row g-{{ $gutter }} {{ if $scroll }}d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100{{ else }}{{ $colGrid }}{{ end }}"> <div class="row g-{{ $gutter }} {{ if $scroll }}d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100 {{ end }} {{ $colGrid }}">
{{ range $index, $element := $list }} {{ range $index, $element := $list }}
{{- $params := (dict {{- $params := (dict
"class" (printf "h-100 %s" $class) "class" (printf " %s" $class)
"color" $color "color" $color
"footer" $footer "footer" $footer
"body" $body
"header" $header "header" $header
"loading" $loading "loading" $loading
"sizes" $sizes "sizes" $sizes
"orientation" $orientation "orientation" $orientation
"padding" $padding "padding" $padding
"ratio" $ratio "ratio" $ratio
"portrait" $portrait
"subtle" $subtle "subtle" $subtle
"style" $style "style" $style
"align" $align "align" $align
@@ -142,7 +158,8 @@
) -}} ) -}}
{{- $params = merge $element $params }} {{- $params = merge $element $params }}
<div class="col"> <div class="{{ with $cardWrapper }}{{ . }}{{ else }}col{{ end }}">
{{ if $spacer }}<div class="spacer"></div>{{ end }}
{{- partial $hook $params -}} {{- partial $hook $params -}}
</div> </div>
{{- if and (lt $index (sub $max 1)) $separator -}} {{- if and (lt $index (sub $max 1)) $separator -}}

View File

@@ -15,6 +15,7 @@
{{- $class := .class -}} {{- $class := .class -}}
{{- $color := .color -}} {{- $color := .color -}}
{{- $description := .description -}} {{- $description := .description -}}
{{- $body := .body | default "full" -}}
{{- $footer := .footer | default "none" -}} {{- $footer := .footer | default "none" -}}
{{- $gutter := .gutter | default "0" -}} {{- $gutter := .gutter | default "0" -}}
{{- $header := .header | default "full" -}} {{- $header := .header | default "full" -}}
@@ -29,7 +30,9 @@
{{- $orientation := .orientation | default "stacked" -}} {{- $orientation := .orientation | default "stacked" -}}
{{- $padding := (string .padding) | default "auto" -}} {{- $padding := (string .padding) | default "auto" -}}
{{- $ratio := .ratio -}} {{- $ratio := .ratio -}}
{{- $portrait := .portrait | default false -}}
{{- $thumbnail := .thumbnail -}} {{- $thumbnail := .thumbnail -}}
{{- $anchor := .anchor | default "" -}}
{{- $title := .title -}} {{- $title := .title -}}
{{- $subtle := .subtle -}} {{- $subtle := .subtle -}}
{{- $button := .button -}} {{- $button := .button -}}
@@ -57,8 +60,12 @@
{{- if not $title }}{{ $title = .Title }}{{ end -}} {{- if not $title }}{{ $title = .Title }}{{ end -}}
{{- if not $href }}{{ $href = .RelPermalink }}{{ end -}} {{- if not $href }}{{ $href = .RelPermalink }}{{ end -}}
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}} {{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}}
{{- if not $thumbnail }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}} {{- if and (not $thumbnail) (not $icon) }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
{{ if not $ratio }}
{{- if and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.ratio }}{{ $ratio = .Params.Thumbnail.ratio }}{{ end -}}
{{ end }}
{{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}} {{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}}
{{- if not $anchor }}{{ $anchor = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.anchor) "") }}{{ end -}}
{{- end -}} {{- end -}}
{{ if (hasPrefix $orientation "horizontal") }} {{ if (hasPrefix $orientation "horizontal") }}
@@ -69,6 +76,7 @@
{{ end }} {{ end }}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}} {{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
{{- if eq $body "none" }}{{ $description = "" }}{{ end -}}
<!-- Inline partial to render the card's body --> <!-- Inline partial to render the card's body -->
{{- define "partials/card-body.html" -}} {{- define "partials/card-body.html" -}}
@@ -80,7 +88,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-5 fw-bold">{{ $title }}</p> <p class="card-title fs-lg-5 fs-6 fw-bold">{{ $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 }}
@@ -89,7 +97,7 @@
</a> </a>
{{- else -}} {{- else -}}
<div> <div>
{{ with $title }}<p class="card-title fs-5 fw-bold">{{ . }}</p>{{ end -}} {{ with $title }}<p class="card-title fs-lg-5 fs-6 fw-bold">{{ . }}</p>{{ end -}}
{{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}} {{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
</div> </div>
{{- end -}} {{- end -}}
@@ -108,7 +116,7 @@
<p class="card-text"><small class="{{ if $color }}text-bg-{{ $color }}{{ else }}text-body-secondary{{ end }} text-uppercase"> <p class="card-text"><small class="{{ if $color }}text-bg-{{ $color }}{{ else }}text-body-secondary{{ end }} text-uppercase">
{{- if in (slice "full" "publication") $keywords -}} {{- if in (slice "full" "publication") $keywords -}}
{{- partial "utilities/date.html" (dict "date" $page.Date "format" "long") -}}&nbsp;&bull; {{ with $page.Date }}{{ partial "utilities/date.html" (dict "date" . "format" "long") }}&nbsp;&bull;{{ end -}}
{{ $page.ReadingTime | lang.FormatNumber 0 }} {{ i18n "minutesShort" }} {{ i18n "read" -}} {{ $page.ReadingTime | lang.FormatNumber 0 }} {{ i18n "minutesShort" }} {{ i18n "read" -}}
{{- end -}} {{- end -}}
@@ -161,7 +169,7 @@
<div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}"> <div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}">
{{- if $thumbnail -}} {{- if $thumbnail -}}
<div class="{{ $col1 }}"> <div class="{{ $col1 }}">
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}} {{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "portrait" $portrait "sizes" $sizes "anchor" $anchor "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
</div> </div>
{{- else if $icon -}} {{- else if $icon -}}
<div class="{{ $col1 }} p-{{ $padding }}"> <div class="{{ $col1 }} p-{{ $padding }}">
@@ -206,7 +214,7 @@
<!-- Render stacked / default card --> <!-- Render stacked / default card -->
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}"> <div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
{{- if $thumbnail -}} {{- if $thumbnail -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}} {{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "portrait" $portrait "anchor" $anchor "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}}
{{- else if $icon -}} {{- else if $icon -}}
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }} {{ if $iconRounded }}fa-stack {{ $stack }}{{ end }} w-100"> <div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }} {{ if $iconRounded }}fa-stack {{ $stack }}{{ end }} w-100">
{{ if $iconRounded }} {{ if $iconRounded }}

View File

@@ -15,15 +15,16 @@
{{- $mode := .mode -}} {{- $mode := .mode -}}
{{- $modes := .modes -}} {{- $modes := .modes -}}
{{- $plain := .plain | default false }} {{- $plain := .plain | default false }}
{{- $anchor := .anchor }}
<!-- Split url into base and anchor when applicable (only relevant for vector images) --> <!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $anchor := "" -}} {{- $fileAnchor := "" -}}
{{- $segments := split $url "#" -}} {{- $segments := split $url "#" -}}
{{- if gt (len $segments) 2 -}} {{- if gt (len $segments) 2 -}}
{{- errorf "Invalid path or url: %q" $url -}} {{- errorf "Invalid path or url: %q" $url -}}
{{- else if eq (len $segments) 2 }} {{- else if eq (len $segments) 2 }}
{{- $url = index $segments 0 -}} {{- $url = index $segments 0 -}}
{{- $anchor = index $segments 1 -}} {{- $fileAnchor = index $segments 1 -}}
{{- end -}} {{- end -}}
<!-- Obtain fallback URL and imageset definition --> <!-- Obtain fallback URL and imageset definition -->
@@ -31,8 +32,10 @@
"page" $page "page" $page
"url" .url "url" .url
"ratio" $ratio "ratio" $ratio
"portrait" $portrait
"plain" $plain "plain" $plain
"imageset" true "imageset" true
"anchor" $anchor
) }} ) }}
{{ $fallbackURL := index $target "target" }} {{ $fallbackURL := index $target "target" }}
{{ $imgset := index $target "set" }} {{ $imgset := index $target "set" }}
@@ -49,24 +52,26 @@
<!-- Generate image definition --> <!-- Generate image definition -->
{{- if $caption -}} {{- if $caption -}}
<figure {{ with $wrapper }}class="{{ . }}"{{ end }}> <figure {{ with $wrapper }}class="{{ . }}"{{ end }}>
{{ else }}
{{ with $wrapper }}<div class="{{ . }}">{{ end }}
{{ end }}
{{- if not $fileAnchor -}}
<img class="img-fluid {{ $class }}"
src="{{ $fallbackURL }}"
{{ if $lazy }}loading="lazy"{{ end }}
{{ with $priority }}fetchpriority="{{ . }}"{{ end }}
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }}
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
{{- else }}
<svg class="{{ $class }}">
<use href="{{ $fallbackURL }}#{{ $fileAnchor }}"></use>
</svg>
{{ end }} {{ end }}
<div class="{{ if not $caption }}{{ $wrapper }}{{ end }}">
{{- if not $anchor -}}
<img class="img-fluid {{ $class }}"
src="{{ $fallbackURL }}"
{{ if $lazy }}loading="lazy"{{ end }}
{{ with $priority }}fetchpriority="{{ . }}"{{ end }}
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }}
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
{{- else }}
<svg class="{{ $class }}">
<use href="{{ $fallbackURL }}#{{ $anchor }}"></use>
</svg>
{{ end }}
</div>
{{- if $caption -}} {{- if $caption -}}
<figcaption class="figure-caption{{ with $figclass }} {{ . }}{{ end }}">{{ $caption | safeHTML }}</figcaption> <figcaption class="figure-caption{{ with $figclass }} {{ . }}{{ end }}">{{ $caption | safeHTML }}</figcaption>
</figure> </figure>
{{ else if $wrapper }}
</div>
{{- end -}} {{- end -}}

View File

@@ -2,12 +2,14 @@
{{- $page := .page -}} {{- $page := .page -}}
{{- $url := .url -}} {{- $url := .url -}}
{{- $ratio := .ratio -}} {{- $ratio := .ratio -}}
{{- $portrait := .portrait -}}
{{- $height := .height -}} {{- $height := .height -}}
{{- $width := .width -}} {{- $width := .width -}}
{{- $plain := .plain | default false }} {{- $plain := .plain | default false }}
{{- $targetURL := "" -}} {{- $targetURL := "" -}}
{{- $set := "" -}} {{- $set := "" -}}
{{- $imageset := .imageset | default false }} {{- $imageset := .imageset | default false }}
{{- $anchor := .anchor | default "" -}}
<!-- Split url into base and anchor when applicable (only relevant for vector images) --> <!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $segments := split $url "#" -}} {{- $segments := split $url "#" -}}
@@ -84,10 +86,27 @@
<!-- Derive image width and height --> <!-- Derive image width and height -->
{{ if not $plain }} {{ if not $plain }}
{{ with $dims }} {{ if $portrait }}
{{ range $dim := (. | last 1) }} {{ with $dims }}
{{ $width = (int (index (split $dim "x") 0)) }} {{ $newDims := slice }}
{{ $height = (int (index (split $dim "x") 1)) }} {{ range $dim := . }}
{{ $width = (int (index (split $dim "x") 1)) }}
{{ $height = (int (index (split $dim "x") 0)) }}
{{- $newDims = $newDims | append (printf "%dx%d" (int $width) $height ) -}}
{{ end }}
{{ $dims = $newDims }}
{{ end }}
{{ $newWidth := $height }}
{{ $newHeight := $width }}
{{ $width = $newWidth }}
{{ $height = $newHeight }}
{{ else }}
{{ with $dims }}
{{ range $dim := (. | last 1) }}
{{ $width = (int (index (split $dim "x") 0)) }}
{{ $height = (int (index (split $dim "x") 1)) }}
{{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}
@@ -100,13 +119,21 @@
"url" $url "url" $url
"img" $img "img" $img
"dims" ($dims | last 1) "dims" ($dims | last 1)
"anchor" $anchor
"transform" $transform "transform" $transform
"hook" $hook "hook" $hook
"format" "jpg" "format" "png"
"includeWidth" false "includeWidth" false
)}} )}}
{{ if $imageset }} {{ if $imageset }}
{{- $set = partial "assets/helpers/image-set.html" (dict "url" $url "img" $img "dims" $dims "transform" $transform "hook" $hook) -}} {{- $set = partial "assets/helpers/image-set.html" (dict
"url" $url
"img" $img
"dims" $dims
"anchor" $anchor
"transform" $transform
"hook" $hook
) -}}
{{ end }} {{ end }}
{{ end }} {{ end }}

View File

@@ -7,6 +7,7 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $format := .format }} {{ $format := .format }}
{{ $includeWidth := .includeWidth | default true }} {{ $includeWidth := .includeWidth | default true }}
{{ $anchor := .anchor | default "" }}
{{ $host := (urls.Parse $url).Hostname }} {{ $host := (urls.Parse $url).Hostname }}
{{ $dir := (urls.Parse $url).Path }} {{ $dir := (urls.Parse $url).Path }}
@@ -35,6 +36,7 @@
"width" $width "width" $width
"height" $height "height" $height
"format" $format "format" $format
"anchor" $anchor
)}} )}}
{{ if $includeWidth }} {{ if $includeWidth }}
{{ $imgset = $imgset | append (printf "%s %dw" $element $width) }} {{ $imgset = $imgset | append (printf "%s %dw" $element $width) }}

View File

@@ -27,6 +27,7 @@
{{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}} {{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}}
{{- $sizes := .sizes | default "100vw" -}} {{- $sizes := .sizes | default "100vw" -}}
{{- $plain := .plain | default false -}} {{- $plain := .plain | default false -}}
{{- $anchor := .anchor | default "" -}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}} {{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $url := .url -}} {{- $url := .url -}}
@@ -49,6 +50,7 @@
"sizes" $sizes "sizes" $sizes
"absoluteURL" $absoluteURL "absoluteURL" $absoluteURL
"plain" $plain "plain" $plain
"anchor" $anchor
) )
-}} -}}

View File

@@ -25,6 +25,7 @@
{{- $page := .page -}} {{- $page := .page -}}
{{- $anchor := "" -}} {{- $anchor := "" -}}
{{- $text := .text -}} {{- $text := .text -}}
{{- $title := .title -}}
{{- $class := .class -}} {{- $class := .class -}}
<!-- Main code --> <!-- Main code -->
@@ -72,5 +73,13 @@
{{- end -}} {{- end -}}
{{ if not $error -}} {{ if not $error -}}
<a {{ with $class }}class="{{ . }}" {{ end }}href="{{ $destination | safeURL }}"{{ with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end }}>{{ $text }}</a> <a
{{- with $destination }} href="{{ . | safeURL }}"{{ end -}}
{{- with $class }}class="{{ . }}" {{ end -}}
{{- with $target }} target="{{ . }}"{{ end -}}
{{- with $rel }} rel="{{ . }}"{{ end -}}
{{- with $title }} title="{{ . }}"{{ end -}}
>
{{- $text -}}
</a>
{{- end }} {{- end }}

View File

@@ -24,7 +24,7 @@
{{- $menuURL := "" -}} {{- $menuURL := "" -}}
{{ if or (strings.HasPrefix $menu.PageRef "http") (strings.HasPrefix $menu.URL "http") }} {{ if or (strings.HasPrefix $menu.PageRef "http") (strings.HasPrefix $menu.URL "http") }}
{{ $menuURL = or $menu.PageRef $menu.URL }} {{ $menuURL = or $menu.PageRef $menu.URL }}
{{ else }} {{ else if (or $menu.PageRef $menu.URL) }}
{{- $menuURL = urls.JoinPath $baseURL ((or $menu.PageRef $menu.URL) | relLangURL) -}} {{- $menuURL = urls.JoinPath $baseURL ((or $menu.PageRef $menu.URL) | relLangURL) -}}
{{ end }} {{ end }}
{{- $pageURL := $page.RelPermalink -}} {{- $pageURL := $page.RelPermalink -}}
@@ -47,6 +47,11 @@
{{- if $cue -}} {{- if $cue -}}
{{ $suffix = partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs") }} {{ $suffix = partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs") }}
{{- end -}} {{- end -}}
{{ else if $menuURL }}
{{ $ref := partial "utilities/GetPage.html" (dict "url" $url.Path "page" $page) }}
{{- if not $ref -}}
{{- warnf "partial [assets/navbar-item.html] - Cannot find page of menu item '%s': %s" $menu.Name $url -}}
{{ end }}
{{ end -}} {{ end -}}
{{- $mainNav := urlize (lower $menu.Name) -}} {{- $mainNav := urlize (lower $menu.Name) -}}
@@ -82,7 +87,7 @@
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}" <a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }} {{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }} data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}> {{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }}{{ end }} {{ $button | safeHTMLAttr }}>
{{- with $menu.Pre }} {{- with $menu.Pre }}
{{ if hasPrefix . "<i" }} {{ if hasPrefix . "<i" }}

View File

@@ -154,11 +154,6 @@
{{- $pre := .Pre -}} {{- $pre := .Pre -}}
{{- $post := .Post -}} {{- $post := .Post -}}
{{- $theme := "light" -}}
{{- if in (slice "primary" "secondary" "success" "danger" "black") $color }}{{ $theme = "dark" }}{{ end -}}
{{- if in (slice "body" "body-tertiary") $color }}{{ $theme = "" }}{{ end -}}
{{- if not $color }}{{ $theme = "" }}{{ end -}}
{{- $class := .class -}} {{- $class := .class -}}
{{- $contrast := false -}} {{- $contrast := false -}}
@@ -179,7 +174,7 @@
{{ if $overlay }} {{ if $overlay }}
data-bs-theme="{{ $overlayMode }}" data-bs-theme="{{ $overlayMode }}"
data-bs-overlay="{{ $overlayMode }}" data-bs-overlay="{{ $overlayMode }}"
{{ else }}{{ with $theme }}data-bs-theme="{{ . }}"{{ end }}{{ end }} {{ end }}
{{ if $overlay }}data-navbar-color="{{ $color }}"{{ end }} {{ if $overlay }}data-navbar-color="{{ $color }}"{{ end }}
> >
<div class="container-xxl p-0"> <div class="container-xxl p-0">
@@ -218,9 +213,9 @@
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}-collapse" <button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}-collapse"
aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}"> aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<span class="toggler-icon top-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span> <span class="toggler-icon top-bar emphasis"></span>
<span class="toggler-icon middle-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span> <span class="toggler-icon middle-bar emphasis"></span>
<span class="toggler-icon bottom-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span> <span class="toggler-icon bottom-bar emphasis"></span>
</button> </button>
</div> </div>
</div> </div>
@@ -272,14 +267,14 @@
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false"> <a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }} {{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}
</a> </a>
<ul class="dropdown-menu dropdown-menu-end "> <ul class="dropdown-menu dropdown-menu-end " id="language-selector">
{{- if $page.IsTranslated -}} {{- if $page.IsTranslated -}}
{{- range $page.AllTranslations -}} {{- range $page.AllTranslations -}}
<li><a class="dropdown-item {{ if eq .Language.Lang $currentLang }}active{{ end }}" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li> <li><a class="dropdown-item {{ if eq .Language.Lang $currentLang }}active{{ end }}" hreflang="{{.Language.Lang}}" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
{{- end -}} {{- end -}}
{{- else -}} {{- else -}}
{{- range site.Languages -}} {{- range site.Languages -}}
<li><a class="dropdown-item" href="{{ urls.JoinPath $baseURL .Lang }}">{{ default .Lang .LanguageName }}</a></li> <li><a class="dropdown-item" href="{{ urls.JoinPath $baseURL .Lang }}" hreflang="{{.Lang}}">{{ default .Lang .LanguageName }}</a></li>
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
</ul> </ul>

View File

@@ -64,11 +64,11 @@
{{- with index . "layout" }}{{ $layout = . }}{{ end -}} {{- with index . "layout" }}{{ $layout = . }}{{ end -}}
{{- with index . "pane" }}{{ $pane = . }}{{ end -}} {{- with index . "pane" }}{{ $pane = . }}{{ end -}}
{{- with index . "type" }}{{ $type = . }}{{ end -}} {{- with index . "type" }}{{ $type = . }}{{ end -}}
{{- with index . "vertical" }}{{ $vertical = partial "utilities/CastBool.html" . }}{{ end -}} {{- if (isset . "vertical") }}{{ $vertical = partial "utilities/CastBool.html" (index . "vertical") }}{{ end -}}
{{- with index . "width" }}{{ $width = . }}{{ end -}} {{- with index . "width" }}{{ $width = . }}{{ end -}}
{{- with index . "kind" }}{{ $kind = . }}{{ end -}} {{- with index . "kind" }}{{ $kind = . }}{{ end -}}
{{- with index . "ratio" }}{{ $ratio = . }}{{ end -}} {{- with index . "ratio" }}{{ $ratio = . }}{{ end -}}
{{- with index . "wrap" }}{{ $wrap = partial "utilities/CastBool.html" . }}{{ end -}} {{- if (isset . "wrap") }}{{ $wrap = partial "utilities/CastBool.html" (index . "wrap") }}{{ end -}}
{{- end -}} {{- end -}}
{{ if isset $page.Params "nested" }} {{ if isset $page.Params "nested" }}

View File

@@ -27,5 +27,20 @@
{{- with index . "state" }}{{ $state = . }}{{ end -}} {{- with index . "state" }}{{ $state = . }}{{ end -}}
{{- end -}} {{- end -}}
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "state" $state "page" .) }} {{ $localize := false }}
{{- if reflect.IsSlice $config.localize -}}
{{- if in $config.localize $mod}}
{{- $localize = true -}}
{{- end -}}
{{- end -}}
{{- partial "footer/scripts.html" (dict
"filename" $filename
"match" $match
"header" false
"skipTemplate" $skipTemplate
"state" $state
"localize" $localize
"page" page
) }}
{{- end -}} {{- end -}}

View File

@@ -1,3 +1,18 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $error := false }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "scripts" "args" . "group" "partial") }}
{{- errorf "partial [footer/scripts.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}} {{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $filename := .filename | default "js/main.bundle.js" -}} {{- $filename := .filename | default "js/main.bundle.js" -}}
{{- $match := .match | default "{js/*.js,js/vendor/**.js}" -}} {{- $match := .match | default "{js/*.js,js/vendor/**.js}" -}}
@@ -5,26 +20,41 @@
{{- $header := .header -}} {{- $header := .header -}}
{{- $core := .core | default false -}} {{- $core := .core | default false -}}
{{- $skipTemplate := .skipTemplate | default false -}} {{- $skipTemplate := .skipTemplate | default false -}}
{{- $localize := .localize | default false }}
{{- $state := "async" -}} {{- $state := .state | default "async" -}}
{{- with .state }}{{ $state = . }}{{ end -}}
{{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}} {{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}}
{{- $supportedStates := slice "defer" "async" "immediate" -}}
{{- if and $state (not (in $supportedStates $state)) -}}
{{- errorf "partial [footer/script.html] - Invalid value for param 'processing': %s" $state -}}
{{- end -}}
{{ $config := page.Scratch.Get "modules" }}
{{ if not $config }}
{{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }}
{{ end }}
{{- $modules := "" -}} {{- $modules := "" -}}
{{ if $core }} {{ if $core }}
{{ $config := $page.Scratch.Get "modules" }}
{{ if not $config }}
{{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }}
{{ end }}
{{- $modules = $config.core -}} {{- $modules = $config.core -}}
{{- if reflect.IsSlice $config.localize -}}
{{- range $index, $mod := $modules -}}
{{- if in $config.localize $mod}}
{{- $localize = true -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}} {{- end -}}
{{- $bundle := partial "utilities/bundle" (dict "match" $match "filename" $filename "modules" $modules "basepath" "js/modules" "all" true "debugging" site.Params.debugging.showJS) -}} {{ if $localize }}
{{ $filename = path.Join (path.Dir $filename) (printf "%s.%s%s" (path.BaseName $filename) $page.Language.Lang (path.Ext $filename)) }}
{{ end }}
<!-- Main code -->
{{- $bundle := partial "utilities/bundle" (dict
"match" $match
"filename" $filename
"modules" $modules
"basepath" "js/modules"
"all" true
"debugging" site.Params.debugging.showJS
) -}}
{{- $js := $bundle -}} {{- $js := $bundle -}}
{{- if not $skipTemplate -}} {{- if not $skipTemplate -}}
{{- $js = $bundle | resources.ExecuteAsTemplate $filename $page -}} {{- $js = $bundle | resources.ExecuteAsTemplate $filename $page -}}

View File

@@ -17,6 +17,8 @@
{{ end -}} {{ end -}}
{{ end -}} {{ end -}}
{{ $alt := slice .Site.Params.schema.twitter .Site.Params.schema.linkedin .Site.Params.schema.github }}
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "https://schema.org", "@context": "https://schema.org",
@@ -31,17 +33,7 @@
{{ end -}} {{ end -}}
"name": "{{ .Site.Params.schema.name }}", "name": "{{ .Site.Params.schema.name }}",
"url": {{ print $baseURL }}, "url": {{ print $baseURL }},
"sameAs": [ "sameAs": {{ $alt | uniq | complement (slice "") }},
{{ with .Site.Params.schema.twitter -}}
{{ . }}
{{ end -}}
{{ with .Site.Params.schema.linkedin -}}
, {{ . }}
{{ end -}}
{{ with .Site.Params.schema.github -}}
, {{ . }}
{{ end -}}
],
{{ if eq .Site.Params.schemaType "Organization" -}} {{ if eq .Site.Params.schemaType "Organization" -}}
"logo": { "logo": {
"@type": "ImageObject", "@type": "ImageObject",
@@ -103,8 +95,8 @@
"@id": {{ print $baseURL "#/schema/person/1" }} "@id": {{ print $baseURL "#/schema/person/1" }}
}, },
{{ end -}} {{ end -}}
"datePublished": "{{ .Date.Format "2006-01-02T15:04:05CET" }}", {{ with .Date }}"datePublished": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}", {{ with .Lastmod }}"dateModified": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
"breadcrumb": { "breadcrumb": {
"@id": {{ print .Permalink "#/schema/breadcrumb/1" }} "@id": {{ print .Permalink "#/schema/breadcrumb/1" }}
}, },
@@ -151,8 +143,8 @@
"mainEntityOfPage": { "mainEntityOfPage": {
"@id": {{ .Permalink }} "@id": {{ .Permalink }}
}, },
"datePublished": "{{ .Date.Format "2006-01-02T15:04:05CET" }}", {{ with .Date }}"datePublished": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}", {{ with .Lastmod }}"dateModified": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
"author": { "author": {
"@id": {{ print $baseURL "#/schema/person/2" }} "@id": {{ print $baseURL "#/schema/person/2" }}
}, },

View File

@@ -4,6 +4,7 @@
{{ $optional := slice }} {{ $optional := slice }}
{{ $excludeSCSS := slice }} {{ $excludeSCSS := slice }}
{{ $disableTemplate := slice }} {{ $disableTemplate := slice }}
{{ $localize := slice }}
{{ $modules := dict }} {{ $modules := dict }}
{{ range $key, $mod := $page.Site.Params.modules }} {{ range $key, $mod := $page.Site.Params.modules }}
@@ -37,13 +38,24 @@
{{ $disableTemplate = $disableTemplate | append $key }} {{ $disableTemplate = $disableTemplate | append $key }}
{{ end }} {{ end }}
{{ if eq (index $mod "localize") true }}
{{ $localize = $localize | append $key }}
{{ end }}
{{ $modules = merge $modules (dict $key $mod) }} {{ $modules = merge $modules (dict $key $mod) }}
{{ else }} {{ else }}
{{ warnf "Unsupported module parameter: %s" $key }} {{ warnf "Unsupported module parameter: %s" $key }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ $modules := dict "modules" $modules "core" $core "optional" $optional "excludeSCSS" $excludeSCSS "disableTemplate" $disableTemplate }} {{ $modules := dict
"modules" $modules
"core" $core
"optional" $optional
"excludeSCSS" $excludeSCSS
"disableTemplate" $disableTemplate
"localize" $localize
}}
{{- if and $page.IsPage (not (in $core "bootstrap")) -}} {{- if and $page.IsPage (not (in $core "bootstrap")) -}}
{{- errorf "Bootstrap is a required module, please add it to 'modules.core' in your site parameters" -}} {{- errorf "Bootstrap is a required module, please add it to 'modules.core' in your site parameters" -}}

View File

@@ -1,5 +1,3 @@
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
{{ $lastmodstr | i18n "lastModified" -}}
{{ with .GitInfo }} {{ with .GitInfo }}
&bull;&nbsp;<a href="{{ site.Params.docs.github | default site.Params.schema.github }}/commit/{{ .Hash }}">{{ .Subject }} ({{ .AbbreviatedHash }})</a> &bull;&nbsp;<a href="{{ site.Params.docs.github | default site.Params.schema.github }}/commit/{{ .Hash }}">{{ .Subject }} ({{ .AbbreviatedHash }})</a>
{{ end -}} {{ end -}}

View File

@@ -49,7 +49,7 @@
<!-- Main code --> <!-- Main code -->
{{ $show := false -}} {{ $show := false -}}
{{ if not $error }} {{ if not $error }}
{{ with .Get "show" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "show" }}{{ $show = partial "utilities/CastBool.html" (.Get "show") }}{{ end -}}
<div class="accordion-item"> <div class="accordion-item">
{{- with $header -}} {{- with $header -}}

View File

@@ -12,19 +12,25 @@
{{ $error = true }} {{ $error = true }}
{{ end }} {{ end }}
<!-- Initialize arguments and default values -->
{{- $id := printf "accordion-%d" .Ordinal -}}
{{- $class := "" -}}
{{- $open := false -}}
{{- $body := .Inner -}}
{{ if .IsNamedParams }}
{{ with .Get "id" }}{{ $id = . }}{{ end }}
{{ with .Get "class" }}{{ $class = . }}{{ end }}
{{ if isset .Params "always-open" }}{{ $open = partial "utilities/CastBool.html" (.Get "always-open") }}{{ end -}}
{{ end }}
{{- if $open -}}
{{- $pattern := printf "data-bs-parent=\"#%s\"" $id -}}
{{- $body = (replace .Inner $pattern "") }}
{{- end -}}
<!-- Main code --> <!-- Main code -->
{{ if not $error }} {{ if not $error }}
{{- $id := printf "accordion-%d" .Ordinal -}}
{{ with .Get "id" }}{{ $id = . }}{{ end }}
{{- $class := .Get "class" | default "" -}}
{{- $open := false -}}
{{ with .Get "always-open" }}{{ $open = partial "utilities/CastBool.html" . }}{{ end -}}
{{- $body := .Inner -}}
{{- if $open -}}
{{- $pattern := printf "data-bs-parent=\"#%s\"" $id -}}
{{- $body = (replace .Inner $pattern "") }}
{{- end -}}
<div id="{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }}"> <div id="{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }}">
{{- $body | safeHTML -}} {{- $body | safeHTML -}}
</div> </div>

View File

@@ -27,7 +27,9 @@
{{ $icon = partial "assets/icon.html" (dict "icon" (printf "%s fa-2x fa-fw" .)) }} {{ $icon = partial "assets/icon.html" (dict "icon" (printf "%s fa-2x fa-fw" .)) }}
{{ end }} {{ end }}
{{ $dismissible := false -}} {{ $dismissible := false -}}
{{ with .Get "dismissible" }}{{ $dismissible = partial "utilities/CastBool.html" . }}{{ end -}} {{- if and .IsNamedParams (isset .Params "dismissible") }}
{{ $dismissible = partial "utilities/CastBool.html" (.Get "dismissible") }}
{{ end }}
{{- $class := .Get "class" | default "" -}} {{- $class := .Get "class" | default "" -}}
{{ $body := trim .Inner " \r\n" -}} {{ $body := trim .Inner " \r\n" -}}

View File

@@ -28,7 +28,9 @@
{{ end }} {{ end }}
{{ $parent := false -}} {{ $parent := false -}}
{{ with .Get "parent" }}{{ $parent = partial "utilities/CastBool.html" . }}{{ end -}} {{- if .IsNamedParams }}
{{ if isset .Params "parent" }}{{ $parent = partial "utilities/CastBool.html" (.Get "parent") }}{{ end -}}
{{ end }}
<!-- Main code --> <!-- Main code -->
{{ if not $error }} {{ if not $error }}

View File

@@ -26,7 +26,7 @@
{{ $size := .Get "size" | default "md" -}} {{ $size := .Get "size" | default "md" -}}
{{ $color := .Get "color" | default "primary" -}} {{ $color := .Get "color" | default "primary" -}}
{{ $outline := false -}} {{ $outline := false -}}
{{ with .Get "outline" }}{{ $outline = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "outline" }}{{ $outline = partial "utilities/CastBool.html" (.Get "outline") }}{{ end -}}
{{ $badge := .Get "badge" | default "" -}} {{ $badge := .Get "badge" | default "" -}}
{{ $label := or (.Get "label") (.Get "aria-label") | default "" -}} {{ $label := or (.Get "label") (.Get "aria-label") | default "" -}}
{{ $tooltip := .Get "tooltip" | default "" -}} {{ $tooltip := .Get "tooltip" | default "" -}}
@@ -43,11 +43,11 @@
{{- $order := .Get "order" | default "last" -}} {{- $order := .Get "order" | default "last" -}}
{{- $justify := .Get "justify" | default "center" -}} {{- $justify := .Get "justify" | default "center" -}}
{{- $cue := site.Params.main.externalLinks.cue -}} {{- $cue := site.Params.main.externalLinks.cue -}}
{{ with .Get "cue" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "cue" }}{{ $cue = partial "utilities/CastBool.html" (.Get "cue") }}{{ end -}}
{{- $tab := default site.Params.main.externalLinks.tab -}} {{- $tab := default site.Params.main.externalLinks.tab -}}
{{ with .Get "tab" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "tab" }}{{ $tab = partial "utilities/CastBool.html" (.Get "tab") }}{{ end -}}
{{- $spacing := default (not .Parent) -}} {{- $spacing := default (not .Parent) -}}
{{ with .Get "spacing" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "spacing" }}{{ $spacing = partial "utilities/CastBool.html" (.Get "spacing") }}{{ end -}}
<!-- Main code --> <!-- Main code -->
{{ if not $error }} {{ if not $error }}

View File

@@ -32,6 +32,7 @@
{{- $page := .Page -}} {{- $page := .Page -}}
{{- $path := .Get "path" -}} {{- $path := .Get "path" -}}
{{- $thumbnail := .Get "thumbnail" -}} {{- $thumbnail := .Get "thumbnail" -}}
{{- $anchor := .Get "anchor" -}}
{{- $title := .Get "title" -}} {{- $title := .Get "title" -}}
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}} {{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
{{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}} {{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}}
@@ -81,6 +82,7 @@
"wrapper" $wrapper "wrapper" $wrapper
"thumbnail" $thumbnail "thumbnail" $thumbnail
"loading" $loading "loading" $loading
"anchor" $anchor
"alt" $alt "alt" $alt
"button" $button "button" $button
"buttonType" $buttonType "buttonType" $buttonType

View File

@@ -49,8 +49,10 @@
{{- errorf "File format not supported (line %s): %s" .Position $file -}} {{- errorf "File format not supported (line %s): %s" .Position $file -}}
{{- end -}} {{- end -}}
{{ $show := .Get "show" | default true -}} {{- $show := true -}}
{{ $full := .Get "full" | default true -}} {{ if isset .Params "show" }}{{ $show = partial "utilities/CastBool.html" (.Get "show") }}{{ end -}}
{{- $full := true -}}
{{ if isset .Params "full" }}{{ $full = partial "utilities/CastBool.html" (.Get "full") }}{{ end -}}
{{- $class := .Get "class" | default "" -}} {{- $class := .Get "class" | default "" -}}
<!-- Main code --> <!-- Main code -->

View File

@@ -33,8 +33,10 @@
{{- $extension := strings.TrimLeft "." (path.Ext $file) }} {{- $extension := strings.TrimLeft "." (path.Ext $file) }}
{{- $lang := .Get "lang" | default $extension -}} {{- $lang := .Get "lang" | default $extension -}}
{{- $id := .Get "id" | default (printf "file-collapse-%d" .Ordinal) -}} {{- $id := .Get "id" | default (printf "file-collapse-%d" .Ordinal) -}}
{{ $show := .Get "show" | default true -}} {{- $show := true -}}
{{ $full := .Get "full" | default true -}} {{ if isset .Params "show" }}{{ $show = partial "utilities/CastBool.html" (.Get "show") }}{{ end -}}
{{- $full := true -}}
{{ if isset .Params "full" }}{{ $full = partial "utilities/CastBool.html" (.Get "full") }}{{ end -}}
{{- $class := .Get "class" | default "" -}} {{- $class := .Get "class" | default "" -}}
<!-- Main code --> <!-- Main code -->

View File

@@ -25,6 +25,7 @@
{{- $loading := "" -}} {{- $loading := "" -}}
{{- $error := false -}} {{- $error := false -}}
{{- $plain := false -}} {{- $plain := false -}}
{{- $anchor := "" -}}
{{- if .IsNamedParams -}} {{- if .IsNamedParams -}}
{{ $url = .Get "src" | default "" -}} {{ $url = .Get "src" | default "" -}}
@@ -36,9 +37,10 @@
{{ $title = .Get "title" | default "" -}} {{ $title = .Get "title" | default "" -}}
{{ $caption = .Get "caption" | default "" -}} {{ $caption = .Get "caption" | default "" -}}
{{ $figclass = .Get "figclass" | default "" -}} {{ $figclass = .Get "figclass" | default "" -}}
{{ with .Get "mode" }}{{ $mode = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "mode" }}{{ $mode = partial "utilities/CastBool.html" (.Get "mode") }}{{ end -}}
{{ with .Get "portrait" }}{{ $portrait = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "portrait" }}{{ $portrait = partial "utilities/CastBool.html" (.Get "portrait") }}{{ end -}}
{{ with .Get "plain" }}{{ $plain = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "plain" }}{{ $plain = partial "utilities/CastBool.html" (.Get "plain") }}{{ end -}}
{{ $anchor = .Get "anchor" | default "" -}}
{{ else -}} {{ else -}}
{{ $url = .Get 0 }} {{ $url = .Get 0 }}
{{ end -}} {{ end -}}
@@ -61,6 +63,7 @@
"mode" $mode "mode" $mode
"portrait" $portrait "portrait" $portrait
"plain" $plain "plain" $plain
"anchor" $anchor
"loading" $loading "loading" $loading
"page" .Page) "page" .Page)
-}} -}}

View File

@@ -24,9 +24,9 @@
{{- end -}} {{- end -}}
{{- $fade := false -}} {{- $fade := false -}}
{{ with .Get "fade" }}{{ $fade = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "fade" }}{{ $fade = partial "utilities/CastBool.html" (.Get "fade") }}{{ end -}}
{{- $parentFade := false }} {{- $parentFade := false }}
{{ with .Parent.Get "fade" }}{{ $parentFade = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Parent.Params "fade" }}{{ $parentFade = partial "utilities/CastBool.html" (.Parent.Get "fade") }}{{ end -}}
{{ $fade = or $fade $parentFade }} {{ $fade = or $fade $parentFade }}
{{- $header := .Get "header" | default "" -}} {{- $header := .Get "header" | default "" -}}
{{- $class := .Get "class" | default "" -}} {{- $class := .Get "class" | default "" -}}

View File

@@ -19,9 +19,9 @@
{{ $supportedNavTypes := slice "tabs" "pills" "underline" "callout" -}} {{ $supportedNavTypes := slice "tabs" "pills" "underline" "callout" -}}
{{ $vertical := false -}} {{ $vertical := false -}}
{{ with .Get "vertical" }}{{ $vertical = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "vertical" }}{{ $vertical = partial "utilities/CastBool.html" (.Get "vertical") }}{{ end -}}
{{ $wrap := false -}} {{ $wrap := false -}}
{{ with .Get "wrap" }}{{ $wrap = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "wrap" }}{{ $wrap = partial "utilities/CastBool.html" (.Get "wrap") }}{{ end -}}
{{- if and (eq $type "tabs") $vertical -}} {{- if and (eq $type "tabs") $vertical -}}
{{- errorf "Tabs do not support vertical layout" -}} {{- errorf "Tabs do not support vertical layout" -}}

View File

@@ -29,9 +29,9 @@
{{ if eq $style "light" }}{{ $inverseStyle = "dark" }}{{ end -}} {{ if eq $style "light" }}{{ $inverseStyle = "dark" }}{{ end -}}
{{ $color := .Get "color" | default "" -}} {{ $color := .Get "color" | default "" -}}
{{ $searchParam := true -}} {{ $searchParam := true -}}
{{ with .Get "search" }}{{ $searchParam = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "search" }}{{ $searchParam = partial "utilities/CastBool.html" (.Get "search") }}{{ end -}}
{{ $modeParam := true -}} {{ $modeParam := true -}}
{{ with .Get "mode" }}{{ $modeParam = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "mode" }}{{ $modeParam = partial "utilities/CastBool.html" (.Get "mode") }}{{ end -}}
{{ $logo := .Get "logo" | default "" -}} {{ $logo := .Get "logo" | default "" -}}
{{ $title := .Get "title" | default "" -}} {{ $title := .Get "title" | default "" -}}
{{- $class := .Get "class" | default "" -}} {{- $class := .Get "class" | default "" -}}

View File

@@ -16,9 +16,9 @@
{{- $version := .Get "version" | default "" -}} {{- $version := .Get "version" | default "" -}}
{{- $state := .Get "state" | default "new" -}} {{- $state := .Get "state" | default "new" -}}
{{- $short := false -}} {{- $short := false -}}
{{ with .Get "short" }}{{ $short = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "short" }}{{ $short = partial "utilities/CastBool.html" (.Get "short") }}{{ end -}}
{{- $inline := false -}} {{- $inline := false -}}
{{ with .Get "inline" }}{{ $inline = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "inline" }}{{ $inline = partial "utilities/CastBool.html" (.Get "inline") }}{{ end -}}
{{- $title := $version -}} {{- $title := $version -}}
{{- $color := "primary" -}} {{- $color := "primary" -}}
{{- if eq $state "deprecated" -}} {{- if eq $state "deprecated" -}}
@@ -26,6 +26,7 @@
{{- end -}} {{- end -}}
{{- $size := .Get "size" | default "md" -}} {{- $size := .Get "size" | default "md" -}}
{{- $class := .Get "class" | default "" -}} {{- $class := .Get "class" | default "" -}}
{{- $type := .Get "type" | default "button" -}}
{{- $icon := "" -}} {{- $icon := "" -}}
{{- $tooltip := "" -}} {{- $tooltip := "" -}}
@@ -55,19 +56,24 @@
<!-- Main code --> <!-- Main code -->
{{- if not $error -}} {{- if not $error -}}
{{- if not $inline }}<div class="pb-3">{{ end -}} {{ $href := partial "partials/utilities/URLJoin.html" (dict "base" site.Params.docs.release "path" $version) }}
{{- partial "assets/button.html" (dict {{ if eq $type "link" }}
"title" $title {{ partial "assets/link.html" (dict "destination" $href "text" $title "page" .Page) }}
"href" (partial "partials/utilities/URLJoin.html" (dict "base" site.Params.docs.release "path" $version)) {{ else }}
"size" "sm" {{- if not $inline }}<div class="pb-3">{{ end -}}
"color" $color {{- partial "assets/button.html" (dict
"outline" "true" "title" $title
"size" $size "href" $href
"icon" $icon "size" "sm"
"tooltip" $tooltip "color" $color
"order" "first" "outline" "true"
"class" (trim (printf "rounded-2 fw-semibold %s" $class) " ") "size" $size
"spacing" $inline) "icon" $icon
-}} "tooltip" $tooltip
{{- if not $inline }}</div>{{ end -}} "order" "first"
"class" (trim (printf "rounded-2 fw-semibold %s" $class) " ")
"spacing" $inline)
-}}
{{- if not $inline }}</div>{{ end -}}
{{ end }}
{{- end -}} {{- end -}}

View File

@@ -15,7 +15,7 @@
<!-- Initialize arguments --> <!-- Initialize arguments -->
{{ $color := .Get "color" | default "primary" -}} {{ $color := .Get "color" | default "primary" -}}
{{ $grow := false -}} {{ $grow := false -}}
{{ with .Get "grow" }}{{ $grow = partial "utilities/CastBool.html" . }}{{ end -}} {{ if isset .Params "grow" }}{{ $grow = partial "utilities/CastBool.html" (.Get "grow") }}{{ end -}}
{{ $class := .Get "class" | default "" -}} {{ $class := .Get "class" | default "" -}}
<!-- Main code --> <!-- Main code -->

View File

@@ -22,9 +22,9 @@
{{- if .IsNamedParams -}} {{- if .IsNamedParams -}}
{{ $breakpoint = .Get "breakpoint" }} {{ $breakpoint = .Get "breakpoint" }}
{{ $class = .Get "class" | default "" }} {{ $class = .Get "class" | default "" }}
{{ $sortable = partial "utilities/CastBool.html" (.Get "sortable") | default false }} {{ if isset .Params "sortable" }}{{ $sortable = partial "utilities/CastBool.html" (.Get "sortable") }}{{ end }}
{{ $paging = partial "utilities/CastBool.html" (.Get "paging") | default false }} {{ if isset .Params "paging" }}{{ $paging = partial "utilities/CastBool.html" (.Get "paging") }}{{ end }}
{{ $searchable = partial "utilities/CastBool.html" (.Get "searchable") | default false }} {{ if isset .Params "searchable" }}{{ $searchable = partial "utilities/CastBool.html" (.Get "searchable") }}{{ end }}
{{ else }} {{ else }}
{{ $breakpoint = .Get 0 }} {{ $breakpoint = .Get 0 }}
{{ end }} {{ end }}

View File

@@ -7,6 +7,8 @@
following modifications: following modifications:
- Isolated the styles to comply with the Content Security Policy - Isolated the styles to comply with the Content Security Policy
- Added validation of shortcode arguments - Added validation of shortcode arguments
- Added support to retrieve the title from the video metadata
- Adjusted autoplay configuration
- Modified the layout - Modified the layout
The original source code is available on: The original source code is available on:
@@ -16,26 +18,53 @@
{{- $pc := .Page.Site.Config.Privacy.YouTube -}} {{- $pc := .Page.Site.Config.Privacy.YouTube -}}
{{- if not $pc.Disable -}} {{- if not $pc.Disable -}}
{{ $error := false }} {{ $error := false }}
<!-- Validate arguments --> <!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "youtube" "args" .Params) }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "youtube" "args" .Params) }}
{{ errorf "Invalid arguments: %s" .Position -}} {{ errorf "Invalid arguments: %s" .Position -}}
{{ $error = true }} {{ $error = true }}
{{ end }} {{ end }}
<!-- Initialize arguments -->
{{- $id := "" -}}
{{- $class := "" -}}
{{- $title := "YouTube Video" }}
{{- $autoplay := false }}
{{- $autotitle := false }}
{{- $host := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" -}}
{{- if .IsNamedParams }}
{{ with .Get "id" }}{{ $id = . }}{{ end }}
{{ with .Get "class" }}{{ $class = . }}{{ end }}
{{ with .Get "title" }}{{ $title = . }}{{ end }}
{{ if isset .Params "autoplay" }}{{ $autoplay = partial "utilities/CastBool.html" (.Get "autoplay") }}{{ end -}}
{{ if isset .Params "autotitle" }}{{ $autotitle = partial "utilities/CastBool.html" (.Get "autotitle") }}{{ end -}}
{{ else }}
{{- $id = .Get 0 -}}
{{- $class = .Get 1 -}}
{{ end }}
<!-- Initialize arguments --> {{ $url := printf "https://%s/embed/%s?origin=%s" $host $id .Site.BaseURL }}
{{- $id := .Get "id" | default (.Get 0) -}} {{ $api := printf "https://www.youtube.com/oembed?format=json&url=%s" (printf "https://www.youtube.com/watch?v=%s" $id) }}
{{- $class := .Get "class" | default (.Get 1) -}}
{{- $title := .Get "title" | default "YouTube Video" }} {{ if $autotitle }}
{{- $autoplay := false }} {{ with resources.GetRemote $api }}
{{ with .Get "autoplay" }}{{ $autoplay = partial "utilities/CastBool.html" . }}{{ end -}} {{ with .Err }}
{{- $host := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" -}} {{ errorf "Unable to parse video metadata '%q': %s\n %s" $api .Position . }}
{{ else }}
<!-- Main code --> {{ $data := . | transform.Unmarshal }}
<div class="youtube-embedded {{ $class }}"> {{ with $data.title }}{{ $title = . }}{{ end }}
<iframe src="https://{{ $host }}/embed/{{ $id }}?origin={{ .Site.BaseURL }}{{ if $autoplay }}&autoplay=1{{ end }}" {{ end }}
allowfullscreen title="{{ $title }}"> {{ else }}
{{ errorf "Unable to get video metadata '%q': %s" $api .Position }}
{{ end }}
{{ end }}
<!-- Main code -->
<div class="youtube-embedded {{ $class }}">
<iframe src="{{ $url }}{{ if $autoplay }}&autoplay=1&mute=1{{ end }}"
allowfullscreen title="{{ $title }}" {{ if $autoplay }}allow="autoplay"{{ end }}>
</iframe> </iframe>
</div> </div>
{{ end -}} {{ end -}}

View File

@@ -39,9 +39,13 @@
{{ $lastYear := $.Scratch.Get "lastYear"}} {{ $lastYear := $.Scratch.Get "lastYear"}}
<div class="row mt-2"> <div class="row mt-2">
<div class="d-none d-{{ $breakpoint.prev }}-block col-{{ $breakpoint.prev }}-3 mt-auto text-right"> <div class="d-none d-{{ $breakpoint.prev }}-block col-{{ $breakpoint.prev }}-3 mt-auto text-right">
<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}"> {{ with .Date }}
{{ (partial "utilities/date.html" (dict "date" .Date "format" "medium")) }} <time class="post-date" datetime="{{ .Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
</time> {{ (partial "utilities/date.html" (dict "date" . "format" "medium")) }}
</time>
{{ else }}
-
{{ end }}
</div> </div>
<div class="col"> <div class="col">
{{ if ne $year $lastYear }} {{ if ne $year $lastYear }}

View File

@@ -4,12 +4,12 @@
command = "npm run build:example" command = "npm run build:example"
[build.environment] [build.environment]
DART_SASS_VERSION = "1.77.0" DART_SASS_VERSION = "1.77.5"
HUGO_VERSION = "0.125.7" HUGO_VERSION = "0.131.0"
HUGO_ENV = "production" HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true" HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "18.20.2" NODE_VERSION = "20.16.0"
NPM_VERSION = "10.5.0" NPM_VERSION = "10.8.1"
# toml-docs-end netlify # toml-docs-end netlify
[[headers]] [[headers]]

434
package-lock.json generated
View File

@@ -1,19 +1,19 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.24.13", "version": "0.26.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.24.13", "version": "0.26.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0", "@fullhuman/postcss-purgecss": "^6.0.0",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.20",
"cssnano": "^7.0.4", "cssnano": "^7.0.5",
"cssnano-preset-advanced": "^7.0.4", "cssnano-preset-advanced": "^7.0.5",
"hugo-bin": "0.125.2", "hugo-bin": "0.129.2",
"purgecss-whitelister": "^2.4.0" "purgecss-whitelister": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
@@ -22,7 +22,7 @@
"eslint-config-standard": "^17.1.0", "eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2", "eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.4.0", "eslint-plugin-promise": "^6.6.0",
"markdownlint-cli2": "^0.13.0", "markdownlint-cli2": "^0.13.0",
"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",
@@ -30,7 +30,7 @@
"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.6.1", "stylelint": "^16.8.1",
"stylelint-config-standard-scss": "^13.1.0" "stylelint-config-standard-scss": "^13.1.0"
}, },
"optionalDependencies": { "optionalDependencies": {
@@ -227,9 +227,9 @@
} }
}, },
"node_modules/@csstools/css-parser-algorithms": { "node_modules/@csstools/css-parser-algorithms": {
"version": "2.6.3", "version": "2.7.1",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.3.tgz", "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz",
"integrity": "sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==", "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -245,13 +245,13 @@
"node": "^14 || ^16 || >=18" "node": "^14 || ^16 || >=18"
}, },
"peerDependencies": { "peerDependencies": {
"@csstools/css-tokenizer": "^2.3.1" "@csstools/css-tokenizer": "^2.4.1"
} }
}, },
"node_modules/@csstools/css-tokenizer": { "node_modules/@csstools/css-tokenizer": {
"version": "2.3.1", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.3.1.tgz", "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz",
"integrity": "sha512-iMNHTyxLbBlWIfGtabT157LH9DUx9X8+Y3oymFEuMj8HNc+rpE3dPFGFgHjpKfjeFDjLjYIAIhXPGvS2lKxL9g==", "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -268,9 +268,9 @@
} }
}, },
"node_modules/@csstools/media-query-list-parser": { "node_modules/@csstools/media-query-list-parser": {
"version": "2.1.11", "version": "2.1.13",
"resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.11.tgz", "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz",
"integrity": "sha512-uox5MVhvNHqitPP+SynrB1o8oPxPMt2JLgp5ghJOWf54WGQ5OKu47efne49r1SWqs3wRP8xSWjnO9MBKxhB1dA==", "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -286,8 +286,8 @@
"node": "^14 || ^16 || >=18" "node": "^14 || ^16 || >=18"
}, },
"peerDependencies": { "peerDependencies": {
"@csstools/css-parser-algorithms": "^2.6.3", "@csstools/css-parser-algorithms": "^2.7.1",
"@csstools/css-tokenizer": "^2.3.1" "@csstools/css-tokenizer": "^2.4.1"
} }
}, },
"node_modules/@csstools/selector-specificity": { "node_modules/@csstools/selector-specificity": {
@@ -369,29 +369,6 @@
"url": "https://opencollective.com/eslint" "url": "https://opencollective.com/eslint"
} }
}, },
"node_modules/@eslint/eslintrc/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/@eslint/eslintrc/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"node_modules/@eslint/js": { "node_modules/@eslint/js": {
"version": "8.57.0", "version": "8.57.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
@@ -432,29 +409,6 @@
"node": ">=10.10.0" "node": ">=10.10.0"
} }
}, },
"node_modules/@humanwhocodes/config-array/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/@humanwhocodes/config-array/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"node_modules/@humanwhocodes/module-importer": { "node_modules/@humanwhocodes/module-importer": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
@@ -1036,9 +990,9 @@
} }
}, },
"node_modules/autoprefixer": { "node_modules/autoprefixer": {
"version": "10.4.19", "version": "10.4.20",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
"integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -1054,11 +1008,11 @@
} }
], ],
"dependencies": { "dependencies": {
"browserslist": "^4.23.0", "browserslist": "^4.23.3",
"caniuse-lite": "^1.0.30001599", "caniuse-lite": "^1.0.30001646",
"fraction.js": "^4.3.7", "fraction.js": "^4.3.7",
"normalize-range": "^0.1.2", "normalize-range": "^0.1.2",
"picocolors": "^1.0.0", "picocolors": "^1.0.1",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
}, },
"bin": { "bin": {
@@ -1196,9 +1150,9 @@
} }
}, },
"node_modules/browserslist": { "node_modules/browserslist": {
"version": "4.23.1", "version": "4.23.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
"integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -1214,10 +1168,10 @@
} }
], ],
"dependencies": { "dependencies": {
"caniuse-lite": "^1.0.30001629", "caniuse-lite": "^1.0.30001646",
"electron-to-chromium": "^1.4.796", "electron-to-chromium": "^1.5.4",
"node-releases": "^2.0.14", "node-releases": "^2.0.18",
"update-browserslist-db": "^1.0.16" "update-browserslist-db": "^1.1.0"
}, },
"bin": { "bin": {
"browserslist": "cli.js" "browserslist": "cli.js"
@@ -1353,9 +1307,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001636", "version": "1.0.30001649",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz",
"integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", "integrity": "sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -1605,11 +1559,11 @@
} }
}, },
"node_modules/cssnano": { "node_modules/cssnano": {
"version": "7.0.4", "version": "7.0.5",
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.4.tgz", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.5.tgz",
"integrity": "sha512-rQgpZra72iFjiheNreXn77q1haS2GEy69zCMbu4cpXCFPMQF+D4Ik5V7ktMzUF/sA7xCIgcqHwGPnCD+0a1vHg==", "integrity": "sha512-Aq0vqBLtpTT5Yxj+hLlLfNPFuRQCDIjx5JQAhhaedQKLNDvDGeVziF24PS+S1f0Z5KCxWvw0QVI3VNHNBITxVQ==",
"dependencies": { "dependencies": {
"cssnano-preset-default": "^7.0.4", "cssnano-preset-default": "^7.0.5",
"lilconfig": "^3.1.2" "lilconfig": "^3.1.2"
}, },
"engines": { "engines": {
@@ -1624,14 +1578,14 @@
} }
}, },
"node_modules/cssnano-preset-advanced": { "node_modules/cssnano-preset-advanced": {
"version": "7.0.4", "version": "7.0.5",
"resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-7.0.4.tgz", "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-7.0.5.tgz",
"integrity": "sha512-Fsh9S5EgQScr4aFahYQ1zEBDMqgyg0q9R58qssXNlwscLnFk19a/tC/ibyVGXy4ygRe+tgHfDh5esDawLFW7ug==", "integrity": "sha512-m2nPoDaK9lksWD/sd7tuDLTizRsHVfyOAuBlEaZKtLC3nE/mw91l58tlV41kUA5GWQYhNQiKac9YTBlGFLaiSA==",
"dependencies": { "dependencies": {
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.20",
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"cssnano-preset-default": "^7.0.4", "cssnano-preset-default": "^7.0.5",
"postcss-discard-unused": "^7.0.1", "postcss-discard-unused": "^7.0.2",
"postcss-merge-idents": "^7.0.0", "postcss-merge-idents": "^7.0.0",
"postcss-reduce-idents": "^7.0.0", "postcss-reduce-idents": "^7.0.0",
"postcss-zindex": "^7.0.0" "postcss-zindex": "^7.0.0"
@@ -1644,40 +1598,40 @@
} }
}, },
"node_modules/cssnano-preset-default": { "node_modules/cssnano-preset-default": {
"version": "7.0.4", "version": "7.0.5",
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.4.tgz", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.5.tgz",
"integrity": "sha512-jQ6zY9GAomQX7/YNLibMEsRZguqMUGuupXcEk2zZ+p3GUxwCAsobqPYE62VrJ9qZ0l9ltrv2rgjwZPBIFIjYtw==", "integrity": "sha512-Jbzja0xaKwc5JzxPQoc+fotKpYtWEu4wQLMQe29CM0FjjdRjA4omvbGHl2DTGgARKxSTpPssBsok+ixv8uTBqw==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"css-declaration-sorter": "^7.2.0", "css-declaration-sorter": "^7.2.0",
"cssnano-utils": "^5.0.0", "cssnano-utils": "^5.0.0",
"postcss-calc": "^10.0.0", "postcss-calc": "^10.0.1",
"postcss-colormin": "^7.0.1", "postcss-colormin": "^7.0.2",
"postcss-convert-values": "^7.0.2", "postcss-convert-values": "^7.0.3",
"postcss-discard-comments": "^7.0.1", "postcss-discard-comments": "^7.0.2",
"postcss-discard-duplicates": "^7.0.0", "postcss-discard-duplicates": "^7.0.1",
"postcss-discard-empty": "^7.0.0", "postcss-discard-empty": "^7.0.0",
"postcss-discard-overridden": "^7.0.0", "postcss-discard-overridden": "^7.0.0",
"postcss-merge-longhand": "^7.0.2", "postcss-merge-longhand": "^7.0.3",
"postcss-merge-rules": "^7.0.2", "postcss-merge-rules": "^7.0.3",
"postcss-minify-font-values": "^7.0.0", "postcss-minify-font-values": "^7.0.0",
"postcss-minify-gradients": "^7.0.0", "postcss-minify-gradients": "^7.0.0",
"postcss-minify-params": "^7.0.1", "postcss-minify-params": "^7.0.2",
"postcss-minify-selectors": "^7.0.2", "postcss-minify-selectors": "^7.0.3",
"postcss-normalize-charset": "^7.0.0", "postcss-normalize-charset": "^7.0.0",
"postcss-normalize-display-values": "^7.0.0", "postcss-normalize-display-values": "^7.0.0",
"postcss-normalize-positions": "^7.0.0", "postcss-normalize-positions": "^7.0.0",
"postcss-normalize-repeat-style": "^7.0.0", "postcss-normalize-repeat-style": "^7.0.0",
"postcss-normalize-string": "^7.0.0", "postcss-normalize-string": "^7.0.0",
"postcss-normalize-timing-functions": "^7.0.0", "postcss-normalize-timing-functions": "^7.0.0",
"postcss-normalize-unicode": "^7.0.1", "postcss-normalize-unicode": "^7.0.2",
"postcss-normalize-url": "^7.0.0", "postcss-normalize-url": "^7.0.0",
"postcss-normalize-whitespace": "^7.0.0", "postcss-normalize-whitespace": "^7.0.0",
"postcss-ordered-values": "^7.0.1", "postcss-ordered-values": "^7.0.1",
"postcss-reduce-initial": "^7.0.1", "postcss-reduce-initial": "^7.0.2",
"postcss-reduce-transforms": "^7.0.0", "postcss-reduce-transforms": "^7.0.0",
"postcss-svgo": "^7.0.1", "postcss-svgo": "^7.0.1",
"postcss-unique-selectors": "^7.0.1" "postcss-unique-selectors": "^7.0.2"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -1727,6 +1681,23 @@
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
"integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="
}, },
"node_modules/debug": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
"integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/decompress-response": { "node_modules/decompress-response": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
@@ -1898,9 +1869,9 @@
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.806", "version": "1.5.4",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.806.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
"integrity": "sha512-nkoEX2QIB8kwCOtvtgwhXWy2IHVcOLQZu9Qo36uaGB835mdX/h8uLRlosL6QIhLVUnAiicXRW00PwaPZC74Nrg==" "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA=="
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
@@ -2325,9 +2296,9 @@
} }
}, },
"node_modules/eslint-plugin-promise": { "node_modules/eslint-plugin-promise": {
"version": "6.4.0", "version": "6.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.4.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz",
"integrity": "sha512-/KWWRaD3fGkVCZsdR0RU53PSthFmoHVhZl+y9+6DqeDLSikLdlUVpVEAmI6iCRR5QyOjBYBqHZV/bdv4DJ4Gtw==", "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2367,29 +2338,6 @@
"url": "https://opencollective.com/eslint" "url": "https://opencollective.com/eslint"
} }
}, },
"node_modules/eslint/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/eslint/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"node_modules/espree": { "node_modules/espree": {
"version": "9.6.1", "version": "9.6.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
@@ -3365,9 +3313,9 @@
} }
}, },
"node_modules/hugo-bin": { "node_modules/hugo-bin": {
"version": "0.125.2", "version": "0.129.2",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.125.2.tgz", "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.129.2.tgz",
"integrity": "sha512-JNjhuoGFBwJo6qDOeYUiXSoD7rPbwY36wyHJaqbRe9APNY1nPGO1Yy/Ut7rLcriKTBWKPZrh5Hz+9PzGnLV5Lw==", "integrity": "sha512-OpfKbO8nkopEt8MBYPWQOgcL6IcotiskI+U1YRprAtw+ySUJHIDHfxMIcWeNmo66N/Reqm4RbDxFMDgKPUXGeQ==",
"funding": [ "funding": [
{ {
"type": "github", "type": "github",
@@ -4284,6 +4232,12 @@
"node": ">=16 || 14 >=14.17" "node": ">=16 || 14 >=14.17"
} }
}, },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.3.7", "version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
@@ -4323,9 +4277,9 @@
"dev": true "dev": true
}, },
"node_modules/node-releases": { "node_modules/node-releases": {
"version": "2.0.14", "version": "2.0.18",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g=="
}, },
"node_modules/normalize-package-data": { "node_modules/normalize-package-data": {
"version": "2.5.0", "version": "2.5.0",
@@ -4381,6 +4335,7 @@
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"ansi-styles": "^3.2.1", "ansi-styles": "^3.2.1",
"chalk": "^2.4.1", "chalk": "^2.4.1",
@@ -4897,9 +4852,9 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.38", "version": "8.4.40",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz",
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -4916,7 +4871,7 @@
], ],
"dependencies": { "dependencies": {
"nanoid": "^3.3.7", "nanoid": "^3.3.7",
"picocolors": "^1.0.0", "picocolors": "^1.0.1",
"source-map-js": "^1.2.0" "source-map-js": "^1.2.0"
}, },
"engines": { "engines": {
@@ -4924,11 +4879,11 @@
} }
}, },
"node_modules/postcss-calc": { "node_modules/postcss-calc": {
"version": "10.0.0", "version": "10.0.1",
"resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.0.tgz", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.1.tgz",
"integrity": "sha512-OmjhudoNTP0QleZCwl1i6NeBwN+5MZbY5ersLZz69mjJiDVv/p57RjRuKDkHeDWr4T+S97wQfsqRTNoDHB2e3g==", "integrity": "sha512-pp1Z3FxtxA+xHAoWXcOXgnBN1WPu4ZiJ5LWGjKyf9MMreagAsaTUtnqFK1y1sHhyJddAkYTPu6XSuLgb3oYCjw==",
"dependencies": { "dependencies": {
"postcss-selector-parser": "^6.0.16", "postcss-selector-parser": "^6.1.1",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
}, },
"engines": { "engines": {
@@ -4980,11 +4935,11 @@
} }
}, },
"node_modules/postcss-colormin": { "node_modules/postcss-colormin": {
"version": "7.0.1", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz",
"integrity": "sha512-uszdT0dULt3FQs47G5UHCduYK+FnkLYlpu1HpWu061eGsKZ7setoG7kA+WC9NQLsOJf69D5TxGHgnAdRgylnFQ==", "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"caniuse-api": "^3.0.0", "caniuse-api": "^3.0.0",
"colord": "^2.9.3", "colord": "^2.9.3",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
@@ -4997,11 +4952,11 @@
} }
}, },
"node_modules/postcss-convert-values": { "node_modules/postcss-convert-values": {
"version": "7.0.2", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.3.tgz",
"integrity": "sha512-MuZIF6HJ4izko07Q0TgW6pClalI4al6wHRNPkFzqQdwAwG7hPn0lA58VZdxyb2Vl5AYjJ1piO+jgF9EnTjQwQQ==", "integrity": "sha512-yJhocjCs2SQer0uZ9lXTMOwDowbxvhwFVrZeS6NPEij/XXthl73ggUmfwVvJM+Vaj5gtCKJV1jiUu4IhAUkX/Q==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
}, },
"engines": { "engines": {
@@ -5012,11 +4967,11 @@
} }
}, },
"node_modules/postcss-discard-comments": { "node_modules/postcss-discard-comments": {
"version": "7.0.1", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.2.tgz",
"integrity": "sha512-GVrQxUOhmle1W6jX2SvNLt4kmN+JYhV7mzI6BMnkAWR9DtVvg8e67rrV0NfdWhn7x1zxvzdWkMBPdBDCls+uwQ==", "integrity": "sha512-/Hje9Ls1IYcB9duELO/AyDUJI6aQVY3h5Rj1ziXgaLYCTi1iVBLnjg/TS0D6NszR/kDG6I86OwLmAYe+bvJjiQ==",
"dependencies": { "dependencies": {
"postcss-selector-parser": "^6.1.0" "postcss-selector-parser": "^6.1.1"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -5026,9 +4981,9 @@
} }
}, },
"node_modules/postcss-discard-duplicates": { "node_modules/postcss-discard-duplicates": {
"version": "7.0.0", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.0.tgz", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz",
"integrity": "sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==", "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==",
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
}, },
@@ -5059,11 +5014,11 @@
} }
}, },
"node_modules/postcss-discard-unused": { "node_modules/postcss-discard-unused": {
"version": "7.0.1", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-7.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-7.0.2.tgz",
"integrity": "sha512-3myaiuHge0HaY+OMA42/xlXnVixhPQPmfxrpiLO3FBipgW/4A3UnWnAtlfo49tuxsCx4ZrS6+h/sa/68WNGWPg==", "integrity": "sha512-X4tWgMGYNUkFRzd5DPvx6RnvVz2ATdcthB0xpPCa1yS7X2v9pB6WvR33DSFWJmWT/LLDRgkIA/UZhe5dHLNNUw==",
"dependencies": { "dependencies": {
"postcss-selector-parser": "^6.1.0" "postcss-selector-parser": "^6.1.1"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -5129,12 +5084,12 @@
} }
}, },
"node_modules/postcss-merge-longhand": { "node_modules/postcss-merge-longhand": {
"version": "7.0.2", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.3.tgz",
"integrity": "sha512-06vrW6ZWi9qeP7KMS9fsa9QW56+tIMW55KYqF7X3Ccn+NI2pIgPV6gFfvXTMQ05H90Y5DvnCDPZ2IuHa30PMUg==", "integrity": "sha512-8waYomFxshdv6M9Em3QRM9MettRLDRcH2JQi2l0Z1KlYD/vhal3gbkeSES0NuACXOlZBB0V/B0AseHZaklzWOA==",
"dependencies": { "dependencies": {
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.2.0",
"stylehacks": "^7.0.2" "stylehacks": "^7.0.3"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -5144,14 +5099,14 @@
} }
}, },
"node_modules/postcss-merge-rules": { "node_modules/postcss-merge-rules": {
"version": "7.0.2", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.3.tgz",
"integrity": "sha512-VAR47UNvRsdrTHLe7TV1CeEtF9SJYR5ukIB9U4GZyZOptgtsS20xSxy+k5wMrI3udST6O1XuIn7cjQkg7sDAAw==", "integrity": "sha512-2eSas2p3voPxNfdI5sQrvIkMaeUHpVc3EezgVs18hz/wRTQAC9U99tp9j3W5Jx9/L3qHkEDvizEx/LdnmumIvQ==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"caniuse-api": "^3.0.0", "caniuse-api": "^3.0.0",
"cssnano-utils": "^5.0.0", "cssnano-utils": "^5.0.0",
"postcss-selector-parser": "^6.1.0" "postcss-selector-parser": "^6.1.1"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -5191,11 +5146,11 @@
} }
}, },
"node_modules/postcss-minify-params": { "node_modules/postcss-minify-params": {
"version": "7.0.1", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz",
"integrity": "sha512-e+Xt8xErSRPgSRFxHeBCSxMiO8B8xng7lh8E0A5ep1VfwYhY8FXhu4Q3APMjgx9YDDbSp53IBGENrzygbUvgUQ==", "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"cssnano-utils": "^5.0.0", "cssnano-utils": "^5.0.0",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
}, },
@@ -5207,12 +5162,12 @@
} }
}, },
"node_modules/postcss-minify-selectors": { "node_modules/postcss-minify-selectors": {
"version": "7.0.2", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.3.tgz",
"integrity": "sha512-dCzm04wqW1uqLmDZ41XYNBJfjgps3ZugDpogAmJXoCb5oCiTzIX4oPXXKxDpTvWOnKxQKR4EbV4ZawJBLcdXXA==", "integrity": "sha512-SxTgUQSgBk6wEqzQZKEv1xQYIp9UBju6no9q+npohzSdhuSICQdkqmD1UMKkZWItS3olJSJMDDEY9WOJ5oGJew==",
"dependencies": { "dependencies": {
"cssesc": "^3.0.0", "cssesc": "^3.0.0",
"postcss-selector-parser": "^6.1.0" "postcss-selector-parser": "^6.1.1"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -5303,11 +5258,11 @@
} }
}, },
"node_modules/postcss-normalize-unicode": { "node_modules/postcss-normalize-unicode": {
"version": "7.0.1", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz",
"integrity": "sha512-PTPGdY9xAkTw+8ZZ71DUePb7M/Vtgkbbq+EoI33EuyQEzbKemEQMhe5QSr0VP5UfZlreANDPxSfcdSprENcbsg==", "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
}, },
"engines": { "engines": {
@@ -5375,11 +5330,11 @@
} }
}, },
"node_modules/postcss-reduce-initial": { "node_modules/postcss-reduce-initial": {
"version": "7.0.1", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz",
"integrity": "sha512-0JDUSV4bGB5FGM5g8MkS+rvqKukJZ7OTHw/lcKn7xPNqeaqJyQbUO8/dJpvyTpaVwPsd3Uc33+CfNzdVowp2WA==", "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"caniuse-api": "^3.0.0" "caniuse-api": "^3.0.0"
}, },
"engines": { "engines": {
@@ -5424,9 +5379,9 @@
} }
}, },
"node_modules/postcss-resolve-nested-selector": { "node_modules/postcss-resolve-nested-selector": {
"version": "0.1.1", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz",
"integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", "integrity": "sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw==",
"dev": true "dev": true
}, },
"node_modules/postcss-safe-parser": { "node_modules/postcss-safe-parser": {
@@ -5482,9 +5437,9 @@
} }
}, },
"node_modules/postcss-selector-parser": { "node_modules/postcss-selector-parser": {
"version": "6.1.0", "version": "6.1.1",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
"integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
"dependencies": { "dependencies": {
"cssesc": "^3.0.0", "cssesc": "^3.0.0",
"util-deprecate": "^1.0.2" "util-deprecate": "^1.0.2"
@@ -5509,11 +5464,11 @@
} }
}, },
"node_modules/postcss-unique-selectors": { "node_modules/postcss-unique-selectors": {
"version": "7.0.1", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.2.tgz",
"integrity": "sha512-MH7QE/eKUftTB5ta40xcHLl7hkZjgDFydpfTK+QWXeHxghVt3VoPqYL5/G+zYZPPIs+8GuqFXSTgxBSoB1RZtQ==", "integrity": "sha512-CjSam+7Vf8cflJQsHrMS0P2hmy9u0+n/P001kb5eAszLmhjMqrt/i5AqQuNFihhViwDvEAezqTmXqaYXL2ugMw==",
"dependencies": { "dependencies": {
"postcss-selector-parser": "^6.1.0" "postcss-selector-parser": "^6.1.1"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -6586,12 +6541,12 @@
} }
}, },
"node_modules/stylehacks": { "node_modules/stylehacks": {
"version": "7.0.2", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.2.tgz", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.3.tgz",
"integrity": "sha512-HdkWZS9b4gbgYTdMg4gJLmm7biAUug1qTqXjS+u8X+/pUd+9Px1E+520GnOW3rST9MNsVOVpsJG+mPHNosxjOQ==", "integrity": "sha512-4DqtecvI/Nd+2BCvW9YEF6lhBN5UM50IJ1R3rnEAhBwbCKf4VehRf+uqvnVArnBayjYD/WtT3g0G/HSRxWfTRg==",
"dependencies": { "dependencies": {
"browserslist": "^4.23.1", "browserslist": "^4.23.3",
"postcss-selector-parser": "^6.1.0" "postcss-selector-parser": "^6.1.1"
}, },
"engines": { "engines": {
"node": "^18.12.0 || ^20.9.0 || >=22.0" "node": "^18.12.0 || ^20.9.0 || >=22.0"
@@ -6601,9 +6556,9 @@
} }
}, },
"node_modules/stylelint": { "node_modules/stylelint": {
"version": "16.6.1", "version": "16.8.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.6.1.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.8.1.tgz",
"integrity": "sha512-yNgz2PqWLkhH2hw6X9AweV9YvoafbAD5ZsFdKN9BvSDVwGvPh+AUIrn7lYwy1S7IHmtFin75LLfX1m0D2tHu8Q==", "integrity": "sha512-O8aDyfdODSDNz/B3gW2HQ+8kv8pfhSu7ZR7xskQ93+vI6FhKKGUJMQ03Ydu+w3OvXXE0/u4hWU4hCPNOyld+OA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -6616,9 +6571,9 @@
} }
], ],
"dependencies": { "dependencies": {
"@csstools/css-parser-algorithms": "^2.6.3", "@csstools/css-parser-algorithms": "^2.7.1",
"@csstools/css-tokenizer": "^2.3.1", "@csstools/css-tokenizer": "^2.4.1",
"@csstools/media-query-list-parser": "^2.1.11", "@csstools/media-query-list-parser": "^2.1.13",
"@csstools/selector-specificity": "^3.1.1", "@csstools/selector-specificity": "^3.1.1",
"@dual-bundle/import-meta-resolve": "^4.1.0", "@dual-bundle/import-meta-resolve": "^4.1.0",
"balanced-match": "^2.0.0", "balanced-match": "^2.0.0",
@@ -6626,7 +6581,7 @@
"cosmiconfig": "^9.0.0", "cosmiconfig": "^9.0.0",
"css-functions-list": "^3.2.2", "css-functions-list": "^3.2.2",
"css-tree": "^2.3.1", "css-tree": "^2.3.1",
"debug": "^4.3.4", "debug": "^4.3.6",
"fast-glob": "^3.3.2", "fast-glob": "^3.3.2",
"fastest-levenshtein": "^1.0.16", "fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^9.0.0", "file-entry-cache": "^9.0.0",
@@ -6637,16 +6592,16 @@
"ignore": "^5.3.1", "ignore": "^5.3.1",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
"known-css-properties": "^0.31.0", "known-css-properties": "^0.34.0",
"mathml-tag-names": "^2.1.3", "mathml-tag-names": "^2.1.3",
"meow": "^13.2.0", "meow": "^13.2.0",
"micromatch": "^4.0.7", "micromatch": "^4.0.7",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picocolors": "^1.0.1", "picocolors": "^1.0.1",
"postcss": "^8.4.38", "postcss": "^8.4.40",
"postcss-resolve-nested-selector": "^0.1.1", "postcss-resolve-nested-selector": "^0.1.4",
"postcss-safe-parser": "^7.0.0", "postcss-safe-parser": "^7.0.0",
"postcss-selector-parser": "^6.1.0", "postcss-selector-parser": "^6.1.1",
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"string-width": "^4.2.3", "string-width": "^4.2.3",
@@ -6781,23 +6736,6 @@
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true "dev": true
}, },
"node_modules/stylelint/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/stylelint/node_modules/file-entry-cache": { "node_modules/stylelint/node_modules/file-entry-cache": {
"version": "9.0.0", "version": "9.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz",
@@ -6844,9 +6782,9 @@
} }
}, },
"node_modules/stylelint/node_modules/known-css-properties": { "node_modules/stylelint/node_modules/known-css-properties": {
"version": "0.31.0", "version": "0.34.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.31.0.tgz", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz",
"integrity": "sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==", "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==",
"dev": true "dev": true
}, },
"node_modules/stylelint/node_modules/micromatch": { "node_modules/stylelint/node_modules/micromatch": {
@@ -6862,12 +6800,6 @@
"node": ">=8.6" "node": ">=8.6"
} }
}, },
"node_modules/stylelint/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"node_modules/stylelint/node_modules/resolve-from": { "node_modules/stylelint/node_modules/resolve-from": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -7222,9 +7154,9 @@
} }
}, },
"node_modules/update-browserslist-db": { "node_modules/update-browserslist-db": {
"version": "1.0.16", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
"integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.24.13", "version": "0.26.0",
"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",
@@ -68,10 +68,10 @@
"homepage": "https://gethinode.com", "homepage": "https://gethinode.com",
"dependencies": { "dependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0", "@fullhuman/postcss-purgecss": "^6.0.0",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.20",
"cssnano": "^7.0.4", "cssnano": "^7.0.5",
"cssnano-preset-advanced": "^7.0.4", "cssnano-preset-advanced": "^7.0.5",
"hugo-bin": "0.125.2", "hugo-bin": "0.129.2",
"purgecss-whitelister": "^2.4.0" "purgecss-whitelister": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
@@ -80,7 +80,7 @@
"eslint-config-standard": "^17.1.0", "eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2", "eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.4.0", "eslint-plugin-promise": "^6.6.0",
"markdownlint-cli2": "^0.13.0", "markdownlint-cli2": "^0.13.0",
"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",
@@ -88,7 +88,7 @@
"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.6.1", "stylelint": "^16.8.1",
"stylelint-config-standard-scss": "^13.1.0" "stylelint-config-standard-scss": "^13.1.0"
}, },
"optionalDependencies": { "optionalDependencies": {

View File

@@ -6,7 +6,7 @@ homepage = "https://gethinode.com"
demosite = "https://demo.gethinode.com" demosite = "https://demo.gethinode.com"
tags = ["blog", "documentation", "minimal", "modern", "customizable", "search", "bootstrap"] tags = ["blog", "documentation", "minimal", "modern", "customizable", "search", "bootstrap"]
features = ["security aware", "fast by default", "seo-ready", "development tools", "bootstrap framework", "netlify-ready", "full text search", "page layouts", "versioned documentation"] features = ["security aware", "fast by default", "seo-ready", "development tools", "bootstrap framework", "netlify-ready", "full text search", "page layouts", "versioned documentation"]
min_version = "0.120.0" min_version = "0.132.0"
[author] [author]
name = "Mark Dumay" name = "Mark Dumay"