Compare commits

...

199 Commits

Author SHA1 Message Date
Mark Dumay
b3618c2fcc Merge pull request #1587 from gethinode/develop
Develop
2025-09-17 14:32:15 +02:00
Mark Dumay
60e5915de1 Merge branch 'main' into develop 2025-09-17 14:18:26 +02:00
Mark Dumay
48af98b7cf fix: include fluid argument in content blocks 2025-09-17 14:17:57 +02:00
Mark Dumay
dc04c46906 fix: include fluid argument in about content block 2025-09-17 14:15:36 +02:00
Mark Dumay
883d753c62 Merge pull request #1586 from gethinode/develop
feat: enhance more button configuration
2025-09-17 13:52:46 +02:00
Mark Dumay
221edc3d9c fix: update type definition 2025-09-17 13:43:50 +02:00
Mark Dumay
2fa27a699b Merge branch 'main' into develop 2025-09-17 13:15:12 +02:00
Mark Dumay
17c2c76ed9 feat: enhance more button configuration 2025-09-17 13:14:05 +02:00
Mark Dumay
fe05770e89 Merge pull request #1585 from gethinode/develop
fix: remove redundant markup template
2025-09-17 05:35:25 +02:00
Mark Dumay
856c264544 fix: remove redundant markup template 2025-09-17 05:29:08 +02:00
Mark Dumay
816455676a Merge pull request #1584 from hawkeye116477/main
Allow to set class for markdown header
2025-09-17 05:24:28 +02:00
hawkeye116477
7fde6a2d8e Allow to set class for markdown header
gethinode/hinode#1508
2025-09-16 21:05:11 +02:00
Mark Dumay
97caba0ace Merge pull request #1582 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-09-16 10:34:30 +02:00
Mark Dumay
89df0b1b2a Merge branch 'main' into hugo-mod-dependencies 2025-09-16 10:28:30 +02:00
Mark Dumay
0bdfc2f699 Merge pull request #1583 from gethinode/develop
Develop
2025-09-16 10:04:26 +02:00
Mark Dumay
a22d5b43ec Merge branch 'main' into develop 2025-09-16 08:27:53 +02:00
Mark Dumay
3bb96c5322 fix: make sharing label optional 2025-09-16 08:27:27 +02:00
markdumay
b2adbab04b fix: update Hugo module dependencies 2025-09-16 03:16:00 +00:00
Mark Dumay
a4c3693b64 fix: apply site heading style and content style to single page header 2025-09-15 08:43:34 +02:00
Mark Dumay
50d21d1927 Merge pull request #1581 from gethinode/develop
fix: make webshare icon configurable
2025-09-15 07:56:38 +02:00
Mark Dumay
42e83382a2 Merge branch 'main' into develop 2025-09-15 07:48:52 +02:00
Mark Dumay
c9df385598 fix: make webshare icon configurable 2025-09-15 07:48:09 +02:00
Mark Dumay
4d86493bfb Merge pull request #1580 from gethinode/develop
fix: refine vertical alignment of brand
2025-09-14 16:54:22 +02:00
Mark Dumay
633dab2622 Merge branch 'main' into develop 2025-09-14 16:48:26 +02:00
Mark Dumay
5c9316cea0 fix: refine vertical alignment of brand 2025-09-14 16:47:57 +02:00
Mark Dumay
6085688d7b Merge pull request #1579 from gethinode/develop
Develop
2025-09-14 15:16:48 +02:00
Mark Dumay
54e1720be6 fix: vertically align brand text in navbar 2025-09-14 14:59:06 +02:00
Mark Dumay
f482f4dd94 feat: enable configuration of navbar logo align and mode 2025-09-14 13:58:02 +02:00
Mark Dumay
b48a9598f4 fix: prevent wrapping of navbar items 2025-09-14 12:45:07 +02:00
Mark Dumay
ed56db6d0d refactor: remove redundant spacing 2025-09-14 12:35:40 +02:00
Mark Dumay
9a91208f58 fix: pass default arguments from shortcode to partial 2025-09-14 12:35:10 +02:00
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
Mark Dumay
2625222554 Merge pull request #1538 from gethinode/develop
feat: add link button to toggle TOC items
2025-08-15 10:00:54 +02:00
Mark Dumay
74eeec9030 Merge branch 'main' into develop 2025-08-15 09:53:29 +02:00
Mark Dumay
a57e0da164 feat: add link button to toggle TOC items 2025-08-15 09:52:20 +02:00
github-actions[bot]
6ab01755f2 Merge pull request #1537 from gethinode/dependabot/npm_and_yarn/cpy-cli-6.0.0
build(deps-dev): bump cpy-cli from 5.0.0 to 6.0.0
2025-08-13 13:51:27 +00:00
dependabot[bot]
22cb71ca9b build(deps-dev): bump cpy-cli from 5.0.0 to 6.0.0
Bumps [cpy-cli](https://github.com/sindresorhus/cpy-cli) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/sindresorhus/cpy-cli/releases)
- [Commits](https://github.com/sindresorhus/cpy-cli/compare/v5.0.0...v6.0.0)

---
updated-dependencies:
- dependency-name: cpy-cli
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 13:45:14 +00:00
Mark Dumay
62897f685f Merge pull request #1535 from gethinode/codeql
ci: use advanced codeql config
2025-08-12 09:35:18 +02:00
Mark Dumay
4f8fdc4f03 ci: fix codeql config path 2025-08-12 09:28:05 +02:00
Mark Dumay
925a3ff33e ci: specify codeql paths to scan 2025-08-12 09:25:06 +02:00
Mark Dumay
cf16cb9824 ci: use advanced codeql config 2025-08-12 08:22:40 +02:00
Mark Dumay
5d9383858f Merge pull request #1534 from gethinode/develop
fix: adjust horizontal alignment of cards
2025-08-12 08:04:14 +02:00
Mark Dumay
3332b437dd Merge branch 'main' into develop 2025-08-12 07:56:55 +02:00
github-actions[bot]
c5510707b1 Merge pull request #1532 from gethinode/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-08-12 04:35:12 +00:00
Mark Dumay
498f208382 Merge branch 'main' into dependabot/github_actions/actions/checkout-5 2025-08-12 06:28:55 +02:00
Mark Dumay
86962eb8a2 fix: adjust horizontal alignment of cards
fixes #1533
2025-08-12 06:28:33 +02:00
dependabot[bot]
f4319180e0 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-11 20:45:50 +00:00
github-actions[bot]
9607aef8ef Merge pull request #1531 from gethinode/dependabot/npm_and_yarn/eslint-9.33.0
build(deps-dev): bump eslint from 9.32.0 to 9.33.0
2025-08-11 18:21:09 +00:00
dependabot[bot]
2c2f150faa build(deps-dev): bump eslint from 9.32.0 to 9.33.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.32.0 to 9.33.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.32.0...v9.33.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 18:13:53 +00:00
github-actions[bot]
6087630643 Merge pull request #1529 from gethinode/dependabot/npm_and_yarn/stylelint-16.23.1
build(deps-dev): bump stylelint from 16.23.0 to 16.23.1
2025-08-08 14:07:49 +00:00
dependabot[bot]
26235a1e7e build(deps-dev): bump stylelint from 16.23.0 to 16.23.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.23.0 to 16.23.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.23.0...16.23.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 13:59:57 +00:00
Mark Dumay
408799c3e2 Merge pull request #1528 from gethinode/develop
feat: enable customization of content blocks rendering
2025-08-06 14:27:38 +02:00
Mark Dumay
7b4a46121c Merge branch 'main' into develop 2025-08-06 14:18:01 +02:00
Mark Dumay
7af4c37c88 feat: enable customization of content blocks rendering 2025-08-06 14:17:34 +02:00
Mark Dumay
9cc7174030 Merge pull request #1527 from gethinode/develop
Develop
2025-08-06 09:13:55 +02:00
Mark Dumay
f8de99173f feat: enable global site robots config 2025-08-06 08:58:47 +02:00
Mark Dumay
68f7b466fb fix: improve aria handling of modal messages 2025-08-06 08:58:27 +02:00
github-actions[bot]
3a9a57cc5d Merge pull request #1526 from gethinode/dependabot/npm_and_yarn/stylelint-16.23.0
build(deps-dev): bump stylelint from 16.22.0 to 16.23.0
2025-07-29 14:07:10 +00:00
dependabot[bot]
f3c264ead2 build(deps-dev): bump stylelint from 16.22.0 to 16.23.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.22.0 to 16.23.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.22.0...16.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 13:59:51 +00:00
github-actions[bot]
1dd2971893 Merge pull request #1525 from gethinode/dependabot/npm_and_yarn/eslint-9.32.0
build(deps-dev): bump eslint from 9.31.0 to 9.32.0
2025-07-28 18:04:51 +00:00
dependabot[bot]
7ac6b89ece build(deps-dev): bump eslint from 9.31.0 to 9.32.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.31.0 to 9.32.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.31.0...v9.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 17:59:30 +00:00
github-actions[bot]
458e8fb605 Merge pull request #1524 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.2
build(deps): bump hugo-bin from 0.145.1 to 0.145.2
2025-07-28 17:54:34 +00:00
dependabot[bot]
b268c1bad0 build(deps): bump hugo-bin from 0.145.1 to 0.145.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.1 to 0.145.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.1...v0.145.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 17:49:07 +00:00
Mark Dumay
d414c111f4 Merge pull request #1523 from gethinode/develop
Develop
2025-07-23 14:19:07 +02:00
Mark Dumay
62f7ca0c79 fix: add mermaid to scss purge config 2025-07-23 14:05:13 +02:00
Mark Dumay
6ebd03b4db feat: support interactive Mermaid diagrams 2025-07-23 07:39:57 +02:00
Mark Dumay
a3e5b7cbc4 feat: support JavaScript modules 2025-07-23 07:39:35 +02:00
Mark Dumay
7335014a55 docs: improve code layout 2025-07-22 07:28:45 +02:00
Mark Dumay
f43dc337d1 Merge branch 'main' into develop 2025-07-21 16:56:38 +02:00
Mark Dumay
50de255e59 docs: improve layout of scripts file 2025-07-21 10:06:59 +02:00
github-actions[bot]
3166ce9bb3 Merge pull request #1522 from gethinode/dependabot/npm_and_yarn/stylelint-16.22.0
build(deps-dev): bump stylelint from 16.21.1 to 16.22.0
2025-07-18 13:55:05 +00:00
dependabot[bot]
d8c331e35d build(deps-dev): bump stylelint from 16.21.1 to 16.22.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.21.1 to 16.22.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.21.1...16.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 13:48:25 +00:00
github-actions[bot]
cef686243a Merge pull request #1520 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.8
build(deps): bump cssnano-preset-advanced from 7.0.7 to 7.0.8
2025-07-15 13:43:27 +00:00
dependabot[bot]
c4bdbb242c build(deps): bump cssnano-preset-advanced from 7.0.7 to 7.0.8
---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-version: 7.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 13:37:22 +00:00
github-actions[bot]
cb70afd5f0 Merge pull request #1521 from gethinode/dependabot/npm_and_yarn/cssnano-7.1.0
build(deps): bump cssnano from 7.0.7 to 7.1.0
2025-07-15 13:36:10 +00:00
dependabot[bot]
fbf758cced build(deps): bump cssnano from 7.0.7 to 7.1.0
---
updated-dependencies:
- dependency-name: cssnano
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 13:29:32 +00:00
github-actions[bot]
abd69af2f2 Merge pull request #1517 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.1
build(deps): bump hugo-bin from 0.145.0 to 0.145.1
2025-07-14 17:08:49 +00:00
dependabot[bot]
1190a96694 build(deps): bump hugo-bin from 0.145.0 to 0.145.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.0 to 0.145.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.0...v0.145.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 17:03:26 +00:00
github-actions[bot]
d310648950 Merge pull request #1518 from gethinode/dependabot/npm_and_yarn/semantic-release-24.2.7
build(deps-dev): bump semantic-release from 24.2.6 to 24.2.7
2025-07-14 17:02:09 +00:00
dependabot[bot]
8c7fea7670 build(deps-dev): bump semantic-release from 24.2.6 to 24.2.7
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 24.2.6 to 24.2.7.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v24.2.6...v24.2.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:56:39 +00:00
github-actions[bot]
9e5d786ca3 Merge pull request #1516 from gethinode/dependabot/npm_and_yarn/eslint-9.31.0
build(deps-dev): bump eslint from 9.30.1 to 9.31.0
2025-07-14 16:55:41 +00:00
dependabot[bot]
2bfb9d6991 build(deps-dev): bump eslint from 9.30.1 to 9.31.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.30.1 to 9.31.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.30.1...v9.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:50:27 +00:00
Mark Dumay
294f1ae91d fix: correct init of stack when articles use scroll style 2025-07-12 11:47:18 +02:00
Mark Dumay
8f5f1caef6 Merge pull request #1514 from gethinode/develop
fix: improve handling of generated content pages
2025-07-12 11:21:25 +02:00
Mark Dumay
d342496336 Merge branch 'main' into develop 2025-07-12 10:15:53 +02:00
Mark Dumay
24c5ecda82 Merge pull request #1512 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-07-12 10:15:07 +02:00
Mark Dumay
dbf3be5528 fix: improve handling of generated content pages 2025-07-12 10:13:45 +02:00
markdumay
d4e516065d fix: update Hugo module dependencies 2025-07-10 03:32:00 +00:00
github-actions[bot]
5b2b996948 Merge pull request #1510 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.0
build(deps): bump hugo-bin from 0.144.9 to 0.145.0
2025-07-09 13:28:23 +00:00
dependabot[bot]
33056742af build(deps): bump hugo-bin from 0.144.9 to 0.145.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.144.9 to 0.145.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.144.9...v0.145.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:18:03 +00:00
Mark Dumay
8fa4b251b1 Merge pull request #1505 from gethinode/develop
Develop
2025-07-08 10:53:36 +02:00
Mark Dumay
dcbbf2a55a fix: update Hugo modules 2025-07-08 10:44:06 +02:00
Mark Dumay
c7a4edee1f Merge branch 'main' into develop 2025-07-08 10:34:49 +02:00
Mark Dumay
f69f536dca fix: use go.mod for version info instead of package.json
The package.json no longer contains version info, as it is locked due semantic release.
2025-07-08 10:34:10 +02:00
Mark Dumay
4bd20f6bb0 Merge pull request #1504 from gethinode/develop
Develop
2025-07-08 07:41:00 +02:00
Mark Dumay
6db9cbec0e Merge branch 'main' into develop 2025-07-08 07:31:22 +02:00
Mark Dumay
0170417ddc fix: correct responsive behavior of cards content block 2025-07-08 07:30:27 +02:00
Mark Dumay
3eb2e36429 fix: standardize bottom padding of section title 2025-07-08 07:29:46 +02:00
131 changed files with 2400 additions and 1434 deletions

8
.github/codeql/codeql-config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
paths:
- 'assets/js'
paths-ignore:
- '**/vendor'
- '**/critical/languageSelector.js'
- '**/critical/color.js'
- '**/navbar.js'
- '**/sharing.js'

102
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,102 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Advanced"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '44 1 * * 3'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# 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@v5
# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`
# or others). This is typically only required for manual builds.
# - name: Setup runtime (example)
# uses: actions/setup-example@v1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql/codeql-config.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

View File

@@ -24,10 +24,10 @@ jobs:
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: lts/* node-version: lts/*
cache: 'npm' cache: 'npm'
@@ -53,15 +53,15 @@ jobs:
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Install Go - name: Install Go
uses: actions/setup-go@v5 uses: actions/setup-go@v6
with: with:
go-version: ">1.0.0" go-version: ">1.0.0"
- name: Set up Node.js ${{ matrix.node-version }} - name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'npm' cache: 'npm'

View File

@@ -14,10 +14,10 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: lts/* node-version: lts/*
cache: 'npm' cache: 'npm'

View File

@@ -23,12 +23,12 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: "lts/*" 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/) * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
@@ -43,9 +43,7 @@
document.documentElement.setAttribute('data-bs-theme', theme) document.documentElement.setAttribute('data-bs-theme', theme)
} }
document.querySelectorAll('.navbar-mode-selector').forEach(chk => { updateSelectors()
chk.checked = (document.documentElement.getAttribute('data-bs-theme') === 'light')
})
} }
// alternates the currently active theme // alternates the currently active theme
@@ -54,6 +52,12 @@
setTheme(target) 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', () => { window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
if (storedTheme !== 'light' || storedTheme !== 'dark') { if (storedTheme !== 'light' || storedTheme !== 'dark') {
setTheme(getPreferredTheme()) 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()) setTheme(getTheme())
})() })()

6
assets/js/modal.js Normal file
View File

@@ -0,0 +1,6 @@
document.addEventListener('hide.bs.modal', function (event) {
// Remove the focus from the active element
if (document.activeElement) {
document.activeElement.blur()
}
})

13
assets/js/toc.js Normal file
View File

@@ -0,0 +1,13 @@
const btnTOCShowMore = document.getElementById('btnTOCShowMore')
if (btnTOCShowMore !== null) {
btnTOCShowMore.addEventListener('click', (e) => {
btnTOCShowMore.style.display = 'none'
})
}
const btnTOCShowLess = document.getElementById('btnTOCShowLess')
if ((btnTOCShowLess !== null) && (btnTOCShowMore !== null)) {
btnTOCShowLess.addEventListener('click', (e) => {
btnTOCShowMore.style.display = 'initial'
})
}

View File

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

View File

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

View File

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

View File

@@ -14,6 +14,10 @@ a:active {
text-decoration: none; text-decoration: none;
} }
div.rounded, img.rounded {
--bs-border-radius: #{$theme-border-radius};
}
// //
// Ensure main page is rendered to full viewport height // Ensure main page is rendered to full viewport height
// //
@@ -147,3 +151,17 @@ $utilities: map-merge(
) )
) )
); );
.width-100 {
width: 100%;
}
$utilities: (
"width": (
property: width,
responsive: true,
values: (
auto: auto
)
)
);

View File

@@ -16,12 +16,12 @@ $font-weight-normal: 300 !default;
$font-weight-bold: 600 !default; $font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default; $font-weight-bolder: bolder !default;
$theme-border-radius: 1rem;
strong { strong {
font-weight: 600 if($enable-important-utilities, !important, null); font-weight: 600 if($enable-important-utilities, !important, null);
} }
$theme-border-radius: 0.375rem;
$navbar-height: h.$navbar-height; $navbar-height: h.$navbar-height;
$navbar-offset: h.$navbar-offset; $navbar-offset: h.$navbar-offset;
$navbar-offset-xs: h.$navbar-offset-xs; $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-bold: 600 !default;
$font-weight-bolder: bolder !default; $font-weight-bolder: bolder !default;
$theme-border-radius: 1rem;
strong { strong {
font-weight: 600 if($enable-important-utilities, !important, null); font-weight: 600 if($enable-important-utilities, !important, null);
} }
// scss-docs-end font // scss-docs-end font
$theme-border-radius: 0.375rem;
$white: #fff !default; $white: #fff !default;
$black: #000 !default; $black: #000 !default;
$body-bg: #fff !default; $body-bg: #fff !default;

View File

@@ -52,3 +52,7 @@ a.btn {
.btn-xs { .btn-xs {
@include button-size($btn-padding-y-xs, $btn-padding-x-xs, $btn-font-size-xs, $btn-border-radius-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 { .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; --bs-card-bg: transparent;
} }
@@ -28,6 +31,13 @@
cursor: pointer; 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 { .card-img-wrap img {
transition: transform 0.25s ease; transition: transform 0.25s ease;
width: 100%; width: 100%;

View File

@@ -1,3 +1,7 @@
.carousel-inner {
border-radius: #{$theme-border-radius};
}
.gradient { .gradient {
width: 100%; width: 100%;
height: 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; width: 100vw;
object-fit: cover; 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); 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 { @if $enable-dark-mode {
@include color-mode(dark) { @include color-mode(dark) {
.nav-callout, .tab-content { .nav-callout, .tab-content {

View File

@@ -7,7 +7,7 @@
} }
.mode-switch { .mode-switch {
--#{$prefix}mode-switch-width: 50px; --#{$prefix}mode-switch-width: 3em;
} }
.mode-switch .label { .mode-switch .label {
@@ -64,6 +64,18 @@
transform: scale(0.8); 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/ // Source: https://jsfiddle.net/njhgr40m/
@if $enable-dark-mode { @if $enable-dark-mode {
@@ -92,20 +104,27 @@
margin: 0 .15rem; margin: 0 .15rem;
} }
.navbar-title { .navbar-title, .navbar-title-center, .navbar-title-start {
display: inline-block; display: inline-block;
white-space: normal; white-space: normal;
text-align: center !important;
vertical-align: middle; vertical-align: middle;
padding: 0 $spacer; padding: 0 $spacer;
width: 100% !important; width: 100% !important;
} }
.navbar-title, .navbar-title-center {
text-align: center !important;
}
.navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover { .navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover {
border-bottom: solid 1px var(--bs-navbar-hover-color); border-bottom: solid 1px var(--bs-navbar-hover-color);
margin-bottom: -1px; margin-bottom: -1px;
} }
.navbar-brand {
margin-right: 0;
}
.navbar-contrast { .navbar-contrast {
--bs-navbar-color: white !important; --bs-navbar-color: white !important;
--bs-navbar-hover-color: white !important; --bs-navbar-hover-color: white !important;
@@ -113,7 +132,7 @@
--bs-navbar-active-color: white !important; --bs-navbar-active-color: white !important;
--bs-navbar-toggler-color: white; --bs-navbar-toggler-color: white;
.navbar-title, .mode-switch { .navbar-title, .navbar-brand, .mode-switch {
--#{$prefix}border-color: white; --#{$prefix}border-color: white;
color: white !important; color: white !important;
@@ -126,12 +145,65 @@
.navbar-expanded { .navbar-expanded {
box-shadow: $box-shadow-sm; 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 { .nav-item .vr {
color: var(--bs-navbar-color); color: var(--bs-navbar-color);
} }
.navbar .nav-item {
display: flex;
align-items: center;
white-space: nowrap;
}
.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 */ /* Remove border from toggler */
.navbar-toggler { .navbar-toggler {
border: 0 if($enable-important-utilities, !important, null); border: 0 if($enable-important-utilities, !important, null);
@@ -223,13 +295,10 @@
} }
.navbar-container { .navbar-container {
min-height: calc(2rem + 10px);
width: 100% !important; width: 100% !important;
} }
.navbar-brand {
margin-right: 0;
}
@include media-breakpoint-up(#{$navbar-size}) { @include media-breakpoint-up(#{$navbar-size}) {
:root { :root {
--navbar-offset: #{$navbar-offset}; --navbar-offset: #{$navbar-offset};
@@ -319,3 +388,7 @@
position: absolute; position: absolute;
z-index: $zindex-fixed; z-index: $zindex-fixed;
} }
.form-control.is-search {
border: 1px solid var(--bs-border-color) !important;
}

View File

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

View File

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

View File

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

View File

@@ -26,6 +26,10 @@ $semi-circle-border: 0.2rem;
// scss-docs-end timeline // scss-docs-end timeline
.timeline-container {
border-radius: #{$theme-border-radius};
}
.timeline, .timeline-sm { .timeline, .timeline-sm {
position: relative; 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 // scss-docs-start toc
.toc-sidebar { .toc-sidebar {
grid-area: toc;
right: 0; right: 0;
z-index: 2; z-index: 2;
overflow-y: auto; overflow-y: auto;
top: 5rem; top: 5rem;
max-height: calc(100vh - var(--navbar-offset));
} }
// scss-docs-end toc // scss-docs-end toc
@@ -74,6 +74,14 @@
} }
} }
.btn-link.toc-item {
font-size: inherit;
}
#btnTOCShowMore {
padding-top: 0.875rem;
}
a.toc-item { a.toc-item {
display: block; display: block;
} }

