Compare commits

...

158 Commits

Author SHA1 Message Date
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
Mark Dumay
38d1ddb86d Merge pull request #1502 from gethinode/develop
Develop
2025-07-08 06:39:23 +02:00
Mark Dumay
17287492e5 fix: adjust padding of section title 2025-07-08 06:31:12 +02:00
Mark Dumay
992d724a6f Merge branch 'main' into develop 2025-07-08 06:17:21 +02:00
Mark Dumay
0b81eba373 Merge pull request #1501 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-07-08 06:17:04 +02:00
Mark Dumay
0a5e8bed92 fix: standardize padding of content blocks 2025-07-08 06:07:14 +02:00
Mark Dumay
a387adca66 feat: add support for configurable icon style to video message 2025-07-08 06:06:28 +02:00
markdumay
5341db7db2 fix: update Hugo module dependencies 2025-07-08 03:30:43 +00:00
Mark Dumay
f4d59a0324 Merge pull request #1500 from gethinode/develop
Develop
2025-07-07 14:22:40 +02:00
Mark Dumay
6c068898a3 fix: ensure card icons have equal width 2025-07-07 14:15:30 +02:00
Mark Dumay
eec6697ff6 Merge branch 'main' into develop 2025-07-07 14:02:53 +02:00
Mark Dumay
26402fb5be fix: update build stats 2025-07-07 14:02:18 +02:00
Mark Dumay
e08aebf928 docs: adjust article layout 2025-07-07 14:02:01 +02:00
Mark Dumay
787ad2eb91 feat: make card icons configurable 2025-07-07 14:01:23 +02:00
Mark Dumay
8f137b0c54 feat: make article icons configurable 2025-07-07 14:00:41 +02:00
Mark Dumay
a979dd8d58 fix: adjust default values of card arguments 2025-07-07 14:00:03 +02:00
Mark Dumay
b77a125485 fix: correct card group argument initialization of icon-style 2025-07-07 13:59:27 +02:00
Mark Dumay
004da99765 docs: include additional card examples 2025-07-07 13:58:51 +02:00
Mark Dumay
907c8ac800 fix: improve rendering of card icons
Icon columns now resize properly when set to horizontal layout.
Padding and alignment have also been revised.
2025-07-07 13:20:54 +02:00
Mark Dumay
a8efc27771 Merge pull request #1499 from gethinode/develop
fix: correct separator argument definition
2025-07-06 14:29:27 +02:00
Mark Dumay
3bf8da3767 Merge branch 'main' into develop 2025-07-06 14:20:10 +02:00
Mark Dumay
131de0c064 fix: correct seperator argument definition 2025-07-06 14:16:52 +02:00
Mark Dumay
a914fe18e8 Merge pull request #1497 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-07-06 13:45:08 +02:00
Mark Dumay
a855a41c13 Merge branch 'main' into hugo-mod-dependencies 2025-07-06 12:14:28 +02:00
Mark Dumay
c41cd0650e Merge pull request #1498 from gethinode/develop
Develop
2025-07-06 12:08:43 +02:00
Mark Dumay
a83bab6689 Merge branch 'main' into develop 2025-07-06 12:03:41 +02:00
Mark Dumay
03a099ae66 fix: correct hide-empty argument in articles content block 2025-07-06 12:03:07 +02:00
Mark Dumay
cd837cf116 feat: add panels content block 2025-07-06 11:51:37 +02:00
Mark Dumay
8cffd358aa feat: improve responsive behavior of nav control 2025-07-06 11:51:10 +02:00
Mark Dumay
0d33a15e98 fix: improve layout 2025-07-06 11:47:24 +02:00
Mark Dumay
9be691eb6b fix: adjust heading size of CTA 2025-07-06 11:46:58 +02:00
Mark Dumay
fd727228d7 fix: adjust size argument of section title 2025-07-06 11:46:42 +02:00
Mark Dumay
a9f1cd098d feat: include ordinal position of content blocks 2025-07-06 11:44:41 +02:00
markdumay
dc1c358cfa fix: update Hugo module dependencies 2025-07-06 03:34:33 +00:00
github-actions[bot]
0d24dc445d Merge pull request #1495 from gethinode/dependabot/npm_and_yarn/neostandard-0.12.2
Bump neostandard from 0.12.1 to 0.12.2
2025-07-04 13:41:07 +00:00
dependabot[bot]
f6f034252b Bump neostandard from 0.12.1 to 0.12.2
Bumps [neostandard](https://github.com/neostandard/neostandard) from 0.12.1 to 0.12.2.
- [Release notes](https://github.com/neostandard/neostandard/releases)
- [Changelog](https://github.com/neostandard/neostandard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/neostandard/neostandard/compare/v0.12.1...v0.12.2)

---
updated-dependencies:
- dependency-name: neostandard
  dependency-version: 0.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-04 13:35:15 +00:00
Mark Dumay
863b81efbb Merge pull request #1494 from gethinode/develop
feat: extend navbar styling options
2025-07-04 12:56:42 +02:00
Mark Dumay
9b0683d176 Merge branch 'main' into develop 2025-07-04 12:51:29 +02:00
Mark Dumay
dd1b2eb97f feat: extend navbar styling options 2025-07-04 12:50:41 +02:00
Mark Dumay
3f6dc3b2d7 Merge pull request #1493 from gethinode/develop
Develop
2025-07-04 07:43:32 +02:00
Mark Dumay
873277b691 Merge branch 'main' into develop 2025-07-04 07:38:09 +02:00
Mark Dumay
7a456a12d2 fix: improve handling of static svg files
Removes the subfolder from the static file path, if any. Only applicable to sites deployed to a subfolder (when setting `baseURL`).
2025-07-04 07:36:22 +02:00
Mark Dumay
b437b414b0 fix: suppress empty class and origin of svg files 2025-07-04 07:14:38 +02:00
Mark Dumay
80ac704d81 Merge pull request #1491 from gethinode/develop
fix: improve non-fluid section rendering
2025-07-03 19:18:02 +02:00
Mark Dumay
996e9ec294 Merge branch 'main' into develop 2025-07-03 19:09:14 +02:00
Mark Dumay
0ab274d6f5 fix: improve non-fluid section rendering 2025-07-03 19:08:26 +02:00
github-actions[bot]
3742e8ef04 Merge pull request #1490 from gethinode/dependabot/npm_and_yarn/stylelint-16.21.1
Bump stylelint from 16.21.0 to 16.21.1
2025-07-03 13:29:37 +00:00
dependabot[bot]
3eadaa02b8 Bump stylelint from 16.21.0 to 16.21.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.21.0 to 16.21.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.21.0...16.21.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-03 13:24:13 +00:00
Mark Dumay
90bc571b76 Merge pull request #1489 from gethinode/develop
ci: set read-only permissions for lint & build
2025-07-02 17:51:11 +02:00
Mark Dumay
aad5b59a48 fix: update dependencies 2025-07-02 16:56:37 +02:00
Mark Dumay
4d7fdffd4a Merge branch 'main' into develop 2025-07-02 16:35:22 +02:00
Mark Dumay
c384836224 ci: set read-only permissions for lint & build 2025-07-02 16:34:30 +02:00
github-actions[bot]
cb547351d9 Merge pull request #1487 from gethinode/dependabot/npm_and_yarn/eslint-9.30.1
Bump eslint from 9.30.0 to 9.30.1
2025-07-02 13:37:17 +00:00
dependabot[bot]
3b47a5b66f Bump eslint from 9.30.0 to 9.30.1
Bumps [eslint](https://github.com/eslint/eslint) from 9.30.0 to 9.30.1.
- [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.0...v9.30.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.30.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 13:30:03 +00:00
Mark Dumay
9f9029baf0 Merge pull request #1486 from gethinode/develop
Develop
2025-07-02 12:53:05 +02:00
Mark Dumay
3079f1f7dd fix: correct page handling 2025-07-02 12:46:29 +02:00
Mark Dumay
e546d34422 Merge branch 'main' into develop 2025-07-02 12:24:10 +02:00
Mark Dumay
00e80f6400 docs: add cta example 2025-07-02 12:23:45 +02:00
Mark Dumay
b46dd52101 feat: add cta content block 2025-07-02 12:23:16 +02:00
Mark Dumay
b1a8c956fc feat: make fluid layout of sections configurable 2025-07-02 12:21:46 +02:00
Mark Dumay
1b8aa10d11 fix: update broken link in main index file 2025-07-02 12:16:00 +02:00
Mark Dumay
32fd60bb58 Merge pull request #1485 from gethinode/develop
Semantic release
2025-07-01 12:54:41 +02:00
Mark Dumay
8fa19c9ed1 Merge branch 'main' into develop 2025-07-01 12:44:56 +02:00
Mark Dumay
d36fcd894b feat: introduce semantic releases 2025-07-01 12:40:19 +02:00
Mark Dumay
7378a61542 ci: update Netlify build environment 2025-07-01 12:33:06 +02:00
Mark Dumay
fb63e36c56 Merge pull request #1484 from gethinode/develop
Fix kbd rendering
2025-07-01 11:42:27 +02:00
Mark Dumay
ae1cda1f5a Merge branch 'main' into develop 2025-07-01 11:36:04 +02:00
Mark Dumay
4846d1b016 Bump package release 2025-07-01 11:35:04 +02:00
Mark Dumay
01522dad71 Update build stats 2025-07-01 11:34:38 +02:00
Mark Dumay
0bbef1dad2 FIx kbd rendering 2025-07-01 11:34:29 +02:00
Mark Dumay
5e048d32df Merge pull request #1482 from gethinode/develop
Fix rendering of nav items
2025-06-30 08:42:44 +02:00
Mark Dumay
d1128fa7c3 Merge branch 'main' into develop 2025-06-30 08:00:43 +02:00
Mark Dumay
cf9a39b51f Fix rendering of nav items 2025-06-30 08:00:04 +02:00
Mark Dumay
ae9ec71966 Update dependencies 2025-06-29 13:35:27 +02:00
Mark Dumay
f6c4bbfffb Merge pull request #1481 from gethinode/develop
Enable explicit auto ratio for images
2025-06-29 13:24:07 +02:00
Mark Dumay
7a655315f1 Merge branch 'main' into develop 2025-06-29 13:19:12 +02:00
Mark Dumay
5c27178881 Enable explicit auto ratio for images 2025-06-29 13:18:43 +02:00
Mark Dumay
c829049842 Merge pull request #1480 from gethinode/develop
Fix starter template
2025-06-29 13:14:02 +02:00
Mark Dumay
613da916aa Merge branch 'main' into develop 2025-06-29 13:07:13 +02:00
Mark Dumay
d3d75c9dc6 Fix starter template 2025-06-29 13:05:52 +02:00
Mark Dumay
2f5b49397e Merge pull request #1479 from gethinode/develop
Fix justification of section title
2025-06-29 13:04:54 +02:00
Mark Dumay
632f3d861b Merge branch 'main' into develop 2025-06-29 12:56:11 +02:00
Mark Dumay
004063f02a Refine content blocks page 2025-06-29 12:34:48 +02:00
Mark Dumay
1bd498f816 Fix justification of section title 2025-06-29 12:34:36 +02:00
github-actions[bot]
291220256a Merge pull request #1476 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.144.9
Bump hugo-bin from 0.144.8 to 0.144.9
2025-06-25 15:13:07 +00:00
Mark Dumay
7bcb87a73e Merge branch 'main' into dependabot/npm_and_yarn/hugo-bin-0.144.9 2025-06-25 17:08:13 +02:00
Mark Dumay
55cebc752e Merge pull request #1478 from gethinode/develop
Fix sharing label
2025-06-25 17:06:43 +02:00
Mark Dumay
14bf59a551 Merge branch 'main' into develop 2025-06-25 17:02:01 +02:00
Mark Dumay
bce0fedd15 Fix sharing label 2025-06-25 17:01:34 +02:00
Mark Dumay
694e7fc7b1 Merge branch 'main' into dependabot/npm_and_yarn/hugo-bin-0.144.9 2025-06-25 16:41:39 +02:00
Mark Dumay
93749cb368 Merge pull request #1477 from gethinode/develop
Fix missing image set widths
2025-06-25 16:41:27 +02:00
Mark Dumay
cf01e22a4d Merge branch 'main' into develop 2025-06-25 16:33:20 +02:00
Mark Dumay
f416f6bb7e Fix missing image set widths 2025-06-25 16:32:55 +02:00
dependabot[bot]
a7b776c0dc Bump hugo-bin from 0.144.8 to 0.144.9
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.144.8 to 0.144.9.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.144.8...v0.144.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 14:48:51 +00:00
Mark Dumay
e70f3acb57 Merge pull request #1475 from gethinode/develop
Refine arguments
2025-06-23 13:04:14 +02:00
Mark Dumay
6e7b40ad0f Remove redundant file example 2025-06-23 12:57:35 +02:00
Mark Dumay
7446b2958e Merge branch 'main' into develop 2025-06-23 12:49:20 +02:00
Mark Dumay
6c18ada352 Update build stats 2025-06-23 12:48:42 +02:00
Mark Dumay
323b42996b Fix titleCase setting 2025-06-23 12:44:20 +02:00
Mark Dumay
ab8074b293 Update dependencies 2025-06-23 12:42:33 +02:00
Mark Dumay
9419e18ba9 Update file arguments 2025-06-23 12:42:27 +02:00
Mark Dumay
0f007ba5c2 Update articles arguments 2025-06-23 12:42:02 +02:00
Mark Dumay
7d0943fb0c Fix deprecated video arguments 2025-06-23 12:41:36 +02:00
Mark Dumay
3d2cfdaf0a Support title case for structured type headers 2025-06-23 12:41:17 +02:00
Mark Dumay
281c16b561 Refine card group arguments 2025-06-23 12:40:51 +02:00
Mark Dumay
fe68bd6be3 Simplify rendering of page modification date 2025-06-23 12:39:35 +02:00
Mark Dumay
3bf0c241a3 Update dependencies 2025-06-23 11:51:12 +02:00
Mark Dumay
a6a670cd2b Bump package release 2025-06-23 11:51:03 +02:00
Mark Dumay
a44b5449f8 Merge pull request #1472 from gethinode/develop
Fix handling of card parent arguments
2025-06-20 11:58:37 +02:00
Mark Dumay
461f53c67e Merge branch 'main' into develop 2025-06-20 11:52:23 +02:00
Mark Dumay
9a5059d8bd Fix handling of card parent arguments 2025-06-20 11:48:08 +02:00
Mark Dumay
c1586ee00e Bump package release 2025-06-20 11:01:50 +02:00
Mark Dumay
88d2a50954 Simplify page layout structure 2025-06-20 11:01:18 +02:00
Mark Dumay
77aa394c8e Merge pull request #1471 from gethinode/develop
Support xs buttons
2025-06-20 10:28:25 +02:00
Mark Dumay
5d4147fea9 Merge branch 'main' into develop 2025-06-20 10:23:49 +02:00
Mark Dumay
9c1d84487d Clean up button example 2025-06-20 10:21:58 +02:00
Mark Dumay
944a9705d7 Bump package release 2025-06-20 10:18:42 +02:00
Mark Dumay
5e274d952a Add args shortcode to example blog 2025-06-20 10:18:04 +02:00
Mark Dumay
a7f2d6d003 Use GetPadding from mod-utils 2025-06-20 10:17:21 +02:00
Mark Dumay
057ae25f7b Use xs button for inline release links 2025-06-20 10:16:46 +02:00
Mark Dumay
a6454e3b4e Support xs buttons 2025-06-20 10:16:21 +02:00
Mark Dumay
4b8f59782a Improve error handling of getdimension utility function 2025-06-20 10:14:43 +02:00
github-actions[bot]
777c4f671f Merge pull request #1470 from gethinode/dependabot/npm_and_yarn/stylelint-16.21.0
Bump stylelint from 16.20.0 to 16.21.0
2025-06-19 14:09:18 +00:00
dependabot[bot]
990a016434 Bump stylelint from 16.20.0 to 16.21.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.20.0 to 16.21.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.20.0...16.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-19 13:59:32 +00:00
Mark Dumay
1e64f4f009 Merge pull request #1469 from gethinode/develop
Enable purge settings
2025-06-19 07:42:12 +02:00
Mark Dumay
8bd3f0a254 Fix purge settings of mod-simple-datatables 2025-06-19 07:09:37 +02:00
Mark Dumay
d6b3aaeb99 Merge branch 'main' into develop 2025-06-18 19:35:46 +02:00
Mark Dumay
e2e351f964 Enable purge settings 2025-06-18 19:35:09 +02:00
Mark Dumay
b711d0591d Merge pull request #1468 from gethinode/develop
Clean up core files
2025-06-18 19:32:13 +02:00
Mark Dumay
7a76408876 Merge branch 'main' into develop 2025-06-18 19:21:57 +02:00
Mark Dumay
1a53fdc636 Update build stats 2025-06-18 19:20:12 +02:00
Mark Dumay
81f60a28e1 Use updated animation arguments 2025-06-18 19:20:03 +02:00
Mark Dumay
193edecd03 Clean up obsolete file 2025-06-18 19:19:42 +02:00
Mark Dumay
9ed4d00d19 Use arguments from mod-utils instead 2025-06-18 19:19:32 +02:00
Mark Dumay
e821670be9 Update dependencies 2025-06-18 19:19:08 +02:00
Mark Dumay
7f7c8d12d9 Clean up base style 2025-06-18 19:18:58 +02:00
Mark Dumay
450e065117 Update dependencies 2025-06-18 19:18:05 +02:00
Mark Dumay
1360a750a5 Merge pull request #1466 from gethinode/develop
Fix margins of hero
2025-06-18 07:17:32 +02:00
Mark Dumay
e7bb3ba1ca Merge branch 'main' into develop 2025-06-18 07:07:53 +02:00
Mark Dumay
5121c1cf1c Merge pull request #1464 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-06-18 07:07:23 +02:00
Mark Dumay
50bf5fa168 Merge branch 'main' into hugo-mod-dependencies 2025-06-18 06:55:35 +02:00
Mark Dumay
363fcc3788 Fix margins of hero 2025-06-18 06:54:49 +02:00
Mark Dumay
d2e2b424b8 Merge pull request #1465 from gethinode/develop
Refactor navbar logo
2025-06-18 06:25:08 +02:00
Mark Dumay
859140e92f Merge branch 'main' into develop 2025-06-18 06:17:30 +02:00
Mark Dumay
38ef1bbbfe Bump package version 2025-06-18 06:16:35 +02:00
Mark Dumay
508da2ba2b Refactor navbar logo 2025-06-18 06:16:00 +02:00
Mark Dumay
529301ec8b Bump dependencies 2025-06-18 06:14:31 +02:00
markdumay
91acdeca75 fix: update Hugo module dependencies 2025-06-18 03:28:09 +00:00
120 changed files with 10550 additions and 3431 deletions

View File

@@ -14,6 +14,10 @@ env:
CACHE_PATH_WIN: '~\AppData\Local\hugo_cache'
CACHE_PATH_MAC: '/Users/runner/Library/Caches/hugo_cache'
permissions:
pull-requests: read
contents: read
jobs:
lint:
runs-on: ubuntu-latest

View File

@@ -1,41 +0,0 @@
# This workflow will run tests using node and then publish a package to npmjs.org when a release is created
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
name: Publish package to npmjs
on:
workflow_dispatch:
release:
types: [published]
env:
REGISTRY_URL: 'https://registry.npmjs.org/'
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20.x]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup .npmrc file to publish to npm
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
registry-url: ${{ env.REGISTRY_URL }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
# [27/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
- name: Install npm
run: npm i
- name: Publish package to npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

44
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Release
on:
workflow_dispatch:
push:
branches:
- main
env:
HUSKY: 0
permissions:
contents: read # for checkout
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
run: npm audit signatures
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release

1
.gitignore vendored
View File

@@ -1,5 +1,6 @@
_vendor/
prebuild/
prebuild-headers/
public/
resources/
node_modules/

1
.husky/commit-msg Normal file
View File

@@ -0,0 +1 @@
npx --no -- commitlint --edit $1

6
.husky/install.mjs Normal file
View File

@@ -0,0 +1,6 @@
// Skip Husky install in production and CI
if (process.env.NODE_ENV === 'production' || process.env.CI === 'true') {
process.exit(0)
}
const husky = (await import('husky')).default
console.log(husky())

1
.husky/pre-commit Normal file
View File

@@ -0,0 +1 @@
npm test

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>

45
assets/js/nav.js Normal file
View File

@@ -0,0 +1,45 @@
function updateDropdown (element, id, label) {
const dropdown = document.getElementById(element)
if (dropdown != null) {
dropdown.querySelector('.dropdown-toggle').textContent = label
dropdown.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
item.classList.remove('active')
let target = item.getAttribute('data-link')
if (target != null) {
target = target.replace(/^#+/, '')
if (target === id) {
item.classList.add('active')
}
}
})
}
}
document.querySelectorAll('.panel-dropdown').forEach(trigger => {
trigger.addEventListener('hide.bs.dropdown', event => {
if (event.clickEvent != null) {
let target = event.clickEvent.srcElement.getAttribute('data-link')
if (target != null) {
trigger.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
item.classList.remove('active')
})
target = target.replace(/^#+/, '')
const btn = document.getElementById(target)
if (btn != null) {
event.clickEvent.srcElement.classList.add('active')
trigger.querySelector('.dropdown-toggle').textContent = event.clickEvent.srcElement.textContent
btn.click()
}
}
}
})
})
document.querySelectorAll('.nav-panel .nav-link').forEach(trigger => {
trigger.addEventListener('click', event => {
const companion = event.srcElement.parentElement.parentElement.getAttribute('data-companion')
if (companion != null) {
updateDropdown(companion, trigger.getAttribute('id'), trigger.textContent.trim())
}
})
})

View File

@@ -18,23 +18,13 @@ a:active {
// Ensure main page is rendered to full viewport height
//
.main {
min-height: 100vh;
}
.fullcover {
--navbar-height: #{$navbar-height};
min-height: calc(100vh - var(--navbar-height));
}
.fullscreen {
--overlay-offset: #{$overlay-offset};
--section-height: 88vh;
--max-section-height: 1024px;
min-height: calc(100vh - var(--overlay-offset));
}
.main-content {
margin-top: var(--navbar-offset);
min-height: 100vh;
margin-top: var(--overlay-offset);
}
$utilities: map-merge(
@@ -100,66 +90,24 @@ $utilities: map-merge(
)
);
@media screen and (orientation: portrait) {
.min-vh-custom {
min-height: 25vh !important
}
}
@media screen and (orientation: landscape) {
.min-vh-custom {
min-height: 50vh !important
}
}
:root {
--nav-height: 90px;
}
@include media-breakpoint-up(sm) {
.ratio-section {
min-height: calc(min(100vh, 576px) - var(--nav-height));
}
}
@include media-breakpoint-up(md) {
.ratio-section {
min-height: calc(min(100vh, 768px) - var(--nav-height));
}
}
@include media-breakpoint-up(lg) {
.ratio-section {
min-height: calc(min(100vh, 992px) - var(--nav-height));
}
}
@include media-breakpoint-up(xl) {
.ratio-section {
min-height: calc(min(100vh, 1200px) - var(--nav-height));
}
}
@include media-breakpoint-up(xxl) {
.ratio-section {
min-height: calc(min(100vh, 1400px) - var(--nav-height));
}
}
.section-cover {
min-height: 100vh;
min-height: calc(var(--section-height) - var(--overlay-offset));
}
@include media-breakpoint-up(xxl) {
.section-cover {
min-height: calc(min(100vh, 1000px));
min-height: calc(min(calc(var(--section-height) - var(--overlay-offset)), var(--max-section-height)));
}
}
/* stylelint-disable media-feature-range-notation */
@media (min-height: 1400px) {
.section-cover {
min-height: calc(min(100vh, 1000px));
min-height: calc(min(calc(var(--section-height) - var(--overlay-offset)), var(--max-section-height)));
}
}
/* stylelint-enable media-feature-range-notation */

View File

@@ -69,3 +69,8 @@ $theme-colors: (
"body": $body-bg,
"body-tertiary": $gray-100,
);
$btn-padding-y-xs: .08rem !default;
$btn-padding-x-xs: 0.3rem !default;
$btn-font-size-xs: $font-size-base * .6 !default;
$btn-border-radius-xs: .2rem !default;

View File

@@ -64,3 +64,8 @@ $theme-colors: (
"body": $body-bg,
"body-tertiary": $gray-100,
);
$btn-padding-y-xs: .08rem !default;
$btn-padding-x-xs: 0.3rem !default;
$btn-font-size-xs: $font-size-base * .6 !default;
$btn-border-radius-xs: .2rem !default;

View File

@@ -48,3 +48,7 @@ a.btn {
margin: 0 !important;
}
.btn-xs {
@include button-size($btn-padding-y-xs, $btn-padding-x-xs, $btn-font-size-xs, $btn-border-radius-xs);
}

View File

@@ -1,14 +1,8 @@
.nav-tabs .nav-tabs {
border: none;
.nav-tabs {
border: none !important;
}
.nav-tabs .nav-link.active {
border-bottom-color: var(--bs-body-bg) !important;
border-bottom-style: solid !important;
z-index: 1;
}
.nav-callout {
.nav-callout, .tab-content {
--#{$prefix}nav-callout-bg: var(--#{$prefix}light);
--#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle);
--#{$prefix}nav-callout-gap: #{$nav-underline-gap};
@@ -92,7 +86,7 @@
@if $enable-dark-mode {
@include color-mode(dark) {
.nav-callout {
.nav-callout, .tab-content {
--#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg);
}

1
commitlint.config.js Normal file
View File

@@ -0,0 +1 @@
module.exports = {extends: ['@commitlint/config-conventional']}

View File

@@ -2,8 +2,10 @@
@import "modules/bookshop/components/about/about";
@import "modules/bookshop/components/articles/articles";
@import "modules/bookshop/components/cards/cards";
@import "modules/bookshop/components/cta/cta";
@import "modules/bookshop/components/faq/faq";
@import "modules/bookshop/components/hero/hero";
@import "modules/bookshop/components/panels/panels";
@import "modules/bookshop/components/releases/releases";
@import "modules/bookshop/components/separator/separator";
@import "modules/bookshop/components/video-message/video-message";

View File

@@ -19,9 +19,10 @@
{{/* Main code */}}
{{ if not $args.error }}
{{ partial "assets/hero.html" (dict
"page" page
"heading" $args.heading
"background" $args.background
"illustration" (merge (dict "ratio" "1x1") $args.illustration)
"illustration" (merge (dict "ratio" "auto") $args.illustration)
"order" $args.order
"link-type" $args.linkType
"links" $args.links

View File

@@ -27,9 +27,11 @@ blueprint:
more:
title:
link:
icon-rounded:
icon-style:
cols:
padding:
max:
limit:
pagination:
paginate:
background:

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,18 +64,24 @@
{{ $paginate = false }}
{{ end }}
<!-- Main code -->
{{/* Main code */}}
{{ if not $error }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading) -}}
{{ if or (gt (len $pages) 0) (not $args.hideEmpty) }}
{{- 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 }}
{{- $params = merge $params (dict
"page" page
"list" $pages
"max" $args.max
"limit" $args.limit
"cols" $args.cols
"icon-rounded" $args.iconRounded
"icon-style" $args.iconStyle
"href" (cond $moreButton $moreLink "")
"href-title" (cond $moreButton $moreTitle "")
"href-force" (gt $result.total (len $result.pages))
@@ -95,7 +105,6 @@
"footer-style" $args.footerStyle
"padding" $args.padding
"class" (or $args.class "border-0")
"icon-style" "fa-2x"
"align" "start"
"orientation" $args.orientation
"hook" "assets/live-card.html"
@@ -103,5 +112,10 @@
"paginate" $paginate
) -}}
{{ end }}
{{ if gt (len $pages) 0 }}
{{ partial $partial $params }}
{{ else }}
<p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p>
{{ end }}
{{ end }}
{{ end }}

View File

@@ -17,6 +17,7 @@ blueprint:
width:
cols:
icon-rounded:
icon-style:
padding:
background:
backdrop:
@@ -32,3 +33,4 @@ blueprint:
class:
width:
justify:
align:

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,37 +35,46 @@
) }}
{{ end}}
{{/* Main code */}}
{{ if not $error }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading) -}}
{{- 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 $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
"header-style" "none"
"footer-style" "none"
"icon-rounded" $args.iconRounded
"icon-style" "fa-2x"
"align" "start"
"icon-style" (or $args.iconStyle "fa-2x")
"align" $args.align
"orientation" ($args.orientation | default "horizontal-sm")
"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 $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
"header-style" "none"
"footer-style" "none"
"icon-rounded" $args.iconRounded
"icon-style" "fa-2x"
"align" "start"
"icon-style" (or $args.iconStyle "fa-2x")
"align" $args.align
"orientation" ($args.orientation | default "stacked")
"hook" "assets/live-card.html"
) -}}

View File

@@ -0,0 +1,43 @@
# Metadata about this component, to be used in the CMS
spec:
structures:
- content_blocks
label: CTA
description: Call to action
icon: contact_page
tags: []
# Defines the structure of this component, as well as the default values
blueprint:
heading:
preheading:
title:
content:
align:
arrangement:
width:
size:
contact:
caption-url:
illustration:
image:
icon:
ratio:
class:
anchor:
mode:
background:
backdrop:
color:
subtle:
links:
-
title:
url:
icon:
force:
align:
fluid:
padding:
order:
width:

View File

@@ -0,0 +1,43 @@
{{/*
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.
*/}}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "cta" "args" .) }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "component-library/components/cta/cta.hugo.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{- end -}}
{{/* Main code */}}
{{ if not $args.error }}
{{ $links := slice }}
{{ if and (reflect.IsSlice .links) (gt (len .links) 0) }}
{{ $links = .links }}
{{ else }}
{{ with site.Params.modules.bookshop.cta.defaultURL }}
{{ $links = $links | append (dict "title" (T "contactAction") "url" . "icon" "fas chevron-right") }}
{{ end }}
{{ end }}
{{ partial "assets/contact.html" (dict
"page" page
"orientation" "horizontal"
"heading" $args.heading
"contact" $args.contact
"caption-url" $args.captionUrl
"illustration" $args.illustration
"class" "contact-img"
"links" $links
"align" $args.align
"order" $args.order
"data" site.Params.modules.bookshop.cta.section
) }}
{{ end }}

View File

@@ -0,0 +1,8 @@
.cta {
background-color: var(--#{$prefix}primary-bg-subtle);
}
.cta .contact-img {
background-color: var(--#{$prefix}body-bg);
border-radius: var(--bs-border-radius);
}

View File

@@ -16,15 +16,24 @@
)}}
{{ 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) -}}
{{- 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) "-")) }}
<div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end }}accordion-flush mb-3{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto">
<div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end -}}
accordion-flush{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto">
{{ range $index, $item := $args.items }}
<div class="accordion-item">
{{- with $item.title -}}

View File

@@ -18,6 +18,7 @@
{{ if not $args.err }}
{{ partial "assets/hero.html" (dict
"page" page
"breadcrumb" $args.breadcrumb
"heading" $args.heading
"background" $args.background

View File

@@ -0,0 +1,35 @@
# Metadata about this component, to be used in the CMS
spec:
structures:
- content_blocks
label: Panels
description: Introduction section
icon: check
tags: []
# Defines the structure of this component, as well as the default values
blueprint:
heading:
preheading:
heading:
content:
align:
width:
cols:
padding:
background:
backdrop:
color:
subtle:
elements:
- title:
icon:
image:
mode:
content:
tab-type:
ratio:
responsive:
class:
width:
justify:

View File

@@ -0,0 +1,87 @@
{{/*
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.
*/}}
{{ $error := false }}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "panels" "args" .)}}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "component-library/components/panels/panels.hugo.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ $error = $args.err }}
{{ end }}
{{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $list := slice }}
{{ $titles := slice }}
{{ $toc := slice }}
{{ $parentID := printf "panel-%v" (cond (isset . "_ordinal") (index . "_ordinal") (md5 (delimit (slice . now) "-"))) }}
{{ $inner := "" }}
{{ range $i, $element := $args.elements }}
{{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }}
{{ $hero := partial "assets/hero.html" (dict
"page" page
"heading" (dict "title" $element.title "content" $element.content "width" 8 "size" 6)
"background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" "horizontal"
"align" "start"
"width" 12
)
}}
{{- $output := partial "assets/nav-item.html" (dict
"page" page
"id" $i
"parent-id" $parentID
"fade" false
"title" $element.title
"show" (eq $i 0)
"raw" $hero
)
-}}
{{ $inner = printf "%s\n%s" $inner $output }}
{{ $titles = $titles | append $element.title }}
{{ end}}
{{/* Main code */}}
{{ if not $error }}
{{- 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)
"page" page
"nav-items" $inner
"nav-titles" $titles
"tab-type" $args.tabType
"vertical" $args.vertical
"word-wrap" $args.wordWrap
"class" $args.class
"pane" $args.pane
"width" $args.width
"responsive" $args.responsive
)
-}}
{{ end }}

