Compare commits

...

102 Commits

Author SHA1 Message Date
Mark Dumay
353f5e2194 Merge pull request #1578 from gethinode/develop
Develop
2025-09-13 09:52:06 +02:00
Mark Dumay
cd301e2274 fix: correct regression error for site's title style 2025-09-13 09:32:22 +02:00
Mark Dumay
7fbeb7fa5a fix: override site's title size for contact body 2025-09-13 09:30:59 +02:00
Mark Dumay
80a8e6ca2f feat: support optional links in cards
Renders each link as a button with class `btn-social` next to the card's title.
2025-09-13 09:27:32 +02:00
Mark Dumay
64f892dca9 fix: bump dependencies 2025-09-13 09:14:21 +02:00
github-actions[bot]
5f1edc0643 Merge pull request #1576 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-16.0.0
build(deps-dev): bump stylelint-config-standard-scss from 15.0.1 to 16.0.0
2025-09-13 06:47:22 +00:00
Mark Dumay
defd63142d Merge branch 'main' into dependabot/npm_and_yarn/stylelint-config-standard-scss-16.0.0 2025-09-13 08:41:42 +02:00
Mark Dumay
d0d1059774 Merge pull request #1577 from gethinode/develop
fix: exclude stylelint rule no-invalid-position-declaration for scrol…
2025-09-13 07:54:13 +02:00
Mark Dumay
f0fdda6960 Merge branch 'main' into develop 2025-09-13 07:48:23 +02:00
Mark Dumay
bd03786f02 fix: exclude stylelint rule no-invalid-position-declaration for scrollbar 2025-09-13 07:47:23 +02:00
dependabot[bot]
bbb976440e build(deps-dev): bump stylelint-config-standard-scss
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 15.0.1 to 16.0.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v15.0.1...v16.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard-scss
  dependency-version: 16.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12 13:07:31 +00:00
github-actions[bot]
d99d2ad436 Merge pull request #1574 from gethinode/dependabot/npm_and_yarn/semantic-release-24.2.8
build(deps-dev): bump semantic-release from 24.2.7 to 24.2.8
2025-09-11 13:22:36 +00:00
dependabot[bot]
6703dd4092 build(deps-dev): bump semantic-release from 24.2.7 to 24.2.8
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 24.2.7 to 24.2.8.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v24.2.7...v24.2.8)

---
updated-dependencies:
- dependency-name: semantic-release
  dependency-version: 24.2.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 13:16:55 +00:00