View File

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

View File

@@ -10,7 +10,7 @@
/* inter-200 - latin */ /* inter-200 - latin */
@font-face { @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-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 200; font-weight: 200;
@@ -23,7 +23,7 @@
} }
/* inter-300 - latin */ /* inter-300 - latin */
@font-face { @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-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 300; font-weight: 300;
@@ -36,7 +36,7 @@
} }
/* inter-regular - latin */ /* inter-regular - latin */
@font-face { @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-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
@@ -49,7 +49,7 @@
} }
/* inter-600 - latin */ /* inter-600 - latin */
@font-face { @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-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 600; font-weight: 600;

View File

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

View File

@@ -27,6 +27,8 @@ blueprint:
more: more:
title: title:
link: link:
link-type:
icon:
icon-rounded: icon-rounded:
icon-style: icon-style:
cols: cols:
@@ -47,3 +49,6 @@ blueprint:
class: class:
width: width:
justify: justify:
fluid:
theme:
cover:

View File

@@ -19,6 +19,10 @@
{{ $error = $args.err }} {{ $error = $args.err }}
{{ end }} {{ end }}
{{/* Initialize global arguments */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $pages := slice }} {{ $pages := slice }}
{{ $result := partial "assets/live-pages.html" (dict {{ $result := partial "assets/live-pages.html" (dict
"page" $args.page "page" $args.page
@@ -45,9 +49,13 @@
{{ $moreButton := site.Params.modules.bookshop.articles.moreButton | default false }} {{ $moreButton := site.Params.modules.bookshop.articles.moreButton | default false }}
{{ $moreTitle := T "more" (pluralize $args.input.section) }} {{ $moreTitle := T "more" (pluralize $args.input.section) }}
{{ $moreLink := $args.input.section }} {{ $moreLink := $args.input.section }}
{{ $moreType := "button" }}
{{ $moreIcon := "" }}
{{ with $args.more }} {{ with $args.more }}
{{ if .title }}{{ $moreTitle = .title }}{{ end }} {{ if .title }}{{ $moreTitle = .title }}{{ end }}
{{ if .link }}{{ $moreLink = .link }}{{ end }} {{ if .link }}{{ $moreLink = .link }}{{ end }}
{{ if index . "link-type" }}{{ $moreType = index . "link-type" }}{{ end }}
{{ if .icon }}{{ $moreIcon = .icon }}{{ end }}
{{ end }} {{ end }}
{{ $paginate := $args.paginate }} {{ $paginate := $args.paginate }}
@@ -60,27 +68,33 @@
{{ $paginate = false }} {{ $paginate = false }}
{{ end }} {{ end }}
<!-- Main code --> {{/* Main code */}}
{{ if not $error }} {{ if not $error }}
{{ if or (gt (len $pages) 0) (not $args.hideEmpty) }} {{ if or (gt (len $pages) 0) (not $args.hideEmpty) }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}} {{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{ $partial := "assets/card-group.html" }} {{ $partial := "assets/card-group.html" }}
{{ $params := dict }} {{ $params := dict }}
{{- $params = merge $params (dict {{- $params = merge $params (dict
"page" page "page" page
"list" $pages "list" $pages
"limit" $args.limit "limit" $args.limit
"cols" $args.cols "cols" $args.cols
"icon-rounded" $args.iconRounded "icon-rounded" $args.iconRounded
"icon-style" $args.iconStyle "icon-style" $args.iconStyle
"href" (cond $moreButton $moreLink "") "href" (cond $moreButton $moreLink "")
"href-title" (cond $moreButton $moreTitle "") "href-title" (cond $moreButton $moreTitle "")
"href-force" (gt $result.total (len $result.pages)) "href-force" (gt $result.total (len $result.pages))
"more-link-type" $moreType
"more-link-icon" $moreIcon
)}} )}}
{{ if $args.scroll }} {{ if $args.scroll }}
{{ $partial := "assets/stack.html" }} {{ $partial = "assets/stack.html" }}
{{ $params = merge $params (dict {{ $params = merge $params (dict
"header-style" "none" "header-style" "none"
"body-style" "title" "body-style" "title"
@@ -107,7 +121,6 @@
{{ if gt (len $pages) 0 }} {{ if gt (len $pages) 0 }}
{{ partial $partial $params }} {{ partial $partial $params }}
{{ else }} {{ else }}
{{- $padding := partial "utilities/GetPadding.html" -}}
<p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p> <p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p>
{{ end }} {{ end }}
{{ end }} {{ end }}

View File

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

View File

@@ -21,6 +21,7 @@
{{/* Initialize global arguments */}} {{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}} {{/* Initialize local variables */}}
{{ $list := slice }} {{ $list := slice }}
@@ -34,13 +35,20 @@
) }} ) }}
{{ end}} {{ end}}
{{/* Main code */}}
{{ if not $error }} {{ if not $error }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}} {{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{/* Layout for small screens */}}
{{- partial "assets/card-group.html" (dict {{- partial "assets/card-group.html" (dict
"page" page "page" page
"list" $list "list" $list
"class" (printf "border-0 card-icon-primary d-%s-none %s" $breakpoint.prev (or $args.class "")) "class" (printf "border-0 card-icon-primary %s" (or $args.class ""))
"wrapper" (printf "d-%s-none" $breakpoint.prev)
"cols" $args.cols "cols" $args.cols
"gutter" "4" "gutter" "4"
"padding" $args.padding "padding" $args.padding
@@ -53,10 +61,12 @@
"hook" "assets/live-card.html" "hook" "assets/live-card.html"
) -}} ) -}}
{{/* Layout for regular screens */}}
{{- partial "assets/card-group.html" (dict {{- partial "assets/card-group.html" (dict
"page" page "page" page
"list" $list "list" $list
"class" (printf "border-0 card-icon-primary d-none d-%s-block %s" $breakpoint.prev (or $args.class "")) "class" (printf "border-0 card-icon-primary %s" (or $args.class ""))
"wrapper" (printf "d-none d-%s-block" $breakpoint.prev)
"cols" $args.cols "cols" $args.cols
"gutter" "4" "gutter" "4"
"padding" $args.padding "padding" $args.padding

View File

@@ -37,7 +37,9 @@ blueprint:
icon: icon:
force: force:
align: align:
fluid:
padding: padding:
order: order:
width: width:
fluid:
theme:
cover:

View File

@@ -2,6 +2,10 @@
background-color: var(--#{$prefix}primary-bg-subtle); 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 { .cta .contact-img {
background-color: var(--#{$prefix}body-bg); background-color: var(--#{$prefix}body-bg);
border-radius: var(--bs-border-radius); border-radius: var(--bs-border-radius);

View File

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

View File

@@ -16,10 +16,18 @@
)}} )}}
{{ end }} {{ end }}
{{/* Initialize global arguments */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Main code */}}
{{ if not $args.err }} {{ if not $args.err }}
{{ $color := "" }} {{ $color := "" }}
{{ if $args.contrast }}{{ $color = "white" }}{{ end }} {{ if $args.contrast }}{{ $color = "white" }}{{ end }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "color" $color "justify" $args.justify) -}} {{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{ $class := "" }} {{ $class := "" }}
{{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }} {{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }}

View File

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

View File

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

View File

@@ -21,6 +21,7 @@
{{/* Initialize global arguments */}} {{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}} {{/* Initialize local variables */}}
{{ $list := slice }} {{ $list := slice }}
@@ -32,16 +33,17 @@
{{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }} {{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }}
{{ $hero := partial "assets/hero.html" (dict {{ $hero := partial "assets/hero.html" (dict
"page" page "page" page
"heading" (dict "title" $element.title "content" $element.content "width" 8 "size" 6) "heading" (dict "content" $element.content "width" 8)
"background" $args.background "background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode) "illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
"order" $args.order "order" $args.order
"link-type" $args.linkType "link-type" $args.linkType
"links" $args.links "links" $args.links
"orientation" "horizontal" "orientation" "horizontal"
"align" "start" "align" "start"
"width" 12 "width" 12
"content-style" "fs-6"
) )
}} }}
@@ -60,8 +62,13 @@
{{ $titles = $titles | append $element.title }} {{ $titles = $titles | append $element.title }}
{{ end}} {{ end}}
{{/* Main code */}}
{{ if not $error }} {{ if not $error }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}} {{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{- partial "assets/nav.html" (dict {{- partial "assets/nav.html" (dict
"id" (or $args.id $parentID) "id" (or $args.id $parentID)

View File

@@ -1,3 +1,13 @@
.panels .dropdown-toggle { .panels .dropdown-toggle {
text-decoration: none !important; 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

@@ -24,3 +24,6 @@ blueprint:
width: width:
justify: justify:
data: data:
fluid:
theme:
cover:

View File

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

View File

@@ -16,6 +16,7 @@
)}} )}}
{{ end }} {{ end }}
{{/* Initialize global variables */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}} {{- $padding := partial "utilities/GetPadding.html" -}}
@@ -27,6 +28,7 @@
{{ $queryArgs := .queryArgs }} {{ $queryArgs := .queryArgs }}
{{ $border := .border }} {{ $border := .border }}
{{ $padding := .padding }} {{ $padding := .padding }}
{{ $color := .color }}
{{ if site.Params.env_bookshop_live }} {{ if site.Params.env_bookshop_live }}
{{/* Define dummy content as we cannot retrieve video data in live mode */}} {{/* Define dummy content as we cannot retrieve video data in live mode */}}
@@ -35,7 +37,7 @@
"ratio" "21x9" "ratio" "21x9"
"wrapper" (printf "text-center mb-%d" $padding.y)) -}} "wrapper" (printf "text-center mb-%d" $padding.y)) -}}
{{ else }} {{ 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 {{ partial "assets/video.html" (dict
"page" page "page" page
"provider" $provider "provider" $provider
@@ -80,6 +82,7 @@
) -}} ) -}}
{{ end }} {{ end }}
{{/* Main code */}}
{{ if not $args.err }} {{ if not $args.err }}
{{ $list := slice }} {{ $list := slice }}
@@ -98,7 +101,11 @@
) }} ) }}
{{ end}} {{ end}}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}} {{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{ if eq $args.orientation "stacked" }} {{ if eq $args.orientation "stacked" }}
<div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto"> <div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
@@ -111,10 +118,11 @@
"query-args" .queryArgs "query-args" .queryArgs
"border" $.border "border" $.border
"padding" $padding "padding" $padding
"color" .color
) -}} ) -}}
{{ end }} {{ end }}
</div> </div>
<div class="mt-{{ $padding.y }}"> <div class="mt-{{ $padding.y }} w-100">
{{- partial "inline/messages.html" (dict {{- partial "inline/messages.html" (dict
"list" $list "list" $list
"cols" $args.cols "cols" $args.cols
@@ -136,6 +144,7 @@
"query-args" .queryArgs "query-args" .queryArgs
"border" $.border "border" $.border
"padding" $padding "padding" $padding
"color" .color
) -}} ) -}}
{{ end }} {{ end }}
</div> </div>