View File

@@ -0,0 +1,3 @@
.panels .dropdown-toggle {
text-decoration: none !important;
}

View File

@@ -6,3 +6,5 @@ spec:
description: Inserts a horizontal page section separator
icon: horizontal_rule
tags: []
blueprint:

View File

@@ -4,7 +4,7 @@
Visit gethinode.com/license for more details.
*/}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "separator" "args" .) }}
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "separator" "args" .) }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "component-library/components/separator/separator.hugo.html"

View File

@@ -24,6 +24,7 @@ blueprint:
link-type:
orientation:
icon-rounded:
icon-style:
video:
provider:
account:

View File

@@ -16,6 +16,7 @@
)}}
{{ end }}
{{/* Initialize global variables */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
@@ -59,6 +60,7 @@
{{ $cols := .cols }}
{{ $type := .type }}
{{ $iconRounded := .iconRounded }}
{{ $iconStyle := .iconStyle }}
{{- partial "assets/card-group.html" (dict
"page" page
@@ -75,9 +77,11 @@
"button" true
"link-type" $type
"icon-rounded" $iconRounded
"icon-style" $iconStyle
) -}}
{{ end }}
{{/* Main code */}}
{{ if not $args.err }}
{{ $list := slice }}
@@ -96,10 +100,14 @@
) }}
{{ end}}
{{- partial "assets/section-title.html" (dict "heading" $args.heading) -}}
{{- 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 pb-{{ $padding.y }}">
<div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
{{ with $args.video }}
{{- partial "inline/video.html" (dict
"provider" .provider
@@ -112,11 +120,17 @@
) -}}
{{ end }}
</div>
<div class="mt-{{ $padding.y }} pb-{{ $padding.y }}">
{{- partial "inline/messages.html" (dict "list" $list "cols" $args.cols "type" $args.type "iconRounded" $args.iconRounded) -}}
<div class="mt-{{ $padding.y }}">
{{- partial "inline/messages.html" (dict
"list" $list
"cols" $args.cols
"type" $args.type
"iconRounded" $args.iconRounded
"iconStyle" $args.iconStyle
) -}}
</div>
{{ else }}
<div class="container grid gap-4 pb-{{ $padding.y }}">
<div class="container grid gap-{{ $padding.x }}">
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} p-0">
{{ with $args.video }}
@@ -132,7 +146,13 @@
{{ end }}
</div>
<div class="col col-{{ $breakpoint.current }}-{{ sub 12 $args.width }} mt-{{ $padding.y }} mt-{{ $breakpoint.current }}-0">
{{- partial "inline/messages.html" (dict "list" $list "cols" 1 "type" $args.type "iconRounded" $args.iconRounded) -}}
{{- partial "inline/messages.html" (dict
"list" $list
"cols" 1
"type" $args.type
"iconRounded" $args.iconRounded
"iconStyle" $args.iconStyle
) -}}
</div>
</div>
</div>

View File

@@ -16,6 +16,7 @@
{{- $class := index . 2 | default "p-0" -}}
{{- $bgclass := index . 3 | default "" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{- with index $component_props "padding" }}{{ $padding = dict "x" . "y" . }}{{ end -}}
{{- $component_path := partial "_bookshop/helpers/component_key" $component_name -}}
{{- $flat_component_path := partial "_bookshop/helpers/flat_component_key" $component_name -}}
@@ -31,10 +32,12 @@
{{- $cover := index $component_props "cover" -}}
{{- $background := index $component_props "background" -}}
{{- $backdrop := "" -}}
{{- $fluid := index $component_props "fluid" | default true -}}
{{- $style := index $component_props "wrapper" -}}
{{- $width := index $component_props "width" -}}
{{- $justify := index $component_props "justify" | default "start" -}}
{{- $padding := cond (ne $component_name "separator") (printf "px-%d px-xxl-0 py-%d" $padding.x $padding.y) "" -}}
{{- $paddingOuter := cond (ne $component_name "separator") (printf "px-xxl-0 px-%d py-0" $padding.x) "" -}}
{{- $padding := cond (ne $component_name "separator") (printf "px-%d %spy-%d" $padding.x (cond $fluid "px-xxl-0 " "") $padding.y) "" -}}
{{- $wrapper := $style }}
{{ with $background }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }}
@@ -42,14 +45,16 @@
{{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }}
{{ end }}
{{ end }}
{{/* warnf "wrapper: '%s'" $wrapper */}}
{{- $theme := index $component_props "theme" -}}
{{- $overlayMode := (or (index $component_props "overlay-mode") page.Params.overlayMode) | default "dark" -}}
{{ if not $backdrop }}{{ $overlayMode = page.Params.overlayMode }}{{ end }}
{{ if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }}
{{ (printf "<!--bookshop-live name(%s)-->" $component_name) | safeHTML }}
<section {{ with $id }}id="{{ . }}" {{ end }}class="{{ $component_name }} container-fluid {{ $class }} {{ with $wrapper }}{{ . }}{{ end -}}
{{ if not $fluid }}<div class="container-xxl {{ $paddingOuter }}">{{ end }}
<section {{ with $id }}id="{{ . }}" {{ end }}class="{{ $component_name }}
container-fluid {{ $class }}
{{ with $wrapper }}{{ . }}{{ end -}}
{{- if and $backdrop $overlayMode }} background-container{{ end -}}
{{- if $cover }} section-cover d-flex align-items-center{{ end }}"
{{ with $overlayMode -}}
@@ -60,12 +65,16 @@
{{- end -}}
>
{{- if $backdrop -}}
{{ partial "assets/live-image.html" (dict "src" $backdrop "class" (printf "background-img-fluid %s" $bgclass) "title" (T "backgroundImage")) }}
{{ partial "assets/live-image.html" (dict
"src" $backdrop
"class" (printf "background-img-fluid %s" $bgclass)
"title" (T "backgroundImage"))
}}
{{- end -}}
{{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }}
<div class="container-xxl {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
<div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ with $col }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ else }}
@@ -73,6 +82,7 @@
{{ end}}
</div>
</section>
{{ if not $fluid }}</div>{{ end }}
{{ "<!--bookshop-live end-->" | safeHTML }}
{{- else -}}
{{- $file_loc := slicestr $component_path 9 -}}

