Compare commits

...

69 Commits

Author SHA1 Message Date
Mark Dumay
2625222554 Merge pull request #1538 from gethinode/develop
feat: add link button to toggle TOC items
2025-08-15 10:00:54 +02:00
Mark Dumay
74eeec9030 Merge branch 'main' into develop 2025-08-15 09:53:29 +02:00
Mark Dumay
a57e0da164 feat: add link button to toggle TOC items 2025-08-15 09:52:20 +02:00
github-actions[bot]
6ab01755f2 Merge pull request #1537 from gethinode/dependabot/npm_and_yarn/cpy-cli-6.0.0
build(deps-dev): bump cpy-cli from 5.0.0 to 6.0.0
2025-08-13 13:51:27 +00:00
dependabot[bot]
22cb71ca9b build(deps-dev): bump cpy-cli from 5.0.0 to 6.0.0
Bumps [cpy-cli](https://github.com/sindresorhus/cpy-cli) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/sindresorhus/cpy-cli/releases)
- [Commits](https://github.com/sindresorhus/cpy-cli/compare/v5.0.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 13:45:14 +00:00
Mark Dumay
62897f685f Merge pull request #1535 from gethinode/codeql
ci: use advanced codeql config
2025-08-12 09:35:18 +02:00
Mark Dumay
4f8fdc4f03 ci: fix codeql config path 2025-08-12 09:28:05 +02:00
Mark Dumay
925a3ff33e ci: specify codeql paths to scan 2025-08-12 09:25:06 +02:00
Mark Dumay
cf16cb9824 ci: use advanced codeql config 2025-08-12 08:22:40 +02:00
Mark Dumay
5d9383858f Merge pull request #1534 from gethinode/develop
fix: adjust horizontal alignment of cards
2025-08-12 08:04:14 +02:00
Mark Dumay
3332b437dd Merge branch 'main' into develop 2025-08-12 07:56:55 +02:00
github-actions[bot]
c5510707b1 Merge pull request #1532 from gethinode/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-08-12 04:35:12 +00:00
Mark Dumay
498f208382 Merge branch 'main' into dependabot/github_actions/actions/checkout-5 2025-08-12 06:28:55 +02:00
Mark Dumay
86962eb8a2 fix: adjust horizontal alignment of cards
fixes #1533
2025-08-12 06:28:33 +02:00
dependabot[bot]
f4319180e0 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 20:45:50 +00:00
github-actions[bot]
9607aef8ef Merge pull request #1531 from gethinode/dependabot/npm_and_yarn/eslint-9.33.0
build(deps-dev): bump eslint from 9.32.0 to 9.33.0
2025-08-11 18:21:09 +00:00
dependabot[bot]
2c2f150faa build(deps-dev): bump eslint from 9.32.0 to 9.33.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.32.0 to 9.33.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0)

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 13:59:51 +00:00
github-actions[bot]
1dd2971893 Merge pull request #1525 from gethinode/dependabot/npm_and_yarn/eslint-9.32.0
build(deps-dev): bump eslint from 9.31.0 to 9.32.0
2025-07-28 18:04:51 +00:00
dependabot[bot]
7ac6b89ece build(deps-dev): bump eslint from 9.31.0 to 9.32.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.31.0 to 9.32.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.31.0...v9.32.0)

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:56:39 +00:00
github-actions[bot]
9e5d786ca3 Merge pull request #1516 from gethinode/dependabot/npm_and_yarn/eslint-9.31.0
build(deps-dev): bump eslint from 9.30.1 to 9.31.0
2025-07-14 16:55:41 +00:00
dependabot[bot]
2bfb9d6991 build(deps-dev): bump eslint from 9.30.1 to 9.31.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.30.1 to 9.31.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.30.1...v9.31.0)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:18:03 +00:00
Mark Dumay
8fa4b251b1 Merge pull request #1505 from gethinode/develop
Develop
2025-07-08 10:53:36 +02:00
Mark Dumay
dcbbf2a55a fix: update Hugo modules 2025-07-08 10:44:06 +02:00
Mark Dumay
c7a4edee1f Merge branch 'main' into develop 2025-07-08 10:34:49 +02:00
Mark Dumay
f69f536dca fix: use go.mod for version info instead of package.json
The package.json no longer contains version info, as it is locked due semantic release.
2025-07-08 10:34:10 +02:00
Mark Dumay
4bd20f6bb0 Merge pull request #1504 from gethinode/develop
Develop
2025-07-08 07:41:00 +02:00
Mark Dumay
6db9cbec0e Merge branch 'main' into develop 2025-07-08 07:31:22 +02:00
Mark Dumay
0170417ddc fix: correct responsive behavior of cards content block 2025-07-08 07:30:27 +02:00
Mark Dumay
3eb2e36429 fix: standardize bottom padding of section title 2025-07-08 07:29:46 +02:00
Mark Dumay
773b365b1c Merge pull request #1503 from gethinode/develop
Develop
2025-07-08 06:58:46 +02:00
Mark Dumay
550945f0f6 fix: correct arguments of panels content block 2025-07-08 06:48:09 +02:00
Mark Dumay
b60ad8fd0b docs: drop npm badge 2025-07-08 06:41:07 +02:00
47 changed files with 1092 additions and 1141 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@v4
# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`
# or others). This is typically only required for manual builds.
# - name: Setup runtime (example)
# uses: actions/setup-example@v1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql/codeql-config.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

View File

@@ -24,7 +24,7 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up Node.js
uses: actions/setup-node@v4
@@ -53,7 +53,7 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v5

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v4

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

View File

@@ -15,9 +15,6 @@
<a href="https://gethinode.com">
<img src="https://img.shields.io/badge/theme-hinode-blue" alt="Hinode theme">
</a>
<a href="https://www.npmjs.com/package/%40gethinode/hinode">
<img src="https://img.shields.io/npm/v/%40gethinode/hinode" alt="npm package">
</a>
<a href="https://app.netlify.com/sites/gethinode-demo/deploys">
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67" alt="Netlify Status">
</a>

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

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

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

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

View File

@@ -74,6 +74,14 @@
}
}
.btn-link.toc-item {
font-size: inherit;
}
#btnTOCShowMore {
padding-top: 0.875rem;
}
a.toc-item {
display: block;
}

View File