View File

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

View File

@@ -27,20 +27,35 @@
{{- $resolved_component = $flat_component_path -}} {{- $resolved_component = $flat_component_path -}}
{{- end -}} {{- end -}}
<!-- TODO: use initialized component args instead of component_props -->
{{ $error := false }}
{{ $args := dict }}
{{- if $resolved_component -}} {{- 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" -}} {{- $id := index $component_props "id" -}}
{{- $cover := index $component_props "cover" -}} {{- $cover := index $component_props "cover" -}}
{{- $background := index $component_props "background" -}} {{- $background := index $component_props "background" -}}
{{- $backdrop := "" -}} {{- $backdrop := "" -}}
{{- $fluid := index $component_props "fluid" | default true -}} {{- $fluid := index $component_props "fluid" | default true -}}
{{- $style := index $component_props "wrapper" -}} {{- $wrapper := index $component_props "wrapper" -}}
{{- $width := index $component_props "width" -}} {{- $width := index $component_props "width" -}}
{{- $justify := index $component_props "justify" | default "start" -}} {{- $justify := index $component_props "justify" | default "start" -}}
{{- $paddingOuter := cond (ne $component_name "separator") (printf "px-xxl-0 px-%d py-0" $padding.x) "" -}} {{- $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) "" -}} {{- $padding := cond (ne $component_name "separator") (printf "px-%d %spy-%d" $padding.x (cond $fluid "px-xxl-0 " "") $padding.y) "" -}}
{{- $wrapper := $style }}
{{ with $background }} {{ with $background }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }} {{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $wrapper) }}
{{ if reflect.IsMap $background }} {{ if reflect.IsMap $background }}
{{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }} {{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }}
{{ end }} {{ end }}
@@ -73,18 +88,21 @@
{{- end -}} {{- end -}}
{{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }} {{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }}
{{ if $args.passthrough }}
<div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}"> {{ partial $resolved_component $component_props }}
{{ with $col }} {{ else }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div> <div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ else }} {{ with $col }}
{{ partial $resolved_component $component_props }} <div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ end}} {{ else }}
</div> {{ partial $resolved_component $component_props }}
{{ end}}
</div>
{{ end }}
</section> </section>
{{ if not $fluid }}</div>{{ end }} {{ if not $fluid }}</div>{{ end }}
{{ "<!--bookshop-live end-->" | safeHTML }} {{ "<!--bookshop-live end-->" | safeHTML }}
{{- else -}} {{- else if (not $args.err) -}}
{{- $file_loc := slicestr $component_path 9 -}} {{- $file_loc := slicestr $component_path 9 -}}
{{- $flat_file_loc := slicestr $flat_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) -}} {{- 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]] [[module.imports]]
path = "github.com/gethinode/mod-csp" path = "github.com/gethinode/mod-csp"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-flexsearch/v2" path = "github.com/gethinode/mod-flexsearch/v3"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-fontawesome/v2" path = "github.com/gethinode/mod-fontawesome/v2"
[[module.imports]] [[module.imports]]
@@ -188,7 +188,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-lottie" path = "github.com/gethinode/mod-lottie"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-mermaid/v2" path = "github.com/gethinode/mod-mermaid/v3"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-simple-datatables/v2" path = "github.com/gethinode/mod-simple-datatables/v2"
[[module.imports]] [[module.imports]]

View File

@@ -2,9 +2,7 @@
[main] [main]
separator = "-" separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5." description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
enableLanguageSelectionStorage = false enableLanguageSelectionStorage = false
modes = ["light", "dark"]
canonifyAssetsURLs = false canonifyAssetsURLs = false
endorse = true endorse = true
footerBelowFold = false footerBelowFold = false
@@ -22,6 +20,12 @@
tab = false tab = false
[main.build] [main.build]
transpiler = "libsass" transpiler = "libsass"
[main.colorMode]
enabled = true
modes = ["light", "dark"]
toggle = false
iconLight = "fas sun"
iconDark = "fas moon"
# toml-docs-end main # toml-docs-end main
# toml-docs-start images # toml-docs-start images
@@ -84,6 +88,8 @@
[navigation] [navigation]
anchor = true anchor = true
logo = "/img/logo_icon.svg" logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30 logo-height = 30
color = "body" color = "body"
fixed = true fixed = true
@@ -91,15 +97,22 @@
overlayMode = "dark" overlayMode = "dark"
horizontal = false horizontal = false
offset = "5.5rem" offset = "5.5rem"
search = true
searchModal = false
breadcrumb = true breadcrumb = true
toc = true toc = true
sidebar = true sidebar = true
size = "md" size = "md"
startLevel = 2
endLevel = 3
maxNumHeadings = 9
[navigation.padding] [navigation.padding]
x = 4 x = 4
y = 4 y = 4
[navigation.language]
icon = "fas globe"
[navigation.search]
enabled = true
modal = true
icon = "fas magnifying-glass"
# toml-docs-end navigation # toml-docs-end navigation
# toml-docs-start messages # toml-docs-start messages

View File