View File

@@ -116,7 +116,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[module]
[module.hugoVersion]
extended = true
min = "0.141.0"
min = "0.146.0"
[[module.mounts]]
source = "archetypes"
target = "archetypes"
@@ -188,11 +188,11 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]]
path = "github.com/gethinode/mod-lottie"
[[module.imports]]
path = "github.com/gethinode/mod-mermaid"
path = "github.com/gethinode/mod-mermaid/v2"
[[module.imports]]
path = "github.com/gethinode/mod-simple-datatables"
path = "github.com/gethinode/mod-simple-datatables/v2"
[[module.imports]]
path = "github.com/gethinode/mod-utils/v3"
path = "github.com/gethinode/mod-utils/v4"
# toml-docs-end modules
# toml-docs-start segments

View File

@@ -10,10 +10,10 @@
footerBelowFold = false
loading = "lazy"
breakpoint = "md"
titleCase = false
[main.padding]
x = 4
y = 4
titleCase = false
[main.internalLinks]
validate = true
pretty = false
@@ -84,6 +84,7 @@
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
logo-height = 30
color = "body"
fixed = true
overlay = false
@@ -96,6 +97,9 @@
toc = true
sidebar = true
size = "md"
[navigation.padding]
x = 4
y = 4
# toml-docs-end navigation
# toml-docs-start messages

View File

@@ -30,7 +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-simple-datatables/dist/simple-datatables.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',

View File

@@ -7,7 +7,7 @@ content_blocks:
title: Welcome to Hinode!
content: |-
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
align: start
width: 6
background:
color: primary
subtle: true
@@ -15,10 +15,10 @@ content_blocks:
image: /img/sunrise.jpg
ratio: 16x9
width: 8
width: 6
links:
- title: Get started
- title: Getting started
url: https://gethinode.com/docs
icon: fas book-open
icon: fas chevron-right
orientation: horizontal
justify: center
---

View File

@@ -4,12 +4,12 @@
command = "npm run build:example"
[build.environment]
DART_SASS_VERSION = "1.83.1"
HUGO_VERSION = "0.140.2"
DART_SASS_VERSION = "1.89.2"
HUGO_VERSION = "0.147.9"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "22.12.0"
NPM_VERSION = "10.9.0"
NODE_VERSION = "22.13.0"
NPM_VERSION = "10.9.2"
# toml-docs-end netlify
[context.deploy-preview]

File diff suppressed because it is too large Load Diff

View File

@@ -1,65 +0,0 @@
types:
background:
backdrop:
color:
subtle:
heading:
preheading:
title:
content:
align:
arrangement:
width:
size:
illustration:
image:
icon:
ratio:
class:
anchor:
mode:
width:
image-overlay:
hook:
input:
section:
nested:
keywords:
categories:
tags:
reverse:
sort:
items:
- title:
description:
elements:
- title:
icon:
image:
mode:
content:
links:
- title:
url:
icon:
force:
messages:
- title:
icon:
content:
link:
label:
more:
title:
link:
styles:
- ratio:
orientation:
portrait:
width:
video:
provider:
account:
id:
autoplay:
query-args:

View File

@@ -12,6 +12,7 @@ arguments:
class:
color:
padding:
default: 3
gutter:
release: v0.19.0
header-style:
@@ -22,7 +23,8 @@ arguments:
release: 1.0.0
list:
cards:
max:
limit:
release: v1.0.0
cols:
release: v0.19.0
paginate:
@@ -42,6 +44,7 @@ arguments:
icon-rounded:
release: v1.0.0
align:
default: start
wrapper:
default: p-0
responsive:
@@ -158,3 +161,12 @@ arguments:
group: partial
deprecated: v1.0.0
alternative: href-title
max:
type: int
optional: true
comment: Maximum number of elements to display.
group: partial
options:
min: 1
deprecated: v1.0.0
alternative: limit

View File

@@ -15,6 +15,7 @@ arguments:
parent: cascade
padding:
parent: cascade
default: 3
gutter:
default: 0
parent: cascade
@@ -45,6 +46,7 @@ arguments:
icon-rounded:
release: v1.0.0
align:
default: start
parent: cascade
release: v0.23.0
scroll:

View File

@@ -0,0 +1,36 @@
comment: >-
Displays a contact banner, typically placed at the bottom or right-hand side of the page.
arguments:
page:
data:
heading:
contact:
type: string
optional: false
comment: >-
The full name of the contact to retrieve.
caption-url:
type:
- string
- template.URL
optional: true
comment: >-
Address of the contact's page, either a local reference or an external
address. Include the `scheme` when referencing an external address, such
as `https://google.com`. Local references may include an optional anchor
link such as `blog/bootstrap-elements/#docs`.
illustration:
background:
link-type:
links:
align:
order:
default: first
orientation:
width:
justify:
class:
width:
default: 12
hook:
default: assets/hero-image.html

View File

@@ -11,8 +11,8 @@ arguments:
full:
id:
class:
options:
release: v0.27.6
highlight-options:
release: v1.0.0
# deprecated arguments
path:
type: string
@@ -22,3 +22,11 @@ arguments:
the path of the repository is used as base path instead.
deprecated: v1.0.0
alternative: file
options:
type: string
optional: true
comment: >-
Hugo highlighting options, see https://gohugo.io/shortcodes/highlight/#options-1.
release: v0.27.6
deprecated: v1.0.0
alternative: highlight-options

View File

@@ -2,3 +2,17 @@ comment: >-
Initializes images dimensions (widht x height for supported image ratios.
arguments:
ratio:
type: select
optional: true
comment: >-
Ratio of the media asset. When the asset is an image, it is resized and
cropped (not applicable to vector graphics). For video assets, the padding
of the embedded frame is adjusted.
options:
values:
- 1x1
- 3x2
- 4x3
- 16x9
- 21x9
- auto

View File

@@ -3,6 +3,7 @@ comment: >-
supports a heading, featured illustration, and navigation links. You can
can also add a background image with an overlay to improve contrast.
arguments:
page:
breadcrumb:
heading:
background:
@@ -18,6 +19,7 @@ arguments:
justify:
use-section:
use-title:
size:
class:
padding:
default: px-4 px-xxl-0 py-4

View File

@@ -4,6 +4,8 @@ arguments:
mode:
ratio:
portrait:
image-height:
image-width:
loading:
priority:
sizes:

View File

@@ -44,6 +44,10 @@ arguments:
release: v0.24.0
anchor:
release: v0.24.22
image-height:
release: v1.0.0
image-width:
release: v1.0.0
# deprecated arguments
url:
type:

View File

@@ -15,6 +15,9 @@ arguments:
class:
body:
group: partial
raw:
group: partial
release: v1.3.0
navitem-type:
release: v1.0.0
illustration:

View File

@@ -7,8 +7,12 @@ arguments:
group: partial
list:
group: partial
nav-disabled:
release: v1.0.0
nav-items:
release: v1.0.0
nav-show:
release: v1.0.0
nav-titles:
release: v1.0.0
tab-type:
@@ -18,6 +22,8 @@ arguments:
release: v1.0.0
class:
pane:
responsive:
release: v1.4.0
width:
default: 12
group: partial

View File

@@ -1,20 +0,0 @@
comment: >-
Inserts a horizontal page section separator.
arguments:
_bookshop_name:
type: string
optional: true
comment: Unique name of the bookshop component
group: partial
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: true
comment: Context of the current page.
group: partial
theme:
type: string
optional: true
comment: Color theme to apply.
release: v1.0.0-alpha

View File

@@ -9,3 +9,4 @@ arguments:
optional: false
background:
class:
justify:

View File

@@ -31,6 +31,11 @@ arguments:
deprecated: v1.0.0
alternative: media-id
options:
type: string
optional: true
comment: >-
Optional query parameters to append to video asset's url. The query string
is prepended with a `?` symbol. Only applicable to Cloudinary.
release: v0.28.2
deprecated: v1.0.0
alternative: query-args

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

View File

@@ -129,4 +129,4 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]]
path = "github.com/gethinode/mod-simple-datatables"
[[module.imports]]
path = "github.com/gethinode/mod-utils/v3"
path = "github.com/gethinode/mod-utils/v4"

View File

@@ -8,10 +8,10 @@
footerBelowFold = false
loading = "lazy"
breakpoint = "md"
titleCase = true
[main.padding]
x = 4
y = 4
titleCase = true
[main.internalLinks]
validate = true
pretty = true
@@ -37,6 +37,7 @@
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
logo-height = 30
color = "body"
fixed = true
overlay = false
@@ -50,6 +51,9 @@
toc = true
sidebar = true
size = "md"
[navigation.padding]
x = 4
y = 4
[messages]
placement = "bottom-right"
@@ -125,7 +129,6 @@
# 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"
# TODO: adjust purge settings
purge = false
# toml-docs-end theme-colors

View File

@@ -30,7 +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-simple-datatables/dist/simple-datatables.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',

View File

@@ -37,7 +37,7 @@ content_blocks:
more:
title: More Posts
padding: 0
max: 3
limit: 3
class: border-0 card-zoom card-body-margin
- _bookshop_name: articles
@@ -55,7 +55,8 @@ content_blocks:
title: More articles
cols: 1
padding: 4
max: 2
limit: 2
icon-style: fa-5x
header-style: none
footer-style: tags
orientation: horizontal-sm

View File

