Compare commits

...

91 Commits

Author SHA1 Message Date
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
84 changed files with 1262 additions and 774 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

@@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v5 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'
@@ -56,12 +56,12 @@ jobs:
uses: actions/checkout@v5 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

@@ -17,7 +17,7 @@ jobs:
uses: actions/checkout@v5 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

@@ -28,7 +28,7 @@ jobs:
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())
})() })()

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

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

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 {
@@ -126,12 +138,64 @@
.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;
}
.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);
@@ -319,3 +383,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,8 @@ blueprint:
width: width:
justify: justify:
link-type: link-type:
theme:
cover:
links: links:
- -
title: title:

View File

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

View File

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

View File

@@ -41,3 +41,5 @@ blueprint:
padding: padding:
order: order:
width: width:
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,5 @@ blueprint:
items: items:
- title: - title:
description: description:
theme:
cover:

View File

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

View File

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

View File

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

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,5 @@ blueprint:
width: width:
justify: justify:
data: data:
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,8 @@ blueprint:
border: border:
width: width:
justify: justify:
theme:
cover:
_structures: _structures:
messages: messages:

View File

@@ -28,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 */}}
@@ -36,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
@@ -117,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
@@ -142,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

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

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
@@ -91,15 +95,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,7 +27,7 @@ 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-mermaid/v3/assets/scss/mermaid.scss',

View File

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

View File

@@ -28,3 +28,5 @@ arguments:
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

@@ -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
@@ -45,15 +49,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"

View File

@@ -27,7 +27,7 @@ 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-mermaid/v3/assets/scss/mermaid.scss',

View File

@@ -29,6 +29,7 @@ The `video` content block renders a horizontal line to separate sections. The se
provider: vimeo 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

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