@@ -27,9 +27,10 @@ const purgecss = purgeCSSPlugin({
'./assets/scss/theme/fonts.scss', './assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss', './assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.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-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss', './_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss', './_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss', './_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss', './_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',

View File

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

View File

@@ -69,6 +69,24 @@ arguments:
release: v0.27.0 release: v0.27.0
button-label: button-label:
release: v1.0.0 release: v1.0.0
more-link-type:
type: select
optional: true
default: button
comment: Style of the more button or link.
options:
values:
- button
- link
release: v1.16.0
more-link-icon:
type: string
optional: true
comment: >-
Icon to include. You can use shorthand notation such as `fas sort` to
include a Font Awesome icon. The argument also supports files with an
`.svg` or `.json` extension.
release: v1.16.0
# deprecated arguments # deprecated arguments
header: header:

View File

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

View File

@@ -25,6 +25,9 @@ arguments:
default: px-4 px-xxl-0 py-4 default: px-4 px-xxl-0 py-4
width: width:
default: 8 default: 8
fluid:
theme: theme:
hook: hook:
default: assets/hero-image.html default: assets/hero-image.html
heading-style:
content-style:

View File

@@ -9,7 +9,9 @@ arguments:
comment: Context of the current page. comment: Context of the current page.
group: partial group: partial
menu: menu:
type: '*navigation.MenuEntry' type:
- '*navigation.MenuEntry'
- 'map[string]interface {}'
optional: false optional: false
comment: Menu data to use for the navbar item. comment: Menu data to use for the navbar item.
parent: parent:
@@ -37,3 +39,24 @@ arguments:
optional: true optional: true
comment: >- comment: >-
Renders the navigation item as plain item, ignoring any children. 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

@@ -79,6 +79,25 @@ arguments:
comment: >- comment: >-
Address of the logo image, defaults to the parameter `logo` set in the Address of the logo image, defaults to the parameter `logo` set in the
`main` section of the site's parameter configuration. `main` section of the site's parameter configuration.
logo-align:
type: select
optional: true
default: center
comment: Alignment of the logo when the navbar is in collapsed mode.
options:
values:
- start
- center
release: v1.15.0
logo-mode:
type: bool
default: false
optional: true
comment: >-
Flag indicating if the logo should support color modes. If set, the
navbar searches for images having a matching color-mode suffix
such as `-light` or `-dark`.
release: v1.15.0
# deprecated arguments # deprecated arguments
size: size:
type: select type: select

View File

@@ -1,6 +1,6 @@
comment: >- comment: >-
Includes a reference to a local or external JavaScript file. Hinode uses the Includes a reference to a local or external JavaScript file. Hinode uses the
template defined in `layouts/partials/templates/script.html` to generate the template defined in `layouts/_partials/templates/script.html` to generate the
link to a (bundled) JavaScript file. It includes context such as the state, link to a (bundled) JavaScript file. It includes context such as the state,
category, and integrity. For example, you can adapt this template to implement category, and integrity. For example, you can adapt this template to implement
cookie consent management. cookie consent management.
@@ -44,3 +44,10 @@ arguments:
optional: true optional: true
comment: >- comment: >-
Cryptographic hash of the script to enable Subresource Integrity (SRI). Cryptographic hash of the script to enable Subresource Integrity (SRI).
script-type:
type: string
optional: true
release: v1.7.0
comment: >-
Type of the attribute of the script. Set the value to `module` to import
the script as a JavaScript module.

View File

@@ -7,3 +7,9 @@ arguments:
optional: false optional: false
comment: Context of the current page. comment: Context of the current page.
group: partial group: partial
show-label:
type: bool
optional: true
default: true
comment: Indicates if the element should include a label.
release: v1.15.3

View File

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

View File

@@ -1,9 +1,7 @@
[main] [main]
separator = "-" separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5." description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
enableLanguageSelectionStorage = true enableLanguageSelectionStorage = true
modes = ["light", "dark"]
canonifyAssetsURLs = false canonifyAssetsURLs = false
footerBelowFold = false footerBelowFold = false
loading = "lazy" loading = "lazy"
@@ -21,6 +19,12 @@
[main.build] [main.build]
transpiler = "dartsass" transpiler = "dartsass"
silenceDeprecations = true silenceDeprecations = true
[main.colorMode]
enabled = true
modes = ["light", "dark"]
toggle = true
iconLight = "fas sun"
iconDark = "fas moon"
[debugging] [debugging]
showJS = false showJS = false
@@ -37,6 +41,8 @@
[navigation] [navigation]
anchor = true anchor = true
logo = "/img/logo_icon.svg" logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30 logo-height = 30
color = "body" color = "body"
fixed = true fixed = true
@@ -45,15 +51,23 @@
horizontal = false horizontal = false
offset = "5.5rem" offset = "5.5rem"
offsetXS = "5.5rem" offsetXS = "5.5rem"
search = true
searchModal = false
breadcrumb = true breadcrumb = true
toc = true toc = true
sidebar = true sidebar = true
size = "md" size = "md"
fontsizeCollapsed = 6
startLevel = 2
endLevel = 3
maxNumHeadings = 9
[navigation.language]
icon = "fas globe"
[navigation.padding] [navigation.padding]
x = 4 x = 4
y = 4 y = 4
[navigation.search]
enabled = true
modal = false
icon = "fas magnifying-glass"
[messages] [messages]
placement = "bottom-right" placement = "bottom-right"
@@ -129,7 +143,7 @@
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path # themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path themeFontPath = "/fonts" # local path
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2" themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
purge = false purge = true
# toml-docs-end theme-colors # toml-docs-end theme-colors
[schema] [schema]
@@ -169,3 +183,6 @@
[modules.cookieyes] [modules.cookieyes]
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js" url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
[modules.mermaid]
elk = true

View File

@@ -27,9 +27,10 @@ const purgecss = purgeCSSPlugin({
'./assets/scss/theme/fonts.scss', './assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss', './assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.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-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss', './_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss', './_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss', './_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss', './_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',

View File

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

View File

@@ -4,7 +4,7 @@ title: Components
date: 2023-09-23 date: 2023-09-23
description: Use shortcodes to add predefined components powered by external libraries. description: Use shortcodes to add predefined components powered by external libraries.
tags: ["bootstrap", "shortcode"] tags: ["bootstrap", "shortcode"]
keywords: ["featured"] keywords: featured
thumbnail: thumbnail:
url: img/puzzle.jpg url: img/puzzle.jpg
author: Ryoji Iwata author: Ryoji Iwata
@@ -94,6 +94,22 @@ As an example, the following shortcode displays an interactive map of the city o
## Mermaid Diagrams ## Mermaid Diagrams
### Shortcode (with controls and frontmatter)
<!-- markdownlint-disable MD003 MD022 -->
{{< mermaid controls=true >}}
---
config:
layout: elk.stress
look: handDrawn
theme: forest
---
flowchart TD
A --> B
A --> C
{{< /mermaid >}}
<!-- markdownlint-enable MD003 MD022 -->
### Flowchart ### Flowchart
```mermaid ```mermaid

View File

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

View File

@@ -2,14 +2,63 @@
author: Mark Dumay author: Mark Dumay
title: Bienvenue sur Hinode! title: Bienvenue sur Hinode!
description: Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5. description: Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
thumbnail: content_blocks:
url: /img/sunrise.jpg - _bookshop_name: hero
author: Harris Vo heading:
authorURL: https://unsplash.com/@hoanvokim title: Bienvenue sur Hinode!
origin: https://unsplash.com/photos/ZX6BPboJrYk content: |-
originName: Unsplash Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
actions: width: 6
about: background:
url: "a-propos" color: primary
title: "À propos" 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 date: 2023-08-12
description: Utilisez des shortcodes pour ajouter facilement des éléments Bootstrap courants. description: Utilisez des shortcodes pour ajouter facilement des éléments Bootstrap courants.
tags: ["bootstrap", "shortcode"] tags: ["bootstrap", "shortcode"]
keywords: featured
thumbnail: thumbnail:
url: img/boots.jpg url: img/boots.jpg
author: Nathan Dumlao author: Nathan Dumlao

View File

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

View File

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

View File

@@ -2,14 +2,62 @@
author: Mark Dumay author: Mark Dumay
title: Welkom bij Hinode! title: Welkom bij Hinode!
description: Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5. description: Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5.
thumbnail: content_blocks:
url: /img/sunrise.jpg - _bookshop_name: hero
author: Harris Vo heading:
authorURL: https://unsplash.com/@hoanvokim title: Welkom bij Hinode!
origin: https://unsplash.com/photos/ZX6BPboJrYk content: |-
originName: Unsplash Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5.
actions: width: 6
about: background:
url: "over-mij" color: primary
title: "Over mij" 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

@@ -3,5 +3,5 @@ module github.com/gethinode/hinode/exampleSite
go 1.19 go 1.19
require ( require (
github.com/gethinode/mod-cookieyes/v2 v2.2.4 // indirect github.com/gethinode/mod-cookieyes/v2 v2.2.5 // indirect
) )

View File

@@ -1,2 +1,2 @@
github.com/gethinode/mod-cookieyes/v2 v2.2.4 h1:MxKKNSpX2cb9+4l3mH/xfZUqiJ1buaGLj0AFRnPci5M= github.com/gethinode/mod-cookieyes/v2 v2.2.5 h1:xzTQ42qYViZ/LJJUHAEeDV9aayXVEX4MtnpS+m5Zekc=
github.com/gethinode/mod-cookieyes/v2 v2.2.4/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y= github.com/gethinode/mod-cookieyes/v2 v2.2.5/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=

View File

@@ -95,25 +95,22 @@
"background-container", "background-container",
"background-img-fluid", "background-img-fluid",
"badge", "badge",
"ball",
"bg-bg-body-tertiary", "bg-bg-body-tertiary",
"bg-bg-primary-subtle", "bg-bg-primary-subtle",
"bg-black",
"bg-body", "bg-body",
"bg-body-tertiary", "bg-body-tertiary",
"bg-danger", "bg-danger",
"bg-opacity-10", "bg-opacity-10",
"bg-primary", "bg-primary",
"bg-primary-subtle", "bg-primary-subtle",
"bg-secondary-subtle",
"bi", "bi",
"bi-activity", "bi-activity",
"border", "border",
"border-0", "border-0",
"border-1", "border-1",
"border-bottom", "border-bottom",
"border-end",
"border-none", "border-none",
"border-start",
"border-top", "border-top",
"bottom-0", "bottom-0",
"bottom-bar", "bottom-bar",
@@ -192,10 +189,15 @@
"col-sm-6", "col-sm-6",
"collapse", "collapse",
"collapsed", "collapsed",
"command",
"contact-img", "contact-img",
"container", "container",
"container-fluid", "container-fluid",
"container-xxl", "container-xxl",
"control-btn",
"control-btn-expand",
"control-btn-zoom-in",
"control-btn-zoom-out",
"cta", "cta",
"custom", "custom",
"d-block", "d-block",
@@ -213,10 +215,17 @@
"d-sm-block", "d-sm-block",
"d-sm-none", "d-sm-none",
"data-table", "data-table",
"diagram-container",
"diagram-controls",
"diagram-wrapper",
"disabled", "disabled",
"display-1", "display-1",
"display-4", "display-4",
"display-4pt-1",
"display-6", "display-6",
"docs",
"docs-controls",
"docs-panel",
"dropdown", "dropdown",
"dropdown-divider-bg", "dropdown-divider-bg",
"dropdown-item", "dropdown-item",
@@ -243,7 +252,6 @@
"fa-arrow-left", "fa-arrow-left",
"fa-arrow-right", "fa-arrow-right",
"fa-bootstrap", "fa-bootstrap",
"fa-check",
"fa-chevron-right", "fa-chevron-right",
"fa-circle", "fa-circle",
"fa-circle-check", "fa-circle-check",
@@ -253,6 +261,7 @@
"fa-divide", "fa-divide",
"fa-docker", "fa-docker",
"fa-ellipsis", "fa-ellipsis",
"fa-expand",
"fa-face-frown", "fa-face-frown",
"fa-facebook", "fa-facebook",
"fa-fluid", "fa-fluid",
@@ -267,10 +276,11 @@
"fa-info", "fa-info",
"fa-inverse", "fa-inverse",
"fa-lg", "fa-lg",
"fa-li",
"fa-link", "fa-link",
"fa-linkedin", "fa-linkedin",
"fa-magnifying-glass", "fa-magnifying-glass",
"fa-magnifying-glass-minus",
"fa-magnifying-glass-plus",
"fa-medium", "fa-medium",
"fa-moon", "fa-moon",
"fa-rocket", "fa-rocket",
@@ -283,17 +293,20 @@
"fa-stack-2x", "fa-stack-2x",
"fa-sun", "fa-sun",
"fa-timeline", "fa-timeline",
"fa-ul",
"fa-up-right-from-square", "fa-up-right-from-square",
"fa-whatsapp", "fa-whatsapp",
"fa-wrapper", "fa-wrapper",
"fa-x-twitter", "fa-x-twitter",
"fa-xl",
"fa-xs", "fa-xs",
"fab", "fab",
"fade", "fade",
"faq", "faq",
"fas", "fas",
"figure-caption", "figure-caption",
"file",
"file-controls",
"file-panel",
"fixed-top", "fixed-top",
"flex-column", "flex-column",
"flex-fill", "flex-fill",
@@ -344,7 +357,6 @@
"justify-content-between", "justify-content-between",
"justify-content-center", "justify-content-center",
"justify-content-end", "justify-content-end",
"justify-content-md-end",
"justify-content-md-start", "justify-content-md-start",
"justify-content-start", "justify-content-start",
"katex", "katex",
@@ -372,9 +384,11 @@
"me-1", "me-1",
"me-3", "me-3",
"me-auto", "me-auto",
"me-md-3",
"mermaid", "mermaid",
"middle-bar", "middle-bar",
"mode-switch", "mode-item",
"mode-toggle",
"ms-1", "ms-1",
"ms-3", "ms-3",
"ms-auto", "ms-auto",
@@ -414,9 +428,12 @@
"navbar-contrast", "navbar-contrast",
"navbar-expand-md", "navbar-expand-md",
"navbar-fixed-top", "navbar-fixed-top",
"navbar-fs-6",
"navbar-md-fs",
"navbar-mode-selector", "navbar-mode-selector",
"navbar-nav", "navbar-nav",
"navbar-nav-scroll", "navbar-nav-scroll",
"navbar-title-center",
"navbar-toggler", "navbar-toggler",
"next", "next",
"no-js", "no-js",
@@ -467,7 +484,6 @@
"px-md-4", "px-md-4",
"px-xxl-0", "px-xxl-0",
"py-%!d(string=0)", "py-%!d(string=0)",
"py-0",
"py-1", "py-1",
"py-2", "py-2",
"py-3", "py-3",
@@ -533,7 +549,6 @@
"text-decoration-none", "text-decoration-none",
"text-end", "text-end",
"text-info", "text-info",
"text-md-start",
"text-muted", "text-muted",
"text-nowrap", "text-nowrap",
"text-primary", "text-primary",
@@ -550,6 +565,7 @@
"timeline-bg-primary-subtle", "timeline-bg-primary-subtle",
"timeline-connector-end", "timeline-connector-end",
"timeline-connector-start", "timeline-connector-start",
"timeline-container",
"timeline-description-text-end", "timeline-description-text-end",
"timeline-description-text-start", "timeline-description-text-start",
"timeline-dot", "timeline-dot",
@@ -586,11 +602,13 @@
"visually-hidden", "visually-hidden",
"vr", "vr",
"w-100", "w-100",
"w-50" "w-50",
"width-100",
"width-md-auto"
], ],
"ids": [ "ids": [
"abbr", "abbr",
"accelerate-your-data-products", "about",
"accordion", "accordion",
"accordion-0", "accordion-0",
"accordion-0-heading-0", "accordion-0-heading-0",
@@ -600,30 +618,38 @@
"accordion-0-item-1", "accordion-0-item-1",
"accordion-0-item-2", "accordion-0-item-2",
"accordéon", "accordéon",
"ai",
"alert", "alert",
"alerte", "alerte",
"analytics", "ander-project",
"animatie", "animatie",
"animation", "animation",
"another-project",
"args", "args",
"arguments", "arguments",
"articles",
"articles-de-blog",
"autre-projet",
"background-type", "background-type",
"badge", "badge",
"barre-de-navigation", "barre-de-navigation",
"bienvenue-sur-hinode",
"block-diagram", "block-diagram",
"blog", "blog",
"body-docs-collapse-15", "body-docs-collapse-15",
"body-docs-collapse-16", "body-docs-collapse-16",
"body-file-collapse-1", "body-file-collapse-1",
"bootstrap-elements",
"bouton", "bouton",
"breadcrumb", "breadcrumb",
"btnTOCShowLess",
"btnTOCShowMore",
"button", "button",
"button-group", "button-group",
"c4-diagram", "c4-diagram",
"callout", "callout",
"card", "card",
"card-group", "card-group",
"cards",
"carousel", "carousel",
"carousel-0", "carousel-0",
"carrousel", "carrousel",
@@ -636,26 +662,38 @@
"command-prompt", "command-prompt",
"comment-nous-partageons-vos-informations", "comment-nous-partageons-vos-informations",
"comment-utilisons-nous-les-cookies-", "comment-utilisons-nous-les-cookies-",
"componenten",
"components",
"composents",
"container", "container",
"content-blocks", "content-blocks",
"cookie-policy",
"cookies-etc", "cookies-etc",
"cta",
"custom-activity", "custom-activity",
"data-quality",
"data-tables", "data-tables",
"derde-artikel",
"deuxième-article",
"docs", "docs",
"documentation", "documentation",
"dropdown-nav-0", "dropdown-nav-0",
"dropdown-panel-3", "dropdown-panel-061524bba81f197181a032e904983272",
"dropdown-panel-7e187675c614319023ef5249655de8a9", "dropdown-panel-0c0ddda05d377af1c0cee87f7c85da67",
"dropdown-panel-c41ebffd7d6c859c099185651c98e657", "dropdown-panel-3c6a067cd80a10d3707200fc8fb84bb3",
"dropdown-panel-cd782977d4cc3557dd801f3b59fa2b2a", "dropdown-panel-4b12c0f69625cb352e0aa7d846f960d8",
"dropdown-panel-e11d337424f2ea942fc8694af8a45fff", "dropdown-panel-6906624fe967e8dffbf4c3446a9e2385",
"dropdown-panel-e226777dabc90f8ed07c75aeddf05969", "dropdown-panel-7351d1dc85bcedcd74309f25472b7548",
"dropdown-panel-7784dd257dba6ab662963774a7bea03d",
"dropdown-panel-c62f4eeaa4277d5c14c486d5c8623ae1",
"dropdown-panel-cfcc43cbefc204c3c8c7487ef6347c27",
"dropdown-panel-d29649da522407a082335b726b32951c",
"eerste-artikel",
"elements-type", "elements-type",
"entity-relationship-diagram", "entity-relationship-diagram",
"example", "example",
"examples", "examples",
"exemple", "exemple",
"exemple-de-projet",
"fa-address-card", "fa-address-card",
"fa-face-frown", "fa-face-frown",
"fa-folder", "fa-folder",
@@ -668,11 +706,17 @@
"fab-medium", "fab-medium",
"fab-whatsapp", "fab-whatsapp",
"fab-x-twitter", "fab-x-twitter",
"faq-8e1dc1566367f67303783ad93f8d7eab", "faq",
"faq-8e1dc1566367f67303783ad93f8d7eab-heading-faq-8e1dc1566367f67303783ad93f8d7eab", "faq-b52462b6a4b2180e01ad67bc52618161",
"faq-8e1dc1566367f67303783ad93f8d7eab-item-0", "faq-b52462b6a4b2180e01ad67bc52618161-heading-faq-b52462b6a4b2180e01ad67bc52618161",
"faq-8e1dc1566367f67303783ad93f8d7eab-item-1", "faq-b52462b6a4b2180e01ad67bc52618161-item-0",
"faq-8e1dc1566367f67303783ad93f8d7eab-item-2", "faq-b52462b6a4b2180e01ad67bc52618161-item-1",
"faq-b52462b6a4b2180e01ad67bc52618161-item-2",
"faq-f38df4740b059c9b2b0e1b696e843ede",
"faq-f38df4740b059c9b2b0e1b696e843ede-heading-faq-f38df4740b059c9b2b0e1b696e843ede",
"faq-f38df4740b059c9b2b0e1b696e843ede-item-0",
"faq-f38df4740b059c9b2b0e1b696e843ede-item-1",
"faq-f38df4740b059c9b2b0e1b696e843ede-item-2",
"fas-1", "fas-1",
"fas-2", "fas-2",
"fas-3", "fas-3",
@@ -683,7 +727,6 @@
"fas-angles-right", "fas-angles-right",
"fas-arrow-left", "fas-arrow-left",
"fas-arrow-right", "fas-arrow-right",
"fas-check",
"fas-chevron-right", "fas-chevron-right",
"fas-circle", "fas-circle",
"fas-circle-check", "fas-circle-check",
@@ -692,6 +735,7 @@
"fas-code", "fas-code",
"fas-divide", "fas-divide",
"fas-ellipsis", "fas-ellipsis",
"fas-expand",
"fas-globe", "fas-globe",
"fas-grip", "fas-grip",
"fas-h", "fas-h",
@@ -700,6 +744,8 @@
"fas-info", "fas-info",
"fas-link", "fas-link",
"fas-magnifying-glass", "fas-magnifying-glass",
"fas-magnifying-glass-minus",
"fas-magnifying-glass-plus",
"fas-moon", "fas-moon",
"fas-rocket", "fas-rocket",
"fas-share-nodes", "fas-share-nodes",
@@ -710,13 +756,14 @@
"fichier", "fichier",
"fil-dariane", "fil-dariane",
"file", "file",
"first-panel", "first-post",
"flowchart", "flowchart",
"footer-docs-collapse-15", "footer-docs-collapse-15",
"footer-docs-collapse-16", "footer-docs-collapse-16",
"footer-file-collapse-1", "footer-file-collapse-1",
"formula-katex", "formula-katex",
"formule-katex", "formule-katex",
"fourth-post-excluded-from-search",
"gantt-diagram", "gantt-diagram",
"gegevenstabellen", "gegevenstabellen",
"git-graph", "git-graph",
@@ -725,6 +772,7 @@
"gérer-les-préférences-des-cookies", "gérer-les-préférences-des-cookies",
"heading", "heading",
"heading-type", "heading-type",
"hero",
"horizontal-cards-with-an-icon", "horizontal-cards-with-an-icon",
"horizontal-cards-with-an-image", "horizontal-cards-with-an-image",
"how-do-we-use-cookies", "how-do-we-use-cookies",
@@ -733,6 +781,7 @@
"illustration-type", "illustration-type",
"image", "image",
"imagekitio", "imagekitio",
"images-locales-et-distantes",
"imgix", "imgix",
"indicateur-de-chargement", "indicateur-de-chargement",
"infobulle", "infobulle",
@@ -743,13 +792,13 @@
"items-type", "items-type",
"kaart", "kaart",
"kbd", "kbd",
"kickstart-your-data-stack-without-coding",
"language-selector", "language-selector",
"leaflet-map-0", "leaflet-map-0",
"lien", "lien",
"liens-vers-des-tiers-et-utilisation-de-vos-informations", "liens-vers-des-tiers-et-utilisation-de-vos-informations",
"link", "link",
"links-type", "links-type",
"local-and-remote-images",
"lottie-animation-0", "lottie-animation-0",
"manage-cookie-preferences", "manage-cookie-preferences",
"map", "map",
@@ -758,7 +807,6 @@
"messages-type", "messages-type",
"mindmap", "mindmap",
"more-type", "more-type",
"move-your-data-into-action",
"nav", "nav",
"nav-0-0", "nav-0-0",
"nav-0-1", "nav-0-1",
@@ -767,12 +815,16 @@
"nav-0-btn-1", "nav-0-btn-1",
"nav-0-btn-2", "nav-0-btn-2",
"nav-nav-0", "nav-nav-0",
"nav-panel-3", "nav-panel-061524bba81f197181a032e904983272",
"nav-panel-7e187675c614319023ef5249655de8a9", "nav-panel-0c0ddda05d377af1c0cee87f7c85da67",
"nav-panel-c41ebffd7d6c859c099185651c98e657", "nav-panel-3c6a067cd80a10d3707200fc8fb84bb3",
"nav-panel-cd782977d4cc3557dd801f3b59fa2b2a", "nav-panel-4b12c0f69625cb352e0aa7d846f960d8",
"nav-panel-e11d337424f2ea942fc8694af8a45fff", "nav-panel-6906624fe967e8dffbf4c3446a9e2385",
"nav-panel-e226777dabc90f8ed07c75aeddf05969", "nav-panel-7351d1dc85bcedcd74309f25472b7548",
"nav-panel-7784dd257dba6ab662963774a7bea03d",
"nav-panel-c62f4eeaa4277d5c14c486d5c8623ae1",
"nav-panel-cfcc43cbefc204c3c8c7487ef6347c27",
"nav-panel-d29649da522407a082335b726b32951c",
"navbar", "navbar",
"navbar-0-collapse", "navbar-0-collapse",
"navbar-mode", "navbar-mode",
@@ -780,72 +832,104 @@
"navbar-sample-collapse", "navbar-sample-collapse",
"navigation", "navigation",
"notification", "notification",
"over-mij",
"overview", "overview",
"panel-3-0", "panel-061524bba81f197181a032e904983272-0",
"panel-3-1", "panel-061524bba81f197181a032e904983272-1",
"panel-3-2", "panel-061524bba81f197181a032e904983272-2",
"panel-3-btn-0", "panel-061524bba81f197181a032e904983272-btn-0",
"panel-3-btn-1", "panel-061524bba81f197181a032e904983272-btn-1",
"panel-3-btn-2", "panel-061524bba81f197181a032e904983272-btn-2",
"panel-7e187675c614319023ef5249655de8a9-0", "panel-0c0ddda05d377af1c0cee87f7c85da67-0",
"panel-7e187675c614319023ef5249655de8a9-1", "panel-0c0ddda05d377af1c0cee87f7c85da67-1",
"panel-7e187675c614319023ef5249655de8a9-2", "panel-0c0ddda05d377af1c0cee87f7c85da67-2",
"panel-7e187675c614319023ef5249655de8a9-btn-0", "panel-0c0ddda05d377af1c0cee87f7c85da67-btn-0",
"panel-7e187675c614319023ef5249655de8a9-btn-1", "panel-0c0ddda05d377af1c0cee87f7c85da67-btn-1",
"panel-7e187675c614319023ef5249655de8a9-btn-2", "panel-0c0ddda05d377af1c0cee87f7c85da67-btn-2",
"panel-c41ebffd7d6c859c099185651c98e657-0", "panel-3c6a067cd80a10d3707200fc8fb84bb3-0",
"panel-c41ebffd7d6c859c099185651c98e657-1", "panel-3c6a067cd80a10d3707200fc8fb84bb3-1",
"panel-c41ebffd7d6c859c099185651c98e657-2", "panel-3c6a067cd80a10d3707200fc8fb84bb3-2",
"panel-c41ebffd7d6c859c099185651c98e657-btn-0", "panel-3c6a067cd80a10d3707200fc8fb84bb3-btn-0",
"panel-c41ebffd7d6c859c099185651c98e657-btn-1", "panel-3c6a067cd80a10d3707200fc8fb84bb3-btn-1",
"panel-c41ebffd7d6c859c099185651c98e657-btn-2", "panel-3c6a067cd80a10d3707200fc8fb84bb3-btn-2",
"panel-cd782977d4cc3557dd801f3b59fa2b2a-0", "panel-4b12c0f69625cb352e0aa7d846f960d8-0",
"panel-cd782977d4cc3557dd801f3b59fa2b2a-1", "panel-4b12c0f69625cb352e0aa7d846f960d8-1",
"panel-cd782977d4cc3557dd801f3b59fa2b2a-2", "panel-4b12c0f69625cb352e0aa7d846f960d8-2",
"panel-cd782977d4cc3557dd801f3b59fa2b2a-btn-0", "panel-4b12c0f69625cb352e0aa7d846f960d8-btn-0",
"panel-cd782977d4cc3557dd801f3b59fa2b2a-btn-1", "panel-4b12c0f69625cb352e0aa7d846f960d8-btn-1",
"panel-cd782977d4cc3557dd801f3b59fa2b2a-btn-2", "panel-4b12c0f69625cb352e0aa7d846f960d8-btn-2",
"panel-e11d337424f2ea942fc8694af8a45fff-0", "panel-6906624fe967e8dffbf4c3446a9e2385-0",
"panel-e11d337424f2ea942fc8694af8a45fff-1", "panel-6906624fe967e8dffbf4c3446a9e2385-1",
"panel-e11d337424f2ea942fc8694af8a45fff-2", "panel-6906624fe967e8dffbf4c3446a9e2385-2",
"panel-e11d337424f2ea942fc8694af8a45fff-btn-0", "panel-6906624fe967e8dffbf4c3446a9e2385-btn-0",
"panel-e11d337424f2ea942fc8694af8a45fff-btn-1", "panel-6906624fe967e8dffbf4c3446a9e2385-btn-1",
"panel-e11d337424f2ea942fc8694af8a45fff-btn-2", "panel-6906624fe967e8dffbf4c3446a9e2385-btn-2",
"panel-e226777dabc90f8ed07c75aeddf05969-0", "panel-7351d1dc85bcedcd74309f25472b7548-0",
"panel-e226777dabc90f8ed07c75aeddf05969-1", "panel-7351d1dc85bcedcd74309f25472b7548-1",
"panel-e226777dabc90f8ed07c75aeddf05969-2", "panel-7351d1dc85bcedcd74309f25472b7548-2",
"panel-e226777dabc90f8ed07c75aeddf05969-btn-0", "panel-7351d1dc85bcedcd74309f25472b7548-btn-0",
"panel-e226777dabc90f8ed07c75aeddf05969-btn-1", "panel-7351d1dc85bcedcd74309f25472b7548-btn-1",
"panel-e226777dabc90f8ed07c75aeddf05969-btn-2", "panel-7351d1dc85bcedcd74309f25472b7548-btn-2",
"panel-7784dd257dba6ab662963774a7bea03d-0",
"panel-7784dd257dba6ab662963774a7bea03d-1",
"panel-7784dd257dba6ab662963774a7bea03d-2",
"panel-7784dd257dba6ab662963774a7bea03d-btn-0",
"panel-7784dd257dba6ab662963774a7bea03d-btn-1",
"panel-7784dd257dba6ab662963774a7bea03d-btn-2",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-0",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-1",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-2",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-btn-0",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-btn-1",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-btn-2",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-0",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-1",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-2",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-btn-0",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-btn-1",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-btn-2",
"panel-d29649da522407a082335b726b32951c-0",
"panel-d29649da522407a082335b726b32951c-1",
"panel-d29649da522407a082335b726b32951c-2",
"panel-d29649da522407a082335b726b32951c-btn-0",
"panel-d29649da522407a082335b726b32951c-btn-1",
"panel-d29649da522407a082335b726b32951c-btn-2",
"panels",
"persona", "persona",
"pie-chart", "pie-chart",
"pills", "pills",
"politique-de-confidentialité",
"politique-de-cookies",
"premier-article",
"privacy-policy",
"projecten", "projecten",
"projects", "projects",
"projets", "projets",
"publication", "publication",
"quadrant-chart", "quadrant-chart",
"quatrième-article-exclu-de-la-recherche",
"que-sont-les-cookies-", "que-sont-les-cookies-",
"release", "release",
"releases",
"requirement-chart", "requirement-chart",
"réduire", "réduire",
"second-panel", "sample-project",
"second-post",
"security", "security",
"separator",
"sequence-diagram", "sequence-diagram",
"shortcode-with-controls-and-frontmatter",
"spinner", "spinner",
"stacked-cards-with-an-icon", "stacked-cards-with-an-icon",
"stacked-cards-with-an-image", "stacked-cards-with-an-image",
"stacked-video-message",
"start-using-your-data-immediately",
"state-diagram", "state-diagram",
"sub", "sub",
"sup", "sup",
"sécurité", "sécurité",
"table", "table",
"tabs", "tabs",
"tap-into-the-latest-thinking-from-infusal-and-stay-in-the-lead",
"third-panel",
"third-party-links--use-of-your-information", "third-party-links--use-of-your-information",
"third-post",
"timeline", "timeline",
"title", "title",
"toast", "toast",
@@ -855,21 +939,28 @@
"toast-example-2", "toast-example-2",
"toast-message-email-4", "toast-message-email-4",
"toc-collapse", "toc-collapse",
"toc-collapse-items",
"tooltip", "tooltip",
"turn-boring-into-brilliant", "troisième-article",
"tweede-artikel",
"types-de-cookies-que-nous-utilisons", "types-de-cookies-que-nous-utilisons",
"types-of-cookies-we-use", "types-of-cookies-we-use",
"underline", "underline",
"user-journey", "user-journey",
"video", "video",
"video-message",
"video-type", "video-type",
"vidéo", "vidéo",
"vierde-artikel",
"voorbeeldproject",
"vos-droits", "vos-droits",
"welcome-to-hinode", "welcome-to-hinode",
"welkom-bij-hinode",
"what-are-cookies", "what-are-cookies",
"works-seamlessly-with-your-current-tech-stack",
"xy-chart", "xy-chart",
"your-rights" "your-rights",
"à-propos",
"éléments-bootstrap"
] ]
} }
} }