@@ -6,18 +6,17 @@ content_blocks:
- _bookshop_name: hero
heading:
title: Content blocks
align: start
breadcrumb: true
- _bookshop_name: articles
heading:
content: >-
Hinode uses [Bookshop](https://github.com/CloudCannon/bookshop) to
support so-called content blocks. Content blocks are reusable page
elements, such as a hero, about panel, or an FAQ. Hinode includes
several ready-to-use blocks. Click on a card for more details about
a content block, including its frontmatter configuration.
align: start
width: 8
breadcrumb: true
- _bookshop_name: articles
hide-empty: false
input:
section: blocks
@@ -26,9 +25,10 @@ content_blocks:
more:
title: More Posts
cols: 3
padding: 0
max: 9
padding: 3
limit: 9
paginate: true
cover: false
header-style: none
class: border-1
---

View File

@@ -25,6 +25,7 @@ The `about` content block renders a short message next to an illustration. You c
subtle: true
illustration:
image: /assets/img/nat-9l98kFByiao-unsplash.jpg
ratio: 1x1
link-type: link
links:
- title: First link

View File

@@ -26,12 +26,12 @@ The `articles` content block renders a group of article cards.
more:
title: More Blogs
padding: 0
max: 3
limit: 3
background:
color: primary
subtle: true
class: border-0 card-zoom card-body-margin
justify: center
justify: start
```
{{< /example-bookshop >}}

View File

@@ -24,14 +24,19 @@ The `cards` content block renders a group of content cards.
subtle: true
orientation: stacked
icon-rounded: true
class: text-center
icon-style: fa-xs
padding: 0
align: start
elements:
- title: First Card
icon: fas 1
content: Content of the first card
- title: Second Card
icon: fas 2
content: Content of the second card
- title: Third Card
icon: fas 3
content: Content of the third card
```
{{< /example-bookshop >}}
@@ -42,3 +47,145 @@ The `cards` content block renders a group of content cards.
The content block supports the following arguments:
{{< args bookshop-cards >}}
## Examples
### Stacked cards with an image
Set the `image` attribute of each `element` to an image asset to render illustrated cards.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: stacked
class: bg-body
align: center
elements:
- title: First Card
image: /img/nat-9l98kFByiao-unsplash.jpg
- title: Second Card
image: /img/nat-9l98kFByiao-unsplash.jpg
- title: Third Card
image: /img/nat-9l98kFByiao-unsplash.jpg
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Horizontal cards with an image
Set the `orientation` attribute to `horizontal` to render horizontally oriented cards.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: horizontal
class: bg-body
align: center
elements:
- title: First Card
image: /img/nat-9l98kFByiao-unsplash.jpg
content: Content of the first card
- title: Second Card
image: /img/nat-9l98kFByiao-unsplash.jpg
content: Content of the second card
- title: Third Card
image: /img/nat-9l98kFByiao-unsplash.jpg
content: Content of the third card
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Stacked cards with an icon
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: stacked
icon-style: fa-xs text-primary
align: start
padding: 0
elements:
- title: First Card
icon: fas 1
content: Content of the first card
- title: Second Card
icon: fas 2
content: Content of the second card
- title: Third Card
icon: fas 3
content: Content of the third card
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Horizontal cards with an icon
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: horizontal
icon-rounded: true
icon-style: fa-2xs text-primary
align: start
padding: 0
elements:
- title: First Card
icon: fas 1
content: Content of the first card
- title: Second Card
icon: fas 2
content: Content of the second card
- title: Third Card
icon: fas 3
content: Content of the third card
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -0,0 +1,36 @@
---
_schema: default
title: CTA
description: Use the CTA content block to display an action link with an optional contact.
icon: fas address-card
---
## Overview
The `cta` content block renders a call to action link or button. You can include an optional contact or provide your own illustration. By default, the `cta` uses a generic title and message. Set the `heading` attribute to override these values.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cta
contact: Betty White
caption-url: /en/blocks/cta/
background:
color: primary
subtle: true
order: first
links:
- title: Get in touch
url: '#!'
icon: fas chevron-right
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
## Arguments
The content block supports the following arguments:
{{< args bookshop-cta >}}

View File

@@ -0,0 +1,189 @@
---
_schema: default
title: Panels
description: Use the panels content block to display multiple toggable panels.
icon: fa folder
---
## Overview
The `panels` content block displays multiple panels that are toggled by a tab control.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: panels
heading:
preheading: Preheading
title: Heading
content: Panels content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
width: 12
tab-type: underline
ratio: 1x1
elements:
- title: First Panel
image: /img/sunrise.jpg
content: content 1
- title: Second Panel
image: /img/nat-9l98kFByiao-unsplash.jpg
content: content 2
- title: Third Panel
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
content: content 3
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
## Arguments
The content block supports the following arguments:
{{< args bookshop-panels >}}
## Examples
### Tabs
Set `tab-type` to `tabs` to adjust the panel controls.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: panels
heading:
preheading: Preheading
title: Heading
content: Panels content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
width: 12
tab-type: tabs
ratio: 1x1
elements:
- title: First Panel
image: /img/sunrise.jpg
content: content 1
- title: Second Panel
image: /img/nat-9l98kFByiao-unsplash.jpg
content: content 2
- title: Third Panel
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
content: content 3
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Pills
Set `tab-type` to `pills` to adjust the panel controls.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: panels
heading:
preheading: Preheading
title: Heading
content: Panels content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
width: 12
tab-type: pills
ratio: 1x1
elements:
- title: First Panel
image: /img/sunrise.jpg
content: content 1
- title: Second Panel
image: /img/nat-9l98kFByiao-unsplash.jpg
content: content 2
- title: Third Panel
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
content: content 3
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Underline
Set `tab-type` to `underline` to adjust the panel controls.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: panels
heading:
preheading: Preheading
title: Heading
content: Panels content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
width: 12
tab-type: underline
ratio: 1x1
elements:
- title: First Panel
image: /img/sunrise.jpg
content: content 1
- title: Second Panel
image: /img/nat-9l98kFByiao-unsplash.jpg
content: content 2
- title: Third Panel
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
content: content 3
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Callout
Set `tab-type` to `callout` to adjust the panel controls.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: panels
heading:
preheading: Preheading
title: Heading
content: Panels content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
width: 12
tab-type: callout
ratio: 1x1
elements:
- title: First Panel
image: /img/sunrise.jpg
content: content 1
- title: Second Panel
image: /img/nat-9l98kFByiao-unsplash.jpg
content: content 2
- title: Third Panel
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
content: content 3
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -24,6 +24,7 @@ The `video` content block renders a horizontal line to separate sections. The se
color: primary
subtle: true
orientation: horizontal
icon-style: fa-lg
video:
provider: vimeo
media-id: "55073825"

View File

@@ -59,6 +59,16 @@ As an example, the following shortcode displays a simple alert.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Args
Use the args shortcode to generates a table of structured arguments. The argument definitions are expected to be defined in a data file identified by a provided structure name.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* args "args" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Badge
Use the badge shortcode to display a badge for a heading.
@@ -238,7 +248,7 @@ Use the `file` shortcode to print and highlight the full content of a given inpu
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* file file="./config/_default/languages.toml" id="file-collapse-1" */>}}
{{</* file file="./config/_default/languages.toml" id="file-collapse-1" full=false */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
@@ -352,14 +362,14 @@ As an example, the following shortcode displays a tab group with vertically alig
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* nav tab-type="pills" vertical="true" */>}}
{{</* nav-item title="Nav Item #1" show="true" */>}}
{{</* nav-item title="Nav Item #1" */>}}
This is the first item's nav body. It supports Markdown content.
The item is shown by adding the value `show` to the `class` argument.
{{</* /nav-item */>}}
{{</* nav-item title="Nav Item #2" */>}}
{{</* nav-item title="Nav Item #2" show="true" */>}}
This is the second item's nav body.
{{</* /nav-item */>}}
{{</* nav-item title="Nav Item #3" */>}}
{{</* nav-item title="Nav Item #3" disabled="true" */>}}
This is the third item's nav body.
{{</* /nav-item */>}}
{{</* /nav */>}}

View File