@@ -95,9 +95,9 @@
"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",
@@ -110,9 +110,7 @@
"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",
@@ -191,6 +189,7 @@
"col-sm-6", "col-sm-6",
"collapse", "collapse",
"collapsed", "collapsed",
"command",
"contact-img", "contact-img",
"container", "container",
"container-fluid", "container-fluid",
@@ -223,6 +222,9 @@
"display-1", "display-1",
"display-4", "display-4",
"display-6", "display-6",
"docs",
"docs-controls",
"docs-panel",
"dropdown", "dropdown",
"dropdown-divider-bg", "dropdown-divider-bg",
"dropdown-item", "dropdown-item",
@@ -243,6 +245,9 @@
"fa-activity", "fa-activity",
"fa-address-card", "fa-address-card",
"fa-angle-left", "fa-angle-left",
"fa-angle-right",
"fa-angles-left",
"fa-angles-right",
"fa-arrow-left", "fa-arrow-left",
"fa-arrow-right", "fa-arrow-right",
"fa-bootstrap", "fa-bootstrap",
@@ -298,6 +303,9 @@
"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",
@@ -375,9 +383,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",
@@ -417,6 +427,8 @@
"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",
@@ -551,6 +563,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",
@@ -606,9 +619,11 @@
"animation", "animation",
"args", "args",
"arguments", "arguments",
"articles-de-blog",
"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",
@@ -616,6 +631,8 @@
"body-file-collapse-1", "body-file-collapse-1",
"bouton", "bouton",
"breadcrumb", "breadcrumb",
"btnTOCShowLess",
"btnTOCShowMore",
"button", "button",
"button-group", "button-group",
"c4-diagram", "c4-diagram",
@@ -642,11 +659,11 @@
"docs", "docs",
"documentation", "documentation",
"dropdown-nav-0", "dropdown-nav-0",
"dropdown-panel-2a268a8b3931b61a7583f392002008fe", "dropdown-panel-0e0d7c1fd6d33e3180b75a3f126f5fea",
"dropdown-panel-5bf6f23e5fc93f9c342a4b0a1b32b838", "dropdown-panel-3afb6d66b09dfeb4621548fc9812ce10",
"dropdown-panel-8cd9607610b5a8fff779d38787437e7e", "dropdown-panel-46f581d5bacea14d68114161d503d5c1",
"dropdown-panel-93636449c1ef8ec23d583052c9fe7a4b", "dropdown-panel-e37d2a3ed3fbb2ae9956fe2816627070",
"dropdown-panel-a97ffb4aaea3a2e4aa01b1ce556dd275", "dropdown-panel-effd2deef2e0cded9c2d41c8aaec9646",
"elements-type", "elements-type",
"entity-relationship-diagram", "entity-relationship-diagram",
"example", "example",
@@ -664,16 +681,19 @@
"fab-medium", "fab-medium",
"fab-whatsapp", "fab-whatsapp",
"fab-x-twitter", "fab-x-twitter",
"faq-a69e21a1b0b61dac8b322b1d68137cc6", "faq-963137b2b2e4941741e0ab33cf4fd1fe",
"faq-a69e21a1b0b61dac8b322b1d68137cc6-heading-faq-a69e21a1b0b61dac8b322b1d68137cc6", "faq-963137b2b2e4941741e0ab33cf4fd1fe-heading-faq-963137b2b2e4941741e0ab33cf4fd1fe",
"faq-a69e21a1b0b61dac8b322b1d68137cc6-item-0", "faq-963137b2b2e4941741e0ab33cf4fd1fe-item-0",
"faq-a69e21a1b0b61dac8b322b1d68137cc6-item-1", "faq-963137b2b2e4941741e0ab33cf4fd1fe-item-1",
"faq-a69e21a1b0b61dac8b322b1d68137cc6-item-2", "faq-963137b2b2e4941741e0ab33cf4fd1fe-item-2",
"fas-1", "fas-1",
"fas-2", "fas-2",
"fas-3", "fas-3",
"fas-address-card", "fas-address-card",
"fas-angle-left", "fas-angle-left",
"fas-angle-right",
"fas-angles-left",
"fas-angles-right",
"fas-arrow-left", "fas-arrow-left",
"fas-arrow-right", "fas-arrow-right",
"fas-chevron-right", "fas-chevron-right",
@@ -705,7 +725,6 @@
"fichier", "fichier",
"fil-dariane", "fil-dariane",
"file", "file",
"first-panel",
"flowchart", "flowchart",
"footer-docs-collapse-15", "footer-docs-collapse-15",
"footer-docs-collapse-16", "footer-docs-collapse-16",
@@ -760,11 +779,11 @@
"nav-0-btn-1", "nav-0-btn-1",
"nav-0-btn-2", "nav-0-btn-2",
"nav-nav-0", "nav-nav-0",
"nav-panel-2a268a8b3931b61a7583f392002008fe", "nav-panel-0e0d7c1fd6d33e3180b75a3f126f5fea",
"nav-panel-5bf6f23e5fc93f9c342a4b0a1b32b838", "nav-panel-3afb6d66b09dfeb4621548fc9812ce10",
"nav-panel-8cd9607610b5a8fff779d38787437e7e", "nav-panel-46f581d5bacea14d68114161d503d5c1",
"nav-panel-93636449c1ef8ec23d583052c9fe7a4b", "nav-panel-e37d2a3ed3fbb2ae9956fe2816627070",
"nav-panel-a97ffb4aaea3a2e4aa01b1ce556dd275", "nav-panel-effd2deef2e0cded9c2d41c8aaec9646",
"navbar", "navbar",
"navbar-0-collapse", "navbar-0-collapse",
"navbar-mode", "navbar-mode",
@@ -773,36 +792,36 @@
"navigation", "navigation",
"notification", "notification",
"overview", "overview",
"panel-2a268a8b3931b61a7583f392002008fe-0", "panel-0e0d7c1fd6d33e3180b75a3f126f5fea-0",
"panel-2a268a8b3931b61a7583f392002008fe-1", "panel-0e0d7c1fd6d33e3180b75a3f126f5fea-1",
"panel-2a268a8b3931b61a7583f392002008fe-2", "panel-0e0d7c1fd6d33e3180b75a3f126f5fea-2",
"panel-2a268a8b3931b61a7583f392002008fe-btn-0", "panel-0e0d7c1fd6d33e3180b75a3f126f5fea-btn-0",
"panel-2a268a8b3931b61a7583f392002008fe-btn-1", "panel-0e0d7c1fd6d33e3180b75a3f126f5fea-btn-1",
"panel-2a268a8b3931b61a7583f392002008fe-btn-2", "panel-0e0d7c1fd6d33e3180b75a3f126f5fea-btn-2",
"panel-5bf6f23e5fc93f9c342a4b0a1b32b838-0", "panel-3afb6d66b09dfeb4621548fc9812ce10-0",
"panel-5bf6f23e5fc93f9c342a4b0a1b32b838-1", "panel-3afb6d66b09dfeb4621548fc9812ce10-1",
"panel-5bf6f23e5fc93f9c342a4b0a1b32b838-2", "panel-3afb6d66b09dfeb4621548fc9812ce10-2",
"panel-5bf6f23e5fc93f9c342a4b0a1b32b838-btn-0", "panel-3afb6d66b09dfeb4621548fc9812ce10-btn-0",
"panel-5bf6f23e5fc93f9c342a4b0a1b32b838-btn-1", "panel-3afb6d66b09dfeb4621548fc9812ce10-btn-1",
"panel-5bf6f23e5fc93f9c342a4b0a1b32b838-btn-2", "panel-3afb6d66b09dfeb4621548fc9812ce10-btn-2",
"panel-8cd9607610b5a8fff779d38787437e7e-0", "panel-46f581d5bacea14d68114161d503d5c1-0",
"panel-8cd9607610b5a8fff779d38787437e7e-1", "panel-46f581d5bacea14d68114161d503d5c1-1",
"panel-8cd9607610b5a8fff779d38787437e7e-2", "panel-46f581d5bacea14d68114161d503d5c1-2",
"panel-8cd9607610b5a8fff779d38787437e7e-btn-0", "panel-46f581d5bacea14d68114161d503d5c1-btn-0",
"panel-8cd9607610b5a8fff779d38787437e7e-btn-1", "panel-46f581d5bacea14d68114161d503d5c1-btn-1",
"panel-8cd9607610b5a8fff779d38787437e7e-btn-2", "panel-46f581d5bacea14d68114161d503d5c1-btn-2",
"panel-93636449c1ef8ec23d583052c9fe7a4b-0", "panel-e37d2a3ed3fbb2ae9956fe2816627070-0",
"panel-93636449c1ef8ec23d583052c9fe7a4b-1", "panel-e37d2a3ed3fbb2ae9956fe2816627070-1",
"panel-93636449c1ef8ec23d583052c9fe7a4b-2", "panel-e37d2a3ed3fbb2ae9956fe2816627070-2",
"panel-93636449c1ef8ec23d583052c9fe7a4b-btn-0", "panel-e37d2a3ed3fbb2ae9956fe2816627070-btn-0",
"panel-93636449c1ef8ec23d583052c9fe7a4b-btn-1", "panel-e37d2a3ed3fbb2ae9956fe2816627070-btn-1",
"panel-93636449c1ef8ec23d583052c9fe7a4b-btn-2", "panel-e37d2a3ed3fbb2ae9956fe2816627070-btn-2",
"panel-a97ffb4aaea3a2e4aa01b1ce556dd275-0", "panel-effd2deef2e0cded9c2d41c8aaec9646-0",
"panel-a97ffb4aaea3a2e4aa01b1ce556dd275-1", "panel-effd2deef2e0cded9c2d41c8aaec9646-1",
"panel-a97ffb4aaea3a2e4aa01b1ce556dd275-2", "panel-effd2deef2e0cded9c2d41c8aaec9646-2",
"panel-a97ffb4aaea3a2e4aa01b1ce556dd275-btn-0", "panel-effd2deef2e0cded9c2d41c8aaec9646-btn-0",
"panel-a97ffb4aaea3a2e4aa01b1ce556dd275-btn-1", "panel-effd2deef2e0cded9c2d41c8aaec9646-btn-1",
"panel-a97ffb4aaea3a2e4aa01b1ce556dd275-btn-2", "panel-effd2deef2e0cded9c2d41c8aaec9646-btn-2",
"persona", "persona",
"pie-chart", "pie-chart",
"pills", "pills",
@@ -815,7 +834,6 @@
"release", "release",
"requirement-chart", "requirement-chart",
"réduire", "réduire",
"second-panel",
"security", "security",
"sequence-diagram", "sequence-diagram",
"shortcode-with-controls-and-frontmatter", "shortcode-with-controls-and-frontmatter",
@@ -828,7 +846,6 @@
"sécurité", "sécurité",
"table", "table",
"tabs", "tabs",
"third-panel",
"third-party-links--use-of-your-information", "third-party-links--use-of-your-information",
"timeline", "timeline",
"title", "title",
@@ -839,6 +856,7 @@
"toast-example-2", "toast-example-2",
"toast-message-email-4", "toast-message-email-4",
"toc-collapse", "toc-collapse",
"toc-collapse-items",
"tooltip", "tooltip",
"types-de-cookies-que-nous-utilisons", "types-de-cookies-que-nous-utilisons",
"types-of-cookies-we-use", "types-of-cookies-we-use",
@@ -849,6 +867,7 @@
"vidéo", "vidéo",
"vos-droits", "vos-droits",
"welcome-to-hinode", "welcome-to-hinode",
"welkom-bij-hinode",
"what-are-cookies", "what-are-cookies",
"xy-chart", "xy-chart",
"your-rights" "your-rights"