View File

@@ -0,0 +1,31 @@
{{/*
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
*/}}
<!-- TODO: this partial is not properly mounted for the exampleSite, possibly a bug with Hugo -->
{{/* Initialize arguments */}}
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "script" "args" .) -}}
{{- if or $args.err $args.warnmsg -}}
{{- partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "templates/script.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
) -}}
{{- end -}}
{{/* Initialize local arguments */}}
{{- $category := cond (ne $args.category "other") $args.category "" -}}
{{/* Main code */}}
{{- if not $args.err -}}
<script src="{{ $args.link }}"
{{- with $args.scriptType }}{{ printf ` type="%s"` . | safeHTMLAttr }}{{ end -}}
{{- with $category }} data-category="{{ . }}"{{ end -}}
{{- with $args.integrity }} integrity="{{ . }}" crossorigin="anonymous"{{ end }}
{{- with $args.state }} {{ . | safeHTMLAttr }}{{ end -}}></script>
{{- end -}}

33
go.mod
View File

@@ -3,22 +3,19 @@ module github.com/gethinode/hinode
go 1.19 go 1.19
require ( require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect github.com/airbnb/lottie-web v5.13.0+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 // indirect github.com/cloudcannon/bookshop/hugo/v3 v3.16.5 // indirect
github.com/gethinode/mod-bootstrap v1.3.3 // indirect github.com/gethinode/mod-bootstrap v1.3.4 // indirect
github.com/gethinode/mod-csp v1.0.7 // indirect github.com/gethinode/mod-csp v1.0.8 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.1.1 // indirect github.com/gethinode/mod-flexsearch/v3 v3.0.0 // indirect
github.com/gethinode/mod-fontawesome/v2 v2.1.1 // indirect github.com/gethinode/mod-fontawesome/v2 v2.1.2 // indirect
github.com/gethinode/mod-google-analytics v1.3.2 // indirect github.com/gethinode/mod-google-analytics v1.3.3 // indirect
github.com/gethinode/mod-katex v1.1.3 // indirect github.com/gethinode/mod-katex v1.1.4 // indirect
github.com/gethinode/mod-leaflet v1.3.0 // indirect github.com/gethinode/mod-leaflet v1.3.1 // indirect
github.com/gethinode/mod-lottie v1.6.0 // indirect github.com/gethinode/mod-lottie v1.6.1 // indirect
github.com/gethinode/mod-mermaid v1.1.23 // indirect github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect
github.com/gethinode/mod-mermaid/v2 v2.0.1 // indirect github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect
github.com/gethinode/mod-simple-datatables v1.1.7 // indirect github.com/gethinode/mod-utils/v4 v4.17.0 // indirect
github.com/gethinode/mod-simple-datatables/v2 v2.0.1 // indirect github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect
github.com/gethinode/mod-utils/v3 v3.3.1 // indirect github.com/twbs/bootstrap v5.3.8+incompatible // indirect
github.com/gethinode/mod-utils/v4 v4.11.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a // indirect
github.com/twbs/bootstrap v5.3.7+incompatible // indirect
) )