@@ -22,7 +22,7 @@ As an example, the following shortcode shows an animation that plays on hover.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{</* animation animation-data="gatin.json" autoplay=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -22,7 +22,7 @@ Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{% relre
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{</* animation animation-data="gatin.json" autoplay=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -21,7 +21,7 @@ Het volgende voorbeeld gebruikt een shortcode om een animatie te tonen, die afsp
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{</* animation animation-data="gatin.json" autoplay=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -0,0 +1,45 @@
- name: Alex Smith
preferred: Alex
image: /assets/img/joseph-gonzalez-iFgRcqHznqg-unsplash.png
function: Digital Strategy Lead
linkedin: https://www.linkedin.com
keywords:
- transformation
biography: >-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut accumsan
venenatis dapibus. Proin placerat mauris ac interdum gravida. Proin
consequat feugiat sagittis. Sed vel augue nec est auctor semper. Curabitur
mauris ante, euismod eu sem in, sagittis porttitor urna. Mauris sodales at
quam condimentum malesuada. Vivamus erat augue, euismod nec ligula quis,
molestie lobortis ante. Proin venenatis non diam ac interdum.
- name: Betty White
preferred: Betty
image: /assets/img/jake-nackos-IF9TK5Uy-KI-unsplash.png
function: UX Expert
linkedin: https://www.linkedin.com
keywords:
- experience
biography: >-
Duis rutrum, justo eleifend sagittis facilisis, leo orci hendrerit elit, ac
tristique nisl justo non neque. Mauris semper egestas massa, nec dapibus ex
tincidunt nec. Quisque lectus quam, finibus sed hendrerit id, accumsan eget
sapien. Nam facilisis diam eu felis tempus euismod. Nullam id neque
fringilla purus vestibulum mattis elementum vitae lectus. Fusce vel libero
consectetur urna egestas molestie eget sit amet elit.
- name: Charles Green
preferred: Charles
image: /assets/img/foto-sushi-6anudmpILw4-unsplash-1x1.png
function: UX Expert
linkedin: https://www.linkedin.com
keywords:
- technology
- transformation
- experience
biography: >-
Suspendisse potenti. Aenean elit nisl, viverra eu volutpat at, sodales a sem.
Aliquam blandit nunc non mi posuere, quis laoreet ex congue. Donec fringilla
porttitor lacus accumsan porttitor. Integer vel sagittis diam. Nullam vehicula
fermentum risus nec facilisis. Fusce eleifend gravida orci, in efficitur enim
fermentum nec. Sed quis malesuada lorem. Ut vitae sodales sapien.

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

@@ -7,5 +7,5 @@ github.com/gethinode/mod-cookieyes/v2 v2.0.4 h1:QgYSD3S23351e7xEeQb+Mon+e+I6Rbnn
github.com/gethinode/mod-cookieyes/v2 v2.0.4/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
github.com/gethinode/mod-cookieyes/v2 v2.1.2 h1:hzGCbRbpNAVkLr+jFWpAQaXHG0lgK+KgIpaZYsI1J+U=
github.com/gethinode/mod-cookieyes/v2 v2.1.2/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
github.com/gethinode/mod-utils/v3 v3.0.2 h1:AewNQYVXy/qoNdqJGG6nKCZXjtXavcZcgdeC1Q6EEnQ=
github.com/gethinode/mod-utils/v3 v3.0.2/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v4 v4.4.0 h1:IhhJDLqXCdYvrjM6kUR10wlg0kyZrY94f7EuGMj8NN0=
github.com/gethinode/mod-utils/v4 v4.4.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=

View File

@@ -14,6 +14,7 @@
"figure",
"footer",
"form",
"h1",
"h2",
"h3",
"head",
@@ -69,7 +70,6 @@
],
"classes": [
"%!s(<nil>)",
"%!s(MISSING)",
"about",
"accordion",
"accordion-body",
@@ -89,6 +89,7 @@
"align-middle",
"align-self-center",
"align-self-end",
"align-self-start",
"anchor",
"articles",
"background-container",
@@ -103,6 +104,7 @@
"bg-opacity-10",
"bg-primary",
"bg-primary-subtle",
"bg-secondary-subtle",
"bi",
"bi-activity",
"border",
@@ -122,18 +124,20 @@
"btn-group",
"btn-light",
"btn-link",
"btn-md",
"btn-outline-primary",
"btn-outline-secondary",
"btn-primary",
"btn-secondary",
"btn-sm",
"btn-social",
"btn-xs",
"card",
"card-block-2",
"card-body",
"card-body-link",
"card-body-margin",
"card-button",
"card-button-link",
"card-container",
"card-container-wrapper",
"card-emphasize",
@@ -141,6 +145,7 @@
"card-icon-primary",
"card-icon-secondary",
"card-img-bg",
"card-img-h100",
"card-img-top",
"card-img-wrap",
"card-text",
@@ -169,6 +174,7 @@
"col-6",
"col-8",
"col-9",
"col-auto",
"col-lg-2",
"col-lg-4",
"col-lg-8",
@@ -186,9 +192,11 @@
"col-sm-6",
"collapse",
"collapsed",
"contact-img",
"container",
"container-fluid",
"container-xxl",
"cta",
"custom",
"d-block",
"d-flex",
@@ -205,8 +213,10 @@
"d-sm-block",
"d-sm-none",
"data-table",
"disabled",
"display-1",
"display-4",
"display-6",
"dropdown",
"dropdown-divider-bg",
"dropdown-item",
@@ -223,12 +233,15 @@
"fa-2xs",
"fa-3",
"fa-4x",
"fa-5x",
"fa-activity",
"fa-address-card",
"fa-angle-left",
"fa-angle-right",
"fa-angles-left",
"fa-angles-right",
"fa-arrow-left",
"fa-arrow-right",
"fa-book-open",
"fa-bootstrap",
"fa-check",
"fa-chevron-right",
@@ -237,14 +250,13 @@
"fa-circle-play",
"fa-circle-question",
"fa-code",
"fa-display",
"fa-divide",
"fa-docker",
"fa-ellipsis",
"fa-face-frown",
"fa-facebook",
"fa-fluid",
"fa-font-awesome",
"fa-folder",
"fa-fw",
"fa-github",
"fa-globe",
@@ -254,17 +266,16 @@
"fa-house",
"fa-info",
"fa-inverse",
"fa-lg",
"fa-li",
"fa-link",
"fa-linkedin",
"fa-magnifying-glass",
"fa-markdown",
"fa-medium",
"fa-moon",
"fa-robot",
"fa-rocket",
"fa-rotate-90",
"fa-share-nodes",
"fa-sitemap",
"fa-sort",
"fa-square-check",
"fa-stack",
@@ -272,10 +283,12 @@
"fa-stack-2x",
"fa-sun",
"fa-timeline",
"fa-ul",
"fa-up-right-from-square",
"fa-whatsapp",
"fa-wrapper",
"fa-x-twitter",
"fa-xs",
"fab",
"fade",
"faq",
@@ -285,7 +298,6 @@
"flex-column",
"flex-fill",
"flex-grow-1",
"flex-md-grow-0",
"flex-nowrap",
"flex-row",
"font-monospace",
@@ -297,7 +309,6 @@
"fs-6",
"fs-lg-5",
"fs-md-5",
"fullscreen",
"fw-30",
"fw-bold",
"fw-semibold",
@@ -333,6 +344,7 @@
"justify-content-between",
"justify-content-center",
"justify-content-end",
"justify-content-md-end",
"justify-content-md-start",
"justify-content-start",
"katex",
@@ -348,15 +360,16 @@
"lottie-animation",
"m-0",
"m-auto",
"m-md-n4",
"m-n1",
"main-content",
"main",
"main-nav-toggler",
"mb-0",
"mb-1",
"mb-3",
"mb-4",
"mb-5",
"mb-lg-5",
"me-1",
"me-3",
"me-auto",
"mermaid",
@@ -366,6 +379,7 @@
"ms-3",
"ms-auto",
"ms-md-3",
"mt-1",
"mt-2",
"mt-3",
"mt-4",
@@ -373,20 +387,26 @@
"mt-auto",
"mt-md-0",
"multi-docs-collapse-15",
"multi-docs-collapse-16",
"multi-file-collapse-1",
"mx-auto",
"mx-md-0",
"mx-md-2",
"mx-md-n4",
"my-2",
"my-4",
"my-auto",
"my-md-0",
"my-md-auto",
"my-md-n4",
"nav",
"nav-callout",
"nav-item",
"nav-link",
"nav-panel",
"nav-pills",
"nav-tabs",
"nav-underline",
"navbar",
"navbar-brand",
"navbar-collapse",
@@ -397,7 +417,6 @@
"navbar-mode-selector",
"navbar-nav",
"navbar-nav-scroll",
"navbar-title",
"navbar-toggler",
"next",
"no-js",
@@ -411,7 +430,12 @@
"p-2",
"p-3",
"p-4",
"p-md-4",
"page-item",
"page-link",
"pagination",
"pagination-terse",
"panel-dropdown",
"panels",
"pb-3",
"pb-4",
"pb-5",
@@ -436,14 +460,20 @@
"ptw-5",
"ptw-lg-5",
"ptw-sm-4",
"px-%!d(string=0)",
"px-2",
"px-3",
"px-4",
"px-md-4",
"px-xxl-0",
"py-%!d(string=0)",
"py-0",
"py-1",
"py-2",
"py-3",
"py-4",
"py-md-1",
"py-md-4",
"ratio",
"ratio-16x9",
"releases",
@@ -452,6 +482,7 @@
"rounded-5",
"rounded-bottom",
"rounded-pill",
"rounded-start",
"rounded-top",
"row",
"row-cols-1",
@@ -486,6 +517,7 @@
"table-border-bottom-wrap",
"table-responsive-md",
"table-wrap",
"tabs-dropdown",
"tag-link",
"text-",
"text-bg-body-tertiary",
@@ -501,6 +533,7 @@
"text-decoration-none",
"text-end",
"text-info",
"text-md-start",
"text-muted",
"text-nowrap",
"text-primary",
@@ -557,6 +590,7 @@
],
"ids": [
"abbr",
"accelerate-your-data-products",
"accordion",
"accordion-0",
"accordion-0-heading-0",
@@ -566,10 +600,13 @@
"accordion-0-item-1",
"accordion-0-item-2",
"accordéon",
"ai",
"alert",
"alerte",
"analytics",
"animatie",
"animation",
"args",
"arguments",
"background-type",
"badge",
@@ -577,13 +614,14 @@
"block-diagram",
"blog",
"body-docs-collapse-15",
"body-docs-collapse-16",
"body-file-collapse-1",
"bouton",
"breadcrumb",
"build-a-static-website-fast-and-flexible",
"button",
"button-group",
"c4-diagram",
"callout",
"card",
"card-group",
"carousel",
@@ -602,149 +640,49 @@
"content-blocks",
"cookies-etc",
"custom-activity",
"data-quality",
"data-tables",
"developer-friendly-and-secure",
"docs",
"documentation",
"dropdown-nav-0",
"dropdown-panel-071ec18d100b1b143a52290acbccb5d2",
"dropdown-panel-3",
"dropdown-panel-353faae960d8e5f264e975d330a6b22f",
"dropdown-panel-6f7573c76bb16d93358060c54c56bb25",
"dropdown-panel-78e144cc4646b9bdebe8f1d59a62159d",
"dropdown-panel-fbf9d10f31358572a82e263a6abb2d8c",
"elements-type",
"entity-relationship-diagram",
"example",
"examples",
"exemple",
"fa-address-card",
"fa-face-frown",
"fa-font-awesome",
"fa-folder",
"fa-square-check",
"fab-bootstrap",
"fab-docker",
"fab-facebook",
"fab-github",
"fab-linkedin",
"fab-markdown",
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"faq-0d9a663ea13795e571a591d17c829742",
"faq-0d9a663ea13795e571a591d17c829742-heading-faq-0d9a663ea13795e571a591d17c829742",
"faq-0d9a663ea13795e571a591d17c829742-item-0",
"faq-0d9a663ea13795e571a591d17c829742-item-1",
"faq-0d9a663ea13795e571a591d17c829742-item-2",
"faq-1a91b395d4e278d5ad50026e5543d315",
"faq-1a91b395d4e278d5ad50026e5543d315-heading-faq-1a91b395d4e278d5ad50026e5543d315",
"faq-1a91b395d4e278d5ad50026e5543d315-item-0",
"faq-1a91b395d4e278d5ad50026e5543d315-item-1",
"faq-1a91b395d4e278d5ad50026e5543d315-item-2",
"faq-260a338c938b84539f6f323923f8e613",
"faq-260a338c938b84539f6f323923f8e613-heading-faq-260a338c938b84539f6f323923f8e613",
"faq-260a338c938b84539f6f323923f8e613-item-0",
"faq-260a338c938b84539f6f323923f8e613-item-1",
"faq-260a338c938b84539f6f323923f8e613-item-2",
"faq-27223f6d2ae1171f2cf24b1a28156a35",
"faq-27223f6d2ae1171f2cf24b1a28156a35-heading-faq-27223f6d2ae1171f2cf24b1a28156a35",
"faq-27223f6d2ae1171f2cf24b1a28156a35-item-0",
"faq-27223f6d2ae1171f2cf24b1a28156a35-item-1",
"faq-27223f6d2ae1171f2cf24b1a28156a35-item-2",
"faq-2d786b12873224179f3ed158e5a7d744",
"faq-2d786b12873224179f3ed158e5a7d744-heading-faq-2d786b12873224179f3ed158e5a7d744",
"faq-2d786b12873224179f3ed158e5a7d744-item-0",
"faq-2d786b12873224179f3ed158e5a7d744-item-1",
"faq-2d786b12873224179f3ed158e5a7d744-item-2",
"faq-3c297f2bc52c8df8d94d5eef851ab26d",
"faq-3c297f2bc52c8df8d94d5eef851ab26d-heading-faq-3c297f2bc52c8df8d94d5eef851ab26d",
"faq-3c297f2bc52c8df8d94d5eef851ab26d-item-0",
"faq-3c297f2bc52c8df8d94d5eef851ab26d-item-1",
"faq-3c297f2bc52c8df8d94d5eef851ab26d-item-2",
"faq-7021d3f3246f1cad44eb45aab9c051af",
"faq-7021d3f3246f1cad44eb45aab9c051af-heading-faq-7021d3f3246f1cad44eb45aab9c051af",
"faq-7021d3f3246f1cad44eb45aab9c051af-item-0",
"faq-7021d3f3246f1cad44eb45aab9c051af-item-1",
"faq-7021d3f3246f1cad44eb45aab9c051af-item-2",
"faq-79c40a4b7e8130c6d59d7d5ec68a806c",
"faq-79c40a4b7e8130c6d59d7d5ec68a806c-heading-faq-79c40a4b7e8130c6d59d7d5ec68a806c",
"faq-79c40a4b7e8130c6d59d7d5ec68a806c-item-0",
"faq-79c40a4b7e8130c6d59d7d5ec68a806c-item-1",
"faq-79c40a4b7e8130c6d59d7d5ec68a806c-item-2",
"faq-7a94a6ed05dee266e8fca51d4b03c44a",
"faq-7a94a6ed05dee266e8fca51d4b03c44a-heading-faq-7a94a6ed05dee266e8fca51d4b03c44a",
"faq-7a94a6ed05dee266e8fca51d4b03c44a-item-0",
"faq-7a94a6ed05dee266e8fca51d4b03c44a-item-1",
"faq-7a94a6ed05dee266e8fca51d4b03c44a-item-2",
"faq-87875e6a383425f97b473c2f294dc32b",
"faq-87875e6a383425f97b473c2f294dc32b-heading-faq-87875e6a383425f97b473c2f294dc32b",
"faq-87875e6a383425f97b473c2f294dc32b-item-0",
"faq-87875e6a383425f97b473c2f294dc32b-item-1",
"faq-87875e6a383425f97b473c2f294dc32b-item-2",
"faq-8cbeda0cbf69e9b1f730419797381724",
"faq-8cbeda0cbf69e9b1f730419797381724-heading-faq-8cbeda0cbf69e9b1f730419797381724",
"faq-8cbeda0cbf69e9b1f730419797381724-item-0",
"faq-8cbeda0cbf69e9b1f730419797381724-item-1",
"faq-8cbeda0cbf69e9b1f730419797381724-item-2",
"faq-a283ecb983d43eca6d74b09b4cfe0113",
"faq-a283ecb983d43eca6d74b09b4cfe0113-heading-faq-a283ecb983d43eca6d74b09b4cfe0113",
"faq-a283ecb983d43eca6d74b09b4cfe0113-item-0",
"faq-a283ecb983d43eca6d74b09b4cfe0113-item-1",
"faq-a283ecb983d43eca6d74b09b4cfe0113-item-2",
"faq-bf296c068826c3f70cda629523eaeee2",
"faq-bf296c068826c3f70cda629523eaeee2-heading-faq-bf296c068826c3f70cda629523eaeee2",
"faq-bf296c068826c3f70cda629523eaeee2-item-0",
"faq-bf296c068826c3f70cda629523eaeee2-item-1",
"faq-bf296c068826c3f70cda629523eaeee2-item-2",
"faq-ca8ce46ac820ed775e7a69120344616d",
"faq-ca8ce46ac820ed775e7a69120344616d-heading-faq-ca8ce46ac820ed775e7a69120344616d",
"faq-ca8ce46ac820ed775e7a69120344616d-item-0",
"faq-ca8ce46ac820ed775e7a69120344616d-item-1",
"faq-ca8ce46ac820ed775e7a69120344616d-item-2",
"faq-cbbd7ca0faf0b753868403f958cf8744",
"faq-cbbd7ca0faf0b753868403f958cf8744-heading-faq-cbbd7ca0faf0b753868403f958cf8744",
"faq-cbbd7ca0faf0b753868403f958cf8744-item-0",
"faq-cbbd7ca0faf0b753868403f958cf8744-item-1",
"faq-cbbd7ca0faf0b753868403f958cf8744-item-2",
"faq-cfb71a1e6c505922609807a314e54eed",
"faq-cfb71a1e6c505922609807a314e54eed-heading-faq-cfb71a1e6c505922609807a314e54eed",
"faq-cfb71a1e6c505922609807a314e54eed-item-0",
"faq-cfb71a1e6c505922609807a314e54eed-item-1",
"faq-cfb71a1e6c505922609807a314e54eed-item-2",
"faq-dce7a0223de22fc974afefb5fb73500c",
"faq-dce7a0223de22fc974afefb5fb73500c-heading-faq-dce7a0223de22fc974afefb5fb73500c",
"faq-dce7a0223de22fc974afefb5fb73500c-item-0",
"faq-dce7a0223de22fc974afefb5fb73500c-item-1",
"faq-dce7a0223de22fc974afefb5fb73500c-item-2",
"faq-de87d81175f84d4b473aedbb904dca29",
"faq-de87d81175f84d4b473aedbb904dca29-heading-faq-de87d81175f84d4b473aedbb904dca29",
"faq-de87d81175f84d4b473aedbb904dca29-item-0",
"faq-de87d81175f84d4b473aedbb904dca29-item-1",
"faq-de87d81175f84d4b473aedbb904dca29-item-2",
"faq-de9ce1500782d5d44b4de7a31ac22036",
"faq-de9ce1500782d5d44b4de7a31ac22036-heading-faq-de9ce1500782d5d44b4de7a31ac22036",
"faq-de9ce1500782d5d44b4de7a31ac22036-item-0",
"faq-de9ce1500782d5d44b4de7a31ac22036-item-1",
"faq-de9ce1500782d5d44b4de7a31ac22036-item-2",
"faq-e40f4cdf1d5fd2b6aa8c07326e2ba943",
"faq-e40f4cdf1d5fd2b6aa8c07326e2ba943-heading-faq-e40f4cdf1d5fd2b6aa8c07326e2ba943",
"faq-e40f4cdf1d5fd2b6aa8c07326e2ba943-item-0",
"faq-e40f4cdf1d5fd2b6aa8c07326e2ba943-item-1",
"faq-e40f4cdf1d5fd2b6aa8c07326e2ba943-item-2",
"faq-ec1d24cb71b18507b09f080761d59750",
"faq-ec1d24cb71b18507b09f080761d59750-heading-faq-ec1d24cb71b18507b09f080761d59750",
"faq-ec1d24cb71b18507b09f080761d59750-item-0",
"faq-ec1d24cb71b18507b09f080761d59750-item-1",
"faq-ec1d24cb71b18507b09f080761d59750-item-2",
"faq-f760b3a9afdbc65e4a1dea126792034b",
"faq-f760b3a9afdbc65e4a1dea126792034b-heading-faq-f760b3a9afdbc65e4a1dea126792034b",
"faq-f760b3a9afdbc65e4a1dea126792034b-item-0",
"faq-f760b3a9afdbc65e4a1dea126792034b-item-1",
"faq-f760b3a9afdbc65e4a1dea126792034b-item-2",
"faq-f965312ce85935dd57bb6ac2a5ae85fb",
"faq-f965312ce85935dd57bb6ac2a5ae85fb-heading-faq-f965312ce85935dd57bb6ac2a5ae85fb",
"faq-f965312ce85935dd57bb6ac2a5ae85fb-item-0",
"faq-f965312ce85935dd57bb6ac2a5ae85fb-item-1",
"faq-f965312ce85935dd57bb6ac2a5ae85fb-item-2",
"faq-5113bdcf965ec7494b27d4fb87b2d30c",
"faq-5113bdcf965ec7494b27d4fb87b2d30c-heading-faq-5113bdcf965ec7494b27d4fb87b2d30c",
"faq-5113bdcf965ec7494b27d4fb87b2d30c-item-0",
"faq-5113bdcf965ec7494b27d4fb87b2d30c-item-1",
"faq-5113bdcf965ec7494b27d4fb87b2d30c-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-book-open",
"fas-check",
"fas-chevron-right",
"fas-circle",
@@ -752,7 +690,6 @@
"fas-circle-play",
"fas-circle-question",
"fas-code",
"fas-display",
"fas-divide",
"fas-ellipsis",
"fas-globe",
@@ -764,10 +701,8 @@
"fas-link",
"fas-magnifying-glass",
"fas-moon",
"fas-robot",
"fas-rocket",
"fas-share-nodes",
"fas-sitemap",
"fas-sort",
"fas-sun",
"fas-timeline",
@@ -775,9 +710,10 @@
"fichier",
"fil-dariane",
"file",
"flexible--ready-to-use",
"first-panel",
"flowchart",
"footer-docs-collapse-15",
"footer-docs-collapse-16",
"footer-file-collapse-1",
"formula-katex",
"formule-katex",
@@ -789,6 +725,8 @@
"gérer-les-préférences-des-cookies",
"heading",
"heading-type",
"horizontal-cards-with-an-icon",
"horizontal-cards-with-an-image",
"how-do-we-use-cookies",
"how-we-share-your-information",
"icon",
@@ -800,10 +738,12 @@
"infobulle",
"input-type",
"ins",
"interested-in-this-topic",
"invite-de-commandes",
"items-type",
"kaart",
"kbd",
"kickstart-your-data-stack-without-coding",
"language-selector",
"leaflet-map-0",
"lien",
@@ -818,27 +758,68 @@
"messages-type",
"mindmap",
"more-type",
"move-your-data-into-action",
"nav",
"nav-0-0",
"nav-0-1",
"nav-0-2",
"nav-0-btn-0",
"nav-0-btn-1",
"nav-0-btn-2",
"nav-nav-0",
"nav-nav-0-btn-0",
"nav-nav-0-btn-1",
"nav-nav-0-btn-2",
"nav-panel-071ec18d100b1b143a52290acbccb5d2",
"nav-panel-3",
"nav-panel-353faae960d8e5f264e975d330a6b22f",
"nav-panel-6f7573c76bb16d93358060c54c56bb25",
"nav-panel-78e144cc4646b9bdebe8f1d59a62159d",
"nav-panel-fbf9d10f31358572a82e263a6abb2d8c",
"navbar",
"navbar-0-collapse",
"navbar-mode",
"navbar-mode-checkbox",
"navbar-sample",
"navbar-sample-checkbox",
"navbar-sample-collapse",
"navigation",
"notification",
"overview",
"panel-071ec18d100b1b143a52290acbccb5d2-0",
"panel-071ec18d100b1b143a52290acbccb5d2-1",
"panel-071ec18d100b1b143a52290acbccb5d2-2",
"panel-071ec18d100b1b143a52290acbccb5d2-btn-0",
"panel-071ec18d100b1b143a52290acbccb5d2-btn-1",
"panel-071ec18d100b1b143a52290acbccb5d2-btn-2",
"panel-3-0",
"panel-3-1",
"panel-3-2",
"panel-3-btn-0",
"panel-3-btn-1",
"panel-3-btn-2",
"panel-353faae960d8e5f264e975d330a6b22f-0",
"panel-353faae960d8e5f264e975d330a6b22f-1",
"panel-353faae960d8e5f264e975d330a6b22f-2",
"panel-353faae960d8e5f264e975d330a6b22f-btn-0",
"panel-353faae960d8e5f264e975d330a6b22f-btn-1",
"panel-353faae960d8e5f264e975d330a6b22f-btn-2",
"panel-6f7573c76bb16d93358060c54c56bb25-0",
"panel-6f7573c76bb16d93358060c54c56bb25-1",
"panel-6f7573c76bb16d93358060c54c56bb25-2",
"panel-6f7573c76bb16d93358060c54c56bb25-btn-0",
"panel-6f7573c76bb16d93358060c54c56bb25-btn-1",
"panel-6f7573c76bb16d93358060c54c56bb25-btn-2",
"panel-78e144cc4646b9bdebe8f1d59a62159d-0",
"panel-78e144cc4646b9bdebe8f1d59a62159d-1",
"panel-78e144cc4646b9bdebe8f1d59a62159d-2",
"panel-78e144cc4646b9bdebe8f1d59a62159d-btn-0",
"panel-78e144cc4646b9bdebe8f1d59a62159d-btn-1",
"panel-78e144cc4646b9bdebe8f1d59a62159d-btn-2",
"panel-fbf9d10f31358572a82e263a6abb2d8c-0",
"panel-fbf9d10f31358572a82e263a6abb2d8c-1",
"panel-fbf9d10f31358572a82e263a6abb2d8c-2",
"panel-fbf9d10f31358572a82e263a6abb2d8c-btn-0",
"panel-fbf9d10f31358572a82e263a6abb2d8c-btn-1",
"panel-fbf9d10f31358572a82e263a6abb2d8c-btn-2",
"persona",
"pie-chart",
"powered-by-open-source",
"pills",
"projecten",
"projects",
"projets",
@@ -848,14 +829,22 @@
"release",
"requirement-chart",
"réduire",
"second-panel",
"security",
"sequence-diagram",
"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",
"title",
@@ -867,8 +856,10 @@
"toast-message-email-4",
"toc-collapse",
"tooltip",
"turn-boring-into-brilliant",
"types-de-cookies-que-nous-utilisons",
"types-of-cookies-we-use",
"underline",
"user-journey",
"video",
"video-type",
@@ -876,6 +867,7 @@
"vos-droits",
"welcome-to-hinode",
"what-are-cookies",
"works-seamlessly-with-your-current-tech-stack",
"xy-chart",
"your-rights"
]

23
go.mod
View File

@@ -4,18 +4,21 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1 // 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.0.0 // indirect
github.com/gethinode/mod-google-analytics v1.3.1 // indirect
github.com/gethinode/mod-katex v1.1.3 // indirect
github.com/gethinode/mod-leaflet v1.2.1 // indirect
github.com/gethinode/mod-lottie v1.5.14 // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 // 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.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-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 v1.1.23 // indirect
github.com/gethinode/mod-mermaid/v2 v2.0.2 // indirect
github.com/gethinode/mod-simple-datatables v1.1.7 // indirect
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect
github.com/gethinode/mod-utils/v3 v3.3.1 // indirect
github.com/gethinode/mod-utils/v4 v4.11.1 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a // indirect
github.com/twbs/bootstrap v5.3.6+incompatible // indirect
github.com/twbs/bootstrap v5.3.7+incompatible // indirect
)

68
go.sum
View File

@@ -6,6 +6,8 @@ github.com/cloudcannon/bookshop/hugo/v3 v3.16.0 h1:Fb76ABHqTyPl9Z2QqYJCwiMBKPySh
github.com/cloudcannon/bookshop/hugo/v3 v3.16.0/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1 h1:WByz6rqg28h94VLVLscu77/CHhi2peig/LqrnVomX0Y=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 h1:/Z66xKILl1SNGQePHZCnxo6vFgED7AGI600OSPotXj4=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/gethinode/mod-bootstrap v1.0.1 h1:NDZar+UEL42YHCvzzO+jVgqkZU5INA12BpjX3y6U4I4=
github.com/gethinode/mod-bootstrap v1.0.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU=
@@ -34,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=
@@ -50,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=
@@ -108,6 +114,8 @@ 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-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=
@@ -156,6 +164,12 @@ github.com/gethinode/mod-fontawesome v1.10.1 h1:gXQ75VXI+a0W2ALkAFHd/QFQ/VoZR6eu
github.com/gethinode/mod-fontawesome v1.10.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome/v2 v2.0.0 h1:vIcVq4sa68iqYBEei+XBZgWKvT79NXuh+jMS6yVpCV8=
github.com/gethinode/mod-fontawesome/v2 v2.0.0/go.mod h1:MJghtpjpnbGVzRN+1rH5Fs9Y+eQAawAotGnlemEPb60=
github.com/gethinode/mod-fontawesome/v2 v2.1.0 h1:kRQ/4ady4Ih/m3bJ/1+/rkFhunuzjNEc4NqIlpNks/o=
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=
@@ -182,6 +196,10 @@ github.com/gethinode/mod-google-analytics v1.3.0 h1:R9oRB6nbFDwLsNmIhxlcmUVH4JE1
github.com/gethinode/mod-google-analytics v1.3.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.1 h1:WPXrsO6Kpp0k8PYY9a1JyiZgYGMlkBfHY8eEg6CfcL0=
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=
@@ -208,6 +226,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=
@@ -232,6 +252,10 @@ github.com/gethinode/mod-leaflet v1.2.0 h1:5q5LHmGNi9N4cdRDCsl/6oI8vY3oQ2ogNUjP3
github.com/gethinode/mod-leaflet v1.2.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.2.1 h1:p0bKi+F5vbXwYknBvFEN9KymK8PRqKaYhVz5O1QPs/c=
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=
@@ -288,8 +312,16 @@ github.com/gethinode/mod-lottie v1.5.13 h1:Vth/OZDjfBZ9Kz5ew3tXGj9tU6w4StIta6qgf
github.com/gethinode/mod-lottie v1.5.13/go.mod h1:tMFSUW9z3kC8IvDfs1ph9MGjuZFRBrpCnpodrwY+L4w=
github.com/gethinode/mod-lottie v1.5.14 h1:17wmpi4XQzmwSB2HKNVa7c6ZzULrRnpKdowOFQQf0m8=
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-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=
@@ -328,6 +360,10 @@ github.com/gethinode/mod-simple-datatables v1.1.6 h1:7nPeRwHlYbmlNEg7fBV6FyXqpxW
github.com/gethinode/mod-simple-datatables v1.1.6/go.mod h1:bvMdmQFk4Hvyltf/QhMqUaApvPbIGTnbI3JLjOEh8go=
github.com/gethinode/mod-simple-datatables v1.1.7 h1:wCY2bWFUxRHWbWzb/zefCACooCSbDPYKrZthfn+qAgM=
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=
@@ -420,6 +456,36 @@ github.com/gethinode/mod-utils/v3 v3.3.0 h1:qxuIavgL9LIyMhfCv8El+KL41rcNmQ8GaExn
github.com/gethinode/mod-utils/v3 v3.3.0/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.3.1 h1:0mHrUyIwSkbiQIUuXpnptYDIizkI7Ak39RTgoRMbJfY=
github.com/gethinode/mod-utils/v3 v3.3.1/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v4 v4.5.0 h1:p6sDsMNA/KE2IK3SPdWjFX3cPAwPP5gDxzJu2tIWYl4=
github.com/gethinode/mod-utils/v4 v4.5.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.5.1 h1:VKmqi6+oC93noHUJ6HvFlelglHT/9+kXQjpJs7VtWko=
github.com/gethinode/mod-utils/v4 v4.5.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.6.0 h1:XQ7hiCrn15SzgkcD0j53XVZPQYeQKUxg/UUkr80pJ2w=
github.com/gethinode/mod-utils/v4 v4.6.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.7.0 h1:JaL/+APOwdEzAi6y174ZdwoguCdALyGiGX8qBVXXBdU=
github.com/gethinode/mod-utils/v4 v4.7.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.0 h1:/+M3EHqA8IzgBWXX1GLmT/xKbk2FVhUwmUfMnk/goF4=
github.com/gethinode/mod-utils/v4 v4.8.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.1 h1:XJULrx5VWO4wR69EsvfPp9bQoRvx8Y7GwnknpDbrDpg=
github.com/gethinode/mod-utils/v4 v4.8.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.2 h1:mhPmqdeCar2sOdVwKIyJl5la0RVBPtw4d29ncRKN3ek=
github.com/gethinode/mod-utils/v4 v4.8.2/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.3 h1:CSaFR/c1cGrSPpH5ZfrNOoMhAbNb8sw0SCRh9ZxCJTU=
github.com/gethinode/mod-utils/v4 v4.8.3/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.4 h1:ExD2zZCGonAmbIxC9wBU2dp+V4ZfvG46NWaz+LaV3iQ=
github.com/gethinode/mod-utils/v4 v4.8.4/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.9.0 h1:v7+prGZPETqgI6t/LN0UhrtRKU4mqpJUQu6jEUU5MYg=
github.com/gethinode/mod-utils/v4 v4.9.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.9.1 h1:9D2AJcrlS5r2moHEoo70GrNBmq1pJHd9oT4G14DsZRs=
github.com/gethinode/mod-utils/v4 v4.9.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.9.2 h1:lzcihwAsm8R2k2v+tWu5nfWvXMA8uRKi0nGIzZCygZ8=
github.com/gethinode/mod-utils/v4 v4.9.2/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.10.0 h1:CfVa57r52wXd0bUqSJlpux2cloHQNBBe13aeqLJ8FXE=
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/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=
@@ -450,3 +516,5 @@ github.com/twbs/bootstrap v5.3.5+incompatible h1:6XrrFNMsiTTFcVTBf2886FO2XUNtwSE
github.com/twbs/bootstrap v5.3.5+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.6+incompatible h1:efmXVyq839m5QQ0+JBUdQQ1TrmoBqvQ5kRhUueKsH+4=
github.com/twbs/bootstrap v5.3.6+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.7+incompatible h1:ea1W8TOWZFkqSK2M0McpgzLiUQVru3bz8aHb0j/XtuM=
github.com/twbs/bootstrap v5.3.7+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

View File

@@ -50,11 +50,9 @@
"btn-primary",
"checkbox",
"col",
"col-10",
"col-12",
"col-6",
"col-8",
"col-md-",
"col-md-2",
"col-md-6",
"col-md-8",
@@ -78,7 +76,7 @@
"fa-10x",
"fa-2x",
"fa-angle-left",
"fa-book-open",
"fa-chevron-right",
"fa-ellipsis",
"fa-face-frown",
"fa-fw",
@@ -92,10 +90,10 @@
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
"footer",
"form-control",
"fs-3",
"fullscreen",
"fw-30",
"fw-bold",
"h-100",
@@ -111,12 +109,14 @@
"is-search",
"justify-content-center",
"justify-content-end",
"justify-content-md-start",
"justify-content-start",
"label",
"lead",
"link-bg-footer",
"link-secondary",
"main-content",
"m-auto",
"main",
"main-nav-toggler",
"me-auto",
"middle-bar",
@@ -156,19 +156,15 @@
"ps-1",
"pt-1",
"pt-4",
"pt-5",
"pt-md-0",
"pt-md-3",
"px-4",
"px-xxl-0",
"py-3",
"py-4",
"py-md-5",
"rounded",
"row",
"row-cols-1",
"row-cols-2",
"row-cols-md-2",
"row-cols-sm-3",
"search",
"search-input",
@@ -176,6 +172,7 @@
"section-cover",
"shadow",
"svg-inline--fa",
"text-",
"text-body",
"text-center",
"text-decoration-none",
@@ -197,7 +194,7 @@
"fab-linkedin",
"fab-medium",
"fas-angle-left",
"fas-book-open",
"fas-chevron-right",
"fas-ellipsis",
"fas-moon",
"fas-sun",

View File

@@ -177,3 +177,11 @@
# Nav & Tab
- id: clickToExpand
translation: "Click to expand"
# Contact information
- id: contactHeaderTopic
translation: "Interested in this topic?"
- id: contactBody
translation: "Please leave your contact details so we can get in touch."
- id: contactAction
translation: "Get in touch"

View File

@@ -174,3 +174,11 @@
# Nav & Tab
- id: clickToExpand
translation: "Klik om open te klappen"
# Contact information
- id: contactHeaderTopic
translation: "Wil je meer weten over dit onderwerp?"
- id: contactBody
translation: "Laat je gegevens achter en dan neem ik contact met je op."
- id: contactAction
translation: "Neem contact op"

View File

@@ -45,7 +45,7 @@
{{ $comment := $val.comment }}
{{ if $val.deprecated }}
{{ $btn := printf `{{< release version="%s" short="true" button-size="sm" inline="true" release-state="deprecated" >}}` $val.deprecated }}
{{ $btn := printf `{{< release version="%s" short="true" button-size="xs" inline="true" release-state="deprecated" >}}` $val.deprecated }}
{{ with $val.alternative }}
{{ $comment = printf "%s **%s**. %s" $btn (T "alternativeFeature" .) $comment }}
{{ else }}
@@ -53,7 +53,7 @@
{{ end }}
{{ end }}
{{ if $val.release }}
{{ $comment = printf `{{< release version="%s" short="true" button-size="sm" inline="true" >}} %s` $val.release $comment }}
{{ $comment = printf `{{< release version="%s" short="true" button-size="xs" inline="true" >}} %s` $val.release $comment }}
{{ end }}
{{ $min := "" }}
@@ -125,7 +125,9 @@
{{ if in (slice "types" "both") $args.renderType }}
{{ $prefix := strings.Repeat $args.headerLevel "#" }}
{{ range $k, $v := $types.udt }}
{{ printf "%s %s %s" $prefix $k (T "type") | $args.page.RenderString }}
{{ $title := $k }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ printf "%s %s %s" $prefix $title (T "type") | $args.page.RenderString }}
{{ partial "inline/args-table.html" (merge $params (dict "args" $v)) }}
{{ end }}
{{ end }}

View File

@@ -33,8 +33,7 @@
{{- with $args.tooltip }}{{ $tooltip = . }}{{ end -}}
{{- end -}}
{{- $href := .href -}}
{{- $href := $args.href -}}
{{ $linkType := or $args.linkType $args.type }}
{{ $buttonSize := or $args.buttonSize $args.size }}
{{ $toastID := or $args.toastId $args.toast }}
@@ -74,13 +73,21 @@
{{/* Main code */}}
{{ if not $error }}
{{- $btnClass := "" -}}
{{- if eq $linkType "button" }}
{{- $btnClass = printf "btn btn-%s%s" (cond $args.outline "outline-" "") $args.color -}}
{{- if ne $buttonSize "md" }}{{ $btnClass = printf "%s btn-%s" $btnClass $buttonSize }}{{ end -}}
{{- if in (slice "disabled" "active") $state }}{{ $btnClass = printf "%s %s" $btnClass $state }}{{ end -}}
{{- $btnClass = printf "%s position-relative %s" $btnClass $class }}
{{- end -}}
<a aria-label="{{ (or $label $title) | safeHTML }}"
{{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end -}}
{{- with $args.id }} id="{{ . }}"{{ end -}}
{{- with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end -}}
{{- with $toastID }} data-toast-target="{{ . }}"{{ end -}}
{{- with $args.clipboard }} data-clipboard="{{ . }}"{{ end -}}
{{- if eq $linkType "button" }} class="btn btn-{{ if $args.outline }}outline-{{ end }}{{ $args.color }} {{ if ne $buttonSize "md" }}btn-{{ $args.size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $args.state }}{{ $args.state }}{{ end }} {{ $class -}}"
{{- with $btnClass }} class="{{ . }}"
{{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{- else }} class="btn btn-link link-{{ $args.color }} position-relative {{ $class }}"{{ end -}}
{{- with $tooltip }} data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $args.placement }}"{{ end -}}