github-actions[bot]
35891daf3c Merge pull request #1575 from gethinode/dependabot/npm_and_yarn/replace-in-files-cli-4.0.0
build(deps-dev): bump replace-in-files-cli from 3.0.0 to 4.0.0
2025-09-11 13:15:35 +00:00
dependabot[bot]
768c83d494 build(deps-dev): bump replace-in-files-cli from 3.0.0 to 4.0.0
Bumps [replace-in-files-cli](https://github.com/sindresorhus/replace-in-files-cli) from 3.0.0 to 4.0.0.
- [Release notes](https://github.com/sindresorhus/replace-in-files-cli/releases)
- [Commits](https://github.com/sindresorhus/replace-in-files-cli/compare/v3.0.0...v4.0.0)

---
updated-dependencies:
- dependency-name: replace-in-files-cli
  dependency-version: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 13:08:23 +00:00
Mark Dumay
cbc36092f3 Merge pull request #1573 from gethinode/develop
fix: update dependencies
2025-09-10 19:30:37 +02:00
Mark Dumay
12a1598578 Merge branch 'main' into develop 2025-09-10 19:22:27 +02:00
Mark Dumay
8c77e7ad5c fix: update dependencies 2025-09-10 19:22:01 +02:00
Mark Dumay
9c746ec7f2 Merge pull request #1572 from gethinode/develop
fix: enable passthrough argument for building blocks
2025-09-10 16:53:01 +02:00
Mark Dumay
c161063dca fix: enable passthrough argument for building blocks 2025-09-10 16:46:32 +02:00
Mark Dumay
593ab2c918 Merge pull request #1571 from gethinode/develop
Develop
2025-09-10 14:09:34 +02:00
Mark Dumay
1f33976fe2 fix: ensure panel content is always set to size 6 2025-09-10 13:56:38 +02:00
Mark Dumay
9234d3c86a fix: include theme and cover args in all content blocks 2025-09-10 13:49:16 +02:00
github-actions[bot]
de716b0162 Merge pull request #1570 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.147.0
build(deps): bump hugo-bin from 0.146.1 to 0.147.0
2025-09-09 13:13:57 +00:00
dependabot[bot]
7c176956b0 build(deps): bump hugo-bin from 0.146.1 to 0.147.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.146.1 to 0.147.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.146.1...v0.147.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 13:07:04 +00:00
github-actions[bot]
7258d0b5a9 Merge pull request #1564 from gethinode/dependabot/npm_and_yarn/stylelint-16.24.0
build(deps-dev): bump stylelint from 16.23.1 to 16.24.0
2025-09-08 17:38:33 +00:00
Mark Dumay
fe04de37a7 Merge branch 'main' into dependabot/npm_and_yarn/stylelint-16.24.0 2025-09-08 19:31:32 +02:00
github-actions[bot]
d3ca7075bf Merge pull request #1565 from gethinode/dependabot/github_actions/actions/setup-node-5
build(deps): bump actions/setup-node from 4 to 5
2025-09-08 17:28:24 +00:00
Mark Dumay
68215d5f94 Merge branch 'main' into dependabot/github_actions/actions/setup-node-5 2025-09-08 19:21:27 +02:00
github-actions[bot]
dc57fa5217 Merge pull request #1566 from gethinode/dependabot/npm_and_yarn/eslint-9.35.0
build(deps-dev): bump eslint from 9.34.0 to 9.35.0
2025-09-08 17:19:12 +00:00
Mark Dumay
8299b125fc Merge branch 'main' into dependabot/npm_and_yarn/eslint-9.35.0 2025-09-08 19:10:09 +02:00
github-actions[bot]
6a51cb9681 Merge pull request #1567 from gethinode/dependabot/github_actions/actions/setup-go-6
build(deps): bump actions/setup-go from 5 to 6
2025-09-08 17:09:57 +00:00
Mark Dumay
27bbf7ddf5 Merge branch 'main' into dependabot/github_actions/actions/setup-go-6 2025-09-08 19:03:16 +02:00
Mark Dumay
89fea6d15f Merge pull request #1568 from gethinode/develop
fix: update dependencies
2025-09-08 19:01:06 +02:00
Mark Dumay
af762c840c fix: update dependencies 2025-09-08 18:54:20 +02:00
dependabot[bot]
4b3b0e87bb build(deps): bump actions/setup-go from 5 to 6
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:14:08 +00:00
dependabot[bot]
6bad35eec8 build(deps-dev): bump eslint from 9.34.0 to 9.35.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.34.0 to 9.35.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.34.0...v9.35.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:12:58 +00:00
dependabot[bot]
46e745d1e7 build(deps): bump actions/setup-node from 4 to 5
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:10:54 +00:00
dependabot[bot]
6cef5651d2 build(deps-dev): bump stylelint from 16.23.1 to 16.24.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.23.1 to 16.24.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.23.1...16.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:09:59 +00:00
github-actions[bot]
c91604d34a Merge pull request #1562 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.146.1
build(deps): bump hugo-bin from 0.146.0 to 0.146.1
2025-09-05 13:12:08 +00:00
dependabot[bot]
842725fd1c build(deps): bump hugo-bin from 0.146.0 to 0.146.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.146.0 to 0.146.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.146.0...v0.146.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 13:06:08 +00:00
Mark Dumay
5cad7cb0f9 Merge pull request #1561 from gethinode/develop
fix: apply border radius theme to navbar buttons
2025-09-02 09:37:23 +02:00
Mark Dumay
057dd63957 fix: apply border radius theme to navbar buttons 2025-09-02 09:23:52 +02:00
Mark Dumay
f002cf06e4 Merge pull request #1560 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-09-02 07:04:27 +02:00
markdumay
9d742f9165 fix: update Hugo module dependencies 2025-09-02 03:22:58 +00:00
Mark Dumay
68c2cac3e0 Merge pull request #1559 from gethinode/develop
fix: correct layout of stacked video message
2025-09-01 16:12:30 +02:00
Mark Dumay
1c0ed71df9 Merge branch 'main' into develop 2025-09-01 16:07:04 +02:00
Mark Dumay
1e8791fdf0 fix: correct layout of stacked video message 2025-09-01 16:06:36 +02:00
Mark Dumay
8cfac32280 Merge pull request #1558 from gethinode/develop
feat: support generic site default values for partial/shortode arguments
2025-09-01 10:10:57 +02:00
Mark Dumay
6e7a1dcdb9 feat: support generic site default values for partial/shortode arguments 2025-09-01 08:59:37 +02:00
Mark Dumay
19cda9a986 Merge pull request #1556 from gethinode/develop
Develop
2025-08-30 16:05:16 +02:00
Mark Dumay
9ee9ebc960 fix: adjust width of dropdown items in collapsed navbar 2025-08-30 15:54:03 +02:00
Mark Dumay
6f7903a2f2 Merge branch 'main' into develop 2025-08-30 14:41:50 +02:00
Mark Dumay
82d12d693c fix: adjust button size when navbar is expanded on small screens 2025-08-30 14:41:10 +02:00
Mark Dumay
3ed64f59f1 fix: refine nav item layout 2025-08-30 14:40:33 +02:00
Mark Dumay
df8ea923c5 fix: add margin between search input and nav items 2025-08-30 14:37:17 +02:00
Mark Dumay
60872ea541 Merge pull request #1555 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.146.0
build(deps): bump hugo-bin from 0.145.2 to 0.146.0
2025-08-29 19:00:46 +02:00
dependabot[bot]
52715cef21 build(deps): bump hugo-bin from 0.145.2 to 0.146.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.2 to 0.146.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.2...v0.146.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 14:01:38 +00:00
Mark Dumay
91f79e57ab refactor: reduce whitespace in featured illustration asset 2025-08-28 10:25:13 +02:00
Mark Dumay
fdd878241b Merge pull request #1554 from gethinode/develop
fix: improve nav-item layout
2025-08-28 08:20:07 +02:00
Mark Dumay
f32bd92efa Merge branch 'main' into develop 2025-08-28 08:10:34 +02:00
Mark Dumay
c31dca464a fix: improve nav-item layout 2025-08-28 08:10:03 +02:00
Mark Dumay
cb02c25ac4 Merge pull request #1553 from gethinode/develop
fix: remove navbar item suffix when displaying icon only
2025-08-27 19:37:49 +02:00
Mark Dumay
39ef3c5372 Merge branch 'main' into develop 2025-08-27 19:32:22 +02:00
Mark Dumay
546003c9d4 fix: remove navbar item suffix when displaying icon only 2025-08-27 19:31:50 +02:00
Mark Dumay
6b4a1334bb Merge pull request #1552 from gethinode/develop
TOC
2025-08-27 19:15:19 +02:00
Mark Dumay
90ee71a536 fix: adjust vertical scroll of TOC 2025-08-27 19:09:27 +02:00
Mark Dumay
0c6b2929dc Merge branch 'main' into develop 2025-08-27 18:41:39 +02:00
Mark Dumay
2cb60efc38 fix: remove incorrect tokens for nested TOC items beyond endLevel 2025-08-27 18:40:54 +02:00
github-actions[bot]
26f1bf3c7f Merge pull request #1547 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.9
build(deps): bump cssnano-preset-advanced from 7.0.8 to 7.0.9
2025-08-27 06:39:29 +00:00
dependabot[bot]
ec8176c1e3 build(deps): bump cssnano-preset-advanced from 7.0.8 to 7.0.9
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 7.0.8 to 7.0.9.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@7.0.8...cssnano-preset-advanced@7.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-27 06:33:47 +00:00
github-actions[bot]
20b1cfb59e Merge pull request #1548 from gethinode/dependabot/npm_and_yarn/cssnano-7.1.1
build(deps): bump cssnano from 7.1.0 to 7.1.1
2025-08-27 06:32:34 +00:00
Mark Dumay
09a6125834 Merge branch 'main' into dependabot/npm_and_yarn/cssnano-7.1.1 2025-08-27 08:26:53 +02:00
Mark Dumay
f30b30e48e Merge pull request #1549 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-08-27 08:26:22 +02:00
Mark Dumay
a0b89fd1a3 Merge branch 'main' into hugo-mod-dependencies 2025-08-27 08:21:02 +02:00
Mark Dumay
dccedfe42d Merge pull request #1550 from gethinode/develop
Develop
2025-08-27 08:11:33 +02:00
Mark Dumay
d3ee13584a fix: test for custom controls in navbar divider 2025-08-27 07:34:12 +02:00
Mark Dumay
03f4541b8a fix: correct translated homepages of example site 2025-08-27 07:14:48 +02:00
Mark Dumay
9b0f91a378 feat: improve navbar configuration 2025-08-27 06:57:46 +02:00
markdumay
d9487b77db fix: update Hugo module dependencies 2025-08-26 03:24:30 +00:00
dependabot[bot]
f543c012bd build(deps): bump cssnano from 7.1.0 to 7.1.1
Bumps [cssnano](https://github.com/cssnano/cssnano) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.1.0...cssnano@7.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 03:14:31 +00:00
github-actions[bot]
c068f7f4e6 Merge pull request #1546 from gethinode/dependabot/npm_and_yarn/eslint-9.34.0
build(deps-dev): bump eslint from 9.33.0 to 9.34.0
2025-08-26 00:38:32 +00:00
dependabot[bot]
0dfd5d6a2f build(deps-dev): bump eslint from 9.33.0 to 9.34.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.33.0 to 9.34.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.33.0...v9.34.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 00:33:16 +00:00
Mark Dumay
0a6dbccb12 Merge pull request #1545 from gethinode/radius
fix: improve init of color mode icons
2025-08-24 14:02:11 +02:00
Mark Dumay
c012eb5358 Merge branch 'main' into radius 2025-08-24 13:56:27 +02:00
Mark Dumay
bb2f1b63cf fix: improve init of color mode icons 2025-08-24 13:55:43 +02:00
github-actions[bot]
d7facc353d Merge pull request #1543 from gethinode/dependabot/npm_and_yarn/brace-expansion-1.1.12
build(deps): bump brace-expansion from 1.1.11 to 1.1.12
2025-08-22 10:42:12 +00:00
Mark Dumay
4dcae71516 Merge branch 'main' into dependabot/npm_and_yarn/brace-expansion-1.1.12 2025-08-22 12:26:58 +02:00
github-actions[bot]
bac2bed6ad Merge pull request #1539 from gethinode/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-08-22 10:09:14 +00:00
dependabot[bot]
56275d04dc build(deps): bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 10:00:16 +00:00
Mark Dumay
f32a958cf9 Merge branch 'main' into dependabot/github_actions/actions/checkout-5 2025-08-22 11:59:25 +02:00
Mark Dumay
e00e04b40b Merge pull request #1540 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-08-22 11:58:56 +02:00
Mark Dumay
4970c604d9 Merge branch 'main' into hugo-mod-dependencies 2025-08-22 11:41:05 +02:00
Mark Dumay
a44e5dcafc Merge pull request #1542 from gethinode/radius
Radius
2025-08-22 11:40:51 +02:00
Mark Dumay
8493154844 Merge branch 'main' into radius 2025-08-22 11:32:52 +02:00
Mark Dumay
8a8a644ccf feat: support theme-border-radius for consistent styling 2025-08-22 11:32:02 +02:00
Mark Dumay
d390d2eb4e fix: set font display to block to reduce layout shift 2025-08-22 11:19:22 +02:00
Mark Dumay
2e3bca1a34 fix: add border color to search input 2025-08-22 11:17:39 +02:00
Mark Dumay
9a00e6c4c1 feat: add video color argument to ease in frame content 2025-08-22 11:16:05 +02:00
Mark Dumay
3dcbe0b62c feat: improve border radius consistency 2025-08-22 08:23:25 +02:00
markdumay
bdf9d84a72 fix: update Hugo module dependencies 2025-08-19 03:24:17 +00:00
dependabot[bot]
7386cf1fb9 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 17:35:32 +00:00
86 changed files with 1144 additions and 543 deletions

View File

@@ -57,7 +57,7 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`

View File

@@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v5
- name: Set up Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: lts/*
cache: 'npm'
@@ -56,12 +56,12 @@ jobs:
uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: ">1.0.0"
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

View File

@@ -17,7 +17,7 @@ jobs:
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: lts/*
cache: 'npm'

View File

@@ -28,7 +28,7 @@ jobs:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: "lts/*"

View File

@@ -1,4 +1,4 @@
{{- if site.Params.main.enableDarkMode -}}
{{- if (or site.Params.main.enableDarkMode site.Params.main.colorMode.enabled) -}}
/*!
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
@@ -43,9 +43,7 @@
document.documentElement.setAttribute('data-bs-theme', theme)
}
document.querySelectorAll('.navbar-mode-selector').forEach(chk => {
chk.checked = (document.documentElement.getAttribute('data-bs-theme') === 'light')
})
updateSelectors()
}
// alternates the currently active theme
@@ -54,6 +52,12 @@
setTheme(target)
}
function updateSelectors() {
document.querySelectorAll('.navbar-mode-selector').forEach(chk => {
chk.checked = (document.documentElement.getAttribute('data-bs-theme') === 'light')
})
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
if (storedTheme !== 'light' || storedTheme !== 'dark') {
setTheme(getPreferredTheme())
@@ -69,7 +73,12 @@
})
})
// initialize theme directly when script is invoked
window.addEventListener('load', () => {
// update the selectors when all elements are ready
updateSelectors()
})
// initialize theme as soon as possible to reduce screen flickering
setTheme(getTheme())
})()

View File

@@ -24,8 +24,10 @@
@import "components/carousel.scss";
@import "components/clipboard.scss";
@import "components/command.scss";
@import "components/docs.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/kbd.scss";
@import "components/nav.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@@ -35,6 +37,7 @@
@import "components/sidebar.scss";
@import "components/syntax-dart.scss"; // note: modified for dart-sass
@import "components/table.scss";
@import "components/toast.scss";
@import "components/timeline.scss";
@import "components/toc.scss";
@import "components/video.scss";

View File

@@ -22,8 +22,10 @@
@import "components/carousel.scss";
@import "components/clipboard.scss";
@import "components/command.scss";
@import "components/docs.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/kbd.scss";
@import "components/nav.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@@ -33,6 +35,7 @@
@import "components/sidebar.scss";
@import "components/syntax.scss";
@import "components/table.scss";
@import "components/toast.scss";
@import "components/timeline.scss";
@import "components/toc.scss";
@import "components/video.scss";

View File

@@ -21,6 +21,7 @@
// Standard version (Firefox, only appears on scroll)
@supports (-moz-appearance:none) {
/* stylelint-disable-next-line no-invalid-position-declaration */
scrollbar-color: $foreground-color $background-color;
}
}

View File

@@ -14,6 +14,10 @@ a:active {
text-decoration: none;
}
div.rounded, img.rounded {
--bs-border-radius: #{$theme-border-radius};
}
//
// Ensure main page is rendered to full viewport height
//

View File

@@ -16,12 +16,12 @@ $font-weight-normal: 300 !default;
$font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default;
$theme-border-radius: 1rem;
strong {
font-weight: 600 if($enable-important-utilities, !important, null);
}
$theme-border-radius: 0.375rem;
$navbar-height: h.$navbar-height;
$navbar-offset: h.$navbar-offset;
$navbar-offset-xs: h.$navbar-offset-xs;

View File

@@ -17,13 +17,13 @@ $font-weight-normal: 300 !default;
$font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default;
$theme-border-radius: 1rem;
strong {
font-weight: 600 if($enable-important-utilities, !important, null);
}
// scss-docs-end font
$theme-border-radius: 0.375rem;
$white: #fff !default;
$black: #000 !default;
$body-bg: #fff !default;

View File

@@ -52,3 +52,7 @@ a.btn {
.btn-xs {
@include button-size($btn-padding-y-xs, $btn-padding-x-xs, $btn-font-size-xs, $btn-border-radius-xs);
}
.btn {
--bs-border-radius: #{$theme-border-radius};
}

View File

@@ -6,6 +6,9 @@
}
.card {
--bs-card-border-radius: #{$theme-border-radius};
--bs-card-inner-border-radius: #{$theme-border-radius};
--bs-border-radius: #{$theme-border-radius};
--bs-card-bg: transparent;
}
@@ -28,6 +31,13 @@
cursor: pointer;
}
.card-img-top {
--bs-border-radius: #{$theme-border-radius};
border-top-left-radius: var(--bs-border-radius) !important;
border-top-right-radius: var(--bs-border-radius) !important;
}
.card-img-wrap img {
transition: transform 0.25s ease;
width: 100%;

View File

@@ -1,3 +1,7 @@
.carousel-inner {
border-radius: #{$theme-border-radius};
}
.gradient {
width: 100%;
height: 100%;

View File

@@ -0,0 +1,22 @@
.docs-controls .nav-link,
.file-controls .nav-link {
border-top-left-radius: #{$theme-border-radius};
border-top-right-radius: #{$theme-border-radius};
margin-left: #{$theme-border-radius};
&:hover,
&:focus {
border-bottom: 0;
}
}
.docs-panel,
.file-panel {
border: 1px solid var(--#{$prefix}border-color);
overflow: hidden;
}
.docs-panel, .docs-panel .collapse,
.file-panel, .file-panel .collapse {
border-radius: #{$theme-border-radius};
}

View File

@@ -27,3 +27,7 @@
width: 100vw;
object-fit: cover;
}
.figure-caption {
margin-left: #{$theme-border-radius};
}

View File

@@ -0,0 +1,3 @@
kbd {
border-radius: #{$theme-border-radius};
}

View File

@@ -84,6 +84,14 @@
border-color: var(--#{$prefix}border-color);
}
.nav-callout, .pagination {
--bs-border-radius: #{$theme-border-radius};
}
.nav-callout .tab-content {
border-radius: #{$theme-border-radius};
}
@if $enable-dark-mode {
@include color-mode(dark) {
.nav-callout, .tab-content {

View File

@@ -7,7 +7,7 @@
}
.mode-switch {
--#{$prefix}mode-switch-width: 50px;
--#{$prefix}mode-switch-width: 3em;
}
.mode-switch .label {
@@ -64,6 +64,18 @@
transform: scale(0.8);
}
.mode-toggle > input {
z-index: 1;
cursor: pointer;
height: 25px;
width: 25px;
}
.mode-toggle > label {
z-index: 0;
cursor: pointer;
}
// Source: https://jsfiddle.net/njhgr40m/
@if $enable-dark-mode {
@@ -126,12 +138,64 @@
.navbar-expanded {
box-shadow: $box-shadow-sm;
min-height: 100vh;
align-items: start;
}
.navbar-expanded .navbar-collapse {
margin-top: 2rem;
}
@each $h, $size in $font-sizes {
.navbar-fs-#{$h} {
font-size: #{$size};
}
}
@each $breakpoint in map-keys($grid-breakpoints) {
$next: breakpoint-next($breakpoint, $grid-breakpoints);
$infix: breakpoint-infix($next, $grid-breakpoints);
@if $infix != '' {
@include media-breakpoint-up($next) {
.navbar#{$infix}-fs {
font-size: inherit;
}
}
}
}
.navbar-icon {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
}
.nav-item .vr {
color: var(--bs-navbar-color);
}
.navbar .nav-item {
display: flex;
align-items: center;
}
.navbar-collapse .dropdown {
display: inline;
align-items: normal;
}
.navbar-expanded .btn {
font-size: 1em;
}
.navbar .btn {
border-radius: #{$theme-border-radius};
}
.navbar-expanded .search-input {
margin-bottom: 1rem;
}
/* Remove border from toggler */
.navbar-toggler {
border: 0 if($enable-important-utilities, !important, null);
@@ -319,3 +383,7 @@
position: absolute;
z-index: $zindex-fixed;
}
.form-control.is-search {
border: 1px solid var(--bs-border-color) !important;
}

View File

@@ -11,6 +11,12 @@
}
.sidebar-item {
--bs-border-radius: #{$theme-border-radius};
--bs-border-radius-sm: #{$theme-border-radius};
--bs-border-radius-lg: #{$theme-border-radius};
--bs-border-radius-xl: #{$theme-border-radius};
--bs-border-radius-xxl: #{$theme-border-radius};
color: rgba(0, 0, 0, 0.65);
margin-left: 0 !important;
display: inline-block;
@@ -28,6 +34,8 @@
}
.sidebar-item-group {
border-radius: #{$theme-border-radius};
&:hover,
&:focus {
color: $primary;
@@ -126,4 +134,6 @@
.dropdown-toggle {
outline: 0;
display: flex;
align-items: center;
}

View File

@@ -16,6 +16,10 @@
flex: 1;
}
.codeblock.syntax-highlight, .command.syntax-highlight {
border-radius: #{$theme-border-radius};
}
.syntax-highlight {
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
overflow-x: auto;

View File

@@ -16,6 +16,10 @@
flex: 1;
}
.codeblock.syntax-highlight, .command.syntax-highlight {
border-radius: #{$theme-border-radius};
}
.syntax-highlight {
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
overflow-x: auto;

View File

@@ -26,6 +26,10 @@ $semi-circle-border: 0.2rem;
// scss-docs-end timeline
.timeline-container {
border-radius: #{$theme-border-radius};
}
.timeline, .timeline-sm {
position: relative;
}

View File

@@ -0,0 +1,4 @@
.toast {
border-radius: #{$theme-border-radius};
overflow: hidden;
}

View File

@@ -3,11 +3,11 @@
//
// scss-docs-start toc
.toc-sidebar {
grid-area: toc;
right: 0;
z-index: 2;
overflow-y: auto;
top: 5rem;
max-height: calc(100vh - var(--navbar-offset));
}
// scss-docs-end toc

View File

@@ -3,6 +3,7 @@
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
border-radius: #{$theme-border-radius};
}
.video-embedded > iframe {
@@ -11,7 +12,7 @@
left: 0;
width: 100%;
height: 100%;
border:0;
border: 0;
}
// Adapted from https://github.com/gohugoio/hugo/tpl/tplimpl/embedded/templates/shortcodes/vimeo_simple.html

View File

@@ -10,7 +10,7 @@
/* inter-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 200;
@@ -23,7 +23,7 @@
}
/* inter-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 300;
@@ -36,7 +36,7 @@
}
/* inter-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 400;
@@ -49,7 +49,7 @@
}
/* inter-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 600;

View File

@@ -32,6 +32,8 @@ blueprint:
width:
justify:
link-type:
theme:
cover:
links:
-
title:

View File

@@ -47,3 +47,5 @@ blueprint:
class:
width:
justify:
theme:
cover:

View File

@@ -34,3 +34,5 @@ blueprint:
width:
justify:
align:
theme:
cover:

View File

@@ -41,3 +41,5 @@ blueprint:
padding:
order:
width:
theme:
cover:

View File

@@ -2,6 +2,10 @@
background-color: var(--#{$prefix}primary-bg-subtle);
}
.cta, .background-img-fluid {
border-radius: #{$theme-border-radius} if($enable-important-utilities, !important, null);
}
.cta .contact-img {
background-color: var(--#{$prefix}body-bg);
border-radius: var(--bs-border-radius);

View File

@@ -26,3 +26,5 @@ blueprint:
items:
- title:
description:
theme:
cover:

View File

@@ -35,6 +35,7 @@ blueprint:
align:
order:
overlay-mode:
theme:
cover:
orientation:
width:

View File

@@ -33,3 +33,5 @@ blueprint:
class:
width:
justify:
theme:
cover:

View File

@@ -33,16 +33,17 @@
{{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }}
{{ $hero := partial "assets/hero.html" (dict
"page" page
"heading" (dict "title" $element.title "content" $element.content "width" 8 "size" 6)
"background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" "horizontal"
"align" "start"
"width" 12
"page" page
"heading" (dict "content" $element.content "width" 8)
"background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" "horizontal"
"align" "start"
"width" 12
"content-style" "fs-6"
)
}}

View File

@@ -1,3 +1,13 @@
.panels .dropdown-toggle {
text-decoration: none !important;
}
.panels .nav-tabs {
border-top-left-radius: #{$theme-border-radius};
border-top-right-radius: #{$theme-border-radius};
margin-left: #{$theme-border-radius};
}
.panels .tab-content {
border-radius: #{$theme-border-radius};
}

View File

@@ -23,4 +23,6 @@ blueprint:
subtle:
width:
justify:
data:
data:
theme:
cover:

View File

@@ -31,6 +31,7 @@ blueprint:
media-id:
autoplay:
query-args:
color:
cols:
messages:
- title:
@@ -41,6 +42,8 @@ blueprint:
border:
width:
justify:
theme:
cover:
_structures:
messages:

View File

@@ -28,6 +28,7 @@
{{ $queryArgs := .queryArgs }}
{{ $border := .border }}
{{ $padding := .padding }}
{{ $color := .color }}
{{ if site.Params.env_bookshop_live }}
{{/* Define dummy content as we cannot retrieve video data in live mode */}}
@@ -36,7 +37,7 @@
"ratio" "21x9"
"wrapper" (printf "text-center mb-%d" $padding.y)) -}}
{{ else }}
<div class="video-container{{ if $border }} video-container-border{{ end}}">
<div class="video-container{{ if $border }} video-container-border{{ end}} {{ with $color }}bg-{{ . }}{{ end }}">
{{ partial "assets/video.html" (dict
"page" page
"provider" $provider
@@ -117,10 +118,11 @@
"query-args" .queryArgs
"border" $.border
"padding" $padding
"color" .color
) -}}
{{ end }}
</div>
<div class="mt-{{ $padding.y }}">
<div class="mt-{{ $padding.y }} w-100">
{{- partial "inline/messages.html" (dict
"list" $list
"cols" $args.cols
@@ -142,6 +144,7 @@
"query-args" .queryArgs
"border" $.border
"padding" $padding
"color" .color
) -}}
{{ end }}
</div>

View File

@@ -2,6 +2,7 @@
--bs-video-border-color: var(--bs-primary);
--bs-video-border-width: 1rem;
border-radius: $theme-border-radius;
position: relative;
}

View File

@@ -27,20 +27,35 @@
{{- $resolved_component = $flat_component_path -}}
{{- end -}}
<!-- TODO: use initialized component args instead of component_props -->
{{ $error := false }}
{{ $args := dict }}
{{- if $resolved_component -}}
{{ $args = partial "utilities/InitArgs.html" (dict "bookshop" $component_name "args" $component_props) }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" $resolved_component
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ end }}
{{ end }}
{{ if and $resolved_component (not $args.err) }}
{{- $id := index $component_props "id" -}}
{{- $cover := index $component_props "cover" -}}
{{- $background := index $component_props "background" -}}
{{- $backdrop := "" -}}
{{- $fluid := index $component_props "fluid" | default true -}}
{{- $style := index $component_props "wrapper" -}}
{{- $wrapper := index $component_props "wrapper" -}}
{{- $width := index $component_props "width" -}}
{{- $justify := index $component_props "justify" | default "start" -}}
{{- $paddingOuter := cond (ne $component_name "separator") (printf "px-xxl-0 px-%d py-0" $padding.x) "" -}}
{{- $padding := cond (ne $component_name "separator") (printf "px-%d %spy-%d" $padding.x (cond $fluid "px-xxl-0 " "") $padding.y) "" -}}
{{- $wrapper := $style }}
{{ with $background }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $wrapper) }}
{{ if reflect.IsMap $background }}
{{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }}
{{ end }}
@@ -73,18 +88,21 @@
{{- end -}}
{{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }}
<div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ with $col }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ else }}
{{ partial $resolved_component $component_props }}
{{ end}}
</div>
{{ if $args.passthrough }}
{{ partial $resolved_component $component_props }}
{{ else }}
<div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ with $col }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ else }}
{{ partial $resolved_component $component_props }}
{{ end}}
</div>
{{ end }}
</section>
{{ if not $fluid }}</div>{{ end }}
{{ "<!--bookshop-live end-->" | safeHTML }}
{{- else -}}
{{- else if (not $args.err) -}}
{{- $file_loc := slicestr $component_path 9 -}}
{{- $flat_file_loc := slicestr $flat_component_path 9 -}}
{{- partial "_bookshop/errors/err" (printf "Component \"%s\" does not exist.\n Create this component by placing a file in your bookshop at %s or %s" $component_name $file_loc $flat_file_loc) -}}

View File

@@ -176,7 +176,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]]
path = "github.com/gethinode/mod-csp"
[[module.imports]]
path = "github.com/gethinode/mod-flexsearch/v2"
path = "github.com/gethinode/mod-flexsearch/v3"
[[module.imports]]
path = "github.com/gethinode/mod-fontawesome/v2"
[[module.imports]]

View File

@@ -2,9 +2,7 @@
[main]
separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
enableLanguageSelectionStorage = false
modes = ["light", "dark"]
canonifyAssetsURLs = false
endorse = true
footerBelowFold = false
@@ -22,6 +20,12 @@
tab = false
[main.build]
transpiler = "libsass"
[main.colorMode]
enabled = true
modes = ["light", "dark"]
toggle = false
iconLight = "fas sun"
iconDark = "fas moon"
# toml-docs-end main
# toml-docs-start images
@@ -91,8 +95,6 @@
overlayMode = "dark"
horizontal = false
offset = "5.5rem"
search = true
searchModal = false
breadcrumb = true
toc = true
sidebar = true
@@ -103,6 +105,12 @@
[navigation.padding]
x = 4
y = 4
[navigation.language]
icon = "fas globe"
[navigation.search]
enabled = true
modal = true
icon = "fas magnifying-glass"
# toml-docs-end navigation
# toml-docs-start messages

View File

@@ -27,7 +27,7 @@ const purgecss = purgeCSSPlugin({
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/v3/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',

View File

@@ -0,0 +1,8 @@
---
title: Modal elements
cascade:
- build:
list: local
publishResources: false
render: never
---

View File

@@ -73,6 +73,8 @@ arguments:
group: partial
anchor:
release: v0.24.23
links:
release: v1.14.0
# deprecated arguments
header:
type: select

View File

@@ -28,3 +28,5 @@ arguments:
theme:
hook:
default: assets/hero-image.html
heading-style:
content-style:

View File

@@ -9,7 +9,9 @@ arguments:
comment: Context of the current page.
group: partial
menu:
type: '*navigation.MenuEntry'
type:
- '*navigation.MenuEntry'
- 'map[string]interface {}'
optional: false
comment: Menu data to use for the navbar item.
parent:
@@ -37,3 +39,24 @@ arguments:
optional: true
comment: >-
Renders the navigation item as plain item, ignoring any children.
breakpoint:
release: v1.2.0
modal:
type: string
optional: true
release: v1.2.0
comment: >-
If set, toggles a modal control for the provided target.
id:
type: string
optional: true
release: v1.2.0
comment: >-
If set, adds an id attribute to the menu item.
fs:
type: int
optional: true
default: 6
release: v1.2.0
comment: >-
Sets the font size of the navigation items when the navbar is collapsed.

View File

@@ -115,7 +115,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]]
path = "github.com/gethinode/mod-csp"
[[module.imports]]
path = "github.com/gethinode/mod-flexsearch/v2"
path = "github.com/gethinode/mod-flexsearch/v3"
[[module.imports]]
path = "github.com/gethinode/mod-fontawesome/v2"
[[module.imports]]

View File

@@ -1,9 +1,7 @@
[main]
separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
enableLanguageSelectionStorage = true
modes = ["light", "dark"]
canonifyAssetsURLs = false
footerBelowFold = false
loading = "lazy"
@@ -21,6 +19,12 @@
[main.build]
transpiler = "dartsass"
silenceDeprecations = true
[main.colorMode]
enabled = true
modes = ["light", "dark"]
toggle = true
iconLight = "fas sun"
iconDark = "fas moon"
[debugging]
showJS = false
@@ -45,18 +49,23 @@
horizontal = false
offset = "5.5rem"
offsetXS = "5.5rem"
search = true
searchModal = false
breadcrumb = true
toc = true
sidebar = true
size = "md"
fontsizeCollapsed = 6
startLevel = 2
endLevel = 3
maxNumHeadings = 9
[navigation.language]
icon = "fas globe"
[navigation.padding]
x = 4
y = 4
[navigation.search]
enabled = true
modal = false
icon = "fas magnifying-glass"
[messages]
placement = "bottom-right"

View File

@@ -27,7 +27,7 @@ const purgecss = purgeCSSPlugin({
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/v3/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',

View File

@@ -29,6 +29,7 @@ The `video` content block renders a horizontal line to separate sections. The se
provider: vimeo
media-id: "55073825"
autoplay: true
color: black
messages:
- title: First Message
icon: fas 1

View File

@@ -4,7 +4,7 @@ title: Components
date: 2023-09-23
description: Use shortcodes to add predefined components powered by external libraries.
tags: ["bootstrap", "shortcode"]
keywords: ["featured"]
keywords: featured
thumbnail:
url: img/puzzle.jpg
author: Ryoji Iwata

View File

@@ -4,7 +4,7 @@ title: Content blocks
date: 2025-06-07
description: Quickly edit your webpages using reusable content blocks.
tags: ["bookshop", "blocks"]
keywords: ["featured"]
keywords: featured
thumbnail:
url: img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
author: Pj Accetturo

View File

@@ -2,14 +2,63 @@
author: Mark Dumay
title: Bienvenue sur Hinode!
description: Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
thumbnail:
url: /img/sunrise.jpg
author: Harris Vo
authorURL: https://unsplash.com/@hoanvokim
origin: https://unsplash.com/photos/ZX6BPboJrYk
originName: Unsplash
actions:
about:
url: "a-propos"
title: "À propos"
content_blocks:
- _bookshop_name: hero
heading:
title: Bienvenue sur Hinode!
content: |-
Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
width: 6
background:
color: primary
subtle: true
illustration:
image: /img/sunrise.jpg
ratio: 16x9
width: 8
links:
- title: À propos
url: "/fr/a-propos/"
icon: fas chevron-right
orientation: horizontal
justify: center
- _bookshop_name: articles
heading:
title: Articles de blog
align: start
input:
section: blog
reverse: true
sort: date
keywords: featured
hide-empty: false
header-style: none
more:
title: Plus d'articles
padding: 0
limit: 3
class: border-0 card-zoom card-body-margin
- _bookshop_name: articles
heading:
title: Projets
align: start
background:
background: body-tertiary
hide-empty: false
input:
section: projects
reverse: false
sort: date
more:
title: Plus d'articles
cols: 1
padding: 4
limit: 2
icon-style: fa-5x
header-style: none
footer-style: tags
orientation: horizontal-sm
class: border-1 card-emphasize
---

View File

@@ -5,6 +5,7 @@ slug: elements-bootstrap
date: 2023-08-12
description: Utilisez des shortcodes pour ajouter facilement des éléments Bootstrap courants.
tags: ["bootstrap", "shortcode"]
keywords: featured
thumbnail:
url: img/boots.jpg
author: Nathan Dumlao

View File

@@ -5,6 +5,7 @@ slug: composents
date: 2023-07-21
description: Utilisez des shortcodes pour ajouter des composants prédéfinis alimentés par des bibliothèques externes.
tags: ["bootstrap", "shortcode"]
keywords: featured
thumbnail:
url: img/puzzle.jpg
author: Ryoji Iwata

View File

@@ -4,6 +4,7 @@ title: Images locales et distantes
date: 2024-05-19
description: Inclure des images responsives provenant de sources locales et de certains fournisseurs de CDN d'images.
tags: ["blog"]
keywords: featured
thumbnail:
url: https://assets.imgix.net/examples/bluehat.jpg
---

View File

@@ -2,14 +2,62 @@
author: Mark Dumay
title: Welkom bij Hinode!
description: Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5.
thumbnail:
url: /img/sunrise.jpg
author: Harris Vo
authorURL: https://unsplash.com/@hoanvokim
origin: https://unsplash.com/photos/ZX6BPboJrYk
originName: Unsplash
actions:
about:
url: "over-mij"
title: "Over mij"
content_blocks:
- _bookshop_name: hero
heading:
title: Welkom bij Hinode!
content: |-
Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5.
width: 6
background:
color: primary
subtle: true
illustration:
image: /img/sunrise.jpg
ratio: 16x9
width: 8
links:
- title: "Over mij"
url: "/nl/over-mij/"
icon: fas chevron-right
orientation: horizontal
justify: center
- _bookshop_name: articles
heading:
title: Blog
align: start
input:
section: blog
reverse: true
sort: date
hide-empty: false
header-style: none
more:
title: Meer artikelen
padding: 0
limit: 3
class: border-0 card-zoom card-body-margin
- _bookshop_name: articles
heading:
title: Projecten
align: start
background:
background: body-tertiary
hide-empty: false
input:
section: projects
reverse: false
sort: date
more:
title: Meer artikelen
cols: 1
padding: 4
limit: 2
icon-style: fa-5x
header-style: none
footer-style: tags
orientation: horizontal-sm
class: border-1 card-emphasize
---

View File

@@ -95,9 +95,9 @@
"background-container",
"background-img-fluid",
"badge",
"ball",
"bg-bg-body-tertiary",
"bg-bg-primary-subtle",
"bg-black",
"bg-body",
"bg-body-tertiary",
"bg-danger",
@@ -110,9 +110,7 @@
"border-0",
"border-1",
"border-bottom",
"border-end",
"border-none",
"border-start",
"border-top",
"bottom-0",
"bottom-bar",
@@ -191,6 +189,7 @@
"col-sm-6",
"collapse",
"collapsed",
"command",
"contact-img",
"container",
"container-fluid",
@@ -223,6 +222,9 @@
"display-1",
"display-4",
"display-6",
"docs",
"docs-controls",
"docs-panel",
"dropdown",
"dropdown-divider-bg",
"dropdown-item",
@@ -298,6 +300,9 @@
"faq",
"fas",
"figure-caption",
"file",
"file-controls",
"file-panel",
"fixed-top",
"flex-column",
"flex-fill",
@@ -375,9 +380,11 @@
"me-1",
"me-3",
"me-auto",
"me-md-3",
"mermaid",
"middle-bar",
"mode-switch",
"mode-item",
"mode-toggle",
"ms-1",
"ms-3",
"ms-auto",
@@ -417,6 +424,8 @@
"navbar-contrast",
"navbar-expand-md",
"navbar-fixed-top",
"navbar-fs-6",
"navbar-md-fs",
"navbar-mode-selector",
"navbar-nav",
"navbar-nav-scroll",
@@ -551,6 +560,7 @@
"timeline-bg-primary-subtle",
"timeline-connector-end",
"timeline-connector-start",
"timeline-container",
"timeline-description-text-end",
"timeline-description-text-start",
"timeline-dot",
@@ -606,9 +616,11 @@
"animation",
"args",
"arguments",
"articles-de-blog",
"background-type",
"badge",
"barre-de-navigation",
"bienvenue-sur-hinode",
"block-diagram",
"blog",
"body-docs-collapse-15",
@@ -644,11 +656,11 @@
"docs",
"documentation",
"dropdown-nav-0",
"dropdown-panel-084bf092239e5f25a71841b46134e2b5",
"dropdown-panel-09e05d29554c47c7d092c3c332e8ab42",
"dropdown-panel-5acf6806020477b731604b7c3506126d",
"dropdown-panel-6bdf123559ba44e375634c7e5392b912",
"dropdown-panel-d09398439fd994d4aafbc4a3a9c28bf2",
"dropdown-panel-0626353d67dd97b71dc37553482cd9d9",
"dropdown-panel-9fe1f1ca588465dc433150e9776e7c55",
"dropdown-panel-bc0ea07878926f7156a5c3a3f7a97fc0",
"dropdown-panel-e96f22e4624ab2759fea46df2ded1460",
"dropdown-panel-ee06c704eca15cd76c8e2fe77d29f364",
"elements-type",
"entity-relationship-diagram",
"example",
@@ -666,11 +678,11 @@
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"faq-c3e9e2ab69a8c88825f39038d15bc04f",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-heading-faq-c3e9e2ab69a8c88825f39038d15bc04f",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-item-0",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-item-1",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-item-2",
"faq-1f62d0a5dfb896dda297f80fdd1c539c",
"faq-1f62d0a5dfb896dda297f80fdd1c539c-heading-faq-1f62d0a5dfb896dda297f80fdd1c539c",
"faq-1f62d0a5dfb896dda297f80fdd1c539c-item-0",
"faq-1f62d0a5dfb896dda297f80fdd1c539c-item-1",
"faq-1f62d0a5dfb896dda297f80fdd1c539c-item-2",
"fas-1",
"fas-2",
"fas-3",
@@ -707,7 +719,6 @@
"fichier",
"fil-dariane",
"file",
"first-panel",
"flowchart",
"footer-docs-collapse-15",
"footer-docs-collapse-16",
@@ -762,11 +773,11 @@
"nav-0-btn-1",
"nav-0-btn-2",
"nav-nav-0",
"nav-panel-084bf092239e5f25a71841b46134e2b5",
"nav-panel-09e05d29554c47c7d092c3c332e8ab42",
"nav-panel-5acf6806020477b731604b7c3506126d",
"nav-panel-6bdf123559ba44e375634c7e5392b912",
"nav-panel-d09398439fd994d4aafbc4a3a9c28bf2",
"nav-panel-0626353d67dd97b71dc37553482cd9d9",
"nav-panel-9fe1f1ca588465dc433150e9776e7c55",
"nav-panel-bc0ea07878926f7156a5c3a3f7a97fc0",
"nav-panel-e96f22e4624ab2759fea46df2ded1460",
"nav-panel-ee06c704eca15cd76c8e2fe77d29f364",
"navbar",
"navbar-0-collapse",
"navbar-mode",
@@ -775,36 +786,36 @@
"navigation",
"notification",
"overview",
"panel-084bf092239e5f25a71841b46134e2b5-0",
"panel-084bf092239e5f25a71841b46134e2b5-1",
"panel-084bf092239e5f25a71841b46134e2b5-2",
"panel-084bf092239e5f25a71841b46134e2b5-btn-0",
"panel-084bf092239e5f25a71841b46134e2b5-btn-1",
"panel-084bf092239e5f25a71841b46134e2b5-btn-2",
"panel-09e05d29554c47c7d092c3c332e8ab42-0",
"panel-09e05d29554c47c7d092c3c332e8ab42-1",
"panel-09e05d29554c47c7d092c3c332e8ab42-2",
"panel-09e05d29554c47c7d092c3c332e8ab42-btn-0",
"panel-09e05d29554c47c7d092c3c332e8ab42-btn-1",
"panel-09e05d29554c47c7d092c3c332e8ab42-btn-2",
"panel-5acf6806020477b731604b7c3506126d-0",
"panel-5acf6806020477b731604b7c3506126d-1",
"panel-5acf6806020477b731604b7c3506126d-2",
"panel-5acf6806020477b731604b7c3506126d-btn-0",
"panel-5acf6806020477b731604b7c3506126d-btn-1",
"panel-5acf6806020477b731604b7c3506126d-btn-2",
"panel-6bdf123559ba44e375634c7e5392b912-0",
"panel-6bdf123559ba44e375634c7e5392b912-1",
"panel-6bdf123559ba44e375634c7e5392b912-2",
"panel-6bdf123559ba44e375634c7e5392b912-btn-0",
"panel-6bdf123559ba44e375634c7e5392b912-btn-1",
"panel-6bdf123559ba44e375634c7e5392b912-btn-2",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-0",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-1",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-2",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-btn-0",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-btn-1",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-btn-2",
"panel-0626353d67dd97b71dc37553482cd9d9-0",
"panel-0626353d67dd97b71dc37553482cd9d9-1",
"panel-0626353d67dd97b71dc37553482cd9d9-2",
"panel-0626353d67dd97b71dc37553482cd9d9-btn-0",
"panel-0626353d67dd97b71dc37553482cd9d9-btn-1",
"panel-0626353d67dd97b71dc37553482cd9d9-btn-2",
"panel-9fe1f1ca588465dc433150e9776e7c55-0",
"panel-9fe1f1ca588465dc433150e9776e7c55-1",
"panel-9fe1f1ca588465dc433150e9776e7c55-2",
"panel-9fe1f1ca588465dc433150e9776e7c55-btn-0",
"panel-9fe1f1ca588465dc433150e9776e7c55-btn-1",
"panel-9fe1f1ca588465dc433150e9776e7c55-btn-2",
"panel-bc0ea07878926f7156a5c3a3f7a97fc0-0",
"panel-bc0ea07878926f7156a5c3a3f7a97fc0-1",
"panel-bc0ea07878926f7156a5c3a3f7a97fc0-2",
"panel-bc0ea07878926f7156a5c3a3f7a97fc0-btn-0",
"panel-bc0ea07878926f7156a5c3a3f7a97fc0-btn-1",
"panel-bc0ea07878926f7156a5c3a3f7a97fc0-btn-2",
"panel-e96f22e4624ab2759fea46df2ded1460-0",
"panel-e96f22e4624ab2759fea46df2ded1460-1",
"panel-e96f22e4624ab2759fea46df2ded1460-2",
"panel-e96f22e4624ab2759fea46df2ded1460-btn-0",
"panel-e96f22e4624ab2759fea46df2ded1460-btn-1",
"panel-e96f22e4624ab2759fea46df2ded1460-btn-2",
"panel-ee06c704eca15cd76c8e2fe77d29f364-0",
"panel-ee06c704eca15cd76c8e2fe77d29f364-1",
"panel-ee06c704eca15cd76c8e2fe77d29f364-2",
"panel-ee06c704eca15cd76c8e2fe77d29f364-btn-0",
"panel-ee06c704eca15cd76c8e2fe77d29f364-btn-1",
"panel-ee06c704eca15cd76c8e2fe77d29f364-btn-2",
"persona",
"pie-chart",
"pills",
@@ -817,7 +828,6 @@
"release",
"requirement-chart",
"réduire",
"second-panel",
"security",
"sequence-diagram",
"shortcode-with-controls-and-frontmatter",
@@ -830,7 +840,6 @@
"sécurité",
"table",
"tabs",
"third-panel",
"third-party-links--use-of-your-information",
"timeline",
"title",
@@ -852,6 +861,7 @@
"vidéo",
"vos-droits",
"welcome-to-hinode",
"welkom-bij-hinode",
"what-are-cookies",
"xy-chart",
"your-rights"

12
go.mod
View File

@@ -3,11 +3,11 @@ module github.com/gethinode/hinode
go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 // indirect
github.com/airbnb/lottie-web v5.13.0+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4 // indirect
github.com/gethinode/mod-bootstrap v1.3.4 // indirect
github.com/gethinode/mod-csp v1.0.8 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.1.3 // indirect
github.com/gethinode/mod-flexsearch/v3 v3.0.0 // indirect
github.com/gethinode/mod-fontawesome/v2 v2.1.2 // indirect
github.com/gethinode/mod-google-analytics v1.3.3 // indirect
github.com/gethinode/mod-katex v1.1.4 // indirect
@@ -15,7 +15,7 @@ require (
github.com/gethinode/mod-lottie v1.6.1 // indirect
github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect
github.com/gethinode/mod-utils/v4 v4.13.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a // indirect
github.com/twbs/bootstrap v5.3.7+incompatible // indirect
github.com/gethinode/mod-utils/v4 v4.16.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect
github.com/twbs/bootstrap v5.3.8+incompatible // indirect
)

20
go.sum
View File

@@ -1,5 +1,7 @@
github.com/airbnb/lottie-web v5.12.2+incompatible h1:Ldogtlhiucf7mMsgisyxSBY0qunV44+lpa9Icy2KoQc=
github.com/airbnb/lottie-web v5.12.2+incompatible/go.mod h1:nTss557UK9FGnp8QYlCMO29tjUHwbdAHG/DprbGfHGE=
github.com/airbnb/lottie-web v5.13.0+incompatible h1:plBV5Uq/F1kK0EC61Hr0cBGReI9OgUfd/pp0baoDX8o=
github.com/airbnb/lottie-web v5.13.0+incompatible/go.mod h1:nTss557UK9FGnp8QYlCMO29tjUHwbdAHG/DprbGfHGE=
github.com/cloudcannon/bookshop/hugo/v3 v3.14.0 h1:QNLtpTINvXkxAG/RQVpdXzxtFjG6YAmnBr7qbOD5GF8=
github.com/cloudcannon/bookshop/hugo/v3 v3.14.0/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.0 h1:Fb76ABHqTyPl9Z2QqYJCwiMBKPyShOe1EnZxXzW3RVo=
@@ -8,6 +10,8 @@ github.com/cloudcannon/bookshop/hugo/v3 v3.16.1 h1:WByz6rqg28h94VLVLscu77/CHhi2p
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 h1:/Z66xKILl1SNGQePHZCnxo6vFgED7AGI600OSPotXj4=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4 h1:k233xdD3ydE6iN8QB+c37//rSsFVtLIo5OUNRN4E3bc=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/gethinode/mod-bootstrap v1.0.1 h1:NDZar+UEL42YHCvzzO+jVgqkZU5INA12BpjX3y6U4I4=
github.com/gethinode/mod-bootstrap v1.0.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU=
@@ -118,6 +122,8 @@ github.com/gethinode/mod-flexsearch/v2 v2.1.2 h1:B/onreHG/qzIqMo9YYiRk4WWM+GgFj1
github.com/gethinode/mod-flexsearch/v2 v2.1.2/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v2 v2.1.3 h1:m5I9B7cA1SU99f90yO4OpOcKNPZ5zMF18pEhusLxa80=
github.com/gethinode/mod-flexsearch/v2 v2.1.3/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v3 v3.0.0 h1:xFeo5ovZMIcUttvpOamPAMML5+5Au/hewZz/18C2H6Q=
github.com/gethinode/mod-flexsearch/v3 v3.0.0/go.mod h1:iYvaBF6Y62pjnCepYAqLxoX1ZdEBoD+9caj4cBC+MxY=
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
@@ -498,6 +504,14 @@ github.com/gethinode/mod-utils/v4 v4.12.0 h1:5sSfYIxZCeQbXLoZdS//rl6thwLwtXuvM0u
github.com/gethinode/mod-utils/v4 v4.12.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.13.0 h1:VKAA+wKy4saayXfgJuVBRfhNVWQWmxOjO8LSpQCvLfw=
github.com/gethinode/mod-utils/v4 v4.13.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.14.0 h1:CF5dy+HWg22L306bWVhClWK9b1NVinEqtb4Qr2vcl9A=
github.com/gethinode/mod-utils/v4 v4.14.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.15.0 h1:Zocy3qEVluYcx9te7bN6Serwp49kjhuH+eIvcCYpeC8=
github.com/gethinode/mod-utils/v4 v4.15.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.15.1 h1:zsn6pYxMePLqsNaX+V8qND5tAbbp/CiscgZrnFAxc2s=
github.com/gethinode/mod-utils/v4 v4.15.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.16.0 h1:yroLCeQyE/xU46YIKS81ZtFsOONTmVudrv2qW7IBH5Q=
github.com/gethinode/mod-utils/v4 v4.16.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
@@ -520,6 +534,10 @@ github.com/nextapps-de/flexsearch v0.0.0-20250523180618-1f75f5f9d9b6 h1:vUlZHDX+
github.com/nextapps-de/flexsearch v0.0.0-20250523180618-1f75f5f9d9b6/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a h1:CF/f62ufhBzNvAgoC6JhuqQxtqz0yDj3IIXYKl+A650=
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64 h1:8gn/7ZfERwknYk63DskhEfkwwpoXubGrzLv5LuSq6hc=
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 h1:55phPhe6fDjfjG0jX4+br3nLORKgjgx8abZUdI0YJRA=
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
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.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=
@@ -530,3 +548,5 @@ github.com/twbs/bootstrap v5.3.6+incompatible h1:efmXVyq839m5QQ0+JBUdQQ1TrmoBqvQ
github.com/twbs/bootstrap v5.3.6+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.7+incompatible h1:ea1W8TOWZFkqSK2M0McpgzLiUQVru3bz8aHb0j/XtuM=
github.com/twbs/bootstrap v5.3.7+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.8+incompatible h1:eK1fsXP7R/FWFt+sSNmmvUH9usPocf240nWVw7Dh02o=
github.com/twbs/bootstrap v5.3.8+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

View File

@@ -8,6 +8,7 @@
"footer",
"form",
"head",
"hr",
"html",
"img",
"input",
@@ -56,6 +57,7 @@
"col-md-2",
"col-md-6",
"col-md-8",
"col-md-auto",
"col-sm-12",
"collapse",
"collapsed",
@@ -64,12 +66,14 @@
"d-flex",
"d-inline",
"d-md-block",
"d-md-flex",
"d-md-none",
"d-none",
"d-sm-block",
"d-sm-none",
"display-1",
"display-4",
"dropdown-divider-bg",
"emphasis",
"end-0",
"fa",
@@ -82,10 +86,12 @@
"fa-fw",
"fa-github",
"fa-linkedin",
"fa-magnifying-glass",
"fa-medium",
"fa-moon",
"fa-sun",
"fab",
"fade",
"fas",
"fixed-top",
"flex-column",
@@ -97,6 +103,7 @@
"fw-30",
"fw-bold",
"h-100",
"h-50",
"hero",
"hero-content",
"hero-image",
@@ -120,15 +127,21 @@
"main-nav-toggler",
"me-auto",
"middle-bar",
"modal",
"modal-body",
"modal-content",
"modal-dialog",
"modal-dialog-centered",
"modal-dialog-scrollable",
"modal-header",
"modal-lg",
"mode-switch",
"ms-auto",
"ms-md-3",
"mt-3",
"mt-4",
"mt-5",
"mt-md-0",
"mx-auto",
"mx-md-0",
"mx-md-2",
"my-auto",
"my-md-auto",
"nav-item",
@@ -139,8 +152,11 @@
"navbar-container",
"navbar-expand-md",
"navbar-fixed-top",
"navbar-fs-6",
"navbar-md-fs",
"navbar-mode-selector",
"navbar-nav",
"navbar-nav-scroll",
"navbar-toggler",
"no-js",
"order-0",
@@ -159,18 +175,21 @@
"pt-md-0",
"px-4",
"px-xxl-0",
"py-2",
"py-3",
"py-4",
"py-md-1",
"rounded",
"row",
"row-cols-1",
"row-cols-2",
"row-cols-sm-3",
"search",
"search-background",
"search-input",
"search-modal",
"search-suggestions",
"section-cover",
"shadow",
"svg-inline--fa",
"text-",
"text-body",
@@ -185,7 +204,9 @@
"toast-container",
"toast-header",
"toggler-icon",
"top-bar"
"top-bar",
"vr",
"w-100"
],
"ids": [
"container",
@@ -196,11 +217,14 @@
"fas-angle-left",
"fas-chevron-right",
"fas-ellipsis",
"fas-magnifying-glass",
"fas-moon",
"fas-sun",
"navbar-0-collapse",
"navbar-mode",
"navbar-mode-checkbox",
"search-input-modal",
"search-modal",
"toast-container",
"toast-copied-code-message",
"welcome-to-hinode"

View File

@@ -1,4 +1,4 @@
<div class="mb-3 syntax-highlight">
<div class="codeblock syntax-highlight mb-3">
{{- $result := transform.HighlightCodeBlock . -}}
{{- $result.Wrapped -}}
</div>

View File

@@ -6,17 +6,38 @@
{{ $error := false }}
{{- define "_partials/inline/card-icons.html" -}}
{{ $links := .links }}
<span class="text-body-secondary">
{{- range $index, $item := $links -}}
{{ partial "assets/button.html" (dict
"href" $item.url
"icon" (printf "%s fa-fw" $item.icon)
"class" "btn-social p-0"
"label" $item.title
"spacing" false
) }}
{{- end -}}
</span>
{{- end -}}
{{/* Inline partial to render the card's body */}}
{{- define "_partials/inline/card-body.html" -}}
{{- $title := .title -}}
{{- $href := .href -}}
{{- $color := .color -}}
{{- $description := .description -}}
{{- $button := .button -}}
{{- $links := .links -}}
{{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
<p class="card-title fs-lg-5 fs-6">{{ $title }}</p>
{{ if or $title $links }}
<p class="card-title fs-lg-5 fs-6">
{{- with $title }}{{ . }}{{ end }}
{{ with $links }}{{ partial "inline/card-icons.html" (dict "links" .) }}{{ end -}}
</p>
{{ end -}}
{{ with $description }}
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
{{ . | safeHTML }}
@@ -25,7 +46,12 @@
</a>
{{- else -}}
<div>
{{ with $title }}<p class="card-title fs-lg-5 fs-6">{{ . }}</p>{{ end -}}
{{ if or $title $links }}
<p class="card-title fs-lg-5 fs-6">
{{- with $title }}{{ . }}{{ end }}
{{ with $links }}{{ partial "inline/card-icons.html" (dict "links" .) }}{{ end -}}
</p>
{{ end -}}
{{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
</div>
{{- end -}}
@@ -228,7 +254,7 @@
"href" $href
"color" $args.color
"description" $description
"button" $args.button
"links" $args.links
) -}}
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
{{ if and $href $args.button }}
@@ -275,7 +301,13 @@
<div class="card-body p-0 d-flex flex-column{{ if $thumbnail }} p-{{ $args.padding }}{{ end }}{{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
{{ if $args.overlay }}<div class="flex-grow-1"></div>{{ end }}
{{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.headerStyle "color" $args.color) -}}{{ end }}
{{- partial "inline/card-body.html" (dict "title" $title "href" $href "color" $args.color "description" $description) -}}
{{- partial "inline/card-body.html" (dict
"title" $title
"href" $href
"color" $args.color
"description" $description
"links" $args.links
) -}}
{{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) -}}{{ end }}
</div>
{{ if $args.button }}

View File

@@ -50,17 +50,18 @@
{{ end }}
{{ partial "assets/hero.html" (dict
"page" $args.page
"heading" (merge $heading (dict "size" 6))
"background" $args.background
"illustration" $illustration
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" $args.orientation
"width" (or $args.width 12)
"use-title" true
"size" 6
"page" $args.page
"heading" (merge $heading (dict "size" 6))
"background" $args.background
"illustration" $illustration
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" $args.orientation
"width" (or $args.width 12)
"use-title" true
"size" 6
"content-style" "text-muted fs-5"
)
}}
{{ end }}

View File

@@ -7,45 +7,45 @@
{{ $error := false }}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "featured-illustration" "args" . "group" "partial") }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "featured-illustration" "args" . "group" "partial") -}}
{{- if or $args.err $args.warnmsg -}}
{{- partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "assets/featured-illustration.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ $error = $args.err }}
{{ end }}
) -}}
{{- $error = $args.err -}}
{{- end -}}
{{/* Initialize local arguments */}}
{{ $icon := partial "utilities/GetTargetPath.html" (dict "path" $args.icon "page" $args.page) }}
{{ $image := partial "utilities/GetTargetPath.html" (dict "path" $args.image "page" $args.page) }}
{{- $icon := partial "utilities/GetTargetPath.html" (dict "path" $args.icon "page" $args.page) -}}
{{- $image := partial "utilities/GetTargetPath.html" (dict "path" $args.image "page" $args.page) -}}
{{- $wrapper := $args.wrapper -}}
{{ if $image }}{{ $wrapper = print "img-wrap " (or $wrapper "mx-auto") }}{{ end -}}
{{- if $image }}{{ $wrapper = printf "img-wrap %s" (or $wrapper "mx-auto") }}{{ end -}}
{{- $class := $args.class -}}
{{ if $icon }}
{{ if eq (lower (path.Ext $icon)) ".json" }}
{{ if site.Params.env_bookshop_live }}
{{- if $icon -}}
{{- if eq (lower (path.Ext $icon)) ".json" -}}
{{- if site.Params.env_bookshop_live }}
<i>Animation preview not supported</i>
{{ else }}
{{ partial "assets/animation.html" (dict
{{- else }}
{{- partial "assets/animation.html" (dict
"data" $icon
"mode" $args.mode
"loop" false
"hover" true
"class" "col-6 mx-auto text-center"
) }}
{{ end }}
{{ else }}
{{ partial "assets/icon.html" (dict "icon" $icon "wrapper" $wrapper) }}
{{ end }}
{{ else if $image }}
{{ if not (hasSuffix $image "svg") }}{{ $class = printf "%s rounded" $class }}{{ end }}
{{ partial "assets/live-image.html" (dict
) -}}
{{- end -}}
{{- else }}
{{ partial "assets/icon.html" (dict "icon" $icon "wrapper" $wrapper) -}}
{{- end -}}
{{- else if $image -}}
{{- if not (hasSuffix $image "svg") }}{{ $class = printf "%s rounded" $class }}{{ end -}}
{{- partial "assets/live-image.html" (dict
"src" $image
"anchor" $args.anchor
"ratio" $args.ratio
@@ -55,5 +55,5 @@
"sizes" $args.sizes
"priority" "high"
"mode" $args.mode
) }}
{{ end }}
) -}}
{{- end -}}

View File

@@ -35,7 +35,7 @@
{{- $isActive := or (and (eq $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
{{ if not $menu.PageRef }}{{ $isActive = false }}{{ end }}
{{- $isAlias := $menu.Params.alias -}}
{{- $isIcon := $menu.Params.icon -}}
{{- $isIcon := or $menu.Params.icon $menu.Pre -}}
{{- $url := urls.Parse $menuURL -}}
{{- $baseURL := urls.Parse $.Site.Params.Baseurl -}}
@@ -63,6 +63,9 @@
{{- $childNav := "" -}}
{{- $button := "" -}}
{{- if $args.modal -}}
{{- $button = printf " role=%q data-bs-toggle=%q data-bs-target=%q" "button" "modal" $args.modal -}}
{{- end -}}
{{- if $args.parent -}}
{{- $mainNav = urlize (lower $args.parent.Name) -}}
{{- $childNav = urlize (lower $menu.Name) -}}
@@ -92,21 +95,34 @@
"button-size" "sm"
)}}
{{ else }}
{{ cond (ne $menuURL "") "<a" "<div" | safeHTML }} class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $args.class }} {{ . }}{{ end }}"
{{ cond (ne $menuURL "") "<a" "<div" | safeHTML }}
class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $args.class }} {{ . }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $title }}"{{ end }}
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
{{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTML }}"{{ with $externalHref }} {{ . | safeHTML }}{{ end }}{{ end }} {{ $button | safeHTML }}>
{{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTML }}"{{ with $externalHref }} {{ . | safeHTML }}{{ end }}{{ end }}
{{ $button | safeHTML }}
{{ with $args.id }}id="{{ . }}"{{ end }}
>
{{- with $menu.Pre }}
{{ if hasPrefix . "<i" }}
{{ . | safeHTML }}
{{ else }}
{{ partial "assets/icon.html" (dict "icon" (string .) )}}
{{ partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" .) "spacing" false )}}
{{ end }}
{{ end -}}
<span {{ if $isActive }} class="active"{{ end }}>{{ if or (not $isIcon) $args.plain }}{{ $title }}{{ end }}</span>
{{- with $menu.Post }}{{ . }}{{ end -}}
{{- if not $isIcon }}&nbsp;{{ $suffix }}{{ end -}}
<span class="{{ if $isActive }}active{{ end }} {{ with $args.breakpoint }}d-{{ . }}-none {{ end }}">
{{- if $isIcon }}&nbsp;{{ end }}{{ $title }}
{{- with $menu.Post }}{{ . }}{{ end -}}
{{- with $suffix }}&nbsp;{{ . }}{{ end -}}
</span>
{{ if not $isIcon }}
<span class="{{ if $isActive }}active{{ end }} {{ with $args.breakpoint }}d-none d-{{ . }}-block{{ end }}">
{{- if $isIcon }}&nbsp;{{ end }}{{ $title }}
{{- with $menu.Post }}{{ . }}{{ end -}}
{{- with $suffix }}&nbsp;{{ . }}{{ end -}}
</span>
{{ end }}
{{ cond (ne $menuURL "") "</a>" "</div>" | safeHTML }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,38 @@
{{- $page := .page -}}
{{- $baseURL := .baseURL -}}
{{- $breakpoint := .breakpoint -}}
{{- $pretty := .pretty -}}
{{- $icon := .icon | default "fas globe" -}}
{{- $fs := .fs | default 6 -}}
{{- $lang := $page.Language.Lang -}}
<li class="nav-item dropdown me-auto">
<a class="nav-link dropdown-toggle d-{{ $breakpoint }}-none" role="button" data-bs-toggle="dropdown"
aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $icon) "spacing" true) }}{{ T "languageSwitcherLabel" }}
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $breakpoint }}-block" role="button" data-bs-toggle="dropdown"
aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $icon) "spacing" false) }}
</a>
<ul id="language-selector" class="dropdown-menu dropdown-menu-end navbar-fs-{{ $fs }} navbar-{{ $breakpoint }}-fs" data-translated="{{ $page.IsTranslated }}">
{{- if $page.IsTranslated -}}
{{- range $page.AllTranslations -}}
<li>
{{- $state := cond (eq .Language.Lang $lang) "active" "" }}
<a class="dropdown-item {{ $state }}" hreflang="{{ .Language.Lang }}" href="{{ .RelPermalink }}">
{{- .Language.LanguageName -}}
</a>
</li>
{{- end -}}
{{- else -}}
{{- range site.Languages -}}
{{ $dest := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .Lang) }}
{{ if and $pretty (not (hasSuffix $dest "/")) }}
{{ $dest = printf "%s/" $dest }}
{{ end }}
<li><a class="dropdown-item" href="{{ $dest }}" hreflang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a></li>
{{- end -}}
{{- end -}}
</ul>
</li>

View File

@@ -0,0 +1,26 @@
{{- $id := .id | default "navbar-mode" -}}
{{- $toggle := .toggle | default false -}}
{{- $breakpoint := .breakpoint -}}
{{- $iconLight := site.Params.main.colorMode.iconLight | default "fas sun" -}}
{{- $iconDark := site.Params.main.colorMode.iconDark | default "fas moon" -}}
{{- $fs := .fs | default 6 -}}
<li class="nav-link navbar-fs-{{ $fs }} navbar-{{ $breakpoint }}-fs d-flex mode-{{ cond $toggle "toggle" "switch" }} align-items-center" id="{{ $id }}">
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" aria-label="{{ T "colorMode" }}" />
<label class="label" for="{{ $id }}-checkbox">
{{ if $toggle }}
<div class="mode-item d-none-dark">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $iconLight) "spacing" false) }}
<span class="d-{{ $breakpoint }}-none">{{ T "colorMode" }}</span>
</div>
<div class="mode-item d-none-light">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $iconDark) "spacing" false) }}
<span class="d-{{ $breakpoint }}-none">{{ T "colorMode" }}</span>
</div>
{{ else }}
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $iconLight) "spacing" false) }}
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $iconDark) "spacing" false) }}
<div class="ball"></div>
{{ end }}
</label>
</li>

View File

@@ -0,0 +1,35 @@
{{- $page := .page -}}
{{- $menus := .menus -}}
{{- $collapsed := .collapsed -}}
{{- $control := .control | default false -}}
{{- $horizontal := .horizontal | default false -}}
{{- $breakpoint := .breakpoint -}}
{{- $fs := .fs | default 6 -}}
{{- range $menu := $menus -}}
{{ if (eq $control ($menu.Params.control | default false)) }}
{{ if $menu.Params.spacing }}
<li class="nav-item flex-grow-1"></li>
{{ else }}
<li class="nav-item {{ if .HasChildren }} dropdown me-auto{{ if $horizontal }} dropdown-horizontal-{{ $breakpoint }}{{ end }}{{ end }}">
{{- partial "assets/helpers/navbar-item.html" (dict "menu" $menu "page" $page) -}}
{{- if .HasChildren -}}
<ul class="dropdown-menu{{ if $control }} dropdown-menu-end{{ end }}">
{{- range .Children -}}
<li>{{- partial "assets/helpers/navbar-item.html" (dict
"menu" .
"parent" $menu
"page" $page
"breakpoint" $breakpoint
"modal" .Params.modal
"id" .Params.id
"class" (printf "navbar-fs-%d navbar-%s-fs" $fs $breakpoint)
) -}}
</li>
{{- end -}}
</ul>
{{- end -}}
</li>
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -0,0 +1,43 @@
{{- $breakpoint := .breakpoint -}}
{{- $collapsed := .collapsed -}}
{{- $page := .page -}}
{{- $baseURL := .baseURL -}}
{{- $list := site.Params.docs.releases -}}
{{- $id := .id -}}
{{- $version := partial "utilities/GetVersion.html" (dict "page" $page) -}}
<li class="nav-item dropdown {{ if $collapsed }}d-{{ $breakpoint }}-none{{ else }}d-none d-{{ $breakpoint }}-block{{ end }}">
<a class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="{{ $id }}-version-switch">
{{ if $collapsed }}{{ site.Title }} {{ end }}{{ $version }}
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="{{ $id }}-version-switch">
{{- range $index, $item := $list -}}
{{- $active := eq $item.label $version -}}
{{- $disabled := false -}}
{{- if hugo.IsServer }}
{{- $disabled = and $item.redirect (gt (len $item.redirect) 0) -}}
{{- end -}}
{{ if $item.url }}
<li>
{{- $url := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" $item.url) | relLangURL -}}
<a class="pe-5 dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}{{ if $active }} active{{ end }}{{ if $disabled }} disabled{{ end }}" href="{{ $url }}">{{ $item.label }}
{{ if $item.latest }}&nbsp;({{ T "latest" }}){{ end }}
{{ if $active }}
<span class="position-absolute end-0 me-3">{{- partial "assets/icon.html" (dict "icon" "fas check fa-fw") }}</span>
{{ end }}
</a>
</li>
{{ else }}
{{ if gt $index 0}}<li><hr class="dropdown-divider"></li>{{ end }}
<li><span class="dropdown-header fs-6">{{ $item.label }}</span></li>
{{ end }}
{{- end -}}
{{- if site.Params.docs.overview -}}
{{ if gt (len $list) 0 }}<li><hr class="dropdown-divider"></li>{{ end }}
<li>
{{- $url := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" site.Params.docs.overview) | relLangURL -}}
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" href="{{ $url }}">{{ T "allVersions" }}</a>
</li>
{{- end -}}
</ul>
</li>

View File

@@ -112,13 +112,16 @@
{{ end }}
{{ $title := partial "assets/section-title.html" (dict
"heading" $heading
"use-title" $args.useTitle
"links" $args.links
"link-type" (or $args.linkType $args.type)
"class" "hero-title"
"arrangement" $arrangement
"justify" $args.justify
"heading" $heading
"use-title" $args.useTitle
"links" $args.links
"link-type" (or $args.linkType $args.type)
"class" "hero-title"
"arrangement" $arrangement
"justify" $args.justify
"heading-style" $args.headingStyle
"content-style" $args.contentStyle
) }}
{{ if eq $args.orientation "stacked" }}

View File

@@ -0,0 +1,5 @@
{{ with .Site.GetPage "/_modals" }}
{{ range .Pages }}
{{ .Content }}
{{ end }}
{{ end }}

View File

@@ -6,65 +6,12 @@
{{/* TODO: consider to drop style arg */}}
{{/* Inline partial to render the color mode switcher */}}
{{- define "_partials/inline/navbar-mode.html" -}}
{{- $id := .id | default "navbar-mode" -}}
<li class="d-flex mode-switch align-items-center" id="{{ $id }}">
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" aria-label="{{ T "colorMode" }}" />
<label class="label" for="{{ $id }}-checkbox">
{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw" "spacing" false) }}
{{- partial "assets/icon.html" (dict "icon" "fas moon fa-fw" "spacing" false) }}
<div class="ball"></div>
</label>
</li>
{{- end -}}
{{/* Inline partial to render the version switcher */}}
{{- define "_partials/inline/navbar-versions.html" -}}
{{- define "_partials/inline/divider.html" -}}
{{- $breakpoint := .breakpoint -}}
{{- $collapsed := .collapsed -}}
{{- $page := .page -}}
{{- $baseURL := .baseURL -}}
{{- $list := site.Params.docs.releases -}}
{{- $id := .id -}}
{{- $version := partial "utilities/GetVersion.html" (dict "page" $page) -}}
<li class="nav-item dropdown {{ if $collapsed }}d-{{ $breakpoint }}-none{{ else }}d-none d-{{ $breakpoint }}-block{{ end }}">
<a class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="{{ $id }}-version-switch">
{{ if $collapsed }}{{ site.Title }} {{ end }}{{ $version }}
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="{{ $id }}-version-switch">
{{- range $index, $item := $list -}}
{{- $active := eq $item.label $version -}}
{{- $disabled := false -}}
{{- if hugo.IsServer }}
{{- $disabled = and $item.redirect (gt (len $item.redirect) 0) -}}
{{- end -}}
{{ if $item.url }}
<li>
{{- $url := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" $item.url) | relLangURL -}}
<a class="pe-5 dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}{{ if $active }} active{{ end }}{{ if $disabled }} disabled{{ end }}" href="{{ $url }}">{{ $item.label }}
{{ if $item.latest }}&nbsp;({{ T "latest" }}){{ end }}
{{ if $active }}
<span class="position-absolute end-0 me-3">{{- partial "assets/icon.html" (dict "icon" "fas check fa-fw") }}</span>
{{ end }}
</a>
</li>
{{ else }}
{{ if gt $index 0}}<li><hr class="dropdown-divider"></li>{{ end }}
<li><span class="dropdown-header fs-6">{{ $item.label }}</span></li>
{{ end }}
{{- end -}}
{{- if site.Params.docs.overview -}}
{{ if gt (len $list) 0 }}<li><hr class="dropdown-divider"></li>{{ end }}
<li>
{{- $url := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" site.Params.docs.overview) | relLangURL -}}
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" href="{{ $url }}">{{ T "allVersions" }}</a>
</li>
{{- end -}}
</ul>
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $breakpoint }}-block me-auto">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li>
<li><hr class="dropdown-divider-bg"></li>
{{- end -}}
{{/* Initialize arguments */}}
@@ -81,6 +28,9 @@
{{/* Initialize global variables */}}
{{- $padding := partial "utilities/GetPadding.html" (dict "section" "navigation") -}}
{{- $search := partial "utilities/GetSearchConfig.html" (dict "search" $args.search) -}}
{{- $fs := site.Params.navigation.fontsizeCollapsed | default 6 -}}
{{- $langIcon := site.Params.navigation.language.icon | default "fas globe" -}}
{{/* Initialize local arguments */}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
@@ -103,10 +53,15 @@
{{- $overlayMode := $args.overlayMode | default "dark" -}}
{{- if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }}
{{- $color := $args.color | default "" -}}
{{- $search := $args.search | default site.Params.navigation.search -}}
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
{{- $enableDarkMode := .mode | default site.Params.main.enableDarkMode -}}
{{- $enableDarkMode := .mode | default (or site.Params.main.enableDarkMode site.Params.main.colorMode.enabled) -}}
{{- $modes := site.Params.main.modes | default (slice "light" "dark") -}}
{{ if isset site.Params.main "enabledarkmode" }}
{{ warnf "site parameter %q: deprecated in v%s, use %q instead" "main.enableDarkMode" "1.12.0" "main.colorMode.enabled" }}
{{ end }}
{{ if isset site.Params.main "modes" }}
{{ warnf "site parameter %q: deprecated in v%s, use %q instead" "main.modes" "1.12.0" "main.colorMode.modes" }}
{{ end }}
{{- $enableVersions := false -}}
{{ $list := site.Params.docs.releases }}
@@ -128,8 +83,6 @@
{{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" $height) }}
{{ end }}
{{- $pre := $args.pre -}}
{{- $post := $args.post -}}
{{- $class := $args.class -}}
{{- $contrast := false -}}
@@ -143,7 +96,7 @@
{{/* Main code */}}
<div class="container-fluid {{ if $args.fixed }}fixed-top{{ else if $overlay }}navbar-overlay{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
{{- partial "assets/page-alert.html" (dict "page" $page) -}}
<nav class="navbar px-{{ $padding.x }} py-{{ $padding.y }}
<nav class="navbar px-{{ $padding.x }} py-{{ $padding.y }} navbar-fs-{{ $fs }} navbar-{{ $args.breakpoint }}-fs
{{- if not $overlay }}{{ with $color }} bg-{{ . }}{{ end }}{{ end -}}
{{ if $args.fixed }} navbar-fixed-top{{ end }} navbar-expand-{{ $args.breakpoint -}}
{{ if $contrast }} navbar-contrast{{ end }}"
@@ -158,7 +111,8 @@
{{/* Insert sidebar toggler when applicable */}}
<div class="d-flex align-items-center">
{{- if $page.Scratch.Get "sidebar" -}}
<button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
<button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas"
data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
</button>
{{- else -}}
@@ -178,7 +132,8 @@
{{/* Insert main navigation toggler */}}
<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" }}">
<span class="toggler-icon top-bar emphasis"></span>
<span class="toggler-icon middle-bar emphasis"></span>
@@ -189,117 +144,94 @@
<div class="navbar-collapse collapse" id="{{ $id }}-collapse">
{{/* Insert search input */}}
{{- if and $search (not $searchModal) }}
{{ partial "assets/search-input.html" (dict "class" (printf "mt-4 mt-%s-0" $args.breakpoint)) }}
{{- if and $search.enabled (not $search.modal) }}
{{ partial "assets/search-input.html" (dict "class" (printf "mt-4 mt-%s-0 me-%s-3" $args.breakpoint $args.breakpoint)) }}
{{ end -}}
{{/* Render top-menu items (maximum depth of 2) */}}
<ul class="navbar-nav {{ if $flex }}d-flex w-100{{ else }}ms-auto{{ end }}">
{{- range $menu := $menus -}}
{{ if $menu.Params.spacing }}
<li class="nav-item flex-grow-1"></li>
{{ else }}
<li class="nav-item {{ if .HasChildren }} dropdown{{ if $horizontal }} dropdown-horizontal-{{ $args.breakpoint }}{{ end }}{{ end }}">
{{- partial "assets/navbar-item.html" (dict "menu" $menu "page" $page) -}}
{{- if .HasChildren -}}
<ul class="dropdown-menu">
{{- range .Children -}}
<li>{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}</li>
{{- end -}}
</ul>
{{- end -}}
</li>
{{- end -}}
{{- end -}}
<ul class="navbar-nav navbar-nav-scroll {{ if $flex }}d-flex w-100{{ else }}ms-auto{{ end }}">
{{/* Render top-menu items (maximum depth of 2) */}}
{{- partial "assets/helpers/navbar-render-menu.html" (dict
"page" $page
"menus" $menus
"collapsed" $args.collapsed
"horizontal" $horizontal
"breakpoint" $args.breakpoint
"control" false
"fs" $fs
) }}
{{/* Insert divider if applicable */}}
{{- if and $menus (or $enableLanguage $enableVersions) -}}
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $args.breakpoint }}-block me-auto">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li>
<li><hr class="dropdown-divider-bg"></li>
{{ partial "inline/divider.html" (dict "breakpoint" $args.breakpoint) }}
{{- end -}}
{{/* Insert version switcher */}}
{{- if $enableVersions -}}
{{- partial "inline/navbar-versions.html" (dict "page" $page "breakpoint" $args.breakpoint "collapsed" true "id" .id "baseURL" $baseURL) -}}
{{- partial "inline/navbar-versions.html" (dict "page" $page "breakpoint" $args.breakpoint "collapsed" false "id" .id "baseURL" $baseURL) -}}
{{- partial "assets/helpers/navbar-versions.html" (dict
"page" $page
"breakpoint" $args.breakpoint
"collapsed" true
"id" .id
"baseURL" $baseURL
"fs" $fs
) -}}
{{- partial "assets/helpers/navbar-versions.html" (dict
"page" $page
"breakpoint" $args.breakpoint
"collapsed" false
"id" .id
"baseURL" $baseURL
"fs" $fs
) -}}
{{- end -}}
{{/* Insert language switcher if applicable */}}
{{- if $enableLanguage -}}
{{- $currentLang := $page.Language.Lang -}}
<li class="nav-item dropdown me-auto">
<a class="nav-link dropdown-toggle d-{{ $args.breakpoint }}-none" 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) }}&nbsp;{{ T "languageSwitcherLabel" }}
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $args.breakpoint }}-block" 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) }}
</a>
<ul class="dropdown-menu dropdown-menu-end " id="language-selector" data-translated="{{ $page.IsTranslated }}">
{{- if $page.IsTranslated -}}
{{- range $page.AllTranslations -}}
<li><a class="dropdown-item {{ if eq .Language.Lang $currentLang }}active{{ end }}" hreflang="{{ .Language.Lang }}" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
{{- end -}}
{{- else -}}
{{- range site.Languages -}}
{{ $dest := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .Lang) }}
{{ if and $pretty (not (hasSuffix $dest "/")) }}
{{ $dest = printf "%s/" $dest }}
{{ end }}
<li><a class="dropdown-item" href="{{ $dest }}" hreflang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a></li>
{{- end -}}
{{- end -}}
</ul>
</li>
{{ partial "assets/helpers/navbar-languages.html" (dict
"page" $page
"baseURL" $baseURL
"breakpoint" $breakpoint
"pretty" $pretty
"fs" $fs
"icon" $langIcon
)}}
{{- end -}}
{{/* Insert divider if applicable */}}
{{ $hasControls := gt (len (where $menus "Params.control" true)) 0 }}
{{ if and (or $menus $enableLanguage $enableVersions) (or $enableDarkMode $search.modal $hasControls) }}
{{ partial "inline/divider.html" (dict "breakpoint" $args.breakpoint) }}
{{ end }}
{{/* Insert color mode switcher */}}
{{- if $enableDarkMode -}}
{{- partial "inline/navbar-mode.html" (dict "size" $args.breakpoint "collapsed" true "id" .id) -}}
{{- partial "assets/helpers/navbar-mode.html" (dict
"breakpoint" $args.breakpoint
"collapsed" true
"id" .id
"toggle" (site.Params.main.colorMode.toggle)
"fs" $fs
) -}}
{{- end -}}
{{/* Insert modal search button */}}
{{- if $searchModal }}
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $args.breakpoint }}-block me-auto">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li>
<li><hr class="dropdown-divider-bg"></li>
<li class="d-{{ $args.breakpoint }}-none">
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }}&nbsp;{{ T "ui_search" }}
</a>
</li>
<li class="d-none d-{{ $args.breakpoint }}-block">
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }}
</a>
</li>
{{- if $search.modal }}
{{ $searchItem := dict "Name" (T "ui_search") "Menu" "Main" "Pre" $search.icon "Params" (dict "icon" true) }}
{{- partial "assets/helpers/navbar-item.html" (dict "menu" $searchItem "page" $page "modal" "#search-modal" "fs" $fs) -}}
{{ end -}}
{{/* Render custom controls */}}
{{- partial "assets/helpers/navbar-render-menu.html" (dict
"page" $page
"menus" $menus
"collapsed" $args.collapsed
"horizontal" $horizontal
"breakpoint" $args.breakpoint
"control" true
"fs" $fs
) }}
</ul>
</div>
</div>
</nav>
</div>
{{/* Insert modal search element */}}
{{- if $searchModal }}
<div class="modal fade search-modal" tabindex="-1" id="search-modal" aria-labelledby="searchModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-lg">
<div class="modal-content h-50">
<div class="modal-header">
<div class="w-100">
<form class="search position-relative me-auto">
<input id="search-input-modal" class="search-input form-control is-search" tabindex="1" type="search" placeholder="{{ T "ui_search" }}..." aria-label="{{ T "ui_search" }}" autocomplete="off">
</form>
</div>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ T "close" }}"></button>
</div>
<div class="modal-body p-2 search-background">
<div class="search-suggestions" data-no-results="{{ T "ui_no_results" }}"></div>
</div>
</div>
</div>
</div>
{{ end -}}

View File

@@ -19,10 +19,10 @@
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local arguments */}}
{{- $size := (or $args.heading.size site.Params.modules.bookshop.title.size) | default 4 -}}
{{- $arrangement := (or $args.arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}}
{{- $headingStyle := (or $args.headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}}
{{- $contentStyle := (or $args.contentStyle site.Params.modules.bookshop.title.contentStyle) | default "lead text-muted" -}}
{{- $size := (or $args.heading.size site.Params.style.title.size) | default 4 -}}
{{- $arrangement := (or $args.arrangement site.Params.style.title.arrangement) | default "above" -}}
{{- $headingStyle := (or $args.headingStyle site.Params.style.title.headingStyle) | default "display" -}}
{{- $contentStyle := (or $args.contentStyle site.Params.style.title.contentStyle) | default "lead text-muted" -}}
{{- $preheading := $args.heading.preheading }}
{{- $title := $args.heading.title }}
{{- $width := $args.heading.width | default 12 -}}

View File

@@ -111,7 +111,7 @@
{{ end }}
{{/* Render default timeline */}}
<div class="container p-0 d-none d-md-block {{ with $background }} timeline-{{ . }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
<div class="timeline-container container p-0 d-none d-md-block {{ with $background }} timeline-{{ . }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
{{ $title | safeHTML }}
{{ range $index, $item := $data }}
<div class="row timeline timeline-{{ $item.color }} timeline-dot g-0 ">
@@ -137,7 +137,7 @@
</div>
{{/* Render timeline for smaller devices */}}
<div class="container p-0 d-block d-md-none small{{ with $background }} timeline-bg-{{ . }} bg-{{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
<div class="timeline-container container p-0 d-block d-md-none small{{ with $background }} timeline-bg-{{ . }} bg-{{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
{{ range $index, $item := $data }}
<div class="row timeline-sm timeline-{{ $item.color }} timeline-dot g-0">
{{ partial "inline/timeline-icon.html" (dict "icon" $item.icon "direction" "end" "col" 3) }}

View File

@@ -24,14 +24,16 @@
{{ $result = $result | append $rendered }}
{{ end }}
{{ range $item.Headings }}
{{ $result = $result | append (partial "inline/toc-item.html" (dict
"base" $base
"item" .
"startLevel" $startLevel
"endLevel" $endLevel
"maxNumHeadings" $maxNumHeadings
)) }}
{{ if lt $item.Level $endLevel }}
{{ range $item.Headings }}
{{ $result = $result | append (partial "inline/toc-item.html" (dict
"base" $base
"item" .
"startLevel" $startLevel
"endLevel" $endLevel
"maxNumHeadings" $maxNumHeadings
)) }}
{{ end }}
{{ end }}
{{ return $result }}

View File

@@ -60,7 +60,7 @@
"navbar-offset-xs" $navbarOffsetXS
"navbar-size" (site.Params.navigation.size | default "md")
"overlay-offset" $overlayOffset
"enable-dark-mode" (printf "%t" ((default true site.Params.main.enableDarkMode)))
"enable-dark-mode" (printf "%t" ((default true (or site.Params.main.enableDarkMode site.Params.main.colorMode.enabled))))
"import-fonts" (printf "%t" (not (hasPrefix (lower site.Params.style.themeFontPath) "http")))
"dark-mode-shade" (default "0%" site.Params.style.darkModeShade)
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)

View File

@@ -72,7 +72,7 @@
{{- $output = (replace $output "<span class=\"c\">#" "<span class=\"c\">" | safeHTML) -}}
{{- end -}}
<div class="mb-3 syntax-highlight{{ with $args.class }} {{ . }}{{ end }}">
<div class="command syntax-highlight mb-3{{ with $args.class }} {{ . }}{{ end }}">
{{- $output -}}
</div>
{{ end }}

View File

@@ -71,33 +71,35 @@
{{- $match = replace $match $captureStart "" -}}
{{- $match = replace $match $captureEnd "" -}}
<ul class="nav nav-tabs{{ with $args.class }} {{ . }}{{ end }}">
<li class="nav-item">
<a class="nav-link active font-monospace"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small>{{ if $args.full }}{{ strings.TrimPrefix "/" (strings.TrimPrefix $basePath $file) }}{{ else }}{{ path.Base $file }}{{ end }}</small>
</a>
</li>
</ul>
<div class="border-start border-end border-bottom mb-3">
<div class="collapse multi-{{ $id }}{{ if $args.show }} show{{ end }} syntax-highlight" id="body-{{ $id }}">
{{- highlight (trim $match "\r\n") $extension "" -}}
</div>
<div class="collapse multi-{{ $id }}{{ if not $args.show }} show{{ end }} p-3" id="footer-{{ $id }}">
<a class="nav-link active"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small><i>{{ T "clickToExpand" }}</i></small>
</a>
<div class="docs">
<ul class="docs-controls nav nav-tabs{{ with $args.class }} {{ . }}{{ end }}">
<li class="nav-item">
<a class="nav-link active font-monospace"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small>{{ if $args.full }}{{ strings.TrimPrefix "/" (strings.TrimPrefix $basePath $file) }}{{ else }}{{ path.Base $file }}{{ end }}</small>
</a>
</li>
</ul>
<div class="docs-panel mb-3">
<div class="collapse multi-{{ $id }}{{ if $args.show }} show{{ end }} syntax-highlight" id="body-{{ $id }}">
{{- highlight (trim $match "\r\n") $extension "" -}}
</div>
<div class="collapse multi-{{ $id }}{{ if not $args.show }} show{{ end }} p-3" id="footer-{{ $id }}">
<a class="nav-link active"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small><i>{{ T "clickToExpand" }}</i></small>
</a>
</div>
</div>
</div>
{{- end -}}

View File

@@ -58,33 +58,35 @@
{{- $tmp := os.Stat $file -}}
{{- $content := readFile $file -}}
<ul class="nav nav-tabs{{ with $args.class }} {{ . }}{{ end }}">
<li class="nav-item">
<a class="nav-link active font-monospace"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small>{{ if $args.full }}{{ strings.TrimPrefix $basePath $file }}{{ else }}{{ path.Base $file }}{{ end }}</small>
</a>
</li>
</ul>
<div class="border-start border-end border-bottom mb-3">
<div class="collapse multi-{{ $id }}{{ if $args.show }} show{{ end }} syntax-highlight" id="body-{{ $id }}">
{{- highlight (trim $content "\r\n") $lang (or $args.highlightOptions $args.options) -}}
</div>
<div class="collapse multi-{{ $id }}{{ if not $args.show }} show{{ end }} p-3" id="footer-{{ $id }}">
<a class="nav-link active"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small><i>{{ T "clickToExpand" }}</i></small>
</a>
<div class="file">
<ul class="file-controls nav nav-tabs{{ with $args.class }} {{ . }}{{ end }}">
<li class="nav-item">
<a class="nav-link active font-monospace"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small>{{ if $args.full }}{{ strings.TrimPrefix $basePath $file }}{{ else }}{{ path.Base $file }}{{ end }}</small>
</a>
</li>
</ul>
<div class="file-panel mb-3">
<div class="collapse multi-{{ $id }}{{ if $args.show }} show{{ end }} syntax-highlight" id="body-{{ $id }}">
{{- highlight (trim $content "\r\n") $lang (or $args.highlightOptions $args.options) -}}
</div>
<div class="collapse multi-{{ $id }}{{ if not $args.show }} show{{ end }} p-3" id="footer-{{ $id }}">
<a class="nav-link active"
href="#body-{{ $id }}"
aria-current="page"
data-bs-toggle="collapse"
data-bs-target=".multi-{{ $id }}"
aria-expanded="false"
aria-controls="body-{{ $id }} footer-{{ $id }}">
<small><i>{{ T "clickToExpand" }}</i></small>
</a>
</div>
</div>
</div>
{{- end -}}

View File

@@ -59,6 +59,7 @@
{{- partial "footer/footer.html" . -}}
{{- partial "footer/toast-container.html" . -}}
{{- partial "assets/symbols.html" . -}}
{{- partial "assets/modals.html" . -}}
{{- partialCached "footer/scripts.html" (dict "page" .) -}}
{{- partial "footer/scripts.html" (dict "page" . "type" "optional") -}}
</body>

255
package-lock.json generated
View File

@@ -11,9 +11,9 @@
"dependencies": {
"@fullhuman/postcss-purgecss": "^7.0.2",
"autoprefixer": "^10.4.21",
"cssnano": "^7.1.0",
"cssnano-preset-advanced": "^7.0.8",
"hugo-bin": "0.145.2",
"cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.147.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
@@ -25,19 +25,19 @@
"commitizen": "^4.3.1",
"cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.33.0",
"eslint": "^9.35.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^3.0.0",
"replace-in-files-cli": "^4.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.7",
"semantic-release": "^24.2.8",
"shx": "^0.4.0",
"stylelint": "^16.23.1",
"stylelint-config-standard-scss": "^15.0.1"
"stylelint": "^16.24.0",
"stylelint-config-standard-scss": "^16.0.0"
},
"optionalDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
@@ -631,10 +631,11 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
"integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"dev": true,
"license": "MIT",
"dependencies": {
"eslint-visitor-keys": "^3.4.3"
},
@@ -720,9 +721,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.33.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz",
"integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==",
"version": "9.35.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.35.0.tgz",
"integrity": "sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3431,9 +3432,10 @@
"license": "MIT"
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -3516,14 +3518,14 @@
}
},
"node_modules/cacheable": {
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.3.tgz",
"integrity": "sha512-M6p10iJ/VT0wT7TLIGUnm958oVrU2cUK8pQAVU21Zu7h8rbk/PeRtRWrvHJBql97Bhzk3g1N6+2VKC+Rjxna9Q==",
"version": "1.10.4",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.4.tgz",
"integrity": "sha512-Gd7ccIUkZ9TE2odLQVS+PDjIvQCdJKUlLdJRVvZu0aipj07Qfx+XIej7hhDrKGGoIxV5m5fT/kOJNJPQhQneRg==",
"dev": true,
"license": "MIT",
"dependencies": {
"hookified": "^1.10.0",
"keyv": "^5.4.0"
"hookified": "^1.11.0",
"keyv": "^5.5.0"
}
},
"node_modules/cacheable-lookup": {
@@ -3554,9 +3556,9 @@
}
},
"node_modules/cacheable/node_modules/keyv": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.4.0.tgz",
"integrity": "sha512-TMckyVjEoacG5IteUpUrOBsFORtheqziVyyY2dLUwg1jwTb8u48LX4TgmtogkNl9Y9unaEJ1luj10fGyjMGFOQ==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.0.tgz",
"integrity": "sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4409,12 +4411,12 @@
}
},
"node_modules/cssnano": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.0.tgz",
"integrity": "sha512-Pu3rlKkd0ZtlCUzBrKL1Z4YmhKppjC1H9jo7u1o4qaKqyhvixFgu5qLyNIAOjSTg9DjVPtUqdROq2EfpVMEe+w==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.1.tgz",
"integrity": "sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==",
"license": "MIT",
"dependencies": {
"cssnano-preset-default": "^7.0.8",
"cssnano-preset-default": "^7.0.9",
"lilconfig": "^3.1.3"
},
"engines": {
@@ -4429,14 +4431,14 @@
}
},
"node_modules/cssnano-preset-advanced": {
"version": "7.0.8",
"resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-7.0.8.tgz",
"integrity": "sha512-KYw7gH8xmIzTwHefuM/m3lkMz4jn5EbjxZO2RHVsOGvrXCxSjbc0/f/gELWW9ZIgbQdJMCkijEo76gBYGY4S3Q==",
"version": "7.0.9",
"resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-7.0.9.tgz",
"integrity": "sha512-nczUlcRbMuupYDIjlYTQ6nqWh2AjV1omdf5OkUEKpOqPuRb8CZp/KgpZjD2eelX/sfFh6V/aybfgu7lVJH7Z/w==",
"license": "MIT",
"dependencies": {
"autoprefixer": "^10.4.21",
"browserslist": "^4.25.1",
"cssnano-preset-default": "^7.0.8",
"cssnano-preset-default": "^7.0.9",
"postcss-discard-unused": "^7.0.4",
"postcss-merge-idents": "^7.0.1",
"postcss-reduce-idents": "^7.0.1",
@@ -4450,9 +4452,9 @@
}
},
"node_modules/cssnano-preset-default": {
"version": "7.0.8",
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.8.tgz",
"integrity": "sha512-d+3R2qwrUV3g4LEMOjnndognKirBZISylDZAF/TPeCWVjEwlXS2e4eN4ICkoobRe7pD3H6lltinKVyS1AJhdjQ==",
"version": "7.0.9",
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.9.tgz",
"integrity": "sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==",
"license": "MIT",
"dependencies": {
"browserslist": "^4.25.1",
@@ -4460,7 +4462,7 @@
"cssnano-utils": "^5.0.1",
"postcss-calc": "^10.1.1",
"postcss-colormin": "^7.0.4",
"postcss-convert-values": "^7.0.6",
"postcss-convert-values": "^7.0.7",
"postcss-discard-comments": "^7.0.4",
"postcss-discard-duplicates": "^7.0.2",
"postcss-discard-empty": "^7.0.1",
@@ -5478,19 +5480,19 @@
}
},
"node_modules/eslint": {
"version": "9.33.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz",
"integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==",
"version": "9.35.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.35.0.tgz",
"integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.21.0",
"@eslint/config-helpers": "^0.3.1",
"@eslint/core": "^0.15.2",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "9.33.0",
"@eslint/js": "9.35.0",
"@eslint/plugin-kit": "^0.3.5",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
@@ -7151,22 +7153,22 @@
}
},
"node_modules/hook-std": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz",
"integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-4.0.0.tgz",
"integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/hookified": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.11.0.tgz",
"integrity": "sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==",
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.12.0.tgz",
"integrity": "sha512-hMr1Y9TCLshScrBbV2QxJ9BROddxZ12MX9KsCtuGGy/3SmmN5H1PllKerrVlSotur9dlE8hmUKAOSa3WDzsZmQ==",
"dev": true,
"license": "MIT"
},
@@ -7236,9 +7238,9 @@
}
},
"node_modules/hugo-bin": {
"version": "0.145.2",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.145.2.tgz",
"integrity": "sha512-iI4HutM+45/xdNU8XW/mhV0QWwzuuzVzKQ0fhGZIh1e5QkqWvRGhRjE0UARUSU8pygGgkJalVJgNVIGL/lkZ9g==",
"version": "0.147.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.147.0.tgz",
"integrity": "sha512-8ZO/uEVbYUQzTaPGmB0Www53GeKq6A2oyQs1+0wyV9BR5jWQt7HPpl5U4sCioRTsTF73UQVQMTzIPdg9Iaw4Vw==",
"funding": [
{
"type": "github",
@@ -7248,7 +7250,7 @@
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"@xhmikosr/bin-wrapper": "^13.1.0",
"@xhmikosr/bin-wrapper": "^13.2.0",
"package-config": "^5.0.0"
},
"bin": {
@@ -8704,9 +8706,9 @@
}
},
"node_modules/mdn-data": {
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz",
"integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==",
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.24.0.tgz",
"integrity": "sha512-i97fklrJl03tL1tdRVw0ZfLLvuDsdb6wxL+TrJ+PKkCbLrp2PCu2+OYdCKychIUm19nSM/35S6qz7pJpnXttoA==",
"dev": true,
"license": "CC0-1.0"
},
@@ -13283,9 +13285,9 @@
}
},
"node_modules/postcss-convert-values": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.6.tgz",
"integrity": "sha512-MD/eb39Mr60hvgrqpXsgbiqluawYg/8K4nKsqRsuDX9f+xN1j6awZCUv/5tLH8ak3vYp/EMXwdcnXvfZYiejCQ==",
"version": "7.0.7",
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.7.tgz",
"integrity": "sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==",
"license": "MIT",
"dependencies": {
"browserslist": "^4.25.1",
@@ -14036,9 +14038,9 @@
}
},
"node_modules/purgecss/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@@ -14438,22 +14440,23 @@
}
},
"node_modules/replace-in-files-cli": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/replace-in-files-cli/-/replace-in-files-cli-3.0.0.tgz",
"integrity": "sha512-A2VjOaPF8yjiaRjuIlvX3PB0uRMQ3DpnKG4yg38wjPrqR0OSzD00ubOZqqwAunoT5emKjEZPvdkm6JRVJrBmlQ==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/replace-in-files-cli/-/replace-in-files-cli-4.0.0.tgz",
"integrity": "sha512-b6Nzz19x+huwKe1pqjovWj/JGFwVvi+XbY1YPuWzlD+3Ihb1BPgoNfPweFvbjmSmj60bPLABgJX0HUQVhzEVsA==",
"dev": true,
"license": "MIT",
"dependencies": {
"escape-string-regexp": "^5.0.0",
"globby": "^14.0.1",
"globby": "^14.1.0",
"meow": "^13.2.0",
"normalize-path": "^3.0.0",
"write-file-atomic": "^5.0.1"
"write-file-atomic": "^6.0.0"
},
"bin": {
"replace-in-files": "cli.js"
},
"engines": {
"node": ">=18"
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -14471,6 +14474,33 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/replace-in-files-cli/node_modules/signal-exit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/replace-in-files-cli/node_modules/write-file-atomic": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz",
"integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==",
"dev": true,
"license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
"signal-exit": "^4.0.1"
},
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -14652,10 +14682,11 @@
}
},
"node_modules/rimraf/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -14848,9 +14879,9 @@
}
},
"node_modules/semantic-release": {
"version": "24.2.7",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.7.tgz",
"integrity": "sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==",
"version": "24.2.8",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.8.tgz",
"integrity": "sha512-uvoLiKEB/AvvA3SCPE78cd90nVJXn220kkEA6sNGzDpas4s7pe4OgYWvhfR0lvWBdBH/T0RFCI6U+GvcT2CypQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14868,7 +14899,7 @@
"find-versions": "^6.0.0",
"get-stream": "^6.0.0",
"git-log-parser": "^1.2.0",
"hook-std": "^3.0.0",
"hook-std": "^4.0.0",
"hosted-git-info": "^8.0.0",
"import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
@@ -16145,9 +16176,9 @@
}
},
"node_modules/stylelint": {
"version": "16.23.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.23.1.tgz",
"integrity": "sha512-dNvDTsKV1U2YtiUDfe9d2gp902veFeo3ecCWdGlmLm2WFrAV0+L5LoOj/qHSBABQwMsZPJwfC4bf39mQm1S5zw==",
"version": "16.24.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.24.0.tgz",
"integrity": "sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ==",
"dev": true,
"funding": [
{
@@ -16174,7 +16205,7 @@
"debug": "^4.4.1",
"fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^10.1.3",
"file-entry-cache": "^10.1.4",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
@@ -16208,9 +16239,9 @@
}
},
"node_modules/stylelint-config-recommended": {
"version": "16.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz",
"integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==",
"version": "17.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-17.0.0.tgz",
"integrity": "sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==",
"dev": true,
"funding": [
{
@@ -16227,26 +16258,26 @@
"node": ">=18.12.0"
},
"peerDependencies": {
"stylelint": "^16.16.0"
"stylelint": "^16.23.0"
}
},
"node_modules/stylelint-config-recommended-scss": {
"version": "15.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-15.0.1.tgz",
"integrity": "sha512-V24bxkNkFGggqPVJlP9iXaBabwSGEG7QTz+PyxrRtjPkcF+/NsWtB3tKYvFYEmczRkWiIEfuFMhGpJFj9Fxe6Q==",
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-16.0.1.tgz",
"integrity": "sha512-wfpU6kmTUwPEHMACYdpt5wLM/aS44+sqE8yk82LkOkA7yVpAuTZDwd3m9762d0mRnNCn0JMUx4XfDVDmbb8hTA==",
"dev": true,
"license": "MIT",
"dependencies": {
"postcss-scss": "^4.0.9",
"stylelint-config-recommended": "^16.0.0",
"stylelint-scss": "^6.12.0"
"stylelint-config-recommended": "^17.0.0",
"stylelint-scss": "^6.12.1"
},
"engines": {
"node": ">=20"
},
"peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^16.16.0"
"stylelint": "^16.23.1"
},
"peerDependenciesMeta": {
"postcss": {
@@ -16255,9 +16286,9 @@
}
},
"node_modules/stylelint-config-standard": {
"version": "38.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-38.0.0.tgz",
"integrity": "sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==",
"version": "39.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-39.0.0.tgz",
"integrity": "sha512-JabShWORb8Bmc1A47ZyJstran60P3yUdI1zWMpGYPeFiC6xzHXJMkpKAd8EjIhq3HPUplIWWMDJ/xu0AiPd+kA==",
"dev": true,
"funding": [
{
@@ -16271,31 +16302,31 @@
],
"license": "MIT",
"dependencies": {
"stylelint-config-recommended": "^16.0.0"
"stylelint-config-recommended": "^17.0.0"
},
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
"stylelint": "^16.18.0"
"stylelint": "^16.23.0"
}
},
"node_modules/stylelint-config-standard-scss": {
"version": "15.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-15.0.1.tgz",
"integrity": "sha512-8pmmfutrMlPHukLp+Th9asmk21tBXMVGxskZCzkRVWt1d8Z0SrXjUUQ3vn9KcBj1bJRd5msk6yfEFM0UYHBRdg==",
"version": "16.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-16.0.0.tgz",
"integrity": "sha512-/FHECLUu+med/e6OaPFpprG86ShC4SYT7Tzb2PTVdDjJsehhFBOioSlWqYFqJxmGPIwO3AMBxNo+kY3dxrbczA==",
"dev": true,
"license": "MIT",
"dependencies": {
"stylelint-config-recommended-scss": "^15.0.1",
"stylelint-config-standard": "^38.0.0"
"stylelint-config-recommended-scss": "^16.0.1",
"stylelint-config-standard": "^39.0.0"
},
"engines": {
"node": ">=20"
},
"peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^16.18.0"
"stylelint": "^16.23.1"
},
"peerDependenciesMeta": {
"postcss": {
@@ -16304,9 +16335,9 @@
}
},
"node_modules/stylelint-scss": {
"version": "6.12.0",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.0.tgz",
"integrity": "sha512-U7CKhi1YNkM1pXUXl/GMUXi8xKdhl4Ayxdyceie1nZ1XNIdaUgMV6OArpooWcDzEggwgYD0HP/xIgVJo9a655w==",
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.1.tgz",
"integrity": "sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16379,25 +16410,25 @@
"dev": true
},
"node_modules/stylelint/node_modules/file-entry-cache": {
"version": "10.1.3",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.3.tgz",
"integrity": "sha512-D+w75Ub8T55yor7fPgN06rkCAUbAYw2vpxJmmjv/GDAcvCnv9g7IvHhIZoxzRZThrXPFI2maeY24pPbtyYU7Lg==",
"version": "10.1.4",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.4.tgz",
"integrity": "sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==",
"dev": true,
"license": "MIT",
"dependencies": {
"flat-cache": "^6.1.12"
"flat-cache": "^6.1.13"
}
},
"node_modules/stylelint/node_modules/flat-cache": {
"version": "6.1.12",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.12.tgz",
"integrity": "sha512-U+HqqpZPPXP5d24bWuRzjGqVqUcw64k4nZAbruniDwdRg0H10tvN7H6ku1tjhA4rg5B9GS3siEvwO2qjJJ6f8Q==",
"version": "6.1.13",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.13.tgz",
"integrity": "sha512-gmtS2PaUjSPa4zjObEIn4WWliKyZzYljgxODBfxugpK6q6HU9ClXzgCJ+nlcPKY9Bt090ypTOLIFWkV0jbKFjw==",
"dev": true,
"license": "MIT",
"dependencies": {
"cacheable": "^1.10.3",
"cacheable": "^1.10.4",
"flatted": "^3.3.3",
"hookified": "^1.10.0"
"hookified": "^1.11.0"
}
},
"node_modules/stylelint/node_modules/globby": {

View File

@@ -73,9 +73,9 @@
"dependencies": {
"@fullhuman/postcss-purgecss": "^7.0.2",
"autoprefixer": "^10.4.21",
"cssnano": "^7.1.0",
"cssnano-preset-advanced": "^7.0.8",
"hugo-bin": "0.145.2",
"cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.147.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
@@ -87,19 +87,19 @@
"commitizen": "^4.3.1",
"cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.33.0",
"eslint": "^9.35.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^3.0.0",
"replace-in-files-cli": "^4.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.7",
"semantic-release": "^24.2.8",
"shx": "^0.4.0",
"stylelint": "^16.23.1",
"stylelint-config-standard-scss": "^15.0.1"
"stylelint": "^16.24.0",
"stylelint-config-standard-scss": "^16.0.0"
},
"optionalDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",