60
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 h1:Ldogtlhiucf7mMsgisyxSBY0qunV44+lpa9Icy2KoQc=
github.com/airbnb/lottie-web v5.12.2+incompatible/go.mod h1:nTss557UK9FGnp8QYlCMO29tjUHwbdAHG/DprbGfHGE= 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 h1:QNLtpTINvXkxAG/RQVpdXzxtFjG6YAmnBr7qbOD5GF8=
github.com/cloudcannon/bookshop/hugo/v3 v3.14.0/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8= github.com/cloudcannon/bookshop/hugo/v3 v3.14.0/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.0 h1:Fb76ABHqTyPl9Z2QqYJCwiMBKPyShOe1EnZxXzW3RVo= github.com/cloudcannon/bookshop/hugo/v3 v3.16.0 h1:Fb76ABHqTyPl9Z2QqYJCwiMBKPyShOe1EnZxXzW3RVo=
@@ -8,6 +10,10 @@ 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.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 h1:/Z66xKILl1SNGQePHZCnxo6vFgED7AGI600OSPotXj4=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8= 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/cloudcannon/bookshop/hugo/v3 v3.16.5 h1:RmqeSUQMPyi31YC6SaFNE2ubfFy13qVj5/lo+MCT+u8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.5/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/gethinode/mod-bootstrap v1.0.1 h1:NDZar+UEL42YHCvzzO+jVgqkZU5INA12BpjX3y6U4I4= 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.0.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU= github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU=
@@ -36,6 +42,8 @@ github.com/gethinode/mod-bootstrap v1.3.2 h1:mf9Qgr+xHZeHjZGYFdurETfdEKKldB158fp
github.com/gethinode/mod-bootstrap v1.3.2/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ= github.com/gethinode/mod-bootstrap v1.3.2/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.3 h1:k7RrZM3zstWA5xg55yLedb4T7WRBXvn77gv7OwBQ0d4= github.com/gethinode/mod-bootstrap v1.3.3 h1:k7RrZM3zstWA5xg55yLedb4T7WRBXvn77gv7OwBQ0d4=
github.com/gethinode/mod-bootstrap v1.3.3/go.mod h1:MkvQgiA3N2NFiW57TTU60Rn4N6oZjvlBIVgrJE9M0WI= github.com/gethinode/mod-bootstrap v1.3.3/go.mod h1:MkvQgiA3N2NFiW57TTU60Rn4N6oZjvlBIVgrJE9M0WI=
github.com/gethinode/mod-bootstrap v1.3.4 h1:rBfyUmdslxL+RX76/5hyJYPacfrt6OYrciNgk/T0NWk=
github.com/gethinode/mod-bootstrap v1.3.4/go.mod h1:MkvQgiA3N2NFiW57TTU60Rn4N6oZjvlBIVgrJE9M0WI=
github.com/gethinode/mod-csp v1.0.0 h1:Obp0MVMBjIPZbKDh6Ejl5pImDG7yERMLf2or9UVnwPA= github.com/gethinode/mod-csp v1.0.0 h1:Obp0MVMBjIPZbKDh6Ejl5pImDG7yERMLf2or9UVnwPA=
github.com/gethinode/mod-csp v1.0.0/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg= github.com/gethinode/mod-csp v1.0.0/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.1 h1:IUUwPc41UNw7DAFuJ75nNPzhkPExenxXU7susdLaxdQ= github.com/gethinode/mod-csp v1.0.1 h1:IUUwPc41UNw7DAFuJ75nNPzhkPExenxXU7susdLaxdQ=
@@ -52,6 +60,8 @@ github.com/gethinode/mod-csp v1.0.6 h1:ufEKQldQe9ZCXbENTpwqVlYnPRgVv3WDhPjur5OLU
github.com/gethinode/mod-csp v1.0.6/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg= github.com/gethinode/mod-csp v1.0.6/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.7 h1:V4D8vYA/jJ2Nv9kPz5gt96fkVd3NtT7sBqVhnG5TvAU= github.com/gethinode/mod-csp v1.0.7 h1:V4D8vYA/jJ2Nv9kPz5gt96fkVd3NtT7sBqVhnG5TvAU=
github.com/gethinode/mod-csp v1.0.7/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg= github.com/gethinode/mod-csp v1.0.7/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.8 h1:36bWS7oW5KoPp0ywJXKmfMdM33c/7EPBLjzut0njTgE=
github.com/gethinode/mod-csp v1.0.8/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA= github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4= github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4= github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
@@ -110,6 +120,12 @@ github.com/gethinode/mod-flexsearch/v2 v2.1.0 h1:NzCruYAKQBMM1DwFFoH7/tzqmItR6sK
github.com/gethinode/mod-flexsearch/v2 v2.1.0/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE= github.com/gethinode/mod-flexsearch/v2 v2.1.0/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.1.1 h1:Vcr0aAkqPdavK183L8nr0dF7ngfY9EUDG4ZpmEK815M= github.com/gethinode/mod-flexsearch/v2 v2.1.1 h1:Vcr0aAkqPdavK183L8nr0dF7ngfY9EUDG4ZpmEK815M=
github.com/gethinode/mod-flexsearch/v2 v2.1.1/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg= github.com/gethinode/mod-flexsearch/v2 v2.1.1/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v2 v2.1.2 h1:B/onreHG/qzIqMo9YYiRk4WWM+GgFj1FSGHSgUpCvJ0=
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 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI= github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk= github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
@@ -162,6 +178,8 @@ github.com/gethinode/mod-fontawesome/v2 v2.1.0 h1:kRQ/4ady4Ih/m3bJ/1+/rkFhunuzjN
github.com/gethinode/mod-fontawesome/v2 v2.1.0/go.mod h1:Jhwzi3KQI3fYn1hPNPJFCk+kcz80s8ONT4FmwLTXH2c= github.com/gethinode/mod-fontawesome/v2 v2.1.0/go.mod h1:Jhwzi3KQI3fYn1hPNPJFCk+kcz80s8ONT4FmwLTXH2c=
github.com/gethinode/mod-fontawesome/v2 v2.1.1 h1:EieVCvEiT0ulXpEHY4kCLJvZCIvGkupIVyoCRTidrvo= github.com/gethinode/mod-fontawesome/v2 v2.1.1 h1:EieVCvEiT0ulXpEHY4kCLJvZCIvGkupIVyoCRTidrvo=
github.com/gethinode/mod-fontawesome/v2 v2.1.1/go.mod h1:zukv88wXqquEvTJJ9mWWk8Ia+9INnA41wYqusf2RcHA= github.com/gethinode/mod-fontawesome/v2 v2.1.1/go.mod h1:zukv88wXqquEvTJJ9mWWk8Ia+9INnA41wYqusf2RcHA=
github.com/gethinode/mod-fontawesome/v2 v2.1.2 h1:v1aHhbLLwe/05zRHnx9qGqh6b3toDzcLzuv61rWAoGU=
github.com/gethinode/mod-fontawesome/v2 v2.1.2/go.mod h1:zukv88wXqquEvTJJ9mWWk8Ia+9INnA41wYqusf2RcHA=
github.com/gethinode/mod-google-analytics v1.0.0 h1:fly42RQ69bdyJe8WFefsBIo7WMIXkd3wZn32kyAr4h4= github.com/gethinode/mod-google-analytics v1.0.0 h1:fly42RQ69bdyJe8WFefsBIo7WMIXkd3wZn32kyAr4h4=
github.com/gethinode/mod-google-analytics v1.0.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII= github.com/gethinode/mod-google-analytics v1.0.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.0.1 h1:zbmOdnAhhFCA7qWw7fnR46biWhqW2r06sIaTWyhB5R0= github.com/gethinode/mod-google-analytics v1.0.1 h1:zbmOdnAhhFCA7qWw7fnR46biWhqW2r06sIaTWyhB5R0=
@@ -190,6 +208,8 @@ github.com/gethinode/mod-google-analytics v1.3.1 h1:WPXrsO6Kpp0k8PYY9a1JyiZgYGMl
github.com/gethinode/mod-google-analytics v1.3.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII= github.com/gethinode/mod-google-analytics v1.3.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.2 h1:W4caxWkSor/BFfOEGDDMp+7RajO/Jh1bE7LXxPqLE3A= github.com/gethinode/mod-google-analytics v1.3.2 h1:W4caxWkSor/BFfOEGDDMp+7RajO/Jh1bE7LXxPqLE3A=
github.com/gethinode/mod-google-analytics v1.3.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII= github.com/gethinode/mod-google-analytics v1.3.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.3 h1:iX2FtXajykfHWJf7MXCQmpezqXgQUADNTeglU81QKpw=
github.com/gethinode/mod-google-analytics v1.3.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc= github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs= github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
@@ -216,6 +236,8 @@ github.com/gethinode/mod-katex v1.1.2 h1:TbeVIWeG5TqldlVxpM1upOWj11RljXy4fhpOQIw
github.com/gethinode/mod-katex v1.1.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.1.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.3 h1:fRgoBZVCJeLUFqGrGweg4FhCcbGsyqNRmd9WezG/CUQ= github.com/gethinode/mod-katex v1.1.3 h1:fRgoBZVCJeLUFqGrGweg4FhCcbGsyqNRmd9WezG/CUQ=
github.com/gethinode/mod-katex v1.1.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.1.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.4 h1:HWc45uHKX2JhI624UnA46LCZkLGhSbaq+zAHt9e57zw=
github.com/gethinode/mod-katex v1.1.4/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk= github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk= github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc= github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
@@ -242,6 +264,8 @@ github.com/gethinode/mod-leaflet v1.2.1 h1:p0bKi+F5vbXwYknBvFEN9KymK8PRqKaYhVz5O
github.com/gethinode/mod-leaflet v1.2.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE= github.com/gethinode/mod-leaflet v1.2.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.3.0 h1:rRjuuW2KVJjnrBrFIOxxHxkB6RPdmlTivBlvceBG3Fk= github.com/gethinode/mod-leaflet v1.3.0 h1:rRjuuW2KVJjnrBrFIOxxHxkB6RPdmlTivBlvceBG3Fk=
github.com/gethinode/mod-leaflet v1.3.0/go.mod h1:F/XR1lYKENw91u+IC4NXQT6dbCyJlSJUPClMVpBK8Tw= github.com/gethinode/mod-leaflet v1.3.0/go.mod h1:F/XR1lYKENw91u+IC4NXQT6dbCyJlSJUPClMVpBK8Tw=
github.com/gethinode/mod-leaflet v1.3.1 h1:nG6lQ7LZ2E/TGok/VGo5FCX+OVoHvxrYszi2FvQimRg=
github.com/gethinode/mod-leaflet v1.3.1/go.mod h1:F/XR1lYKENw91u+IC4NXQT6dbCyJlSJUPClMVpBK8Tw=
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE= github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs= github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0= github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
@@ -300,10 +324,20 @@ github.com/gethinode/mod-lottie v1.5.14 h1:17wmpi4XQzmwSB2HKNVa7c6ZzULrRnpKdowOF
github.com/gethinode/mod-lottie v1.5.14/go.mod h1:VrjjmrwP/NIrLW7oDQyEAHdbeIRQfbr5BKjgKvI9Al4= github.com/gethinode/mod-lottie v1.5.14/go.mod h1:VrjjmrwP/NIrLW7oDQyEAHdbeIRQfbr5BKjgKvI9Al4=
github.com/gethinode/mod-lottie v1.6.0 h1:O0ld9Q1rBWKb9HzuCuGPBfCegUcIqczMGNW2O/VjVYk= github.com/gethinode/mod-lottie v1.6.0 h1:O0ld9Q1rBWKb9HzuCuGPBfCegUcIqczMGNW2O/VjVYk=
github.com/gethinode/mod-lottie v1.6.0/go.mod h1:jZy8EJ6ldLnOXhpzayJ2STZ4hzykqkguFHWpN4aHxMo= github.com/gethinode/mod-lottie v1.6.0/go.mod h1:jZy8EJ6ldLnOXhpzayJ2STZ4hzykqkguFHWpN4aHxMo=
github.com/gethinode/mod-lottie v1.6.1 h1:0wkQ7yMiwFvkhzsBoO/RhfKJ7ru2EzoQfYrwnC6qoxg=
github.com/gethinode/mod-lottie v1.6.1/go.mod h1:Buaa3A4fBIE4mkyQhnjMlassQQ5j8gRxQ4QnN7I1oGc=
github.com/gethinode/mod-mermaid v1.1.23 h1:DA5iIdopb7f3wC+bfZ7J5HhcRUuVI/2j1+W/j5L/wwQ= github.com/gethinode/mod-mermaid v1.1.23 h1:DA5iIdopb7f3wC+bfZ7J5HhcRUuVI/2j1+W/j5L/wwQ=
github.com/gethinode/mod-mermaid v1.1.23/go.mod h1:rw6vrY9DpdJblwFwLuXCdy2kBHxMf6gGKWeetwfTSfc= github.com/gethinode/mod-mermaid v1.1.23/go.mod h1:rw6vrY9DpdJblwFwLuXCdy2kBHxMf6gGKWeetwfTSfc=
github.com/gethinode/mod-mermaid/v2 v2.0.1 h1:QcahIFCgmYAGsukQ0d+/L4IJtDwgXgv0WzilZ9poI9o= github.com/gethinode/mod-mermaid/v2 v2.0.1 h1:QcahIFCgmYAGsukQ0d+/L4IJtDwgXgv0WzilZ9poI9o=
github.com/gethinode/mod-mermaid/v2 v2.0.1/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI= github.com/gethinode/mod-mermaid/v2 v2.0.1/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v2 v2.0.2 h1:uRHS3RyrMBK/hhDbEX39HnYkypSvSeci0kSyQaSdsKU=
github.com/gethinode/mod-mermaid/v2 v2.0.2/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v2 v2.0.3 h1:vWiAE640GAzkQCj0NFyn1VtnpFwiJ5Bljm2YgoQ3qG4=
github.com/gethinode/mod-mermaid/v2 v2.0.3/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v3 v3.0.0 h1:pFF2soB3ZQcY4KuMzDprcSv2zdC3yTKywNId4yhcPOA=
github.com/gethinode/mod-mermaid/v3 v3.0.0/go.mod h1:+8p5KbFjIkB/I77Gpd8LTQgmNrRBfJpmKGnjclzwJFo=
github.com/gethinode/mod-mermaid/v3 v3.0.1 h1:h4v3QvGpSln9PDbWccSktULq9FbRZ57JN4Lp+gVjvVI=
github.com/gethinode/mod-mermaid/v3 v3.0.1/go.mod h1:rbI8IKFfKVGqTY/eJnuNJwzB5kSjaEUNX0NRHc4rBfA=
github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ= github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ=
github.com/gethinode/mod-simple-datatables v1.0.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw= github.com/gethinode/mod-simple-datatables v1.0.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA= github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
@@ -344,6 +378,8 @@ github.com/gethinode/mod-simple-datatables v1.1.7 h1:wCY2bWFUxRHWbWzb/zefCACooCS
github.com/gethinode/mod-simple-datatables v1.1.7/go.mod h1:FjkIEuxqeLLEqqDcz/nHAGHsRfV7EJP5Uhk4kYD8okY= github.com/gethinode/mod-simple-datatables v1.1.7/go.mod h1:FjkIEuxqeLLEqqDcz/nHAGHsRfV7EJP5Uhk4kYD8okY=
github.com/gethinode/mod-simple-datatables/v2 v2.0.1 h1:ZwdI96n8dM2VLwdM/x+Vj7sa4tfiAUnkDj39jn+vkXc= github.com/gethinode/mod-simple-datatables/v2 v2.0.1 h1:ZwdI96n8dM2VLwdM/x+Vj7sa4tfiAUnkDj39jn+vkXc=
github.com/gethinode/mod-simple-datatables/v2 v2.0.1/go.mod h1:mmf1AOxpHdSRQnW2k7ExVWKTyzbG2hpsDRssmyASNb8= github.com/gethinode/mod-simple-datatables/v2 v2.0.1/go.mod h1:mmf1AOxpHdSRQnW2k7ExVWKTyzbG2hpsDRssmyASNb8=
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 h1:6HkJkHg754HG2P5FTXiRePEnx/p65yfuqizB+gixV6k=
github.com/gethinode/mod-simple-datatables/v2 v2.0.2/go.mod h1:bmXZJeTQ+GZJ83vasFBTS3JSm09Oa/jDX9T187stdnA=
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY= github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE= github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE= github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
@@ -464,6 +500,24 @@ github.com/gethinode/mod-utils/v4 v4.10.0 h1:CfVa57r52wXd0bUqSJlpux2cloHQNBBe13a
github.com/gethinode/mod-utils/v4 v4.10.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4= github.com/gethinode/mod-utils/v4 v4.10.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.11.0 h1:24RObT99j/jiQnCyHvXahJHIA8e8uQuBb1pUIRJOxpA= github.com/gethinode/mod-utils/v4 v4.11.0 h1:24RObT99j/jiQnCyHvXahJHIA8e8uQuBb1pUIRJOxpA=
github.com/gethinode/mod-utils/v4 v4.11.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4= github.com/gethinode/mod-utils/v4 v4.11.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.11.1 h1:12CzZjyLOb/FSXbX8mDAWqs8y4OCXOEavKww7T4V9jU=
github.com/gethinode/mod-utils/v4 v4.11.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.12.0 h1:5sSfYIxZCeQbXLoZdS//rl6thwLwtXuvM0ujaWKyPmc=
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/gethinode/mod-utils/v4 v4.16.1 h1:HjV6TONU7ZbXC2xZIPRupjKOUORddtQH8bb4dnULY1U=
github.com/gethinode/mod-utils/v4 v4.16.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.17.0 h1:nDyXpZ0mCtf3ZML8G6bjeYJsI7Ne/Ze8rEWEa9zh6CI=
github.com/gethinode/mod-utils/v4 v4.17.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 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU= github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg= github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
@@ -486,6 +540,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-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 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-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 h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ= github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=
@@ -496,3 +554,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.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 h1:ea1W8TOWZFkqSK2M0McpgzLiUQVru3bz8aHb0j/XtuM=
github.com/twbs/bootstrap v5.3.7+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= 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", "footer",
"form", "form",
"head", "head",
"hr",
"html", "html",
"img", "img",
"input", "input",
@@ -56,6 +57,7 @@
"col-md-2", "col-md-2",
"col-md-6", "col-md-6",
"col-md-8", "col-md-8",
"col-md-auto",
"col-sm-12", "col-sm-12",
"collapse", "collapse",
"collapsed", "collapsed",
@@ -64,12 +66,14 @@
"d-flex", "d-flex",
"d-inline", "d-inline",
"d-md-block", "d-md-block",
"d-md-flex",
"d-md-none", "d-md-none",
"d-none", "d-none",
"d-sm-block", "d-sm-block",
"d-sm-none", "d-sm-none",
"display-1", "display-1",
"display-4", "display-4",
"dropdown-divider-bg",
"emphasis", "emphasis",
"end-0", "end-0",
"fa", "fa",
@@ -82,10 +86,12 @@
"fa-fw", "fa-fw",
"fa-github", "fa-github",
"fa-linkedin", "fa-linkedin",
"fa-magnifying-glass",
"fa-medium", "fa-medium",
"fa-moon", "fa-moon",
"fa-sun", "fa-sun",
"fab", "fab",
"fade",
"fas", "fas",
"fixed-top", "fixed-top",
"flex-column", "flex-column",
@@ -97,6 +103,7 @@
"fw-30", "fw-30",
"fw-bold", "fw-bold",
"h-100", "h-100",
"h-50",
"hero", "hero",
"hero-content", "hero-content",
"hero-image", "hero-image",
@@ -120,15 +127,21 @@
"main-nav-toggler", "main-nav-toggler",
"me-auto", "me-auto",
"middle-bar", "middle-bar",
"modal",
"modal-body",
"modal-content",
"modal-dialog",
"modal-dialog-centered",
"modal-dialog-scrollable",
"modal-header",
"modal-lg",
"mode-switch", "mode-switch",
"ms-auto", "ms-auto",
"ms-md-3",
"mt-3", "mt-3",
"mt-4",
"mt-5", "mt-5",
"mt-md-0",
"mx-auto", "mx-auto",
"mx-md-0", "mx-md-0",
"mx-md-2",
"my-auto", "my-auto",
"my-md-auto", "my-md-auto",
"nav-item", "nav-item",
@@ -139,8 +152,11 @@
"navbar-container", "navbar-container",
"navbar-expand-md", "navbar-expand-md",
"navbar-fixed-top", "navbar-fixed-top",
"navbar-fs-6",
"navbar-md-fs",
"navbar-mode-selector", "navbar-mode-selector",
"navbar-nav", "navbar-nav",
"navbar-nav-scroll",
"navbar-toggler", "navbar-toggler",
"no-js", "no-js",
"order-0", "order-0",
@@ -159,18 +175,21 @@
"pt-md-0", "pt-md-0",
"px-4", "px-4",
"px-xxl-0", "px-xxl-0",
"py-2",
"py-3", "py-3",
"py-4", "py-4",
"py-md-1",
"rounded", "rounded",
"row", "row",
"row-cols-1", "row-cols-1",
"row-cols-2", "row-cols-2",
"row-cols-sm-3", "row-cols-sm-3",
"search", "search",
"search-background",
"search-input", "search-input",
"search-modal",
"search-suggestions", "search-suggestions",
"section-cover", "section-cover",
"shadow",
"svg-inline--fa", "svg-inline--fa",
"text-", "text-",
"text-body", "text-body",
@@ -185,7 +204,9 @@
"toast-container", "toast-container",
"toast-header", "toast-header",
"toggler-icon", "toggler-icon",
"top-bar" "top-bar",
"vr",
"w-100"
], ],
"ids": [ "ids": [
"container", "container",
@@ -196,11 +217,14 @@
"fas-angle-left", "fas-angle-left",
"fas-chevron-right", "fas-chevron-right",
"fas-ellipsis", "fas-ellipsis",
"fas-magnifying-glass",
"fas-moon", "fas-moon",
"fas-sun", "fas-sun",
"navbar-0-collapse", "navbar-0-collapse",
"navbar-mode", "navbar-mode",
"navbar-mode-checkbox", "navbar-mode-checkbox",
"search-input-modal",
"search-modal",
"toast-container", "toast-container",
"toast-copied-code-message", "toast-copied-code-message",
"welcome-to-hinode" "welcome-to-hinode"

View File

@@ -101,6 +101,10 @@
translation: "See also" translation: "See also"
- id: sectionMenu - id: sectionMenu
translation: "Select a topic" translation: "Select a topic"
- id: tocShowMore
translation: "Show {{ . }} more"
- id: tocShowLess
translation: "Show less"
# Sidebar # Sidebar
- id: toggleSidebar - id: toggleSidebar

View File

@@ -99,6 +99,10 @@
translation: "Zie ook" translation: "Zie ook"
- id: sectionMenu - id: sectionMenu
translation: "Selecteer een onderwerp" translation: "Selecteer een onderwerp"
- id: tocShowMore
translation: "Toon {{ . }} meer"
- id: tocShowLess
translation: "Toon minder"
# Sidebar # Sidebar
- id: toggleSidebar - id: toggleSidebar

View File

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

View File

@@ -1,17 +0,0 @@
{{ $text := chomp .Text }}
{{ if site.Params.main.titleCase }}{{ $text = title $text }}{{ end }}
{{ if eq page.RelPermalink "/en/privacy/" }}
{{ warnf "title: %s" (.Text | safeHTML) }}
{{ end }}
{{ if and site.Params.navigation.anchor $text }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading">
{{- $text | safeHTML -}}
<a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}">
{{- partial "assets/icon.html" (dict "icon" "fas link anchor") }}
</a>
</h{{ .Level }}>
{{ else }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ $text | safeHTML }}</h{{ .Level }}>
{{ end }}

View File

@@ -1,13 +1,14 @@
{{ $class := .Attributes.class }}
{{ $text := chomp .Text }} {{ $text := chomp .Text }}
{{ if site.Params.main.titleCase }}{{ $text = (title ($text | htmlUnescape)) | htmlEscape }}{{ end }} {{ if site.Params.main.titleCase }}{{ $text = (title ($text | htmlUnescape)) | htmlEscape }}{{ end }}
{{ if and site.Params.navigation.anchor $text }} {{ if and site.Params.navigation.anchor $text }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading"> <h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading {{ with $class }}{{ . }}{{ end }}">
{{- $text | safeHTML -}} {{- $text | safeHTML -}}
<a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}"> <a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}">
{{- partial "assets/icon.html" (dict "icon" "fas link anchor") }} {{- partial "assets/icon.html" (dict "icon" "fas link anchor") }}
</a> </a>
</h{{ .Level }}> </h{{ .Level }}>
{{ else }} {{ else }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ $text | safeHTML }}</h{{ .Level }}> <h{{ .Level }} id="{{ .Anchor | safeURL }}" {{ with $class }} class="{{ . }}"{{ end }}>{{ $text | safeHTML }}</h{{ .Level }}>
{{ end }} {{ end }}