View File

@@ -113,7 +113,7 @@
{{/* Limit list to max elements */}}
{{- $count := len $elements -}}
{{- $max := $count -}}
{{- $max = math.Min ($args.max | default $count) $count -}}
{{- $max = math.Min ((or $args.limit $args.max) | default $count) $count -}}
{{- if not $args.paginate -}}
{{- $elements = first $max $elements -}}
{{- end -}}
@@ -156,7 +156,7 @@
"ratio" (partial "inline/style.html" (dict "styles" $args.styles "index" $index "key" "ratio" "default" $args.ratio))
"portrait" (partial "inline/style.html" (dict "styles" $args.styles "index" $index "key" "portrait" "default" $args.portrait))
"subtle" $args.subtle
"icon-style" (or (index $element "$icon-style") $element.style)
"icon-style" (or (index $element "icon-style") $element.style $args.iconStyle)
"align" $args.align
"button" $args.button
"button-label" (or (index $element "button-label") $element.buttonLabel)

View File

@@ -62,6 +62,26 @@
</small></p>
{{- end -}}
{{/* Inline partial to render the card's icon */}}
{{- define "_partials/inline/card-icon.html" -}}
{{ $padding := .padding }}
{{ $icon := .icon}}
{{ $rounded := .rounded }}
{{ $style := .style}}
{{ $stack := .stack }}
{{ $class := .class }}
<div class="card-icon{{ with $padding }} p-{{ . }}{{ end }}{{ if $rounded }} fa-stack {{ $style }} fa-fw {{ $stack }}{{ end }} {{ $class }}">
{{ if $rounded }}
{{- partial "assets/icon.html" (dict "icon" (printf "fas circle fa-stack-2x") "spacing" false) -}}
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon) "spacing" false) -}}
{{ else }}
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s fa-fw" $icon $style) "spacing" false) -}}
{{ end }}
</div>
{{- end -}}
{{/* Initialize global variables */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
@@ -110,7 +130,6 @@
{{- $icon := $args.icon -}}
{{- $iconStyle := "" -}}
{{- $anchor := $args.anchor }}
{{- $style := $args.style }}
{{- with $page -}}
{{- if not $args.title }}{{ $title = .Title }}{{ end -}}
@@ -126,10 +145,11 @@
{{- if not $args.anchor }}{{ $anchor = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.anchor) "") }}{{ end -}}
{{- end -}}
{{- $style := $args.iconStyle }}
{{ if (hasPrefix $args.orientation "horizontal") }}
{{ if not $args.style }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
{{ if not $args.iconStyle }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
{{ else }}
{{ if not $args.style }}{{ $style = "fa-4x" }}{{ end }}
{{ if not $args.iconStyle }}{{ $style = "fa-4x" }}{{ end }}
{{- $iconStyle = "pb-3" -}}
{{ end }}
@@ -138,11 +158,19 @@
{{- if eq $args.body "none" }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{- $thumbnailArgs := dict
"src" $thumbnail
"portrait" $args.portrait
"anchor" $anchor
"sizes" $args.sizes
"title" (or $args.alt $title)
"loading" $args.loading
-}}
{{/* Main code */}}
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }}">{{ end }}
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }} h-100">{{ end }}
{{ $stack := "fa-2x" }}
{{ $stack := "" }}
{{- if hasPrefix $args.orientation "horizontal" -}}
{{ $col1 := "" }}
@@ -157,56 +185,51 @@
{{ $col1 = "col-4 pe-0" }}
{{ $col2 = "col-8" }}
{{ end }}
{{ else if $icon }}
{{ if eq $args.orientation "horizontal-sm" }}
{{ $stack = "fa-1x" }}
{{ $col1 = "col-4 col-md-2 pe-0" }}
{{ $col2 = "col-8 col-md-10" }}
{{ else }}
{{ $col1 = "col-4 pe-0" }}
{{ $col2 = "col-8" }}
{{ end }}
{{ end }}
{{/* Render horizontal card */}}
<div class="card {{ $colorStyle }}{{ $args.class }}">
<div class="row g-0 row-cols-2 h-100{{ if $args.button }} pb-{{ $padding.y }}{{ end }}">
<div class="{{ if $thumbnail }}row-cols-2 row {{ end }} g-0 h-100{{ if $args.button }} pb-{{ $padding.y }}{{ end }}">
{{- if $thumbnail -}}
<div class="{{ $col1 }}">
{{ $fullHeight := "card-img-h100" }}
{{ $rounding := "rounded-start" }}
{{ if eq (lower (path.Ext $thumbnail)) ".svg" }}{{ $fullHeight = "" }}{{ $rounding = "" }}{{ end }}
{{- partial $args.hook (dict
"src" $thumbnail
"ratio" (or $ratio "1x1")
"portrait" $args.portrait
"sizes" $args.sizes
"anchor" $anchor
"wrapper" "h-100 card-img-wrap d-flex align-items-center"
{{- partial $args.hook (merge $thumbnailArgs (dict
"wrapper" "card-img-wrap h-100 d-flex align-items-center"
"class" (printf "card-img-bg %s %s" $rounding $fullHeight)
"title" $title
"loading" $args.loading
) -}}
</div>
{{- else if $icon -}}
<div class="{{ $col1 }} p-{{ $args.padding }}">
<div class="card-icon {{ if $args.iconRounded }}fa-stack {{ $args.stack }} mx-auto{{ else }}fa-wrapper h-100 {{ end }} d-flex align-items-{{ $args.align}} justify-content-center {{ $iconStyle }}">
{{ if $args.iconRounded }}
{{- partial "assets/icon.html" (dict "icon" "fas circle fa-stack-2x") -}}
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
{{ else }}
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
{{ end }}
</div>
"ratio" (or $ratio "auto")
)) -}}
</div>
{{- end -}}
<div class="{{ $col2 }}">
<div class="card-body d-flex p-{{ $args.padding }} flex-column h-100 flex-fill">
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.headerStyle "color" $args.color) }}</div>{{ end }}
<div class="flex-fill">
{{- partial "inline/card-body.html" (dict "title" $title "href" $href "color" $args.color "description" $description "button" $args.button) -}}
<div class="card-body p-{{ $args.padding }} h-100 hstack">
{{ if $icon }}
{{- partial "inline/card-icon.html" (dict
"icon" $icon
"padding" $args.padding
"rounded" $args.iconRounded
"style" $style
"stack" $args.stack
"class" (printf "align-self-%s me-1 mt-1 col-auto" $args.align)
)}}
{{ end }}
<div>
{{ if $page }}
<div>{{ partial "inline/card-caption.html" (dict
"page" $page
"keywords" $args.headerStyle
"color" $args.color
) }}
</div>
{{ end }}
{{- partial "inline/card-body.html" (dict
"title" $title
"href" $href
"color" $args.color
"description" $description
"button" $args.button
) -}}
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
{{ if and $href $args.button }}
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
@@ -229,33 +252,27 @@
</div>
</div>
</div>
</div>
{{- else -}}
{{/* Render stacked / default card */}}
{{ $overlay := eq $args.orientation "overlay" }}
<div class="card {{ $colorStyle }} {{ $args.class }} text-{{ $args.align }}">
<div class="card {{ $colorStyle }} {{ $args.class }} text-{{ $args.align }}{{ if not $thumbnail }} p-{{ $args.padding }}{{ end }}">
{{- if $thumbnail -}}
{{- partial $args.hook (dict
"src" $thumbnail
"ratio" (or $ratio "16x9")
"portrait" $args.portrait
"anchor" $anchor
"sizes" $args.sizes
{{- partial $args.hook (merge $thumbnailArgs (dict
"wrapper" "card-img-wrap"
"class" "card-img-top card-img-bg"
"title" (or $args.alt $title)
"loading" $args.loading
) -}}
"ratio" (or $ratio "16x9")
)) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $args.padding }} {{ $iconStyle }} text-{{ $args.align }} {{ if $args.iconRounded }}fa-stack {{ $args.stack }}{{ end }} w-100">
{{ if $args.iconRounded }}
{{- partial "assets/icon.html" (dict "icon" (printf "fas circle fa-stack-2x %s")) -}}
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
{{ else }}
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
{{ end }}
</div>
{{- partial "inline/card-icon.html" (dict
"icon" $icon
"rounded" $args.iconRounded
"style" $style
"stack" $args.stack
"class" (printf "mb-1 m-0 text-%s" $args.align)
)}}
{{- end -}}
<div class="card-body d-flex flex-column p-{{ $args.padding }} {{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
<div class="card-body p-0 d-flex flex-column{{ if $thumbnail }} p-{{ $args.padding }}{{ end }}{{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
{{ if $args.overlay }}<div class="flex-grow-1"></div>{{ end }}
{{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.headerStyle "color" $args.color) -}}{{ end }}
{{- partial "inline/card-body.html" (dict "title" $title "href" $href "color" $args.color "description" $description) -}}
@@ -263,7 +280,7 @@
</div>
{{ if $args.button }}
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
<div class="row p-{{ $args.padding }}" >
<div class="row" >
<div class="{{ if eq $args.orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $args.orientation "horizontal" }}col-4{{ end }}"></div>
<div class="col d-flex align-items-end {{ if eq $args.orientation "horizontal-sm" }}px-2{{ else if eq $args.orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
{{ $buttonClass := "card-button" }}
@@ -276,7 +293,7 @@
"button-size" "sm"
"class" "card-button"
"class" $buttonClass
"link-type" $args.buttonType
"link-type" $buttonType
)}}
</div>
</div>