12
go.mod
View File

@@ -3,11 +3,11 @@ 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.4 // indirect
github.com/gethinode/mod-bootstrap v1.3.4 // indirect github.com/gethinode/mod-bootstrap v1.3.4 // indirect
github.com/gethinode/mod-csp v1.0.8 // indirect github.com/gethinode/mod-csp v1.0.8 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.1.3 // indirect github.com/gethinode/mod-flexsearch/v3 v3.0.0 // indirect
github.com/gethinode/mod-fontawesome/v2 v2.1.2 // indirect github.com/gethinode/mod-fontawesome/v2 v2.1.2 // indirect
github.com/gethinode/mod-google-analytics v1.3.3 // indirect github.com/gethinode/mod-google-analytics v1.3.3 // indirect
github.com/gethinode/mod-katex v1.1.4 // indirect github.com/gethinode/mod-katex v1.1.4 // indirect
@@ -15,7 +15,7 @@ require (
github.com/gethinode/mod-lottie v1.6.1 // indirect github.com/gethinode/mod-lottie v1.6.1 // indirect
github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect
github.com/gethinode/mod-utils/v4 v4.13.0 // indirect github.com/gethinode/mod-utils/v4 v4.14.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a // indirect github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect
github.com/twbs/bootstrap v5.3.7+incompatible // indirect github.com/twbs/bootstrap v5.3.8+incompatible // indirect
) )