View File

@@ -84,7 +84,7 @@
{{- $params := dict -}} {{- $params := dict -}}
{{/* regular page */}} {{/* regular page */}}
{{- if and $element.RelPermalink $element.File -}} {{- if and $element.RelPermalink $element.File -}}
{{- $params = merge $params (dict "path" $element.File.Path) -}} {{- $params = merge $params (dict "path" $element.Path) -}}
{{/* headless page */}} {{/* headless page */}}
{{- else -}} {{- else -}}
{{- $thumbnail := "" -}} {{- $thumbnail := "" -}}
@@ -171,7 +171,7 @@
{{- $cardWrapper = printf "card-block card-block-%d" (int $size) -}} {{- $cardWrapper = printf "card-block card-block-%d" (int $size) -}}
{{- end -}} {{- end -}}
{{/*add col-$width */}} {{/* add col-$width */}}
<div class="{{ with $cardWrapper }}{{ . }}{{ else }}col{{ end }}"> <div class="{{ with $cardWrapper }}{{ . }}{{ else }}col{{ end }}">
{{- if $args.spacer -}}<div class="spacer"></div>{{ end -}} {{- if $args.spacer -}}<div class="spacer"></div>{{ end -}}
{{- partial $args.hook $params -}} {{- partial $args.hook $params -}}
@@ -197,9 +197,14 @@
{{- $href = printf "%s/" $href -}} {{- $href = printf "%s/" $href -}}
{{- end -}} {{- end -}}
<div class="mt-{{ $padding.y }} w-100"> <div class="mt-{{ $padding.y }} w-100">
<a class="btn btn-outline-primary" href="{{ $href | safeURL }}" role="button"> {{ partial "assets/button.html" (dict
{{ $args.hrefTitle }} "href" $href
</a> "title" $args.hrefTitle
"color" "primary"
"outline" true
"link-type" $args.moreLinkType
"icon" $args.moreLinkIcon
) }}
</div> </div>
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

View File

@@ -6,17 +6,38 @@
{{ $error := false }} {{ $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 */}} {{/* Inline partial to render the card's body */}}
{{- define "_partials/inline/card-body.html" -}} {{- define "_partials/inline/card-body.html" -}}
{{- $title := .title -}} {{- $title := .title -}}
{{- $href := .href -}} {{- $href := .href -}}
{{- $color := .color -}} {{- $color := .color -}}
{{- $description := .description -}} {{- $description := .description -}}
{{- $button := .button -}} {{- $links := .links -}}
{{- if $href -}} {{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link"> <a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
<p class="card-title fs-lg-5 fs-6">{{ $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 }} {{ with $description }}
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}"> <div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
{{ . | safeHTML }} {{ . | safeHTML }}
@@ -25,7 +46,12 @@
</a> </a>
{{- else -}} {{- else -}}
<div> <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 -}} {{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
</div> </div>
{{- end -}} {{- end -}}
@@ -168,7 +194,7 @@
-}} -}}
{{/* Main code */}} {{/* Main code */}}
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }} h-100">{{ end }} {{ if or (gt $args.gutter "0") ($args.wrapper) }}<div class="{{ with $args.gutter }}g-{{ . }}{{ end }} {{ $args.wrapper }}">{{ end }}
{{ $stack := "" }} {{ $stack := "" }}
@@ -228,7 +254,7 @@
"href" $href "href" $href
"color" $args.color "color" $args.color
"description" $description "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 $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
{{ if and $href $args.button }} {{ 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 }}> <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 $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 }} {{ 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 }} {{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) -}}{{ end }}
</div> </div>
{{ if $args.button }} {{ if $args.button }}
@@ -301,4 +333,4 @@
</div> </div>
{{- end -}} {{- end -}}
{{ if or (ne $args.gutter "0") ($args.wrapper) }}</div>{{ end }} {{ if or (gt $args.gutter "0") ($args.wrapper) }}</div>{{ end }}

View File

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

View File

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

View File

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

View File