View File

@@ -0,0 +1,66 @@
{{/*
Copyright © 2024 - 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.
*/}}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "contact" "args" . "group" "partial") }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "assets/contact.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ end }}
{{/* Main code */}}
{{ if not $args.err }}
{{ $contact := partial "utilities/GetContact" (dict
"contact" $args.contact
"data" $args.data
"language-tag" site.Language.Lang
) }}
{{ $illustration := dict }}
{{ if and $contact $contact.image }}
{{ $illustration = dict
"image" $contact.image
"ratio" "1x1"
"class" $args.class
"caption" $contact.name
"caption-url" $args.captionUrl
}}
{{ else if $args.illustration }}
{{ $illustration = $args.illustration }}
{{ end }}
{{ $heading := "" }}
{{ if and (not $args.heading.title) (not $args.heading.content) }}
{{ $heading = dict
"title" (T "contactHeaderTopic")
"content" (T "contactBody")
"align" "start"
"width" (cond $illustration.image 10 12)
}}
{{ else }}
{{ $heading = $args.heading }}
{{ end }}
{{ partial "assets/hero.html" (dict
"page" $args.page
"heading" (merge $heading (dict "size" 6))
"background" $args.background
"illustration" $illustration
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" $args.orientation
"width" (or $args.width 12)
"use-title" true
"size" 6
)
}}
{{ end }}

View File

@@ -20,21 +20,23 @@
{{ end }}
{{/* Initialize local arguments */}}
{{ $dim := "" }}
{{ $dim := slice }}
{{ $default := dict "4x3" "1400x1050" "3x2" "1400x933" "1x1" "1400x1400" "16x9" "1400x788" "21x9" "1400x600" "auto" "1400" }}
{{/* Initialize dimensions data - stripping unsupported file extension */}}
{{ $config := "dimensions" }}
{{ with index site.Params "dam" }}{{ with index . "dimensions" }}{{ $config = . }}{{ end }}{{ end }}
{{ $config = path.Join (path.Dir $config) (path.BaseName $config) }}
{{ if not $args.err }}
{{/* Initialize dimensions data - stripping unsupported file extension */}}
{{ $config := "dimensions" }}
{{ with index site.Params "dam" }}{{ with index . "dimensions" }}{{ $config = . }}{{ end }}{{ end }}
{{ $config = path.Join (path.Dir $config) (path.BaseName $config) }}
{{ with index site.Data $config }}
{{ with index site.Data $config }}
{{ $matches := first 1 (where . "ratio" $args.ratio) }}
{{ if eq ($matches | len) 1 }}
{{ $dim = (index $matches 0).dimensions }}
{{ end }}
{{ end }}
{{ if not $dim }}{{ $dim = slice (index $default $args.ratio) }}{{ end }}
{{ end }}
{{ if not $dim }}{{ $dim = slice (index $default $args.ratio) }}{{ end }}
{{ return $dim }}

View File

@@ -51,6 +51,17 @@
{{- $width := index $target "width" -}}
{{- $data := index $target "data" -}}
{{ if and $args.imageWidth $args.imageHeight }}
{{ $height = $args.imageHeight }}
{{ $width = $args.imageWidth }}
{{ else if and $args.imageWidth $height $width }}
{{ $height = int (math.Round (mul (div (float $args.imageWidth) $width) $height)) }}
{{ $width = $args.imageWidth }}
{{ else if and $args.imageHeight $height $width }}
{{ $width = int (math.Round (mul (div (float $args.imageHeight) $height) $width)) }}
{{ $height = $args.imageHeight }}
{{ end }}
{{/* Add color modes */}}
{{- range $none := $modes -}}
{{- if ne $none $args.colorMode -}}
@@ -66,10 +77,10 @@
{{- with $wrapper }}<div class="{{ . }}">{{ end }}
{{- end -}}
{{- if $data -}}
{{- if site.Params.debugging.includeSVGOrigin -}}
{{- if and site.Params.debugging.includeSVGOrigin $.url -}}
{{- printf "{{/* <svg src=\"%s\"> */}}" $.url | safeHTML -}}
{{- end -}}
{{- $data = replace $data "<svg" (printf "<svg class=\"%s\"" $args.class) -}}
{{- with $args.class }}{{ $data = replace $data "<svg" (printf "<svg class=\"%s\"" .) }}{{ end -}}
{{- $data | safeHTML -}}
{{- else if not $fileAnchor -}}
<img class="img-fluid {{ $args.class }}"
@@ -81,7 +92,12 @@
{{ with $width }} width="{{ . }}"{{ end -}}
{{ with $alt }} alt="{{ . }}"{{ end }}>
{{- else -}}
<svg class="{{ $args.class }}">
<svg class="{{ $args.class }}"
{{ if or $args.imageHeight $args.imageWidth }}
{{ with $width }} width="{{ . }}"{{ end }}
{{ with $height }} height="{{ . }}"{{ end }}
{{ end }}
>
<use href="{{ $fallbackURL }}#{{ $fileAnchor }}"></use>
</svg>
{{- end -}}

View File

@@ -67,7 +67,9 @@
{{- if hasSuffix $src "svg" -}}
{{- $res = partial "utilities/GetResource.html" (dict "url" $src "page" $args.page) -}}
{{ if not $res }}
{{- $targetURL := partial "utilities/GetStaticURL" (dict "url" (strings.TrimPrefix "/static" $src)) -}}
{{- $targetURL := strings.TrimPrefix "/static" $src -}}
{{- $u := urls.Parse site.BaseURL }}
{{- $targetURL = strings.TrimPrefix $u.Path $src -}}
{{- if not (fileExists (path.Join "/static" $targetURL)) -}}
{{ warnf "Cannot find vector image resource: %q" $src -}}
{{ else }}
@@ -83,7 +85,7 @@
{{ else }}
{{ warnf "Unsupported media type '%s': %q" (string $res.MediaType) $src -}}
{{ end }}
{{ else if $args.ratio }}
{{ else if and $args.ratio (ne $args.ratio "auto") }}
{{ $transform = "fill" }}
{{ $dims = partial "assets/helpers/GetDimension.html" (dict "ratio" $args.ratio) }}
{{ if not $dims }}{{ errorf "partial [assets/image.html] - Cannot find dimension data: %s" $args.ratio }}{{ end }}
@@ -154,6 +156,7 @@
"anchor" $args.anchor
"transform" $transform
"hook" $hook
"include-width" true
) -}}
{{ end }}
{{ end }}

View File