14
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,8 @@ github.com/cloudcannon/bookshop/hugo/v3 v3.16.1 h1:WByz6rqg28h94VLVLscu77/CHhi2p
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8= github.com/cloudcannon/bookshop/hugo/v3 v3.16.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/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=
@@ -118,6 +122,8 @@ github.com/gethinode/mod-flexsearch/v2 v2.1.2 h1:B/onreHG/qzIqMo9YYiRk4WWM+GgFj1
github.com/gethinode/mod-flexsearch/v2 v2.1.2/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg= github.com/gethinode/mod-flexsearch/v2 v2.1.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 h1:m5I9B7cA1SU99f90yO4OpOcKNPZ5zMF18pEhusLxa80=
github.com/gethinode/mod-flexsearch/v2 v2.1.3/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg= 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=
@@ -498,6 +504,8 @@ github.com/gethinode/mod-utils/v4 v4.12.0 h1:5sSfYIxZCeQbXLoZdS//rl6thwLwtXuvM0u
github.com/gethinode/mod-utils/v4 v4.12.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4= github.com/gethinode/mod-utils/v4 v4.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 h1:VKAA+wKy4saayXfgJuVBRfhNVWQWmxOjO8LSpQCvLfw=
github.com/gethinode/mod-utils/v4 v4.13.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4= 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/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=
@@ -520,6 +528,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=
@@ -530,3 +542,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

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