@@ -19,6 +19,10 @@
{{ $error = $args.err }}
{{ end }}
{{/* Initialize global arguments */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $pages := slice }}
{{ $result := partial "assets/live-pages.html" (dict
"page" $args.page
@@ -60,10 +64,14 @@
{{ $paginate = false }}
{{ end }}
<!-- Main code -->
{{/* Main code */}}
{{ if not $error }}
{{ if or (gt (len $pages) 0) (not $args.hideEmpty) }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
{{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{ $partial := "assets/card-group.html" }}
{{ $params := dict }}
@@ -80,7 +88,7 @@
)}}
{{ if $args.scroll }}
{{ $partial := "assets/stack.html" }}
{{ $partial = "assets/stack.html" }}
{{ $params = merge $params (dict
"header-style" "none"
"body-style" "title"
@@ -107,7 +115,6 @@
{{ if gt (len $pages) 0 }}
{{ partial $partial $params }}
{{ else }}
{{- $padding := partial "utilities/GetPadding.html" -}}
<p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p>
{{ end }}
{{ end }}

View File

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

View File

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

View File

@@ -16,7 +16,6 @@ blueprint:
align:
width:
cols:
icon-rounded:
padding:
background:
backdrop:
@@ -30,6 +29,7 @@ blueprint:
content:
tab-type:
ratio:
responsive:
class:
width:
justify:

View File

@@ -21,6 +21,7 @@
{{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $list := slice }}
@@ -60,8 +61,13 @@
{{ $titles = $titles | append $element.title }}
{{ end}}
{{/* Main code */}}
{{ if not $error }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
{{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{- partial "assets/nav.html" (dict
"id" (or $args.id $parentID)

View File

@@ -16,6 +16,7 @@
)}}
{{ end }}
{{/* Initialize global variables */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
@@ -80,6 +81,7 @@
) -}}
{{ end }}
{{/* Main code */}}
{{ if not $args.err }}
{{ $list := slice }}
@@ -98,7 +100,11 @@
) }}
{{ end}}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
{{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{ if eq $args.orientation "stacked" }}
<div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">

View File

@@ -188,7 +188,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]]
path = "github.com/gethinode/mod-lottie"
[[module.imports]]
path = "github.com/gethinode/mod-mermaid/v2"
path = "github.com/gethinode/mod-mermaid/v3"
[[module.imports]]
path = "github.com/gethinode/mod-simple-datatables/v2"
[[module.imports]]

View File

@@ -97,6 +97,9 @@
toc = true
sidebar = true
size = "md"
startLevel = 2
endLevel = 3
maxNumHeadings = 9
[navigation.padding]
x = 4
y = 4

View File

@@ -30,6 +30,7 @@ const purgecss = purgeCSSPlugin({
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',

View File

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

View File

@@ -51,6 +51,9 @@
toc = true
sidebar = true
size = "md"
startLevel = 2
endLevel = 3
maxNumHeadings = 9
[navigation.padding]
x = 4
y = 4
@@ -129,7 +132,7 @@
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
purge = false
purge = true
# toml-docs-end theme-colors
[schema]
@@ -169,3 +172,6 @@
[modules.cookieyes]
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
[modules.mermaid]
elk = true

View File

@@ -30,6 +30,7 @@ const purgecss = purgeCSSPlugin({
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',

View File

@@ -94,6 +94,22 @@ As an example, the following shortcode displays an interactive map of the city o
## Mermaid Diagrams
### Shortcode (with controls and frontmatter)
<!-- markdownlint-disable MD003 MD022 -->
{{< mermaid controls=true >}}
---
config:
layout: elk.stress
look: handDrawn
theme: forest
---
flowchart TD
A --> B
A --> C
{{< /mermaid >}}
<!-- markdownlint-enable MD003 MD022 -->
### Flowchart
```mermaid

View File

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

View File

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

View File

@@ -104,7 +104,6 @@
"bg-opacity-10",
"bg-primary",
"bg-primary-subtle",
"bg-secondary-subtle",
"bi",
"bi-activity",
"border",
@@ -196,6 +195,10 @@
"container",
"container-fluid",
"container-xxl",
"control-btn",
"control-btn-expand",
"control-btn-zoom-in",
"control-btn-zoom-out",
"cta",
"custom",
"d-block",
@@ -213,6 +216,9 @@
"d-sm-block",
"d-sm-none",
"data-table",
"diagram-container",
"diagram-controls",
"diagram-wrapper",
"disabled",
"display-1",
"display-4",
@@ -237,13 +243,9 @@
"fa-activity",
"fa-address-card",
"fa-angle-left",
"fa-angle-right",
"fa-angles-left",
"fa-angles-right",
"fa-arrow-left",
"fa-arrow-right",
"fa-bootstrap",
"fa-check",
"fa-chevron-right",
"fa-circle",
"fa-circle-check",
@@ -253,6 +255,7 @@
"fa-divide",
"fa-docker",
"fa-ellipsis",
"fa-expand",
"fa-face-frown",
"fa-facebook",
"fa-fluid",
@@ -267,10 +270,11 @@
"fa-info",
"fa-inverse",
"fa-lg",
"fa-li",
"fa-link",
"fa-linkedin",
"fa-magnifying-glass",
"fa-magnifying-glass-minus",
"fa-magnifying-glass-plus",
"fa-medium",
"fa-moon",
"fa-rocket",
@@ -283,14 +287,12 @@
"fa-stack-2x",
"fa-sun",
"fa-timeline",
"fa-trash-can",
"fa-ul",
"fa-up-right-from-square",
"fa-whatsapp",
"fa-wrapper",
"fa-x-twitter",
"fa-xl",
"fa-xs",
"fa-youtube",
"fab",
"fade",
"faq",
@@ -346,7 +348,6 @@
"justify-content-between",
"justify-content-center",
"justify-content-end",
"justify-content-md-end",
"justify-content-md-start",
"justify-content-start",
"katex",
@@ -469,7 +470,6 @@
"px-md-4",
"px-xxl-0",
"py-%!d(string=0)",
"py-0",
"py-1",
"py-2",
"py-3",
@@ -535,7 +535,6 @@
"text-decoration-none",
"text-end",
"text-info",
"text-md-start",
"text-muted",
"text-nowrap",
"text-primary",
@@ -592,7 +591,6 @@
],
"ids": [
"abbr",
"accelerate-your-data-products",
"accordion",
"accordion-0",
"accordion-0-heading-0",
@@ -602,10 +600,8 @@
"accordion-0-item-1",
"accordion-0-item-2",
"accordéon",
"ai",
"alert",
"alerte",
"analytics",
"animatie",
"animation",
"args",
@@ -620,6 +616,8 @@
"body-file-collapse-1",
"bouton",
"breadcrumb",
"btnTOCShowLess",
"btnTOCShowMore",
"button",
"button-group",
"c4-diagram",
@@ -642,37 +640,15 @@
"content-blocks",
"cookies-etc",
"custom-activity",
"data-quality",
"data-tables",
"docs",
"documentation",
"dropdown-nav-0",
"dropdown-panel-04cc902a1b9ae501f2232225b0f51e7d",
"dropdown-panel-0c79a02cf39639268a202b758ad2d285",
"dropdown-panel-0e36f3b8517c31a97b03032544995744",
"dropdown-panel-0e85ca27bed5d65b86196838671b87e4",
"dropdown-panel-14d7bbfb7be05a0e3b1c7cf418b26dfc",
"dropdown-panel-1721ebebd9944796cadea61fec2fa159",
"dropdown-panel-1d66e6454e1bd519c133f51c1650706c",
"dropdown-panel-238ffa7f4a8dcee0cfa8eeb911fead48",
"dropdown-panel-3",
"dropdown-panel-3d6152c55298dd12978e1dd8e8ad07f1",
"dropdown-panel-3f780129615672a2fd09eabb09b80d1f",
"dropdown-panel-41673841783e8a5342b0fc5a08cb5e29",
"dropdown-panel-4d26f9c6fbfbcab2d570487afdc3f239",
"dropdown-panel-5fdabe7772b55d2c1299b3c287f67a88",
"dropdown-panel-7fcd2764c358618f1e4112c62d405ea4",
"dropdown-panel-8c100e1753414457c6fe150d54c47a72",
"dropdown-panel-8dd997690015112313cbcbfc3ae3ffab",
"dropdown-panel-95e3aed36f5cb0f7ea0701222b241963",
"dropdown-panel-9d83293e530db0b5b82bcfe39b825ecc",
"dropdown-panel-b074cec1ce13618424031659a9a45e58",
"dropdown-panel-b3fd9e78fd6b81b579609205aa1f3778",
"dropdown-panel-ca4b6940ba8f448bb1c131eb6b6fbe0c",
"dropdown-panel-dde83bf03b1a9c2f8e27dc4006e70e5c",
"dropdown-panel-ed6dd8fdc76ebe2f01ef6e05b340baac",
"dropdown-panel-f7d6922687c35988422413f08824dd85",
"dropdown-panel-f90b236c80edd14268f4b88fd0b4a168",
"dropdown-panel-084bf092239e5f25a71841b46134e2b5",
"dropdown-panel-09e05d29554c47c7d092c3c332e8ab42",
"dropdown-panel-5acf6806020477b731604b7c3506126d",
"dropdown-panel-6bdf123559ba44e375634c7e5392b912",
"dropdown-panel-d09398439fd994d4aafbc4a3a9c28bf2",
"elements-type",
"entity-relationship-diagram",
"example",
@@ -690,43 +666,18 @@
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"fab-youtube",
"faq-265aead58c147374af539920e4b7f30d",
"faq-265aead58c147374af539920e4b7f30d-heading-faq-265aead58c147374af539920e4b7f30d",
"faq-265aead58c147374af539920e4b7f30d-item-0",
"faq-265aead58c147374af539920e4b7f30d-item-1",
"faq-265aead58c147374af539920e4b7f30d-item-2",
"faq-2f41f288be961abf2c49712935cc9bdd",
"faq-2f41f288be961abf2c49712935cc9bdd-heading-faq-2f41f288be961abf2c49712935cc9bdd",
"faq-2f41f288be961abf2c49712935cc9bdd-item-0",
"faq-2f41f288be961abf2c49712935cc9bdd-item-1",
"faq-2f41f288be961abf2c49712935cc9bdd-item-2",
"faq-4074634d91f7c83bf3d7de6176c0cdaa",
"faq-4074634d91f7c83bf3d7de6176c0cdaa-heading-faq-4074634d91f7c83bf3d7de6176c0cdaa",
"faq-4074634d91f7c83bf3d7de6176c0cdaa-item-0",
"faq-4074634d91f7c83bf3d7de6176c0cdaa-item-1",
"faq-4074634d91f7c83bf3d7de6176c0cdaa-item-2",
"faq-bce80c568b1649093b04405cbde05b59",
"faq-bce80c568b1649093b04405cbde05b59-heading-faq-bce80c568b1649093b04405cbde05b59",
"faq-bce80c568b1649093b04405cbde05b59-item-0",
"faq-bce80c568b1649093b04405cbde05b59-item-1",
"faq-bce80c568b1649093b04405cbde05b59-item-2",
"faq-d0ec0f52c6da4a60ff55ebc208eb29bd",
"faq-d0ec0f52c6da4a60ff55ebc208eb29bd-heading-faq-d0ec0f52c6da4a60ff55ebc208eb29bd",
"faq-d0ec0f52c6da4a60ff55ebc208eb29bd-item-0",
"faq-d0ec0f52c6da4a60ff55ebc208eb29bd-item-1",
"faq-d0ec0f52c6da4a60ff55ebc208eb29bd-item-2",
"faq-c3e9e2ab69a8c88825f39038d15bc04f",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-heading-faq-c3e9e2ab69a8c88825f39038d15bc04f",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-item-0",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-item-1",
"faq-c3e9e2ab69a8c88825f39038d15bc04f-item-2",
"fas-1",
"fas-2",
"fas-3",
"fas-address-card",
"fas-angle-left",
"fas-angle-right",
"fas-angles-left",
"fas-angles-right",
"fas-arrow-left",
"fas-arrow-right",
"fas-check",
"fas-chevron-right",
"fas-circle",
"fas-circle-check",
@@ -735,6 +686,7 @@
"fas-code",
"fas-divide",
"fas-ellipsis",
"fas-expand",
"fas-globe",
"fas-grip",
"fas-h",
@@ -743,13 +695,14 @@
"fas-info",
"fas-link",
"fas-magnifying-glass",
"fas-magnifying-glass-minus",
"fas-magnifying-glass-plus",
"fas-moon",
"fas-rocket",
"fas-share-nodes",
"fas-sort",
"fas-sun",
"fas-timeline",
"fas-trash-can",
"fas-up-right-from-square",
"fichier",
"fil-dariane",
@@ -787,7 +740,6 @@
"items-type",
"kaart",
"kbd",
"kickstart-your-data-stack-without-coding",
"language-selector",
"leaflet-map-0",
"lien",
@@ -802,7 +754,6 @@
"messages-type",
"mindmap",
"more-type",
"move-your-data-into-action",
"nav",
"nav-0-0",
"nav-0-1",
@@ -811,32 +762,11 @@
"nav-0-btn-1",
"nav-0-btn-2",
"nav-nav-0",
"nav-panel-04cc902a1b9ae501f2232225b0f51e7d",
"nav-panel-0c79a02cf39639268a202b758ad2d285",
"nav-panel-0e36f3b8517c31a97b03032544995744",
"nav-panel-0e85ca27bed5d65b86196838671b87e4",
"nav-panel-14d7bbfb7be05a0e3b1c7cf418b26dfc",
"nav-panel-1721ebebd9944796cadea61fec2fa159",
"nav-panel-1d66e6454e1bd519c133f51c1650706c",
"nav-panel-238ffa7f4a8dcee0cfa8eeb911fead48",
"nav-panel-3",
"nav-panel-3d6152c55298dd12978e1dd8e8ad07f1",
"nav-panel-3f780129615672a2fd09eabb09b80d1f",
"nav-panel-41673841783e8a5342b0fc5a08cb5e29",
"nav-panel-4d26f9c6fbfbcab2d570487afdc3f239",
"nav-panel-5fdabe7772b55d2c1299b3c287f67a88",
"nav-panel-7fcd2764c358618f1e4112c62d405ea4",
"nav-panel-8c100e1753414457c6fe150d54c47a72",
"nav-panel-8dd997690015112313cbcbfc3ae3ffab",
"nav-panel-95e3aed36f5cb0f7ea0701222b241963",
"nav-panel-9d83293e530db0b5b82bcfe39b825ecc",
"nav-panel-b074cec1ce13618424031659a9a45e58",
"nav-panel-b3fd9e78fd6b81b579609205aa1f3778",
"nav-panel-ca4b6940ba8f448bb1c131eb6b6fbe0c",
"nav-panel-dde83bf03b1a9c2f8e27dc4006e70e5c",
"nav-panel-ed6dd8fdc76ebe2f01ef6e05b340baac",
"nav-panel-f7d6922687c35988422413f08824dd85",
"nav-panel-f90b236c80edd14268f4b88fd0b4a168",
"nav-panel-084bf092239e5f25a71841b46134e2b5",
"nav-panel-09e05d29554c47c7d092c3c332e8ab42",
"nav-panel-5acf6806020477b731604b7c3506126d",
"nav-panel-6bdf123559ba44e375634c7e5392b912",
"nav-panel-d09398439fd994d4aafbc4a3a9c28bf2",
"navbar",
"navbar-0-collapse",
"navbar-mode",
@@ -844,164 +774,37 @@
"navbar-sample-collapse",
"navigation",
"notification",
"options-type",
"overview",
"panel-04cc902a1b9ae501f2232225b0f51e7d-0",
"panel-04cc902a1b9ae501f2232225b0f51e7d-1",
"panel-04cc902a1b9ae501f2232225b0f51e7d-2",
"panel-04cc902a1b9ae501f2232225b0f51e7d-btn-0",
"panel-04cc902a1b9ae501f2232225b0f51e7d-btn-1",
"panel-04cc902a1b9ae501f2232225b0f51e7d-btn-2",
"panel-0c79a02cf39639268a202b758ad2d285-0",
"panel-0c79a02cf39639268a202b758ad2d285-1",
"panel-0c79a02cf39639268a202b758ad2d285-2",
"panel-0c79a02cf39639268a202b758ad2d285-btn-0",
"panel-0c79a02cf39639268a202b758ad2d285-btn-1",
"panel-0c79a02cf39639268a202b758ad2d285-btn-2",
"panel-0e36f3b8517c31a97b03032544995744-0",
"panel-0e36f3b8517c31a97b03032544995744-1",
"panel-0e36f3b8517c31a97b03032544995744-2",
"panel-0e36f3b8517c31a97b03032544995744-btn-0",
"panel-0e36f3b8517c31a97b03032544995744-btn-1",
"panel-0e36f3b8517c31a97b03032544995744-btn-2",
"panel-0e85ca27bed5d65b86196838671b87e4-0",
"panel-0e85ca27bed5d65b86196838671b87e4-1",
"panel-0e85ca27bed5d65b86196838671b87e4-2",
"panel-0e85ca27bed5d65b86196838671b87e4-btn-0",
"panel-0e85ca27bed5d65b86196838671b87e4-btn-1",
"panel-0e85ca27bed5d65b86196838671b87e4-btn-2",
"panel-14d7bbfb7be05a0e3b1c7cf418b26dfc-0",
"panel-14d7bbfb7be05a0e3b1c7cf418b26dfc-1",
"panel-14d7bbfb7be05a0e3b1c7cf418b26dfc-2",
"panel-14d7bbfb7be05a0e3b1c7cf418b26dfc-btn-0",
"panel-14d7bbfb7be05a0e3b1c7cf418b26dfc-btn-1",
"panel-14d7bbfb7be05a0e3b1c7cf418b26dfc-btn-2",
"panel-1721ebebd9944796cadea61fec2fa159-0",
"panel-1721ebebd9944796cadea61fec2fa159-1",
"panel-1721ebebd9944796cadea61fec2fa159-2",
"panel-1721ebebd9944796cadea61fec2fa159-btn-0",
"panel-1721ebebd9944796cadea61fec2fa159-btn-1",
"panel-1721ebebd9944796cadea61fec2fa159-btn-2",
"panel-1d66e6454e1bd519c133f51c1650706c-0",
"panel-1d66e6454e1bd519c133f51c1650706c-1",
"panel-1d66e6454e1bd519c133f51c1650706c-2",
"panel-1d66e6454e1bd519c133f51c1650706c-btn-0",
"panel-1d66e6454e1bd519c133f51c1650706c-btn-1",
"panel-1d66e6454e1bd519c133f51c1650706c-btn-2",
"panel-238ffa7f4a8dcee0cfa8eeb911fead48-0",
"panel-238ffa7f4a8dcee0cfa8eeb911fead48-1",
"panel-238ffa7f4a8dcee0cfa8eeb911fead48-2",
"panel-238ffa7f4a8dcee0cfa8eeb911fead48-btn-0",
"panel-238ffa7f4a8dcee0cfa8eeb911fead48-btn-1",
"panel-238ffa7f4a8dcee0cfa8eeb911fead48-btn-2",
"panel-3-0",
"panel-3-1",
"panel-3-2",
"panel-3-btn-0",
"panel-3-btn-1",
"panel-3-btn-2",
"panel-3d6152c55298dd12978e1dd8e8ad07f1-0",
"panel-3d6152c55298dd12978e1dd8e8ad07f1-1",
"panel-3d6152c55298dd12978e1dd8e8ad07f1-2",
"panel-3d6152c55298dd12978e1dd8e8ad07f1-btn-0",
"panel-3d6152c55298dd12978e1dd8e8ad07f1-btn-1",
"panel-3d6152c55298dd12978e1dd8e8ad07f1-btn-2",
"panel-3f780129615672a2fd09eabb09b80d1f-0",
"panel-3f780129615672a2fd09eabb09b80d1f-1",
"panel-3f780129615672a2fd09eabb09b80d1f-2",
"panel-3f780129615672a2fd09eabb09b80d1f-btn-0",
"panel-3f780129615672a2fd09eabb09b80d1f-btn-1",
"panel-3f780129615672a2fd09eabb09b80d1f-btn-2",
"panel-41673841783e8a5342b0fc5a08cb5e29-0",
"panel-41673841783e8a5342b0fc5a08cb5e29-1",
"panel-41673841783e8a5342b0fc5a08cb5e29-2",
"panel-41673841783e8a5342b0fc5a08cb5e29-btn-0",
"panel-41673841783e8a5342b0fc5a08cb5e29-btn-1",
"panel-41673841783e8a5342b0fc5a08cb5e29-btn-2",
"panel-4d26f9c6fbfbcab2d570487afdc3f239-0",
"panel-4d26f9c6fbfbcab2d570487afdc3f239-1",
"panel-4d26f9c6fbfbcab2d570487afdc3f239-2",
"panel-4d26f9c6fbfbcab2d570487afdc3f239-btn-0",
"panel-4d26f9c6fbfbcab2d570487afdc3f239-btn-1",
"panel-4d26f9c6fbfbcab2d570487afdc3f239-btn-2",
"panel-5fdabe7772b55d2c1299b3c287f67a88-0",
"panel-5fdabe7772b55d2c1299b3c287f67a88-1",
"panel-5fdabe7772b55d2c1299b3c287f67a88-2",
"panel-5fdabe7772b55d2c1299b3c287f67a88-btn-0",
"panel-5fdabe7772b55d2c1299b3c287f67a88-btn-1",
"panel-5fdabe7772b55d2c1299b3c287f67a88-btn-2",
"panel-7fcd2764c358618f1e4112c62d405ea4-0",
"panel-7fcd2764c358618f1e4112c62d405ea4-1",
"panel-7fcd2764c358618f1e4112c62d405ea4-2",
"panel-7fcd2764c358618f1e4112c62d405ea4-btn-0",
"panel-7fcd2764c358618f1e4112c62d405ea4-btn-1",
"panel-7fcd2764c358618f1e4112c62d405ea4-btn-2",
"panel-8c100e1753414457c6fe150d54c47a72-0",
"panel-8c100e1753414457c6fe150d54c47a72-1",
"panel-8c100e1753414457c6fe150d54c47a72-2",
"panel-8c100e1753414457c6fe150d54c47a72-btn-0",
"panel-8c100e1753414457c6fe150d54c47a72-btn-1",
"panel-8c100e1753414457c6fe150d54c47a72-btn-2",
"panel-8dd997690015112313cbcbfc3ae3ffab-0",
"panel-8dd997690015112313cbcbfc3ae3ffab-1",
"panel-8dd997690015112313cbcbfc3ae3ffab-2",
"panel-8dd997690015112313cbcbfc3ae3ffab-btn-0",
"panel-8dd997690015112313cbcbfc3ae3ffab-btn-1",
"panel-8dd997690015112313cbcbfc3ae3ffab-btn-2",
"panel-95e3aed36f5cb0f7ea0701222b241963-0",
"panel-95e3aed36f5cb0f7ea0701222b241963-1",
"panel-95e3aed36f5cb0f7ea0701222b241963-2",
"panel-95e3aed36f5cb0f7ea0701222b241963-btn-0",
"panel-95e3aed36f5cb0f7ea0701222b241963-btn-1",
"panel-95e3aed36f5cb0f7ea0701222b241963-btn-2",
"panel-9d83293e530db0b5b82bcfe39b825ecc-0",
"panel-9d83293e530db0b5b82bcfe39b825ecc-1",
"panel-9d83293e530db0b5b82bcfe39b825ecc-2",
"panel-9d83293e530db0b5b82bcfe39b825ecc-btn-0",
"panel-9d83293e530db0b5b82bcfe39b825ecc-btn-1",
"panel-9d83293e530db0b5b82bcfe39b825ecc-btn-2",
"panel-b074cec1ce13618424031659a9a45e58-0",
"panel-b074cec1ce13618424031659a9a45e58-1",
"panel-b074cec1ce13618424031659a9a45e58-2",
"panel-b074cec1ce13618424031659a9a45e58-btn-0",
"panel-b074cec1ce13618424031659a9a45e58-btn-1",
"panel-b074cec1ce13618424031659a9a45e58-btn-2",
"panel-b3fd9e78fd6b81b579609205aa1f3778-0",
"panel-b3fd9e78fd6b81b579609205aa1f3778-1",
"panel-b3fd9e78fd6b81b579609205aa1f3778-2",
"panel-b3fd9e78fd6b81b579609205aa1f3778-btn-0",
"panel-b3fd9e78fd6b81b579609205aa1f3778-btn-1",
"panel-b3fd9e78fd6b81b579609205aa1f3778-btn-2",
"panel-ca4b6940ba8f448bb1c131eb6b6fbe0c-0",
"panel-ca4b6940ba8f448bb1c131eb6b6fbe0c-1",
"panel-ca4b6940ba8f448bb1c131eb6b6fbe0c-2",
"panel-ca4b6940ba8f448bb1c131eb6b6fbe0c-btn-0",
"panel-ca4b6940ba8f448bb1c131eb6b6fbe0c-btn-1",
"panel-ca4b6940ba8f448bb1c131eb6b6fbe0c-btn-2",
"panel-dde83bf03b1a9c2f8e27dc4006e70e5c-0",
"panel-dde83bf03b1a9c2f8e27dc4006e70e5c-1",
"panel-dde83bf03b1a9c2f8e27dc4006e70e5c-2",
"panel-dde83bf03b1a9c2f8e27dc4006e70e5c-btn-0",
"panel-dde83bf03b1a9c2f8e27dc4006e70e5c-btn-1",
"panel-dde83bf03b1a9c2f8e27dc4006e70e5c-btn-2",
"panel-ed6dd8fdc76ebe2f01ef6e05b340baac-0",
"panel-ed6dd8fdc76ebe2f01ef6e05b340baac-1",
"panel-ed6dd8fdc76ebe2f01ef6e05b340baac-2",
"panel-ed6dd8fdc76ebe2f01ef6e05b340baac-btn-0",
"panel-ed6dd8fdc76ebe2f01ef6e05b340baac-btn-1",
"panel-ed6dd8fdc76ebe2f01ef6e05b340baac-btn-2",
"panel-f7d6922687c35988422413f08824dd85-0",
"panel-f7d6922687c35988422413f08824dd85-1",
"panel-f7d6922687c35988422413f08824dd85-2",
"panel-f7d6922687c35988422413f08824dd85-btn-0",
"panel-f7d6922687c35988422413f08824dd85-btn-1",
"panel-f7d6922687c35988422413f08824dd85-btn-2",
"panel-f90b236c80edd14268f4b88fd0b4a168-0",
"panel-f90b236c80edd14268f4b88fd0b4a168-1",
"panel-f90b236c80edd14268f4b88fd0b4a168-2",
"panel-f90b236c80edd14268f4b88fd0b4a168-btn-0",
"panel-f90b236c80edd14268f4b88fd0b4a168-btn-1",
"panel-f90b236c80edd14268f4b88fd0b4a168-btn-2",
"panel-084bf092239e5f25a71841b46134e2b5-0",
"panel-084bf092239e5f25a71841b46134e2b5-1",
"panel-084bf092239e5f25a71841b46134e2b5-2",
"panel-084bf092239e5f25a71841b46134e2b5-btn-0",
"panel-084bf092239e5f25a71841b46134e2b5-btn-1",
"panel-084bf092239e5f25a71841b46134e2b5-btn-2",
"panel-09e05d29554c47c7d092c3c332e8ab42-0",
"panel-09e05d29554c47c7d092c3c332e8ab42-1",
"panel-09e05d29554c47c7d092c3c332e8ab42-2",
"panel-09e05d29554c47c7d092c3c332e8ab42-btn-0",
"panel-09e05d29554c47c7d092c3c332e8ab42-btn-1",
"panel-09e05d29554c47c7d092c3c332e8ab42-btn-2",
"panel-5acf6806020477b731604b7c3506126d-0",
"panel-5acf6806020477b731604b7c3506126d-1",
"panel-5acf6806020477b731604b7c3506126d-2",
"panel-5acf6806020477b731604b7c3506126d-btn-0",
"panel-5acf6806020477b731604b7c3506126d-btn-1",
"panel-5acf6806020477b731604b7c3506126d-btn-2",
"panel-6bdf123559ba44e375634c7e5392b912-0",
"panel-6bdf123559ba44e375634c7e5392b912-1",
"panel-6bdf123559ba44e375634c7e5392b912-2",
"panel-6bdf123559ba44e375634c7e5392b912-btn-0",
"panel-6bdf123559ba44e375634c7e5392b912-btn-1",
"panel-6bdf123559ba44e375634c7e5392b912-btn-2",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-0",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-1",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-2",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-btn-0",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-btn-1",
"panel-d09398439fd994d4aafbc4a3a9c28bf2-btn-2",
"persona",
"pie-chart",
"pills",
@@ -1017,18 +820,16 @@
"second-panel",
"security",
"sequence-diagram",
"shortcode-with-controls-and-frontmatter",
"spinner",
"stacked-cards-with-an-icon",
"stacked-cards-with-an-image",
"stacked-video-message",
"start-using-your-data-immediately",
"state-diagram",
"sub",
"sup",
"sécurité",
"table",
"tabs",
"tap-into-the-latest-thinking-from-infusal-and-stay-in-the-lead",
"third-panel",
"third-party-links--use-of-your-information",
"timeline",
@@ -1040,8 +841,8 @@
"toast-example-2",
"toast-message-email-4",
"toc-collapse",
"toc-collapse-items",
"tooltip",
"turn-boring-into-brilliant",
"types-de-cookies-que-nous-utilisons",
"types-of-cookies-we-use",
"underline",
@@ -1049,14 +850,11 @@
"video",
"video-type",
"vidéo",
"vimeo",
"vos-droits",
"welcome-to-hinode",
"what-are-cookies",
"works-seamlessly-with-your-current-tech-stack",
"xy-chart",
"your-rights",
"youtube"
"your-rights"
]
}
}

View File

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

25
go.mod
View File

@@ -5,20 +5,17 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 // indirect
github.com/gethinode/mod-bootstrap v1.3.3 // indirect
github.com/gethinode/mod-csp v1.0.7 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.1.1 // indirect
github.com/gethinode/mod-fontawesome/v2 v2.1.1 // indirect
github.com/gethinode/mod-google-analytics v1.3.2 // indirect
github.com/gethinode/mod-katex v1.1.3 // indirect
github.com/gethinode/mod-leaflet v1.3.0 // indirect
github.com/gethinode/mod-lottie v1.6.0 // indirect
github.com/gethinode/mod-mermaid v1.1.23 // indirect
github.com/gethinode/mod-mermaid/v2 v2.0.1 // indirect
github.com/gethinode/mod-simple-datatables v1.1.7 // indirect
github.com/gethinode/mod-simple-datatables/v2 v2.0.1 // indirect
github.com/gethinode/mod-utils/v3 v3.3.1 // indirect
github.com/gethinode/mod-utils/v4 v4.11.0 // indirect
github.com/gethinode/mod-bootstrap v1.3.4 // indirect
github.com/gethinode/mod-csp v1.0.8 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.1.3 // indirect
github.com/gethinode/mod-fontawesome/v2 v2.1.2 // indirect
github.com/gethinode/mod-google-analytics v1.3.3 // indirect
github.com/gethinode/mod-katex v1.1.4 // indirect
github.com/gethinode/mod-leaflet v1.3.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-simple-datatables/v2 v2.0.2 // indirect
github.com/gethinode/mod-utils/v4 v4.13.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a // indirect
github.com/twbs/bootstrap v5.3.7+incompatible // indirect
)

34
go.sum
View File

@@ -36,6 +36,8 @@ github.com/gethinode/mod-bootstrap v1.3.2 h1:mf9Qgr+xHZeHjZGYFdurETfdEKKldB158fp
github.com/gethinode/mod-bootstrap v1.3.2/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.3 h1:k7RrZM3zstWA5xg55yLedb4T7WRBXvn77gv7OwBQ0d4=
github.com/gethinode/mod-bootstrap v1.3.3/go.mod h1:MkvQgiA3N2NFiW57TTU60Rn4N6oZjvlBIVgrJE9M0WI=
github.com/gethinode/mod-bootstrap v1.3.4 h1:rBfyUmdslxL+RX76/5hyJYPacfrt6OYrciNgk/T0NWk=
github.com/gethinode/mod-bootstrap v1.3.4/go.mod h1:MkvQgiA3N2NFiW57TTU60Rn4N6oZjvlBIVgrJE9M0WI=
github.com/gethinode/mod-csp v1.0.0 h1:Obp0MVMBjIPZbKDh6Ejl5pImDG7yERMLf2or9UVnwPA=
github.com/gethinode/mod-csp v1.0.0/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.1 h1:IUUwPc41UNw7DAFuJ75nNPzhkPExenxXU7susdLaxdQ=
@@ -52,6 +54,8 @@ github.com/gethinode/mod-csp v1.0.6 h1:ufEKQldQe9ZCXbENTpwqVlYnPRgVv3WDhPjur5OLU
github.com/gethinode/mod-csp v1.0.6/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.7 h1:V4D8vYA/jJ2Nv9kPz5gt96fkVd3NtT7sBqVhnG5TvAU=
github.com/gethinode/mod-csp v1.0.7/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.8 h1:36bWS7oW5KoPp0ywJXKmfMdM33c/7EPBLjzut0njTgE=
github.com/gethinode/mod-csp v1.0.8/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
@@ -110,6 +114,10 @@ github.com/gethinode/mod-flexsearch/v2 v2.1.0 h1:NzCruYAKQBMM1DwFFoH7/tzqmItR6sK
github.com/gethinode/mod-flexsearch/v2 v2.1.0/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.1.1 h1:Vcr0aAkqPdavK183L8nr0dF7ngfY9EUDG4ZpmEK815M=
github.com/gethinode/mod-flexsearch/v2 v2.1.1/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v2 v2.1.2 h1:B/onreHG/qzIqMo9YYiRk4WWM+GgFj1FSGHSgUpCvJ0=
github.com/gethinode/mod-flexsearch/v2 v2.1.2/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v2 v2.1.3 h1:m5I9B7cA1SU99f90yO4OpOcKNPZ5zMF18pEhusLxa80=
github.com/gethinode/mod-flexsearch/v2 v2.1.3/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
@@ -162,6 +170,8 @@ github.com/gethinode/mod-fontawesome/v2 v2.1.0 h1:kRQ/4ady4Ih/m3bJ/1+/rkFhunuzjN
github.com/gethinode/mod-fontawesome/v2 v2.1.0/go.mod h1:Jhwzi3KQI3fYn1hPNPJFCk+kcz80s8ONT4FmwLTXH2c=
github.com/gethinode/mod-fontawesome/v2 v2.1.1 h1:EieVCvEiT0ulXpEHY4kCLJvZCIvGkupIVyoCRTidrvo=
github.com/gethinode/mod-fontawesome/v2 v2.1.1/go.mod h1:zukv88wXqquEvTJJ9mWWk8Ia+9INnA41wYqusf2RcHA=
github.com/gethinode/mod-fontawesome/v2 v2.1.2 h1:v1aHhbLLwe/05zRHnx9qGqh6b3toDzcLzuv61rWAoGU=
github.com/gethinode/mod-fontawesome/v2 v2.1.2/go.mod h1:zukv88wXqquEvTJJ9mWWk8Ia+9INnA41wYqusf2RcHA=
github.com/gethinode/mod-google-analytics v1.0.0 h1:fly42RQ69bdyJe8WFefsBIo7WMIXkd3wZn32kyAr4h4=
github.com/gethinode/mod-google-analytics v1.0.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.0.1 h1:zbmOdnAhhFCA7qWw7fnR46biWhqW2r06sIaTWyhB5R0=
@@ -190,6 +200,8 @@ github.com/gethinode/mod-google-analytics v1.3.1 h1:WPXrsO6Kpp0k8PYY9a1JyiZgYGMl
github.com/gethinode/mod-google-analytics v1.3.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.2 h1:W4caxWkSor/BFfOEGDDMp+7RajO/Jh1bE7LXxPqLE3A=
github.com/gethinode/mod-google-analytics v1.3.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.3 h1:iX2FtXajykfHWJf7MXCQmpezqXgQUADNTeglU81QKpw=
github.com/gethinode/mod-google-analytics v1.3.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
@@ -216,6 +228,8 @@ github.com/gethinode/mod-katex v1.1.2 h1:TbeVIWeG5TqldlVxpM1upOWj11RljXy4fhpOQIw
github.com/gethinode/mod-katex v1.1.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.3 h1:fRgoBZVCJeLUFqGrGweg4FhCcbGsyqNRmd9WezG/CUQ=
github.com/gethinode/mod-katex v1.1.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.4 h1:HWc45uHKX2JhI624UnA46LCZkLGhSbaq+zAHt9e57zw=
github.com/gethinode/mod-katex v1.1.4/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
@@ -242,6 +256,8 @@ github.com/gethinode/mod-leaflet v1.2.1 h1:p0bKi+F5vbXwYknBvFEN9KymK8PRqKaYhVz5O
github.com/gethinode/mod-leaflet v1.2.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.3.0 h1:rRjuuW2KVJjnrBrFIOxxHxkB6RPdmlTivBlvceBG3Fk=
github.com/gethinode/mod-leaflet v1.3.0/go.mod h1:F/XR1lYKENw91u+IC4NXQT6dbCyJlSJUPClMVpBK8Tw=
github.com/gethinode/mod-leaflet v1.3.1 h1:nG6lQ7LZ2E/TGok/VGo5FCX+OVoHvxrYszi2FvQimRg=
github.com/gethinode/mod-leaflet v1.3.1/go.mod h1:F/XR1lYKENw91u+IC4NXQT6dbCyJlSJUPClMVpBK8Tw=
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
@@ -300,10 +316,20 @@ github.com/gethinode/mod-lottie v1.5.14 h1:17wmpi4XQzmwSB2HKNVa7c6ZzULrRnpKdowOF
github.com/gethinode/mod-lottie v1.5.14/go.mod h1:VrjjmrwP/NIrLW7oDQyEAHdbeIRQfbr5BKjgKvI9Al4=
github.com/gethinode/mod-lottie v1.6.0 h1:O0ld9Q1rBWKb9HzuCuGPBfCegUcIqczMGNW2O/VjVYk=
github.com/gethinode/mod-lottie v1.6.0/go.mod h1:jZy8EJ6ldLnOXhpzayJ2STZ4hzykqkguFHWpN4aHxMo=
github.com/gethinode/mod-lottie v1.6.1 h1:0wkQ7yMiwFvkhzsBoO/RhfKJ7ru2EzoQfYrwnC6qoxg=
github.com/gethinode/mod-lottie v1.6.1/go.mod h1:Buaa3A4fBIE4mkyQhnjMlassQQ5j8gRxQ4QnN7I1oGc=
github.com/gethinode/mod-mermaid v1.1.23 h1:DA5iIdopb7f3wC+bfZ7J5HhcRUuVI/2j1+W/j5L/wwQ=
github.com/gethinode/mod-mermaid v1.1.23/go.mod h1:rw6vrY9DpdJblwFwLuXCdy2kBHxMf6gGKWeetwfTSfc=
github.com/gethinode/mod-mermaid/v2 v2.0.1 h1:QcahIFCgmYAGsukQ0d+/L4IJtDwgXgv0WzilZ9poI9o=
github.com/gethinode/mod-mermaid/v2 v2.0.1/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v2 v2.0.2 h1:uRHS3RyrMBK/hhDbEX39HnYkypSvSeci0kSyQaSdsKU=
github.com/gethinode/mod-mermaid/v2 v2.0.2/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v2 v2.0.3 h1:vWiAE640GAzkQCj0NFyn1VtnpFwiJ5Bljm2YgoQ3qG4=
github.com/gethinode/mod-mermaid/v2 v2.0.3/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v3 v3.0.0 h1:pFF2soB3ZQcY4KuMzDprcSv2zdC3yTKywNId4yhcPOA=
github.com/gethinode/mod-mermaid/v3 v3.0.0/go.mod h1:+8p5KbFjIkB/I77Gpd8LTQgmNrRBfJpmKGnjclzwJFo=
github.com/gethinode/mod-mermaid/v3 v3.0.1 h1:h4v3QvGpSln9PDbWccSktULq9FbRZ57JN4Lp+gVjvVI=
github.com/gethinode/mod-mermaid/v3 v3.0.1/go.mod h1:rbI8IKFfKVGqTY/eJnuNJwzB5kSjaEUNX0NRHc4rBfA=
github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ=
github.com/gethinode/mod-simple-datatables v1.0.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
@@ -344,6 +370,8 @@ github.com/gethinode/mod-simple-datatables v1.1.7 h1:wCY2bWFUxRHWbWzb/zefCACooCS
github.com/gethinode/mod-simple-datatables v1.1.7/go.mod h1:FjkIEuxqeLLEqqDcz/nHAGHsRfV7EJP5Uhk4kYD8okY=
github.com/gethinode/mod-simple-datatables/v2 v2.0.1 h1:ZwdI96n8dM2VLwdM/x+Vj7sa4tfiAUnkDj39jn+vkXc=
github.com/gethinode/mod-simple-datatables/v2 v2.0.1/go.mod h1:mmf1AOxpHdSRQnW2k7ExVWKTyzbG2hpsDRssmyASNb8=
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 h1:6HkJkHg754HG2P5FTXiRePEnx/p65yfuqizB+gixV6k=
github.com/gethinode/mod-simple-datatables/v2 v2.0.2/go.mod h1:bmXZJeTQ+GZJ83vasFBTS3JSm09Oa/jDX9T187stdnA=
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
@@ -464,6 +492,12 @@ github.com/gethinode/mod-utils/v4 v4.10.0 h1:CfVa57r52wXd0bUqSJlpux2cloHQNBBe13a
github.com/gethinode/mod-utils/v4 v4.10.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.11.0 h1:24RObT99j/jiQnCyHvXahJHIA8e8uQuBb1pUIRJOxpA=
github.com/gethinode/mod-utils/v4 v4.11.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.11.1 h1:12CzZjyLOb/FSXbX8mDAWqs8y4OCXOEavKww7T4V9jU=
github.com/gethinode/mod-utils/v4 v4.11.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.12.0 h1:5sSfYIxZCeQbXLoZdS//rl6thwLwtXuvM0ujaWKyPmc=
github.com/gethinode/mod-utils/v4 v4.12.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.13.0 h1:VKAA+wKy4saayXfgJuVBRfhNVWQWmxOjO8LSpQCvLfw=
github.com/gethinode/mod-utils/v4 v4.13.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=

View File

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

View File

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

View File

@@ -84,7 +84,7 @@
{{- $params := dict -}}
{{/* regular page */}}
{{- if and $element.RelPermalink $element.File -}}
{{- $params = merge $params (dict "path" $element.File.Path) -}}
{{- $params = merge $params (dict "path" $element.Path) -}}
{{/* headless page */}}
{{- else -}}
{{- $thumbnail := "" -}}

View File

@@ -168,7 +168,7 @@
-}}
{{/* Main code */}}
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }} h-100">{{ end }}
{{ if or (gt $args.gutter "0") ($args.wrapper) }}<div class="{{ with $args.gutter }}g-{{ . }}{{ end }} {{ $args.wrapper }}">{{ end }}
{{ $stack := "" }}
@@ -301,4 +301,4 @@
</div>
{{- end -}}
{{ if or (ne $args.gutter "0") ($args.wrapper) }}</div>{{ end }}
{{ if or (gt $args.gutter "0") ($args.wrapper) }}</div>{{ end }}

View File

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

View File

@@ -85,8 +85,8 @@
"mode" $args.mode
}}
<!-- Main code -->
<div class="text-{{ $args.heading.align }}{{ with $justify }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ with $width }} {{ . }}{{ end }} pb-{{ $padding.y }}">
{{/* Main code */}}
<div class="text-{{ $args.heading.align }}{{ with $justify }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ with $width }} {{ . }}{{ end }}">
{{ if and $preheading (eq $arrangement "first") }}
<div class="container-fluid">
<div class="row">

View File

@@ -22,6 +22,7 @@
{{/* Initialize global variables */}}
{{ $arrangement := site.Params.modules.bookshop.title.arrangement }}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local arguments */}}
{{- $page := $args.page -}}
@@ -105,6 +106,7 @@
"link-type" (or $args.linkType $args.type)
"arrangement" $arrangement
"justify" $args.justify
"class" (printf "pb-%d" $padding.y)
) }}
{{ end }}

View File

@@ -1,107 +1,88 @@
{{- /*
Copyright 2023 Veriphor, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
*/}}
{{- /*
Renders a table of contents by parsing rendered content.
In site configuration, set the default start level, end level, and the minimum
number of headings required to show the table of contents:
[params.toc]
startLevel = 2 # default is 2
endLevel = 3 # default is 3
minNumHeadings = 2 # default is 2
To display the table of contents on a page:
+++
title = 'Post 1'
toc = true
+++
To display the table of contents on a page, and override one or more of the
default settings:
+++
title = 'Post 1'
[toc]
startLevel = 2 # default is 2
endLevel = 3 # default is 3
minNumHeadings = 2 # default is 2
+++
Change or localize the title with a "toc_title" key in your i18n file(s).
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 }}
{{/*
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.
*/}}
{{ define "_partials/inline/toc-item.html" }}
{{ $base := .base }}
{{ $startLevel := .startLevel }}
{{ $endLevel := .endLevel }}
{{ $item := .item }}
{{ $maxNumHeadings := .maxNumHeadings }}
{{ $result := .result | default slice }}
{{ 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 }}
{{ $htmlAttr := "" }}
{{ range $k, $v := $attrs }}{{ $htmlAttr = printf "%s %s=%q" $htmlAttr $k $v | safeHTMLAttr }}{{ end }}
{{ $rendered := printf "<a %s>%s</a>" $htmlAttr $item.Title }}
{{ $result = $result | append $rendered }}
{{ end }}
{{ range $item.Headings }}
{{ $result = $result | append (partial "inline/toc-item.html" (dict
"base" $base
"item" .
"startLevel" $startLevel
"endLevel" $endLevel
"maxNumHeadings" $maxNumHeadings
)) }}
{{ end }}
{{ return $result }}
{{ end }}
{{- /* 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 }}
{{- $maxNumHeadings := or (.Site.Params.navigation.maxNumHeadings | int) 9 }}
{{- /* 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 }}
{{ if eq $i $maxNumHeadings }}
{{ 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 }}
{{ if gt (len $result) $maxNumHeadings }}
&nbsp;
{{ partial "assets/button.html" (dict
"id" "btnTOCShowLess"
"collapse-id" "toc-collapse-items"
"link-type" "link"
"class" "toc-item"
"title" (T "tocShowLess")
"spacing" false
) }}
</div>{{ end }}
</nav>
{{ end }}

View File

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

View File

@@ -4,175 +4,204 @@
Visit gethinode.com/license for more details.
*/}}
{{ $error := false }}
{{- $error := false -}}
{{/* Define inline partials */}}
{{ define "_partials/inline/match.html" }}
{{ $result := "" }}
{{ $matches := slice }}
{{ if gt (len .modules) 0 }}
{{ range .modules }}
{{ $matches = $matches | append (printf "js/modules/%s/**.js" .) }}
{{ end }}
{{ $result = printf "{%s}" (delimit $matches ",") }}
{{ end }}
{{ return $result }}
{{ end }}
{{ define "_partials/inline/bundle-script.html" }}
{{ $page := .page }}
{{ $match := .match }}
{{ $destination := .destination }}
{{ $cat := .cat }}
{{ $localize := .localize }}
{{ $modules := .modules }}
{{ $skipTemplate := .skipTemplate }}
{{ $absoluteURL := .absoluteURL }}
{{ $state := cond (ne .state "immediate") .state "" }}
{{ if and $cat (ne $cat "other") }}
{{ $destination = path.Join (path.Dir $destination) (printf "%s-%s%s" (path.BaseName $destination) $cat (path.Ext $destination)) }}
{{ end }}
{{ if $localize }}
{{ $destination = path.Join (path.Dir $destination) (printf "%s.%s%s" (path.BaseName $destination) $page.Language.Lang (path.Ext $destination)) }}
{{ end }}
{{- $bundle := partial "utilities/bundle.html" (dict
"match" $match
"filename" $destination
"modules" $modules
"basepath" "js/modules"
"all" true
"debugging" site.Params.debugging.showJS
) -}}
{{- $js := $bundle -}}
{{- if not $skipTemplate -}}
{{- $js = $bundle | resources.ExecuteAsTemplate $destination $page -}}
{{- define "_partials/inline/match.html" -}}
{{- $result := "" -}}
{{- $matches := slice -}}
{{- if gt (len .modules) 0 -}}
{{- range .modules -}}
{{- $matches = $matches | append (printf "js/modules/%s/**.*js" .) -}}
{{- end -}}
{{- $result = printf "{%s}" (delimit $matches ",") -}}
{{- end -}}
{{- return $result -}}
{{- end -}}
{{- define "_partials/inline/bundle-script.html" -}}
{{- $page := .page -}}
{{- $match := .match -}}
{{- $destination := .destination -}}
{{- $cat := .cat -}}
{{- $localize := .localize -}}
{{- $modules := .modules -}}
{{- $skipTemplate := .skipTemplate -}}
{{- $enableTemplate := .enableTemplate }}
{{- $absoluteURL := .absoluteURL -}}
{{- $state := cond (ne .state "immediate") .state "" -}}
{{- if and $cat (ne $cat "other") -}}
{{- $destination = path.Join (path.Dir $destination) (printf "%s-%s%s" (path.BaseName $destination) $cat (path.Ext $destination)) -}}
{{- end -}}
{{- if $localize -}}
{{- $destination = path.Join (path.Dir $destination) (printf "%s.%s%s" (path.BaseName $destination) $page.Language.Lang (path.Ext $destination)) -}}
{{- end -}}
{{- $bundle := partial "utilities/bundlev2.html" (dict
"page" $page
"match" $match
"filename" $destination
"modules" $modules
"basepath" "js/modules"
"all" true
"skip-template" $skipTemplate
"enable-template" $enableTemplate
"debugging" site.Params.debugging.showJS
) -}}
{{- $js := $bundle.bundle -}}
{{- $jsmod := $bundle.module -}}
{{- if gt (len $js.Content) 0 -}}
{{ $integrity := "" }}
{{- $integrity := "" -}}
{{- if hugo.IsProduction -}}
{{ $js = $js | minify | fingerprint -}}
{{ $integrity = $js.Data.Integrity }}
{{ end -}}
{{ partial "templates/script.html" (dict "link" (cond $absoluteURL $js.Permalink $js.RelPermalink) "category" $cat "state" $state "integrity" $integrity) }}
{{ end -}}
{{ end }}
{{- $js = $js | minify | fingerprint -}}
{{- $integrity = $js.Data.Integrity -}}
{{- end -}}
{{- partial "templates/script.html" (dict
"link" (cond $absoluteURL $js.Permalink $js.RelPermalink)
"category" $cat
"state" $state
"integrity" $integrity
) -}}
{{- end -}}
{{- if gt (len $jsmod.Content) 0 -}}
{{- $integrity := "" -}}
{{- if hugo.IsProduction -}}
{{- $jsmod = $jsmod | minify | fingerprint -}}
{{- $integrity = $jsmod.Data.Integrity -}}
{{- end -}}
{{- partial "templates/script.html" (dict
"link" (cond $absoluteURL $jsmod.Permalink $jsmod.RelPermalink)
"category" $cat
"state" $state
"integrity" $integrity
"script-type" "module"
) -}}
{{- end -}}
{{- end -}}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "scripts" "args" .) }}
{{ if $args.err }}
{{ partial "utilities/LogErr.html" (dict
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "scripts" "args" .) -}}
{{- if $args.err -}}
{{- partial "utilities/LogErr.html" (dict
"partial" "footer/scripts.html"
"msg" "Invalid arguments"
"details" $args.errmsg
"file" page.File
)}}
{{ $error = true }}
{{ end }}
{{- $error = true -}}
{{- end -}}
{{ $page := $args.page | default page }}
{{- $page := $args.page | default page -}}
{{/* Initialize local arguments */}}
{{ $patterns := dict
"other" "js/critical/*.js"
"functional" "js/critical/functional/**.js"
"analytics" "js/critical/analytics/**.js"
"performance" "js/critical/performance/**.js"
"advertisement" "js/critical/advertisement/**.js"
"core" "{js/*.js,js/vendor/**.js}"
{{- $patterns := dict
"other" "js/critical/*.*js"
"functional" "js/critical/functional/**.*js"
"analytics" "js/critical/analytics/**.*js"
"performance" "js/critical/performance/**.*js"
"advertisement" "js/critical/advertisement/**.*js"
"core" "{js/*.*js,js/vendor/**.*js}"
}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{ $state := "immediate" }}
{{ $config := $page.Scratch.Get "modules" }}
{{- $state := "immediate" -}}
{{- $config := $page.Scratch.Get "modules" -}}
{{ $page_modules := slice }}
{{ if reflect.IsMap $page.Params.modules }}
{{ $page_modules = $page.Params.modules }}
{{ else }}
{{ $page_modules = $page_modules | append $page.Params.modules }}
{{ end }}
{{ with $page.Scratch.Get "dependencies" }}{{ $page_modules = append $page_modules . | uniq }}{{ end }}
{{- $page_modules := slice -}}
{{- if reflect.IsMap $page.Params.modules -}}
{{- $page_modules = $page.Params.modules -}}
{{- else -}}
{{- $page_modules = $page_modules | append $page.Params.modules -}}
{{- end -}}
{{- with $page.Scratch.Get "dependencies" -}}{{- $page_modules = append $page_modules . | uniq -}}{{- end -}}
{{- $categories := dict "other" slice -}}
{{ $modules := slice }}
{{ if eq $args.type "critical" }}
{{- $modules := slice -}}
{{- if eq $args.type "critical" -}}
{{- $modules = $config.critical -}}
{{ $categories = merge $categories (dict "functional" slice "analytics" slice "performance" slice "advertisement" slice) }}
{{ else if eq $args.type "core" }}
{{- $categories = merge $categories (dict "functional" slice "analytics" slice "performance" slice "advertisement" slice) -}}
{{- else if eq $args.type "core" -}}
{{- $modules = $config.core -}}
{{ else if eq $args.type "optional" }}
{{- else if eq $args.type "optional" -}}
{{- $modules = $config.optional | intersect $page_modules -}}
{{ end }}
{{- end -}}
{{ range $cat, $val := $config.categories }}
{{ $categories = merge $categories (dict $cat (intersect $val $modules)) }}
{{ end }}
{{- range $cat, $val := $config.categories -}}
{{- $categories = merge $categories (dict $cat (intersect $val $modules)) -}}
{{- end -}}
{{ $localize := false }}
{{ if gt (intersect (or $config.localize slice) $modules | len) 0 }}{{ $localize = true }}{{ end }}
{{- $localize := false -}}
{{- if gt (intersect (or $config.localize slice) $modules | len) 0 }}{{ $localize = true }}{{ end -}}
{{ $skipTemplate := false }}
{{ if gt (intersect (or $config.skipTemplate slice) $modules | len) 0 }}{{ $skipTemplate = true }}{{ end }}
{{- $skipTemplate := false -}}
{{- if gt (intersect (or $config.skipTemplate slice) $modules | len) 0 }}{{ $skipTemplate = true }}{{ end -}}
{{/* Main code */}}
{{ if not $error }}
{{- if not $error -}}
{{/* include external scripts first */}}
{{ range $mod, $cfg := $config.modules }}
{{ if in $modules $mod }}
{{ if or (index $cfg "local") (not hugo.IsServer) }}
{{ with index $cfg "url" }}
{{ partial "templates/script.html" (dict "link" . "category" (index $cfg "category") "state" (index $cfg "state")) }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{- range $mod, $cfg := $config.modules -}}
{{- if in $modules $mod -}}
{{- if or (index $cfg "local") (not hugo.IsServer) -}}
{{- with index $cfg "url" -}}
{{- partial "templates/script.html" (dict
"link" .
"category" (index $cfg "category")
"state" (index $cfg "state"))
-}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/* Bundle the critical and core scripts by category */}}
{{ if ne $args.type "optional" }}
{{ range $cat, $val := $categories }}
{{ if or (gt ($val | len) 0) (eq $args.type "critical") }}
{{ $match := "" }}
{{ if eq $args.type "critical" }}
{{ $match = index $patterns $cat }}
{{ else if eq $cat "other" }}
{{ $match = index $patterns $args.type }}
{{ end }}
{{- if ne $args.type "optional" -}}
{{- range $cat, $val := $categories -}}
{{- if or (gt ($val | len) 0) (eq $args.type "critical") -}}
{{- $match := "" -}}
{{- if eq $args.type "critical" -}}
{{- $match = index $patterns $cat -}}
{{- else if eq $cat "other" -}}
{{- $match = index $patterns $args.type -}}
{{- end -}}
{{ partial "inline/bundle-script.html" (dict
"page" $page
"match" $match
"destination" (printf "js/%s.bundle.js" $args.type)
"cat" $cat
"modules" $val
"localize" $localize
"skipTemplate" $skipTemplate
"absoluteURL" $absoluteURL
"state" (cond (eq $args.type "critical") "immediate" "async")
{{- partial "inline/bundle-script.html" (dict
"page" $page
"match" $match
"destination" (printf "js/%s.bundle.js" $args.type)
"cat" $cat
"modules" $val
"localize" $localize
"skipTemplate" $skipTemplate
"absoluteURL" $absoluteURL
"state" (cond (eq $args.type "critical") "immediate" "async")
)}}
{{ end }}
{{ end }}
{{ else }}
{{- end -}}
{{- end -}}
{{- else -}}
{{/* Bundle the optional scripts by module name and category */}}
{{ range $cat, $val := $categories }}
{{ range $val }}
{{ $modconfig := index $config.modules . }}
{{ partial "inline/bundle-script.html" (dict
"page" $page
"destination" (printf "js/%s.js" .)
"cat" $cat
"modules" (slice .)
"localize" $modconfig.localize
"skipTemplate" $modconfig.disabletemplate
"absoluteURL" $absoluteURL
"state" $modconfig.state
{{- range $cat, $val := $categories -}}
{{- range $val -}}
{{- $modconfig := index $config.modules . -}}
{{- partial "inline/bundle-script.html" (dict
"page" $page
"destination" (printf "js/%s.js" .)
"cat" $cat
"modules" (slice .)
"localize" $modconfig.localize
"skipTemplate" $modconfig.disabletemplate
"enableTemplate" $modconfig.enableTemplate
"absoluteURL" $absoluteURL
"state" $modconfig.state
)}}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -46,7 +46,7 @@
{{ if eq .Kind "404" -}}
<meta name="robots" content="noindex, follow">
{{ else }}
{{ with or .Params.robots .Params.meta.robots -}}
{{ with or .Params.robots .Params.meta.robots .Site.Params.meta.robots -}}
<meta name="robots" content="{{ . }}">
{{ else -}}
<meta name="robots" content="index, follow">

View File

@@ -66,11 +66,24 @@
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)
-}}
{{- $options := (dict "transpiler" $transpiler "silenceDeprecations" $silence "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
{{- $bundle := partial "utilities/bundle.html" (dict "match" $source "filename" (printf "scss/bundle-%d.scss" now.UnixNano) "modules" $modules "basepath" "scss" "debugging" site.Params.debugging.showSCSS) -}}
{{- $options := (dict
"transpiler" $transpiler
"silenceDeprecations" $silence
"targetPath" $target
"enableSourceMap" (not hugo.IsProduction)
"vars" $vars
) -}}
{{- $bundle := partial "utilities/bundlev2.html" (dict
"page" page
"match" $source
"filename" (printf "scss/bundle-%d.scss" now.UnixNano)
"modules" $modules
"basepath" "scss"
"debugging" site.Params.debugging.showSCSS
) -}}
{{- if gt ($bundle.Content | len) 0 }}
{{- $css := $bundle | resources.ExecuteAsTemplate $target . | toCSS $options -}}
{{- if gt ($bundle.bundle.Content | len) 0 }}
{{- $css := $bundle.bundle | resources.ExecuteAsTemplate $target . | toCSS $options -}}
{{ if $core }}
{{- partial "head/icons.html" (dict "css" $css) -}}

View File

@@ -6,7 +6,7 @@
{{/* Initialize arguments */}}
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "script" "args" .) -}}
{{ if or $args.err $args.warnmsg }}
{{- if or $args.err $args.warnmsg -}}
{{- partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "templates/script.html"
"warnid" "warn-invalid-arguments"
@@ -16,15 +16,15 @@
) -}}
{{- end -}}
{{/* Initialize local arguments */}}
{{- $category := cond (ne $args.category "other") $args.category "" -}}
{{/* Main code */}}
{{- if not $args.err -}}
<script src="{{ $args.link }}"
{{/* with $args.scriptType generates an error when using type="{{ . }}", possibly a Hugo bug */}}
{{- with $args.scriptType }}{{ printf ` type="%s"` . | safeHTMLAttr }}{{ end -}}
{{- with $category }} data-category="{{ . }}"{{ end -}}
{{- with $args.integrity }}integrity="{{ . }}" crossorigin="anonymous"{{ end }}
{{- with $args.state }} {{ . | safeHTMLAttr }}{{ end -}}>
</script>
{{- with $args.integrity }} integrity="{{ . }}" crossorigin="anonymous"{{ end }}
{{- with $args.state }} {{ . | safeHTMLAttr }}{{ end -}}></script>
{{- end -}}

View File

@@ -45,14 +45,14 @@
{{ end }}
{{ $modules := dict
"modules" $modules
"critical" $critical
"core" $core
"optional" $optional
"excludeSCSS" $excludeSCSS
"modules" $modules
"critical" $critical
"core" $core
"optional" $optional
"excludeSCSS" $excludeSCSS
"disableTemplate" $disableTemplate
"localize" $localize
"categories" $category
"localize" $localize
"categories" $category
}}
{{- if and .IsPage (not (in $core "bootstrap")) -}}

View File

@@ -23,8 +23,9 @@
{{- /* Define main breakpoint */ -}}
{{- $.Scratch.Set "breakpoint" (partialCached "utilities/GetBreakpoint.html" .) }}
{{- /* Render blocks and establish overlay mode */ -}}
{{- /* Prepare content blocks and establish overlay mode */ -}}
{{ $blocks := partial "utilities/RenderContentBlocks.html" (dict "page" . "blocks" .Params.content_blocks) }}
{{ $.Scratch.Set "blocks" $blocks }}
{{ $overlayMode := $.Scratch.Get "overlayMode" }}
{{- /* Define base URL */ -}}
@@ -51,7 +52,6 @@
-}}
<div id="container" class="main">
{{ $blocks }}
{{ block "main" . }}{{ end -}}
</div>

View File

@@ -1,5 +1,8 @@
{{ define "main" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{- $blocks := $.Scratch.Get "blocks" -}}
{{ $blocks | safeHTML }}
<div class="container-xxl flex-fill p-4 px-xxl-0">
{{ .Render "body" }}

View File

@@ -1,4 +1,5 @@
{{ define "main" -}}
{{- $blocks := $.Scratch.Get "blocks" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{- $sidebar := partial "page/sidebar" . -}}
{{- $toc := partial "page/panel-toc" . -}}
@@ -15,6 +16,8 @@
</div>
{{ end }}
{{ $blocks | safeHTML }}
<div class="container-xxl flex-fill p-4 px-xxl-0">
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">

965
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -73,9 +73,9 @@
"dependencies": {
"@fullhuman/postcss-purgecss": "^7.0.2",
"autoprefixer": "^10.4.21",
"cssnano": "^7.0.7",
"cssnano-preset-advanced": "^7.0.7",
"hugo-bin": "0.144.9",
"cssnano": "^7.1.0",
"cssnano-preset-advanced": "^7.0.8",
"hugo-bin": "0.145.2",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
@@ -85,9 +85,9 @@
"@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1",
"commitizen": "^4.3.1",
"cpy-cli": "^5.0.0",
"cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.30.1",
"eslint": "^9.33.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
@@ -96,9 +96,9 @@
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.6",
"semantic-release": "^24.2.7",
"shx": "^0.4.0",
"stylelint": "^16.21.1",
"stylelint": "^16.23.1",
"stylelint-config-standard-scss": "^15.0.1"
},
"optionalDependencies": {