@@ -34,7 +34,7 @@
{{/* Retrieve the relevant context page, either current page or page identified by section */}} {{/* Retrieve the relevant context page, either current page or page identified by section */}}
{{ $sectionPage := $args.page | default page }} {{ $sectionPage := $args.page | default page }}
{{ if $args.section }} {{ if $args.section }}
{{ $sectionPage = site.GetPage "section" $args.section }} {{ $sectionPage = site.GetPage $args.section }}
{{ if not $sectionPage }} {{ if not $sectionPage }}
{{ warnf "Cannot find section: %s" $args.section }} {{ warnf "Cannot find section: %s" $args.section }}
{{ end }} {{ end }}

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 */}} {{/* TODO: consider to drop style arg */}}
{{/* Inline partial to render the color mode switcher */}} {{- define "_partials/inline/divider.html" -}}
{{- 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" -}}
{{- $breakpoint := .breakpoint -}} {{- $breakpoint := .breakpoint -}}
{{- $collapsed := .collapsed -}} <li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $breakpoint }}-block me-auto">
{{- $page := .page -}} <div class="vr d-none d-md-flex h-100 mx-md-2"></div>
{{- $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> </li>
<li><hr class="dropdown-divider-bg"></li>
{{- end -}} {{- end -}}
{{/* Initialize arguments */}} {{/* Initialize arguments */}}
@@ -81,6 +28,9 @@
{{/* Initialize global variables */}} {{/* Initialize global variables */}}
{{- $padding := partial "utilities/GetPadding.html" (dict "section" "navigation") -}} {{- $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 */}} {{/* Initialize local arguments */}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}} {{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
@@ -103,10 +53,15 @@
{{- $overlayMode := $args.overlayMode | default "dark" -}} {{- $overlayMode := $args.overlayMode | default "dark" -}}
{{- if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }} {{- if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }}
{{- $color := $args.color | default "" -}} {{- $color := $args.color | default "" -}}
{{- $search := $args.search | default site.Params.navigation.search -}} {{- $enableDarkMode := .mode | default (or site.Params.main.enableDarkMode site.Params.main.colorMode.enabled) -}}
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
{{- $enableDarkMode := .mode | default site.Params.main.enableDarkMode -}}
{{- $modes := site.Params.main.modes | default (slice "light" "dark") -}} {{- $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 -}} {{- $enableVersions := false -}}
{{ $list := site.Params.docs.releases }} {{ $list := site.Params.docs.releases }}
@@ -123,13 +78,31 @@
{{- end -}} {{- end -}}
{{ $logo := "" }} {{ $logo := "" }}
{{ with $args.logo | default site.Params.navigation.logo }} {{ $mode := index site.Params.navigation "logo-mode" | default false }}
{{ $height := index site.Params.navigation "logo-height" | default 30 }} {{ if (not (in $args.default "logo-mode")) }}
{{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" $height) }} {{ $mode = $args.logoMode }}
{{ end }}
{{ $align := index site.Params.navigation "logo-align" | default "center" }}
{{ if (not (in $args.default "logo-align")) }}
{{ $align = $args.logoAlign }}
{{ end }}
{{ if not $args.title }}
{{ with $args.logo | default site.Params.navigation.logo }}
{{ $height := index site.Params.navigation "logo-height" | default 30 }}
{{ $class := cond (eq $align "start") "my-auto" "m-auto" }}
{{ $logo = partial "assets/image.html" (dict
"src" .
"loading" "eager"
"title" $title
"image-height" $height
"mode" $mode
"class" (printf "h-100 %s" $class)
) }}
{{ end }}
{{ end }} {{ end }}
{{- $pre := $args.pre -}}
{{- $post := $args.post -}}
{{- $class := $args.class -}} {{- $class := $args.class -}}
{{- $contrast := false -}} {{- $contrast := false -}}
@@ -143,7 +116,7 @@
{{/* Main code */}} {{/* Main code */}}
<div class="container-fluid {{ if $args.fixed }}fixed-top{{ else if $overlay }}navbar-overlay{{ end }} p-0{{ with $class }} {{ . }}{{ end }}"> <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) -}} {{- 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 not $overlay }}{{ with $color }} bg-{{ . }}{{ end }}{{ end -}}
{{ if $args.fixed }} navbar-fixed-top{{ end }} navbar-expand-{{ $args.breakpoint -}} {{ if $args.fixed }} navbar-fixed-top{{ end }} navbar-expand-{{ $args.breakpoint -}}
{{ if $contrast }} navbar-contrast{{ end }}" {{ if $contrast }} navbar-contrast{{ end }}"
@@ -154,31 +127,36 @@
{{ end }} {{ end }}
> >
<div class="container-xxl p-0"> <div class="container-xxl p-0">
<div class="d-flex navbar-container justify-content-center"> <div class="d-flex navbar-container">
{{/* Insert sidebar toggler when applicable */}} {{/* Insert sidebar toggler or placeholder when applicable */}}
<div class="d-flex align-items-center"> {{ $sidebar := $page.Scratch.Get "sidebar" }}
{{- if $page.Scratch.Get "sidebar" -}} {{- if or $sidebar (eq $align "center") -}}
<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" }}"> <div class="d-flex align-items-center">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}} {{- if $sidebar -}}
</button> <button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas"
{{- else -}} data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
{{/* Insert invisible sidebar toggler to center logo correctly on smaller screens */}} {{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
<button class="navbar-toggler collapsed p-0 mx-auto invisible fw-30" type="button"> </button>
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}} {{- else if eq $align "center" -}}
</button> {{/* Insert invisible sidebar toggler to center logo correctly on smaller screens */}}
{{- end -}} <button class="navbar-toggler collapsed p-0 mx-auto invisible fw-30" type="button">
</div> {{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
</button>
{{- end -}}
</div>
{{ end }}
{{/* Insert the brand logo or name */}} {{/* Insert the brand logo or name */}}
<div class="{{ if $logo }}mx-auto{{ else }}flex-grow-1 flex-{{ $args.breakpoint }}-grow-0{{ end }}"> <div class="width-100 width-{{ $args.breakpoint }}-auto {{ if not $logo }}my-auto {{ end }} {{ if eq $align "center" }}text-center{{ end }}">
<a class="navbar-brand" href="{{ site.Home.RelPermalink }}" aria-label="{{ T "home" }}"> <a class="navbar-brand" href="{{ site.Home.RelPermalink }}" aria-label="{{ T "home" }}">
{{- with $logo -}}{{ . }}{{- else -}}<div class="navbar-title fw-bold h-100">{{ $title }}</div>{{- end -}} {{- with $logo -}}{{ . }}{{- else -}}<div class="p-0 navbar-title-{{ $align }} fw-bold h-100">{{ $title }}</div>{{- end -}}
</a> </a>
</div> </div>
{{/* Insert main navigation toggler */}} {{/* Insert main navigation toggler */}}
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}-collapse" <button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse"
data-bs-target="#{{ $id }}-collapse"
aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}"> aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<span class="toggler-icon top-bar emphasis"></span> <span class="toggler-icon top-bar emphasis"></span>
<span class="toggler-icon middle-bar emphasis"></span> <span class="toggler-icon middle-bar emphasis"></span>
@@ -189,117 +167,94 @@
<div class="navbar-collapse collapse" id="{{ $id }}-collapse"> <div class="navbar-collapse collapse" id="{{ $id }}-collapse">
{{/* Insert search input */}} {{/* Insert search input */}}
{{- if and $search (not $searchModal) }} {{- if and $search.enabled (not $search.modal) }}
{{ partial "assets/search-input.html" (dict "class" (printf "mt-4 mt-%s-0" $args.breakpoint)) }} {{ partial "assets/search-input.html" (dict "class" (printf "mt-4 mt-%s-0 me-%s-3" $args.breakpoint $args.breakpoint)) }}
{{ end -}} {{ end -}}
{{/* Render top-menu items (maximum depth of 2) */}} <ul class="navbar-nav navbar-nav-scroll {{ if $flex }}d-flex w-100{{ else }}ms-auto{{ end }}">
<ul class="navbar-nav {{ if $flex }}d-flex w-100{{ else }}ms-auto{{ end }}"> {{/* Render top-menu items (maximum depth of 2) */}}
{{- range $menu := $menus -}} {{- partial "assets/helpers/navbar-render-menu.html" (dict
{{ if $menu.Params.spacing }} "page" $page
<li class="nav-item flex-grow-1"></li> "menus" $menus
{{ else }} "collapsed" $args.collapsed
<li class="nav-item {{ if .HasChildren }} dropdown{{ if $horizontal }} dropdown-horizontal-{{ $args.breakpoint }}{{ end }}{{ end }}"> "horizontal" $horizontal
{{- partial "assets/navbar-item.html" (dict "menu" $menu "page" $page) -}} "breakpoint" $args.breakpoint
{{- if .HasChildren -}} "control" false
<ul class="dropdown-menu"> "fs" $fs
{{- range .Children -}} ) }}
<li>{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}</li>
{{- end -}}
</ul>
{{- end -}}
</li>
{{- end -}}
{{- end -}}
{{/* Insert divider if applicable */}} {{/* Insert divider if applicable */}}
{{- if and $menus (or $enableLanguage $enableVersions) -}} {{- 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"> {{ partial "inline/divider.html" (dict "breakpoint" $args.breakpoint) }}
<div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li>
<li><hr class="dropdown-divider-bg"></li>
{{- end -}} {{- end -}}
{{/* Insert version switcher */}} {{/* Insert version switcher */}}
{{- if $enableVersions -}} {{- if $enableVersions -}}
{{- partial "inline/navbar-versions.html" (dict "page" $page "breakpoint" $args.breakpoint "collapsed" true "id" .id "baseURL" $baseURL) -}} {{- partial "assets/helpers/navbar-versions.html" (dict
{{- partial "inline/navbar-versions.html" (dict "page" $page "breakpoint" $args.breakpoint "collapsed" false "id" .id "baseURL" $baseURL) -}} "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 -}} {{- end -}}
{{/* Insert language switcher if applicable */}} {{/* Insert language switcher if applicable */}}
{{- if $enableLanguage -}} {{- if $enableLanguage -}}
{{- $currentLang := $page.Language.Lang -}} {{ partial "assets/helpers/navbar-languages.html" (dict
<li class="nav-item dropdown me-auto"> "page" $page
<a class="nav-link dropdown-toggle d-{{ $args.breakpoint }}-none" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false"> "baseURL" $baseURL
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}&nbsp;{{ T "languageSwitcherLabel" }} "breakpoint" $breakpoint
</a> "pretty" $pretty
<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"> "fs" $fs
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }} "icon" $langIcon
</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>
{{- end -}} {{- 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 */}} {{/* Insert color mode switcher */}}
{{- if $enableDarkMode -}} {{- 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 -}} {{- end -}}
{{/* Insert modal search button */}} {{/* Insert modal search button */}}
{{- if $searchModal }} {{- if $search.modal }}
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $args.breakpoint }}-block me-auto"> {{ $searchItem := dict "Name" (T "ui_search") "Menu" "Main" "Pre" $search.icon "Params" (dict "icon" true) }}
<div class="vr d-none d-md-flex h-100 mx-md-2"></div> {{- partial "assets/helpers/navbar-item.html" (dict "menu" $searchItem "page" $page "modal" "#search-modal" "fs" $fs) -}}
</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>
{{ end -}} {{ 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> </ul>
</div> </div>
</div> </div>
</nav> </nav>
</div> </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" -}} {{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local arguments */}} {{/* Initialize local arguments */}}
{{- $size := (or $args.heading.size site.Params.modules.bookshop.title.size) | default 4 -}} {{- $size := (or $args.heading.size site.Params.style.title.size) | default 4 -}}
{{- $arrangement := (or $args.arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}} {{- $arrangement := (or $args.arrangement site.Params.style.title.arrangement) | default "above" -}}
{{- $headingStyle := (or $args.headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}} {{- $headingStyle := (or $args.headingStyle site.Params.style.title.headingStyle) | default "display" -}}
{{- $contentStyle := (or $args.contentStyle site.Params.modules.bookshop.title.contentStyle) | default "lead text-muted" -}} {{- $contentStyle := (or $args.contentStyle site.Params.style.title.contentStyle) | default "lead text-muted" -}}
{{- $preheading := $args.heading.preheading }} {{- $preheading := $args.heading.preheading }}
{{- $title := $args.heading.title }} {{- $title := $args.heading.title }}
{{- $width := $args.heading.width | default 12 -}} {{- $width := $args.heading.width | default 12 -}}
@@ -85,8 +85,8 @@
"mode" $args.mode "mode" $args.mode
}} }}
<!-- Main code --> {{/* Main code */}}
<div class="text-{{ $args.heading.align }}{{ with $justify }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ with $width }} {{ . }}{{ end }} pb-{{ $padding.y }}"> <div class="text-{{ $args.heading.align }}{{ with $justify }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ with $width }} {{ . }}{{ end }}">
{{ if and $preheading (eq $arrangement "first") }} {{ if and $preheading (eq $arrangement "first") }}
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">

View File

@@ -45,7 +45,7 @@
{{- end -}} {{- end -}}
<div class="py-3 text-body-secondary hstack gap-1"> <div class="py-3 text-body-secondary hstack gap-1">
{{ T "shareLink" " " }} {{ if $args.showLabel }}{{ T "shareLink" " " }}{{ end }}
{{- range $index, $item := $list -}} {{- range $index, $item := $list -}}
{{- $url := $item.url -}} {{- $url := $item.url -}}
{{- $url = replace $url "{url}" $page.Permalink -}} {{- $url = replace $url "{url}" $page.Permalink -}}
@@ -71,9 +71,10 @@
{{- end -}} {{- end -}}
{{ if $page.Site.Params.sharing.webshare }} {{ if $page.Site.Params.sharing.webshare }}
{{ $attr := dict "data-sharing-title" $page.Title "data-sharing-description" $page.Description "data-sharing-url" $page.Permalink }} {{ $attr := dict "data-sharing-title" $page.Title "data-sharing-description" $page.Description "data-sharing-url" $page.Permalink }}
{{ $icon := index $page.Site.Params.sharing "webshare-icon" | default "fas share-nodes"}}
{{ partial "assets/button.html" (dict {{ partial "assets/button.html" (dict
"href" "" "href" ""
"icon" "fas share-nodes fa-fw" "icon" (printf "%s fa-fw" $icon)
"class" "btn-social p-0" "class" "btn-social p-0"
"attributes" $attr "attributes" $attr
"label" (T "shareLink" (T "shareSystem")) "label" (T "shareLink" (T "shareSystem"))

View File

@@ -22,6 +22,7 @@
{{/* Initialize global variables */}} {{/* Initialize global variables */}}
{{ $arrangement := site.Params.modules.bookshop.title.arrangement }} {{ $arrangement := site.Params.modules.bookshop.title.arrangement }}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local arguments */}} {{/* Initialize local arguments */}}
{{- $page := $args.page -}} {{- $page := $args.page -}}
@@ -105,11 +106,12 @@
"link-type" (or $args.linkType $args.type) "link-type" (or $args.linkType $args.type)
"arrangement" $arrangement "arrangement" $arrangement
"justify" $args.justify "justify" $args.justify
"class" (printf "pb-%d" $padding.y)
) }} ) }}
{{ end }} {{ end }}
{{/* Render default timeline */}} {{/* 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 }} {{ $title | safeHTML }}
{{ range $index, $item := $data }} {{ range $index, $item := $data }}
<div class="row timeline timeline-{{ $item.color }} timeline-dot g-0 "> <div class="row timeline timeline-{{ $item.color }} timeline-dot g-0 ">
@@ -135,7 +137,7 @@
</div> </div>
{{/* Render timeline for smaller devices */}} {{/* 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 }} {{ range $index, $item := $data }}
<div class="row timeline-sm timeline-{{ $item.color }} timeline-dot g-0"> <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) }} {{ partial "inline/timeline-icon.html" (dict "icon" $item.icon "direction" "end" "col" 3) }}

View File

@@ -1,107 +1,90 @@
{{- /* {{/*
Copyright 2023 Veriphor, LLC Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
*/}}
Licensed under the Apache License, Version 2.0 (the "License"); you may not {{ define "_partials/inline/toc-item.html" }}
use this file except in compliance with the License. You may obtain a copy of {{ $base := .base }}
the License at {{ $startLevel := .startLevel }}
{{ $endLevel := .endLevel }}
{{ $item := .item }}
{{ $maxNumHeadings := .maxNumHeadings }}
{{ $result := .result | default slice }}
https://www.apache.org/licenses/LICENSE-2.0 {{ if and (ge $item.Level $startLevel) (le $item.Level $endLevel) }}
{{- $attrs := dict "class" (printf "toc-item toc-level-%d" (add 1 (sub $item.Level $startLevel))) }}
{{- with $item.ID }}
{{- $attrs = merge $attrs (dict "href" (printf "%s#%s" $base .)) }}
{{- end }}
Unless required by applicable law or agreed to in writing, software {{ $htmlAttr := "" }}
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT {{ range $k, $v := $attrs }}{{ $htmlAttr = printf "%s %s=%q" $htmlAttr $k $v | safeHTMLAttr }}{{ end }}
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the {{ $rendered := printf "<a %s>%s</a>" $htmlAttr $item.Title }}
License for the specific language governing permissions and limitations under {{ $result = $result | append $rendered }}
the License. {{ end }}
*/}}
{{- /* {{ if lt $item.Level $endLevel }}
Renders a table of contents by parsing rendered content. {{ range $item.Headings }}
{{ $result = $result | append (partial "inline/toc-item.html" (dict
"base" $base
"item" .
"startLevel" $startLevel
"endLevel" $endLevel
"maxNumHeadings" $maxNumHeadings
)) }}
{{ end }}
{{ end }}
In site configuration, set the default start level, end level, and the minimum {{ return $result }}
number of headings required to show the table of contents: {{ end }}
[params.toc] {{- /* Get configuration. */}}
startLevel = 2 # default is 2 {{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
endLevel = 3 # default is 3 {{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
minNumHeadings = 2 # default is 2 {{- $minNumHeadings := or (.Site.Params.navigation.minNumHeadings | int) 2 }}
{{- $maxNumHeadings := or (.Site.Params.navigation.maxNumHeadings | int) 9 }}
To display the table of contents on a page: {{- /* Render */}}
{{- if and .Site.Params.navigation.toc (ge (len .Fragments.HeadingsMap) $minNumHeadings) }}
<strong class="d-block h6 my-2 pt-4">{{ T "toc" }}:</strong>
<nav class="toc">
{{ $result := slice }}
{{ range .Fragments.Headings }}
{{ $result = $result | append (partial "inline/toc-item.html" (dict
"base" $.RelPermalink
"item" .
"startLevel" $startLevel
"endLevel" $endLevel
"maxNumHeadings" $maxNumHeadings
)) }}
{{ end }}
+++ {{ range $i, $v := $result }}
title = 'Post 1' {{ if eq $i $maxNumHeadings }}
toc = true {{ partial "assets/button.html" (dict
+++ "id" "btnTOCShowMore"
"collapse-id" "toc-collapse-items"
"link-type" "link"
"class" "toc-item"
"title" (T "tocShowMore" (sub (len $result) $i))
"spacing" false
) }}
<div class="collapse" id="toc-collapse-items">
{{ end }}
{{ print $v | safeHTML }}
{{ end }}
To display the table of contents on a page, and override one or more of the {{ if gt (len $result) $maxNumHeadings }}
default settings: &nbsp;
{{ partial "assets/button.html" (dict
+++ "id" "btnTOCShowLess"
title = 'Post 1' "collapse-id" "toc-collapse-items"
[toc] "link-type" "link"
startLevel = 2 # default is 2 "class" "toc-item"
endLevel = 3 # default is 3 "title" (T "tocShowLess")
minNumHeadings = 2 # default is 2 "spacing" false
+++ ) }}
</div>{{ end }}
Change or localize the title with a "toc_title" key in your i18n file(s). </nav>
{{ end }}
Start with these basic CSS rules to style the table of contents:
a.toc-item {
display: block;
}
a.toc-level-1 {
margin-left: 0em;
}
a.toc-level-2 {
margin-left: 1em;
}
a.toc-level-3 {
margin-left: 2em;
}
a.toc-level-4 {
margin-left: 3em;
}
a.toc-level-5 {
margin-left: 4em;
}
a.toc-level-6 {
margin-left: 5em;
}
@context {page} .
@returns {template.HTML}
@example {{ partial "toc-parse-content.html" . }}
*/}}
{{- /* Get configuration. */}}
{{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
{{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
{{- $minNumHeadings := or (.Site.Params.navigation.minNumHeadings | int) 2 }}
{{- /* Initialize. */}}
{{ $headings := partial "assets/toc-headings.html" . }}
{{- /* Render */}}
{{- if .Site.Params.navigation.toc }}
{{- with $headings }}
{{- if ge (len .) $minNumHeadings }}
<strong class="d-block h6 my-2 pt-4">{{ T "toc" }}:</strong>
<nav class="toc">
{{- range . }}
{{- $attrs := dict "class" (printf "toc-item toc-level-%d" (add 1 (sub .level $startLevel))) }}
{{- with .id }}
{{- $attrs = merge $attrs (dict "href" (printf "%s#%s" $.RelPermalink .)) }}
{{- end }}
<a
{{- range $k, $v := $attrs }}
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end -}}
>{{ .text }}</a>
{{- end }}
</nav>
{{- end }}
{{- end }}
{{- end }}

View File

@@ -4,15 +4,11 @@
Visit gethinode.com/license for more details. Visit gethinode.com/license for more details.
*/}} */}}
{{- $file := "package.json" -}} {{- $file := "go.mod" -}}
{{- $basePath := .Site.Params.docs.basePath -}} {{- $regex := printf `github.com\/gethinode\/hinode v.*(\r\n|\r|\n)` -}}
{{- $file = path.Join $basePath (path.Clean $file) -}}
{{- $regex := printf `"version":.*(\r\n|\r|\n)` -}}
{{- $match := findRE $regex (readFile $file) -}} {{- $match := findRE $regex (readFile $file) -}}
{{- $match = index $match 0 -}} {{- $match = index $match 0 -}}
{{- if $match -}} {{- if $match -}}
{{- printf "v%s" (trim (index (split $match ":") 1) " \r\n,\"") -}} {{- printf "%s" (trim (index (split $match " ") 1) " \r\n,\"") -}}
{{- end -}} {{- end -}}

Some files were not shown because too many files have changed in this diff Show More