@@ -78,7 +78,24 @@
{{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}
{{ $illustration := partial $args.hook (dict
{{ $caption := "" }}
{{ if $args.illustration.caption }}
{{ if index $args.illustration "caption-url" }}
{{ $caption = partial "assets/link.html" (dict
"href" (index $args.illustration "caption-url")
"text" $args.illustration.caption
"page" $args.page
"class" "text-center"
) }}
{{ else }}
{{ $caption = $args.illustration.caption }}
{{ end }}
{{ $caption = printf `<div class="text-center">%s</div>` $caption }}
{{ end }}
{{ $illustration := "" }}
{{ if or $args.illustration.image $args.illustration.icon }}
{{ $illustration = partial $args.hook (dict
"page" $args.page
"image" $args.illustration.image
"icon" $args.illustration.icon
@@ -88,29 +105,31 @@
"sizes" $sizes
"title" (T "heroImage")
"wrapper" $imageWrapper
"class" "hero-image"
"class" (printf "hero-image %s" $args.illustration.class)
"image-overlay" $args.imageOverlay
"justify" $imageJustify
) }}
{{ end }}
{{ $title := partial "assets/section-title.html" (dict
"heading" $heading
"use-title" $args.useTitle
"size" $args.size
"links" $args.links
"link-type" (or $args.linkType $args.type)
"class" "hero-title"
"arrangement" $arrangement
"justify" $args.justify
) }}
{{ if eq $args.orientation "stacked" }}
{{/* Render stacked component */}}
{{ $illustration | safeHTML }}
{{ $caption | safeHTML }}
{{ $title | safeHTML }}
{{ else }}
{{/* Render horizontal component */}}
<div class="row row-cols-1 {{ if eq $args.orientation "stacked" }}row-cols-md-2 {{ end }} w-100">
<div class="row row-cols-1 {{ if eq $args.orientation "stacked" }}row-cols-md-2 {{ end }} flex-grow-1">
{{ $order1 := "order-1 order-md-0" }}
{{ $order2 := "order-0 order-md-1" }}
{{ if eq $args.order "first" }}
@@ -121,12 +140,15 @@
{{ $imgWidth := sub 12 (or $args.heading.width 12) }}
{{ if lt $imgWidth 1 }}{{ $imgWidth = 1 }}{{ end }}
<div class="col col-12 col-md-{{sub 12 $imgWidth }} {{ $order1 }} my-md-auto pt-{{ $padding.y }} pt-md-0 hero-content">
<div class="col col-12 {{ if $illustration }} col-md-{{sub 12 $imgWidth }}{{ end }} {{ $order1 }} my-md-auto pt-{{ $padding.y }} pt-md-0 hero-content">
{{ $title | safeHTML }}
</div>
{{ if $illustration }}
<div class="col col-8 col-md-{{ $imgWidth }} {{ $order2 }} m-auto my-md-auto align-self-end">
{{ $illustration | safeHTML }}
{{ $caption | safeHTML }}
</div>
{{ end }}
</div>
{{ end }}
{{ end }}

View File

@@ -38,6 +38,8 @@
"page" $args.page
"ratio" $args.ratio
"portrait" $args.portrait
"image-width" $args.imageWidth
"image-height" $args.imageHeight
"wrapper" $args.wrapper
"class" $args.class
"title" $args.title

View File

@@ -98,6 +98,6 @@
{{ partial "links-content.html" (dict "links" $args.links "justify" $args.justify "type" $args.linkType "li" false) }}
</div>
<div class="d-{{ $breakpoint.current }}-none">
<div class="d-{{ $breakpoint.current }}-none pt-{{ $padding.y }}">
{{ partial "links-content.html" (dict "links" $args.links "justify" $args.justify "type" $args.linkType "li" true) }}
</div>

View File

@@ -6,16 +6,16 @@
*/}}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "nav-item" "args" . "group" "partial") }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "nav-item" "args" . "group" "partial") -}}
{{- if or $args.err $args.warnmsg -}}
{{- partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "assets/nav-item.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ end }}
) -}}
{{- end -}}
{{/* Initialize local arguments */}}
{{- $parentID := or $args.parentId $args.parentID -}}
@@ -36,16 +36,16 @@
"class" "hero-image"
"image-overlay" $args.imageOverlay
) }}
{{ else }}
{{ $illustration = partial $args.hook (dict "page" $args.page "image" $args.illustration) }}
{{ end }}
{{- else -}}
{{- $illustration = partial $args.hook (dict "page" $args.page "image" $args.illustration) -}}
{{- end -}}
{{/* Main code */}}
{{ if not $args.err }}
{{ if eq $type "accordion" }}
{{- if not $args.err -}}
{{- if eq $type "accordion" -}}
<div class="accordion-item{{ if $args.show }} show{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
{{- with $title -}}
<h2 id="accordion-{{ $parentID }}-heading-{{ $args.id }}" class="accordion-header m-0" >
<h2 id="accordion-{{ $parentID }}-heading-{{ $args.id }}" class="accordion-header m-0">
<button
class="accordion-button collapsed {{ if $args.disabled }} text-secondary{{ end }}"
type="button"
@@ -55,14 +55,14 @@
aria-controls="accordion-{{ $parentID }}-item-{{ $args.id }}"
{{ if $args.disabled }} disabled{{ end }}
>
{{ if $illustration }}
{{- if $illustration -}}
<div class="row">
<div class="col-3 col-sm-2 my-auto">{{ $illustration | safeHTML }}</div>
<div class="col-9 col-sm-10 fs-6 fs-sm-5 my-auto">{{ . }}</div>
</div>
{{ else }}
{{- else }}
{{ . }}
{{ end }}
{{ end -}}
</button>
</h2>
{{- end -}}
@@ -72,22 +72,19 @@
aria-labelledby="{{ $parentID }}-heading-{{ $args.id }}"
data-bs-parent="#accordion-{{ $parentID }}"
>
<div class="accordion-body">{{ $args.body | $args.page.RenderString | safeHTML }}</div>
<div class="accordion-body">{{ or $args.raw ($args.body | $args.page.RenderString) | safeHTML }}</div>
</div>
</div>
{{ else }}
{{- else -}}
<div
id="{{ $parentID }}-{{ $args.id }}"
class="tab-pane{{ if $args.show }} active {{ if $args.fade }}show{{ end }}{{ end }} {{ if $args.fade }}fade{{ end }}{{ with $args.class }} {{ . }}{{ end }}"
class="tab-pane{{ if $args.show }} active{{ if $args.fade }} show{{ end }}{{ end }}{{ if $args.fade }} fade{{ end }}{{ with $args.class }} {{ . }}{{ end }}"
role="tabpanel"
aria-labelledby="{{ $parentID }}-btn-{{ $args.id }}"
tabindex="0"
data-header="{{ $title }}"
{{ if $args.show }}data-show-id="{{ $args.id }}"{{ end }}
data-has-content="{{ gt (len $args.body) 0 }}"
{{ if $args.disabled }} data-disabled-id="{{ $args.id }}"{{ end }}
data-has-content="{{ or (gt (len (or $args.raw "")) 0) (gt (len $args.body) 0 ) }}"
>
{{ $args.body | $args.page.RenderString | safeHTML }}
{{ or $args.raw ($args.body | $args.page.RenderString) | safeHTML }}
</div>
{{ end }}
{{ end }}
{{- end -}}
{{- end -}}

View File

@@ -6,6 +6,29 @@
{{- $error := false -}}
{{- define "_partials/inline/nav-dropdown.html" -}}
{{ $id := .id }}
{{ $class := .class }}
{{ $titles := .titles }}
{{ $wrap := .wrap }}
<div id="dropdown-{{ $id }}" class="dropdown panel-dropdown {{ $class }}">
<a class="link-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ cond (gt (len $titles) 0) (index $titles 0) (T "sectionMenu") }}
</a>
<ul class="dropdown-menu">
{{- range $index, $item := $titles -}}
{{ $itemID := printf "%s-btn-%d" $id $index -}}
{{- $show := eq $index 0 -}}
<li>
<a class="dropdown-item {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}"
data-link="#{{ $id }}-btn-{{ $index }}" type="button">{{ $item }}</a>
</li>
{{ end }}
</ul>
</div>
{{- end -}}
{{/* Initialize arguments */}}
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "nav" "args" . "group" "partial") -}}
{{- if or $args.err $args.warnmsg -}}
@@ -19,56 +42,51 @@
{{- $error = $args.err -}}
{{- end -}}
{{/* Initialize global arguments */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{/* Initialize local arguments */}}
{{- $page := $args.page -}}
{{- $id := $args.id | default "0" -}}
{{- $type := or $args.tabType $args.type -}}
{{- $wrap := or $args.wordWrap $args.wrap -}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $titles := slice -}}
{{- range $args.list }}{{ $titles = $titles | append .Title }} {{ end -}}
{{- if reflect.IsSlice $args.navTitles }}{{ $titles = $titles | append $args.navTitles }}{{ end -}}
{{/* Main code */}}
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
{{ if $args.vertical }}<div class="d-flex align-items-start">{{ end }}
{{ if eq $type "callout" }}
<div class="d-lg-none">
<div id="accordion-{{ $id }}" class="accordion mb-3{{ with $args.class }} {{ . }}{{ end }} nav-callout">
{{- range $index, $item := $args.list -}}
{{ partial "assets/nav-item.html" (dict
"page" $args.page
"id" $index
"parentID" $id
"fade" false
"header" $item.Title
"class" $args.class
"body" (or $item.Description $item.Content)
"show" false
"disabled" false
"item_type" "accordion"
"illustration" (partial "utilities/GetIllustration.html" (dict "item" $item "size" "col-12"))
)
}}
{{ end -}}
{{- $args.navItems | safeHTML -}}
</div>
</div>
<div class="d-none d-lg-block">
{{ if $args.responsive }}
{{ partial "inline/nav-dropdown.html" (dict
"id" $id
"class" (printf "d-%s-none py-%d" $breakpoint.current $padding.y)
"titles" $titles
"wrap" $wrap
) }}
{{ end }}
<div class="{{ if $args.responsive }}d-none d-{{ $breakpoint.current }}-block{{ end }}">
<ul
class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ if $args.vertical }} flex-column{{ end }}"
class="nav nav-panel{{ with $type }} nav-{{ . }}{{ end -}}{{ with $args.class }} {{ . }}{{ end }}{{ if $args.vertical }} flex-column{{ end }} tabs-dropdown"
id="nav-{{ $id }}"
role="tablist"{{ if $args.vertical }}
aria-orientation="vertical"{{ end }}
role="tablist"
{{ if $args.vertical }}aria-orientation="vertical"{{ end }}
data-companion="dropdown-{{ $id }}"
>
{{- $titles := slice -}}
{{- range $args.list }}{{ $titles = $titles | append .Title }} {{ end -}}
{{- if reflect.IsSlice $args.navTitles }}{{ $titles = $titles | append $args.navTitles }}{{ end -}}
{{- range $index, $item := $titles -}}
{{ $show := eq $index 0}}
{{ $itemID := printf "%s-btn-%d" $args.id $index -}}
{{- $show := eq $index 0 -}}
{{- if $args.navShow }}{{ $show = eq $args.navShow $itemID }}{{ end -}}
{{- $disabled := in $args.navDisabled $itemID -}}
<li class="nav-item" role="presentation">
<button
class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}"
id="nav-{{ $id }}-btn-{{ $index }}"
class="nav-link{{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}{{ if $disabled }} disabled{{ end }}"
id="{{ $itemID }}"
data-bs-toggle="pill"
data-bs-target="#{{ $id }}-{{ $index }}"
type="button"
@@ -81,49 +99,9 @@
</li>
{{ end -}}
</ul>
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $args.vertical }}ms-3{{ else }}mt-3{{ end }}">
{{- range $index, $item := $args.list -}}
{{- $header := $item.Title -}}
{-{ $body := $item.Content -}}
{{- $show := eq $index 0 -}}
{{- $thumbnail := "" -}}
{{- if reflect.IsMap $item.Params.Thumbnail -}}
{{- $thumbnail = $item.Params.Thumbnail.url -}}
{{- else -}}
{{- $thumbnail = $item.Params.Thumbnail -}}
{{- end -}}
<div
class="tab-pane{{ if $show }} active{{ end }}"
id="nav-{{ $id }}-{{ $index }}"
role="tabpanel"
aria-labelledby="{{ $id }}-btn-{{ $index }}"
tabindex="0"
>
{{- if eq $args.pane "persona" -}}
{{- partial "assets/persona.html" (dict
"title" $item.Title
"class" $args.class
"color" $args.color
"href" $item.Params.href
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
"thumbnail" $thumbnail
) -}}
{{- else -}}
{{- $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) -}}
{{- if $illustration -}}
<div class="row">
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
</div>
{{- else -}}
{{- (or $item.Description $item.Content) -}}
{{ end }}
{{- end -}}
</div>
{{ end }}
<div class="tab-content {{ if in (slice "tabs" "callout") $type }}border p-3 bg-body {{ else if $args.vertical }}ms-3{{ else }}mt-3{{ end }}">
{{- $args.navItems | safeHTML -}}
</div>
{{- if eq $type "callout" }}</div>{{ end -}}
{{- if $args.vertical }}</div>{{ end -}}
</div>

View File

@@ -80,7 +80,7 @@
{{ end }}
{{/* Initialize global variables */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{- $padding := partial "utilities/GetPadding.html" (dict "section" "navigation") -}}
{{/* Initialize local arguments */}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
@@ -117,48 +117,17 @@
{{- $enableLanguage := or $page.IsTranslated hugo.IsMultilingual -}}
{{- $horizontal := default false site.Params.navigation.horizontal -}}
{{- $logo := $args.logo | default site.Params.navigation.logo -}}
{{- $logoLight := "" -}}
{{- $logoDark := "" -}}
{{- if $enableDarkMode -}}
{{ $ext := path.Ext $logo -}}
{{- $ext := path.Ext $logo -}}
{{- $base := strings.TrimSuffix $ext $logo -}}
{{- range $suffix := $modes -}}
{{- $base = strings.TrimSuffix (printf "-%s" $suffix) $base -}}
{{- end -}}
{{- $logoLight = printf "%s-light%s" $base $ext -}}
{{- $logoDark = printf "%s-dark%s" $base $ext -}}
{{- $light := fileExists (path.Join "/static" $logoLight) -}}
{{- $dark := fileExists (path.Join "/static" $logoDark) -}}
{{- if and $light (not $dark) -}}
{{- warnf "partial [assets/navbar.html] - Missing file: %s" $logoDark -}}
{{- $logoLight = "" -}}
{{- $logoDark = "" -}}
{{- end -}}
{{- if and (not $light) $dark -}}
{{- warnf "partial [assets/navbar.html] - Missing file: %s" $logoLight -}}
{{- $logoLight = "" -}}
{{- $logoDark = "" -}}
{{- end -}}
{{- if not (or $light $dark) -}}
{{- $logoLight = "" -}}
{{- $logoDark = "" -}}
{{- end -}}
{{- end -}}
{{ if $logo }}{{ $logo = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" $logo) }}{{ end }}
{{ if $logoLight }}{{ $logoLight = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" $logoLight) }}{{ end }}
{{ if $logoDark }}{{ $logoDark = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" $logoDark) }}{{ end }}
{{- $title := site.Title -}}
{{- if $args.title -}}
{{- $title = $args.title -}}
{{- if not $args.logo }}{{ $logo = "" }}{{ end -}}
{{- end -}}
{{ $logo := "" }}
{{ with $args.logo | default site.Params.navigation.logo }}
{{ $height := index site.Params.navigation "logo-height" | default 30 }}
{{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" $height) }}
{{ end }}
{{- $pre := $args.pre -}}
{{- $post := $args.post -}}
{{- $class := $args.class -}}
@@ -201,18 +170,9 @@
</div>
{{/* Insert the brand logo or name */}}
<div class="{{ if (or $logoLight $logo) }}mx-auto{{ else }}flex-grow-1 flex-{{ $args.breakpoint }}-grow-0{{ end }}">
<div class="{{ if $logo }}mx-auto{{ else }}flex-grow-1 flex-{{ $args.breakpoint }}-grow-0{{ end }}">
<a class="navbar-brand" href="{{ site.Home.RelPermalink }}" aria-label="{{ T "home" }}">
{{- if (and $logoLight $logoDark) -}}
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logoLight "height" 30) }}
<img src="{{if $absoluteURL }}{{ absURL $logoLight }}{{ else }}{{ $logoLight }}{{ end }}" class="d-none-inline-dark" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
<img src="{{if $absoluteURL }}{{ absURL $logoDark }}{{ else }}{{ $logoDark }}{{ end }}" class="d-none-inline-light" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
{{- else if $logo -}}
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logo "height" 30) }}
<img src="{{if $absoluteURL }}{{ absURL $logo }}{{ else }}{{ $logo }}{{ end }}" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
{{- else -}}
<div class="navbar-title fw-bold h-100">{{ $title }}</div>
{{- end -}}
{{- with $logo -}}{{ . }}{{- else -}}<div class="navbar-title fw-bold h-100">{{ $title }}</div>{{- end -}}
</a>
</div>

View File

@@ -19,15 +19,16 @@
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local arguments */}}
{{- $size := (or $args.size site.Params.modules.bookshop.title.size) | default 4 -}}
{{- $size := (or $args.heading.size site.Params.modules.bookshop.title.size) | default 4 -}}
{{- $arrangement := (or $args.arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}}
{{- $headingStyle := (or $args.headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}}
{{- $contentStyle := (or $args.contentStyle site.Params.modules.bookshop.title.contentStyle) | default "lead text-muted" -}}
{{- $preheading := $args.heading.preheading }}
{{- $title := $args.heading.title }}
{{- $width := $args.heading.width | default 12 -}}
{{ if and (not $preheading) $args.useSection }}{{ $preheading = page.CurrentSection.Name }}{{ end }}
{{- $width = cond (lt $width 12) (printf "col-12 col-%s-%d" $breakpoint.current $width) "" }}
{{- if and (not $preheading) $args.useSection }}{{ $preheading = page.CurrentSection.Name }}{{ end -}}
{{- $justify := cond (eq $args.justify "start") "" (cond (eq $args.justify "end") "me-0" "mx-auto") -}}
{{ if site.Params.main.titleCase }}
{{ $preheading = title $preheading }}
@@ -84,8 +85,8 @@
"mode" $args.mode
}}
<!-- Main code -->
<div class="text-{{ $args.heading.align }}{{ with $args.class }} {{ . }}{{ end }}{{ if lt $width 12 }} col-12 col-{{ $breakpoint.current }}-{{ $width }}{{ end }} py-{{ $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

@@ -45,7 +45,7 @@
{{- end -}}
<div class="py-3 text-body-secondary hstack gap-1">
{{ T "shareLink" "" }}
{{ T "shareLink" " " }}
{{- range $index, $item := $list -}}
{{- $url := $item.url -}}
{{- $url = replace $url "{url}" $page.Permalink -}}

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 -}}
@@ -104,11 +105,13 @@
"links" $args.links
"link-type" (or $args.linkType $args.type)
"arrangement" $arrangement
"justify" $args.justify
"class" (printf "pb-%d" $padding.y)
) }}
{{ end }}
{{/* Render default timeline */}}
<div class="container p-0 d-none d-md-block mb-5 {{ with $background }} timeline-{{ . }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
<div class="container p-0 d-none d-md-block {{ with $background }} timeline-{{ . }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
{{ $title | safeHTML }}
{{ range $index, $item := $data }}
<div class="row timeline timeline-{{ $item.color }} timeline-dot g-0 ">

View File

@@ -7,7 +7,7 @@
{{ $error := false }}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial")}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "assets/toc.html"

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