@@ -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 }}
@@ -128,8 +83,6 @@
{{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" $height) }} {{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" $height) }}
{{ end }} {{ end }}
{{- $pre := $args.pre -}}
{{- $post := $args.post -}}
{{- $class := $args.class -}} {{- $class := $args.class -}}
{{- $contrast := false -}} {{- $contrast := false -}}
@@ -143,7 +96,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 }}"
@@ -158,7 +111,8 @@
{{/* Insert sidebar toggler when applicable */}} {{/* Insert sidebar toggler when applicable */}}
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
{{- if $page.Scratch.Get "sidebar" -}} {{- if $page.Scratch.Get "sidebar" -}}
<button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}"> <button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas"
data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}} {{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
</button> </button>
{{- else -}} {{- else -}}
@@ -178,7 +132,8 @@
{{/* 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 +144,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

@@ -111,7 +111,7 @@
{{ 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 ">
@@ -137,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

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

View File

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

View File

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

View File

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

View File

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

401
package-lock.json generated
View File

@@ -11,9 +11,9 @@
"dependencies": { "dependencies": {
"@fullhuman/postcss-purgecss": "^7.0.2", "@fullhuman/postcss-purgecss": "^7.0.2",
"autoprefixer": "^10.4.21", "autoprefixer": "^10.4.21",
"cssnano": "^7.1.0", "cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.8", "cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.145.2", "hugo-bin": "0.147.0",
"purgecss-whitelister": "^2.4.0" "purgecss-whitelister": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
@@ -23,9 +23,9 @@
"@semantic-release/exec": "^7.1.0", "@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1", "@semantic-release/git": "^10.0.1",
"commitizen": "^4.3.1", "commitizen": "^4.3.1",
"cpy-cli": "^5.0.0", "cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0", "cz-conventional-changelog": "^3.3.0",
"eslint": "^9.33.0", "eslint": "^9.35.0",
"husky": "^9.1.7", "husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1", "markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2", "neostandard": "^0.12.2",
@@ -36,7 +36,7 @@
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"semantic-release": "^24.2.7", "semantic-release": "^24.2.7",
"shx": "^0.4.0", "shx": "^0.4.0",
"stylelint": "^16.23.1", "stylelint": "^16.24.0",
"stylelint-config-standard-scss": "^15.0.1" "stylelint-config-standard-scss": "^15.0.1"
}, },
"optionalDependencies": { "optionalDependencies": {
@@ -631,10 +631,11 @@
} }
}, },
"node_modules/@eslint-community/eslint-utils": { "node_modules/@eslint-community/eslint-utils": {
"version": "4.7.0", "version": "4.9.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"eslint-visitor-keys": "^3.4.3" "eslint-visitor-keys": "^3.4.3"
}, },
@@ -720,9 +721,9 @@
} }
}, },
"node_modules/@eslint/js": { "node_modules/@eslint/js": {
"version": "9.33.0", "version": "9.35.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.35.0.tgz",
"integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", "integrity": "sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1697,35 +1698,6 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/@semantic-release/github/node_modules/p-filter": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz",
"integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==",
"dev": true,
"license": "MIT",
"dependencies": {
"p-map": "^7.0.1"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@semantic-release/github/node_modules/p-map": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
"integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@semantic-release/npm": { "node_modules/@semantic-release/npm": {
"version": "12.0.2", "version": "12.0.2",
"resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz",
@@ -3022,23 +2994,6 @@
"node": ">= 14" "node": ">= 14"
} }
}, },
"node_modules/aggregate-error": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
"dev": true,
"license": "MIT",
"dependencies": {
"clean-stack": "^4.0.0",
"indent-string": "^5.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ajv": { "node_modules/ajv": {
"version": "6.12.6", "version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -3285,19 +3240,6 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/arrify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz",
"integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/astral-regex": { "node_modules/astral-regex": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
@@ -3490,9 +3432,10 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/brace-expansion": { "node_modules/brace-expansion": {
"version": "1.1.11", "version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"license": "MIT",
"dependencies": { "dependencies": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
@@ -3575,14 +3518,14 @@
} }
}, },
"node_modules/cacheable": { "node_modules/cacheable": {
"version": "1.10.3", "version": "1.10.4",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.3.tgz", "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.4.tgz",
"integrity": "sha512-M6p10iJ/VT0wT7TLIGUnm958oVrU2cUK8pQAVU21Zu7h8rbk/PeRtRWrvHJBql97Bhzk3g1N6+2VKC+Rjxna9Q==", "integrity": "sha512-Gd7ccIUkZ9TE2odLQVS+PDjIvQCdJKUlLdJRVvZu0aipj07Qfx+XIej7hhDrKGGoIxV5m5fT/kOJNJPQhQneRg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"hookified": "^1.10.0", "hookified": "^1.11.0",
"keyv": "^5.4.0" "keyv": "^5.5.0"
} }
}, },
"node_modules/cacheable-lookup": { "node_modules/cacheable-lookup": {
@@ -3613,9 +3556,9 @@
} }
}, },
"node_modules/cacheable/node_modules/keyv": { "node_modules/cacheable/node_modules/keyv": {
"version": "5.4.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.4.0.tgz", "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.0.tgz",
"integrity": "sha512-TMckyVjEoacG5IteUpUrOBsFORtheqziVyyY2dLUwg1jwTb8u48LX4TgmtogkNl9Y9unaEJ1luj10fGyjMGFOQ==", "integrity": "sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -3825,35 +3768,6 @@
"node": ">= 6" "node": ">= 6"
} }
}, },
"node_modules/clean-stack": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
"dev": true,
"license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/clean-stack/node_modules/escape-string-regexp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cli-cursor": { "node_modules/cli-cursor": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
@@ -4266,6 +4180,23 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/copy-file": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/copy-file/-/copy-file-11.1.0.tgz",
"integrity": "sha512-X8XDzyvYaA6msMyAM575CUoygY5b44QzLcGRKsK3MFmXcOvQa518dNPLsKYwkYsn72g3EiW+LE0ytd/FlqWmyw==",
"dev": true,
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.11",
"p-event": "^6.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/core-util-is": { "node_modules/core-util-is": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
@@ -4317,95 +4248,42 @@
"typescript": ">=5" "typescript": ">=5"
} }
}, },
"node_modules/cp-file": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/cp-file/-/cp-file-10.0.0.tgz",
"integrity": "sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==",
"dev": true,
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.10",
"nested-error-stacks": "^2.1.1",
"p-event": "^5.0.1"
},
"engines": {
"node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cpy": { "node_modules/cpy": {
"version": "10.1.0", "version": "12.0.0",
"resolved": "https://registry.npmjs.org/cpy/-/cpy-10.1.0.tgz", "resolved": "https://registry.npmjs.org/cpy/-/cpy-12.0.0.tgz",
"integrity": "sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==", "integrity": "sha512-k2Y2BFZUp8VzoEuGcVx3Vk2/ACf0PgVnC/cgSC7IyZeEW3nr67E/tcspoC0TUpAxZmByXaYsPKATFwSsUli9XA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"arrify": "^3.0.0", "copy-file": "^11.1.0",
"cp-file": "^10.0.0", "globby": "^14.1.0",
"globby": "^13.1.4",
"junk": "^4.0.1", "junk": "^4.0.1",
"micromatch": "^4.0.5", "micromatch": "^4.0.8",
"nested-error-stacks": "^2.1.1", "p-filter": "^4.1.0",
"p-filter": "^3.0.0", "p-map": "^7.0.3"
"p-map": "^6.0.0"
}, },
"engines": { "engines": {
"node": ">=16" "node": ">=20"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/cpy-cli": { "node_modules/cpy-cli": {
"version": "5.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-5.0.0.tgz", "resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-6.0.0.tgz",
"integrity": "sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==", "integrity": "sha512-q7GUqTDnRymCbScJ4Ph1IUM86wWdKG8JbgrvKLgvvehH4wrbRcVN+jRwOTlxJdwm7ykdXMKSp6IESksFeHa0eA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cpy": "^10.1.0", "cpy": "^12.0.0",
"meow": "^12.0.1" "meow": "^13.2.0"
}, },
"bin": { "bin": {
"cpy": "cli.js" "cpy": "cli.js"
}, },
"engines": { "engines": {
"node": ">=16" "node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cpy-cli/node_modules/meow": {
"version": "12.1.1",
"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=16.10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cpy/node_modules/globby": {
"version": "13.2.2",
"resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
"dev": true,
"license": "MIT",
"dependencies": {
"dir-glob": "^3.0.1",
"fast-glob": "^3.3.0",
"ignore": "^5.2.4",
"merge2": "^1.4.1",
"slash": "^4.0.0"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
@@ -4533,12 +4411,12 @@
} }
}, },
"node_modules/cssnano": { "node_modules/cssnano": {
"version": "7.1.0", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.0.tgz", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.1.tgz",
"integrity": "sha512-Pu3rlKkd0ZtlCUzBrKL1Z4YmhKppjC1H9jo7u1o4qaKqyhvixFgu5qLyNIAOjSTg9DjVPtUqdROq2EfpVMEe+w==", "integrity": "sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cssnano-preset-default": "^7.0.8", "cssnano-preset-default": "^7.0.9",
"lilconfig": "^3.1.3" "lilconfig": "^3.1.3"
}, },
"engines": { "engines": {
@@ -4553,14 +4431,14 @@
} }
}, },
"node_modules/cssnano-preset-advanced": { "node_modules/cssnano-preset-advanced": {
"version": "7.0.8", "version": "7.0.9",
"resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-7.0.8.tgz", "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-7.0.9.tgz",
"integrity": "sha512-KYw7gH8xmIzTwHefuM/m3lkMz4jn5EbjxZO2RHVsOGvrXCxSjbc0/f/gELWW9ZIgbQdJMCkijEo76gBYGY4S3Q==", "integrity": "sha512-nczUlcRbMuupYDIjlYTQ6nqWh2AjV1omdf5OkUEKpOqPuRb8CZp/KgpZjD2eelX/sfFh6V/aybfgu7lVJH7Z/w==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"autoprefixer": "^10.4.21", "autoprefixer": "^10.4.21",
"browserslist": "^4.25.1", "browserslist": "^4.25.1",
"cssnano-preset-default": "^7.0.8", "cssnano-preset-default": "^7.0.9",
"postcss-discard-unused": "^7.0.4", "postcss-discard-unused": "^7.0.4",
"postcss-merge-idents": "^7.0.1", "postcss-merge-idents": "^7.0.1",
"postcss-reduce-idents": "^7.0.1", "postcss-reduce-idents": "^7.0.1",
@@ -4574,9 +4452,9 @@
} }
}, },
"node_modules/cssnano-preset-default": { "node_modules/cssnano-preset-default": {
"version": "7.0.8", "version": "7.0.9",
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.8.tgz", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.9.tgz",
"integrity": "sha512-d+3R2qwrUV3g4LEMOjnndognKirBZISylDZAF/TPeCWVjEwlXS2e4eN4ICkoobRe7pD3H6lltinKVyS1AJhdjQ==", "integrity": "sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"browserslist": "^4.25.1", "browserslist": "^4.25.1",
@@ -4584,7 +4462,7 @@
"cssnano-utils": "^5.0.1", "cssnano-utils": "^5.0.1",
"postcss-calc": "^10.1.1", "postcss-calc": "^10.1.1",
"postcss-colormin": "^7.0.4", "postcss-colormin": "^7.0.4",
"postcss-convert-values": "^7.0.6", "postcss-convert-values": "^7.0.7",
"postcss-discard-comments": "^7.0.4", "postcss-discard-comments": "^7.0.4",
"postcss-discard-duplicates": "^7.0.2", "postcss-discard-duplicates": "^7.0.2",
"postcss-discard-empty": "^7.0.1", "postcss-discard-empty": "^7.0.1",
@@ -5602,19 +5480,19 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "9.33.0", "version": "9.35.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.35.0.tgz",
"integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==", "integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1", "@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.21.0", "@eslint/config-array": "^0.21.0",
"@eslint/config-helpers": "^0.3.1", "@eslint/config-helpers": "^0.3.1",
"@eslint/core": "^0.15.2", "@eslint/core": "^0.15.2",
"@eslint/eslintrc": "^3.3.1", "@eslint/eslintrc": "^3.3.1",
"@eslint/js": "9.33.0", "@eslint/js": "9.35.0",
"@eslint/plugin-kit": "^0.3.5", "@eslint/plugin-kit": "^0.3.5",
"@humanfs/node": "^0.16.6", "@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/module-importer": "^1.0.1",
@@ -7288,9 +7166,9 @@
} }
}, },
"node_modules/hookified": { "node_modules/hookified": {
"version": "1.11.0", "version": "1.12.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.11.0.tgz", "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.12.0.tgz",
"integrity": "sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==", "integrity": "sha512-hMr1Y9TCLshScrBbV2QxJ9BROddxZ12MX9KsCtuGGy/3SmmN5H1PllKerrVlSotur9dlE8hmUKAOSa3WDzsZmQ==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@@ -7360,9 +7238,9 @@
} }
}, },
"node_modules/hugo-bin": { "node_modules/hugo-bin": {
"version": "0.145.2", "version": "0.147.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.145.2.tgz", "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.147.0.tgz",
"integrity": "sha512-iI4HutM+45/xdNU8XW/mhV0QWwzuuzVzKQ0fhGZIh1e5QkqWvRGhRjE0UARUSU8pygGgkJalVJgNVIGL/lkZ9g==", "integrity": "sha512-8ZO/uEVbYUQzTaPGmB0Www53GeKq6A2oyQs1+0wyV9BR5jWQt7HPpl5U4sCioRTsTF73UQVQMTzIPdg9Iaw4Vw==",
"funding": [ "funding": [
{ {
"type": "github", "type": "github",
@@ -7372,7 +7250,7 @@
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@xhmikosr/bin-wrapper": "^13.1.0", "@xhmikosr/bin-wrapper": "^13.2.0",
"package-config": "^5.0.0" "package-config": "^5.0.0"
}, },
"bin": { "bin": {
@@ -9621,13 +9499,6 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/nested-error-stacks": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz",
"integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==",
"dev": true,
"license": "MIT"
},
"node_modules/netlify-plugin-hugo-cache-resources": { "node_modules/netlify-plugin-hugo-cache-resources": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/netlify-plugin-hugo-cache-resources/-/netlify-plugin-hugo-cache-resources-0.2.1.tgz", "resolved": "https://registry.npmjs.org/netlify-plugin-hugo-cache-resources/-/netlify-plugin-hugo-cache-resources-0.2.1.tgz",
@@ -12811,48 +12682,32 @@
} }
}, },
"node_modules/p-event": { "node_modules/p-event": {
"version": "5.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz",
"integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"p-timeout": "^5.0.2" "p-timeout": "^6.1.2"
}, },
"engines": { "engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0" "node": ">=16.17"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/p-filter": { "node_modules/p-filter": {
"version": "3.0.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz",
"integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"p-map": "^5.1.0" "p-map": "^7.0.1"
}, },
"engines": { "engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0" "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-filter/node_modules/p-map": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz",
"integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==",
"dev": true,
"license": "MIT",
"dependencies": {
"aggregate-error": "^4.0.0"
},
"engines": {
"node": ">=12"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
@@ -12909,13 +12764,13 @@
} }
}, },
"node_modules/p-map": { "node_modules/p-map": {
"version": "6.0.0", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
"integrity": "sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==", "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=16" "node": ">=18"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
@@ -12932,13 +12787,13 @@
} }
}, },
"node_modules/p-timeout": { "node_modules/p-timeout": {
"version": "5.1.0", "version": "6.1.4",
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz",
"integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=12" "node": ">=14.16"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
@@ -13430,9 +13285,9 @@
} }
}, },
"node_modules/postcss-convert-values": { "node_modules/postcss-convert-values": {
"version": "7.0.6", "version": "7.0.7",
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.6.tgz", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.7.tgz",
"integrity": "sha512-MD/eb39Mr60hvgrqpXsgbiqluawYg/8K4nKsqRsuDX9f+xN1j6awZCUv/5tLH8ak3vYp/EMXwdcnXvfZYiejCQ==", "integrity": "sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"browserslist": "^4.25.1", "browserslist": "^4.25.1",
@@ -14183,9 +14038,9 @@
} }
}, },
"node_modules/purgecss/node_modules/brace-expansion": { "node_modules/purgecss/node_modules/brace-expansion": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"balanced-match": "^1.0.0" "balanced-match": "^1.0.0"
@@ -14799,10 +14654,11 @@
} }
}, },
"node_modules/rimraf/node_modules/brace-expansion": { "node_modules/rimraf/node_modules/brace-expansion": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"balanced-match": "^1.0.0" "balanced-match": "^1.0.0"
} }
@@ -15814,19 +15670,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/slash": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/slice-ansi": { "node_modules/slice-ansi": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
@@ -16305,9 +16148,9 @@
} }
}, },
"node_modules/stylelint": { "node_modules/stylelint": {
"version": "16.23.1", "version": "16.24.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.23.1.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.24.0.tgz",
"integrity": "sha512-dNvDTsKV1U2YtiUDfe9d2gp902veFeo3ecCWdGlmLm2WFrAV0+L5LoOj/qHSBABQwMsZPJwfC4bf39mQm1S5zw==", "integrity": "sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -16334,7 +16177,7 @@
"debug": "^4.4.1", "debug": "^4.4.1",
"fast-glob": "^3.3.3", "fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16", "fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^10.1.3", "file-entry-cache": "^10.1.4",
"global-modules": "^2.0.0", "global-modules": "^2.0.0",
"globby": "^11.1.0", "globby": "^11.1.0",
"globjoin": "^0.1.4", "globjoin": "^0.1.4",
@@ -16539,25 +16382,25 @@
"dev": true "dev": true
}, },
"node_modules/stylelint/node_modules/file-entry-cache": { "node_modules/stylelint/node_modules/file-entry-cache": {
"version": "10.1.3", "version": "10.1.4",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.3.tgz", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.4.tgz",
"integrity": "sha512-D+w75Ub8T55yor7fPgN06rkCAUbAYw2vpxJmmjv/GDAcvCnv9g7IvHhIZoxzRZThrXPFI2maeY24pPbtyYU7Lg==", "integrity": "sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"flat-cache": "^6.1.12" "flat-cache": "^6.1.13"
} }
}, },
"node_modules/stylelint/node_modules/flat-cache": { "node_modules/stylelint/node_modules/flat-cache": {
"version": "6.1.12", "version": "6.1.13",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.12.tgz", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.13.tgz",
"integrity": "sha512-U+HqqpZPPXP5d24bWuRzjGqVqUcw64k4nZAbruniDwdRg0H10tvN7H6ku1tjhA4rg5B9GS3siEvwO2qjJJ6f8Q==", "integrity": "sha512-gmtS2PaUjSPa4zjObEIn4WWliKyZzYljgxODBfxugpK6q6HU9ClXzgCJ+nlcPKY9Bt090ypTOLIFWkV0jbKFjw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cacheable": "^1.10.3", "cacheable": "^1.10.4",
"flatted": "^3.3.3", "flatted": "^3.3.3",
"hookified": "^1.10.0" "hookified": "^1.11.0"
} }
}, },
"node_modules/stylelint/node_modules/globby": { "node_modules/stylelint/node_modules/globby": {

View File

@@ -73,9 +73,9 @@
"dependencies": { "dependencies": {
"@fullhuman/postcss-purgecss": "^7.0.2", "@fullhuman/postcss-purgecss": "^7.0.2",
"autoprefixer": "^10.4.21", "autoprefixer": "^10.4.21",
"cssnano": "^7.1.0", "cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.8", "cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.145.2", "hugo-bin": "0.147.0",
"purgecss-whitelister": "^2.4.0" "purgecss-whitelister": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
@@ -85,9 +85,9 @@
"@semantic-release/exec": "^7.1.0", "@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1", "@semantic-release/git": "^10.0.1",
"commitizen": "^4.3.1", "commitizen": "^4.3.1",
"cpy-cli": "^5.0.0", "cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0", "cz-conventional-changelog": "^3.3.0",
"eslint": "^9.33.0", "eslint": "^9.35.0",
"husky": "^9.1.7", "husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1", "markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2", "neostandard": "^0.12.2",
@@ -98,7 +98,7 @@
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"semantic-release": "^24.2.7", "semantic-release": "^24.2.7",
"shx": "^0.4.0", "shx": "^0.4.0",
"stylelint": "^16.23.1", "stylelint": "^16.24.0",
"stylelint-config-standard-scss": "^15.0.1" "stylelint-config-standard-scss": "^15.0.1"
}, },
"optionalDependencies": { "optionalDependencies": {