Compare commits

...

251 Commits

Author SHA1 Message Date
Mark Dumay
5e41fddef3 Merge pull request #1375 from gethinode/develop
Apply title case to sections and sidebar menus
2025-01-20 13:22:00 +01:00
Mark Dumay
a620900c18 Merge branch 'main' into develop 2025-01-20 12:31:09 +01:00
Mark Dumay
cc25fe311d Apply title case to sections and sidebar menus 2025-01-20 12:30:39 +01:00
Mark Dumay
c057b11094 Merge pull request #1373 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-01-20 12:01:16 +01:00
Mark Dumay
df6fb8f0ff Merge branch 'main' into hugo-mod-dependencies 2025-01-20 11:52:23 +01:00
Mark Dumay
a6c3de6a7d Merge pull request #1374 from gethinode/develop
Support optional title case
2025-01-20 11:52:05 +01:00
Mark Dumay
efb9c56b55 Support optional title case 2025-01-20 11:06:31 +01:00
markdumay
7e3301d277 fix: update Hugo module dependencies 2025-01-20 03:08:11 +00:00
Mark Dumay
068df86fd8 Merge pull request #1372 from gethinode/develop
Upgrade to hugo v0.141.0
2025-01-18 15:45:18 +01:00
Mark Dumay
4f57919a96 Merge branch 'main' into develop 2025-01-18 15:38:59 +01:00
github-actions[bot]
21f90455d4 Merge pull request #1371 from gethinode/dependabot/npm_and_yarn/katex-0.16.21
Bump katex from 0.16.20 to 0.16.21
2025-01-18 14:38:14 +00:00
Mark Dumay
50499a415a Merge branch 'main' into develop 2025-01-18 15:34:15 +01:00
Mark Dumay
e75c8cf40f Upgrade to hugo v0.141.0 2025-01-18 15:33:38 +01:00
dependabot[bot]
42529594b0 Bump katex from 0.16.20 to 0.16.21
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.20 to 0.16.21.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.20...v0.16.21)

---
updated-dependencies:
- dependency-name: katex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-18 14:33:33 +00:00
Mark Dumay
73afeb13bd Merge pull request #1370 from gethinode/develop
Support options for Cloudinary videos
2025-01-18 15:32:32 +01:00
Mark Dumay
23ece830e2 Make video options argument optional 2025-01-18 15:26:26 +01:00
Mark Dumay
41f5dbaea1 Merge branch 'main' into develop 2025-01-18 14:30:11 +01:00
Mark Dumay
5e368f2726 Support options for Cloudinary videos 2025-01-18 14:29:33 +01:00
github-actions[bot]
2db3365115 Merge pull request #1368 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.17.2
Bump markdownlint-cli2 from 0.17.1 to 0.17.2
2025-01-17 13:55:59 +00:00
dependabot[bot]
bf2235a96b Bump markdownlint-cli2 from 0.17.1 to 0.17.2
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.17.1 to 0.17.2.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.17.1...v0.17.2)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 13:50:17 +00:00
Mark Dumay
2ab8ee674f Merge pull request #1367 from gethinode/develop
Improve rendering of TOC items
2025-01-16 14:54:34 +01:00
Mark Dumay
e52d14e21a Fix linting issues 2025-01-16 14:48:08 +01:00
Mark Dumay
46101e174e Merge branch 'main' into develop 2025-01-16 14:44:14 +01:00
Mark Dumay
d28b51aa63 Improve rendering of TOC items
The table of contents now support headings generated by shortcodes. Be sure to include an `id` if your custom partials or shortcodes include HTML headings (h1-h6). To exclude these headings from the TOC, use the attribute `fs-` to define a font size.
2025-01-16 14:42:23 +01:00
Mark Dumay
dd80ee2bfe Merge pull request #1366 from gethinode/develop
Add wrapping support to tables
2025-01-16 13:56:31 +01:00
Mark Dumay
2e8b087c48 Merge branch 'main' into develop 2025-01-16 13:45:47 +01:00
Mark Dumay
03592cba67 Add wrapping support to tables 2025-01-16 13:45:10 +01:00
Mark Dumay
65a44637d5 Merge pull request #1365 from gethinode/develop
Upgrade to PurgeCSS v7
2025-01-14 15:10:59 +01:00
Mark Dumay
6bbdb813de Merge branch 'main' into develop 2025-01-14 15:02:17 +01:00
Mark Dumay
3ad358bb96 Upgrade to PurgeCSS v7
Fixes #1333
2025-01-14 15:01:19 +01:00
github-actions[bot]
2e1c05fa63 Merge pull request #1364 from gethinode/dependabot/npm_and_yarn/stylelint-16.13.2
Bump stylelint from 16.13.0 to 16.13.2
2025-01-14 13:41:13 +00:00
dependabot[bot]
d67fc81c87 Bump stylelint from 16.13.0 to 16.13.2
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.13.0 to 16.13.2.
- [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.13.0...16.13.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-14 13:34:58 +00:00
github-actions[bot]
8e532ce61b Merge pull request #1362 from gethinode/dependabot/npm_and_yarn/eslint-9.18.0
Bump eslint from 9.17.0 to 9.18.0
2025-01-13 13:19:44 +00:00
dependabot[bot]
dd7803110d Bump eslint from 9.17.0 to 9.18.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.17.0 to 9.18.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.17.0...v9.18.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 13:13:04 +00:00
github-actions[bot]
8c05e15693 Merge pull request #1361 from gethinode/dependabot/npm_and_yarn/stylelint-16.13.0
Bump stylelint from 16.12.0 to 16.13.0
2025-01-13 13:11:48 +00:00
dependabot[bot]
b78d0a9912 Bump stylelint from 16.12.0 to 16.13.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.12.0 to 16.13.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.12.0...16.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 13:06:35 +00:00
Mark Dumay
25aeaeb195 Merge pull request #1360 from gethinode/develop
Fix identification of active child navbar item
2025-01-12 13:29:56 +01:00
Mark Dumay
d8336200ef Merge branch 'main' into develop 2025-01-12 07:17:36 +01:00
Mark Dumay
2831b510d6 Fix identification of active child navbar item 2025-01-12 07:17:01 +01:00
Mark Dumay
ddc319e380 Merge pull request #1359 from gethinode/develop
Improve purge settings
2025-01-11 08:02:50 +01:00
Mark Dumay
0e4c493dd2 Merge branch 'main' into develop 2025-01-11 06:49:13 +01:00
Mark Dumay
48ceeb0b64 Improve purge settings 2025-01-11 06:48:47 +01:00
Mark Dumay
45bd45c5fa Merge pull request #1358 from gethinode/develop
Refine sidebar behavior
2025-01-10 19:32:49 +01:00
Mark Dumay
9f85b5bc93 Fix styles 2025-01-10 19:26:05 +01:00
Mark Dumay
41215fcc25 Merge branch 'main' into develop 2025-01-10 17:55:48 +01:00
Mark Dumay
912a34baa3 Merge pull request #1357 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-01-10 17:55:23 +01:00
Mark Dumay
db4fa60bff Refine sidebar behavior 2025-01-10 17:54:32 +01:00
markdumay
8ebc170e0e fix: update Hugo module dependencies 2025-01-10 03:11:55 +00:00
Mark Dumay
0b5a8756ad Merge pull request #1356 from gethinode/develop
Prettify language selector url when applicable
2025-01-09 14:01:51 +01:00
Mark Dumay
7cec88af78 Merge branch 'main' into develop 2025-01-09 13:54:48 +01:00
Mark Dumay
1681d9691e Merge pull request #1355 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-01-09 13:54:30 +01:00
Mark Dumay
5b661f8f7f Prettify language selector url when applicable 2025-01-09 13:53:09 +01:00
markdumay
3ca09592f7 fix: update Hugo module dependencies 2025-01-09 03:22:03 +00:00
Mark Dumay
2d701111aa Merge pull request #1353 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-01-06 07:38:25 +01:00
markdumay
dbb3b2026c fix: update Hugo module dependencies 2025-01-06 03:12:45 +00:00
Mark Dumay
7d724dbb1f Merge pull request #1354 from gethinode/develop
Improve handling of special links
2025-01-05 14:08:12 +01:00
Mark Dumay
7c436dcacd Merge branch 'main' into develop 2025-01-05 14:01:34 +01:00
Mark Dumay
1da69c08ae Improve handling of special links
Treats links that have a scheme other than http or https as special case.
2025-01-05 14:01:05 +01:00
Mark Dumay
1bca15042b Merge pull request #1351 from gethinode/develop
Update Netlify build env
2025-01-04 15:26:20 +01:00
Mark Dumay
40fd76988d Merge branch 'main' into develop 2025-01-04 15:17:10 +01:00
Mark Dumay
8190e77152 Update Netlify build env 2025-01-04 15:16:04 +01:00
Mark Dumay
d0d681a6a9 Merge pull request #1350 from gethinode/develop
Improve breadcrumb for small devices
2025-01-04 14:55:00 +01:00
Mark Dumay
0d6964c7ed Merge branch 'main' into develop 2025-01-04 14:47:30 +01:00
Mark Dumay
3090aaa810 Merge pull request #1349 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-01-04 14:47:06 +01:00
Mark Dumay
c7cf48a6c1 Improve breadcrumb for small devices 2025-01-04 14:45:34 +01:00
markdumay
300a473a37 fix: update Hugo module dependencies 2025-01-04 03:08:14 +00:00
Mark Dumay
dac09afbba Merge pull request #1348 from gethinode/develop
Update minimum required Hugo version
2025-01-03 06:56:56 +01:00
Mark Dumay
a35e59df3d Merge branch 'main' into develop 2025-01-03 06:47:05 +01:00
Mark Dumay
51b80d8820 Update minimum required Hugo version
Depends on [TrimSpace]( https://gohugo.io/functions/strings/trimspace/)
2025-01-03 06:45:51 +01:00
Mark Dumay
28c12e61e9 Merge pull request #1346 from gethinode/develop
Fix rendering of Hinode version in meta tags
2025-01-02 16:52:53 +01:00
Mark Dumay
c2d4782375 Merge branch 'main' into develop 2025-01-02 16:46:12 +01:00
Mark Dumay
4aa5723235 Fix rendering of Hinode version in meta tags 2025-01-02 16:45:49 +01:00
Mark Dumay
6d602df62d Merge pull request #1345 from gethinode/develop
Prevent switching to unavailable translation
2025-01-02 07:38:07 +01:00
Mark Dumay
336f32b4a4 Merge branch 'main' into develop 2025-01-02 07:28:53 +01:00
Mark Dumay
1792ee527d Prevent switching to unavailable translation 2025-01-02 07:28:25 +01:00
Mark Dumay
d750dcfb5a Merge pull request #1344 from gethinode/develop
Sync French card group example with English version
2025-01-02 07:27:32 +01:00
Mark Dumay
448ebdbaad Merge branch 'main' into develop 2025-01-02 07:21:50 +01:00
Mark Dumay
7b8152d84e Sync French card group example with English version 2025-01-02 07:20:37 +01:00
Mark Dumay
df00db0447 Merge pull request #1342 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-01-02 07:00:16 +01:00
Mark Dumay
658a02798e Merge branch 'main' into hugo-mod-dependencies 2025-01-02 06:46:24 +01:00
Mark Dumay
7329fdf3f9 Merge pull request #1343 from gethinode/develop
Fix handling of pagination
2025-01-02 06:46:12 +01:00
Mark Dumay
34550a3e00 Merge branch 'main' into develop 2025-01-02 06:32:46 +01:00
Mark Dumay
b88b17642d Fix handling of pagination 2025-01-02 06:30:46 +01:00
markdumay
ecb06164e0 fix: update Hugo module dependencies 2025-01-02 03:09:03 +00:00
Mark Dumay
a4d9638cc1 Merge pull request #1341 from gethinode/develop
Support forced links to bypass language settings
2025-01-01 14:58:11 +01:00
Mark Dumay
c8af80ab86 Merge branch 'main' into develop 2025-01-01 14:49:13 +01:00
Mark Dumay
1e06f4ef2c Support forced links to bypass language settings
Fixes #1340
2025-01-01 14:48:32 +01:00
Mark Dumay
3cfe1c296b Merge pull request #1339 from gethinode/develop
Update copyright notice
2025-01-01 07:22:26 +01:00
Mark Dumay
2b32c3c8fc Merge branch 'main' into develop 2025-01-01 07:10:10 +01:00
Mark Dumay
efa1ae2076 Update copyright notice 2025-01-01 07:08:10 +01:00
Mark Dumay
35c869b729 Merge pull request #1338 from gethinode/develop
Add option to forcefully include trailing slash in links and card group buttons
2025-01-01 07:06:59 +01:00
Mark Dumay
ccbc9b24d5 Merge branch 'main' into develop 2025-01-01 06:53:56 +01:00
Mark Dumay
680614d446 Bump package release 2025-01-01 06:43:38 +01:00
Mark Dumay
93f6acd70d Add option to forcefully include trailing slash in links and card group buttons 2025-01-01 06:40:01 +01:00
github-actions[bot]
8d761aa5d7 Merge pull request #1337 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.137.2
Bump hugo-bin from 0.137.1 to 0.137.2
2024-12-31 13:19:04 +00:00
dependabot[bot]
9df7f951c6 Bump hugo-bin from 0.137.1 to 0.137.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.137.1 to 0.137.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.137.1...v0.137.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-31 13:13:17 +00:00
github-actions[bot]
0bf7671675 Merge pull request #1336 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.17.1
Bump markdownlint-cli2 from 0.17.0 to 0.17.1
2024-12-31 13:12:09 +00:00
dependabot[bot]
43a285db86 Bump markdownlint-cli2 from 0.17.0 to 0.17.1
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.17.0 to 0.17.1.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.17.0...v0.17.1)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-31 13:06:31 +00:00
Mark Dumay
f982b0f9d4 Merge pull request #1334 from gethinode/develop
Include sitemap in robots.txt
2024-12-30 16:54:38 +01:00
Mark Dumay
669dfec6af Include sitemap in robots.txt 2024-12-30 16:40:36 +01:00
Mark Dumay
05ea55d73d Merge pull request #1332 from timcappalli/main
Fix JSON-LD schema params mapping
2024-12-30 08:04:43 +01:00
Tim Cappalli
e64fdee0ea s/schemaType/scheme.type 2024-12-27 19:37:29 -05:00
github-actions[bot]
90ef36d39a Merge pull request #1329 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.17.0
Bump markdownlint-cli2 from 0.16.0 to 0.17.0
2024-12-26 13:18:54 +00:00
dependabot[bot]
d4321cea30 Bump markdownlint-cli2 from 0.16.0 to 0.17.0
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.16.0 to 0.17.0.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-26 13:13:26 +00:00
github-actions[bot]
9fd3781c25 Merge pull request #1328 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.137.1
Bump hugo-bin from 0.137.0 to 0.137.1
2024-12-24 13:28:13 +00:00
dependabot[bot]
ed833307f8 Bump hugo-bin from 0.137.0 to 0.137.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.137.0 to 0.137.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.137.0...v0.137.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-24 13:22:48 +00:00
Mark Dumay
a73268fea6 Merge pull request #1327 from gethinode/develop
Fix alias when using preferred language
2024-12-21 13:31:01 +01:00
Mark Dumay
413082a23d Merge branch 'main' into develop 2024-12-21 13:26:34 +01:00
Mark Dumay
2b15ff26dc Fix alias when using preferred language 2024-12-21 13:26:06 +01:00
Mark Dumay
42db5b3f9b Merge pull request #1326 from gethinode/develop
Suppress empty breadcrumb sections
2024-12-21 09:43:08 +01:00
Mark Dumay
d3e58591be Merge branch 'main' into develop 2024-12-21 09:36:18 +01:00
Mark Dumay
5c9187a5ed Suppress empty breadcrumb sections
Ignores list pages that are not built
2024-12-21 09:35:51 +01:00
Mark Dumay
1db2652304 Merge pull request #1325 from gethinode/develop
Suppress rounding of card vector images
2024-12-21 08:05:13 +01:00
Mark Dumay
003f9a329c Merge branch 'main' into develop 2024-12-21 07:49:45 +01:00
Mark Dumay
c7bed9de24 Suppress rounding of card vector images 2024-12-21 07:48:56 +01:00
Mark Dumay
1de5aa70da Merge pull request #1323 from gethinode/develop
Remove unneeded canonical URL
2024-12-20 13:54:39 +01:00
Mark Dumay
eb51223fa8 Merge branch 'main' into develop 2024-12-20 13:48:47 +01:00
Mark Dumay
4b732c02f8 Remove unneeded canonical URL 2024-12-20 13:48:14 +01:00
Mark Dumay
3193ff6e0d Merge pull request #1322 from gethinode/develop
Remove invalid links from navbar items and buttons
2024-12-20 13:43:54 +01:00
Mark Dumay
d66f8eef93 Merge branch 'main' into develop 2024-12-20 13:32:55 +01:00
Mark Dumay
9bb9bb580a Bump package release 2024-12-20 13:32:37 +01:00
Mark Dumay
c29b43866a Remove invalid links from navbar items and buttons
Replaces `#!` with empty href
2024-12-20 13:31:54 +01:00
github-actions[bot]
e3d88bdf37 Merge pull request #1320 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.137.0
Bump hugo-bin from 0.136.4 to 0.137.0
2024-12-18 13:19:04 +00:00
dependabot[bot]
a35db80260 Bump hugo-bin from 0.136.4 to 0.137.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.136.4 to 0.137.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.136.4...v0.137.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-18 13:13:53 +00:00
github-actions[bot]
3d19b57d5e Merge pull request #1319 from gethinode/dependabot/npm_and_yarn/stylelint-16.12.0
Bump stylelint from 16.11.0 to 16.12.0
2024-12-16 14:06:44 +00:00
dependabot[bot]
3bd8f99678 Bump stylelint from 16.11.0 to 16.12.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.11.0 to 16.12.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.11.0...16.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 14:02:00 +00:00
github-actions[bot]
a01c726de4 Merge pull request #1318 from gethinode/dependabot/npm_and_yarn/eslint-9.17.0
Bump eslint from 9.16.0 to 9.17.0
2024-12-16 14:00:42 +00:00
dependabot[bot]
fe74653749 Bump eslint from 9.16.0 to 9.17.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.16.0 to 9.17.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.16.0...v9.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 13:55:04 +00:00
Mark Dumay
c143634c4a Merge pull request #1316 from gethinode/develop
Update package version
2024-12-13 08:53:13 +01:00
Mark Dumay
58e0946636 Merge branch 'main' into develop 2024-12-13 08:30:03 +01:00
Mark Dumay
d2dd3a32d0 Update package version 2024-12-13 08:29:33 +01:00
Mark Dumay
045dfd5a13 Merge pull request #1315 from gethinode/develop
Introduce ins shortcode to underline text
2024-12-13 08:24:02 +01:00
Mark Dumay
ecab03d15c Merge branch 'main' into develop 2024-12-13 07:53:21 +01:00
Mark Dumay
6972f71077 Merge pull request #1313 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-12-13 07:52:16 +01:00
Mark Dumay
92c87629a0 Introduce ins shortcode to underline text 2024-12-13 07:50:54 +01:00
markdumay
a0dd30d2c7 fix: update Hugo module dependencies 2024-12-11 03:19:59 +00:00
github-actions[bot]
50c6c80d8a Merge pull request #1310 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.136.4
Bump hugo-bin from 0.136.3 to 0.136.4
2024-12-10 14:04:14 +00:00
dependabot[bot]
548ba82abe Bump hugo-bin from 0.136.3 to 0.136.4
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.136.3 to 0.136.4.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.136.3...v0.136.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 13:58:13 +00:00
github-actions[bot]
31e47ad940 Merge pull request #1312 from gethinode/dependabot/npm_and_yarn/nanoid-3.3.8
Bump nanoid from 3.3.7 to 3.3.8
2024-12-10 13:56:57 +00:00
dependabot[bot]
f04f5719ec Bump nanoid from 3.3.7 to 3.3.8
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 13:51:35 +00:00
github-actions[bot]
8ab0d2fb1e Merge pull request #1311 from gethinode/dependabot/npm_and_yarn/neostandard-0.12.0
Bump neostandard from 0.11.9 to 0.12.0
2024-12-10 13:50:34 +00:00
dependabot[bot]
9f83f33afd Bump neostandard from 0.11.9 to 0.12.0
Bumps [neostandard](https://github.com/neostandard/neostandard) from 0.11.9 to 0.12.0.
- [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.11.9...v0.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 13:45:34 +00:00
github-actions[bot]
e9789a420c Merge pull request #1308 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.16.0
Bump markdownlint-cli2 from 0.15.0 to 0.16.0
2024-12-09 13:22:01 +00:00
dependabot[bot]
8459665fcf Bump markdownlint-cli2 from 0.15.0 to 0.16.0
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.15.0 to 0.16.0.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 13:16:44 +00:00
Mark Dumay
75083fe543 Merge pull request #1306 from gethinode/develop
Fix handling of vector images with static folder prefix
2024-12-04 16:51:58 +01:00
Mark Dumay
d5d29bab37 Merge branch 'main' into develop 2024-12-04 16:45:01 +01:00
Mark Dumay
46d2e57e4b Fix handling of vector images with static folder prefix 2024-12-04 16:44:36 +01:00
github-actions[bot]
8a0658e931 Merge pull request #1305 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.136.3
Bump hugo-bin from 0.136.2 to 0.136.3
2024-12-02 15:12:15 +00:00
dependabot[bot]
9be5b22911 Bump hugo-bin from 0.136.2 to 0.136.3
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.136.2 to 0.136.3.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.136.2...v0.136.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 15:06:09 +00:00
github-actions[bot]
71181905c3 Merge pull request #1304 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-14.0.0
Bump stylelint-config-standard-scss from 13.1.0 to 14.0.0
2024-12-02 15:04:31 +00:00
dependabot[bot]
61a00fd205 Bump stylelint-config-standard-scss from 13.1.0 to 14.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 13.1.0 to 14.0.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v13.1.0...v14.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 15:00:07 +00:00
github-actions[bot]
71c2e4f5c6 Merge pull request #1303 from gethinode/dependabot/npm_and_yarn/eslint-9.16.0
Bump eslint from 9.15.0 to 9.16.0
2024-12-02 14:58:52 +00:00
dependabot[bot]
14c05f62ad Bump eslint from 9.15.0 to 9.16.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.15.0 to 9.16.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.15.0...v9.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 14:52:56 +00:00
github-actions[bot]
712634ec57 Merge pull request #1302 from gethinode/dependabot/npm_and_yarn/stylelint-16.11.0
Bump stylelint from 16.10.0 to 16.11.0
2024-11-29 13:39:33 +00:00
dependabot[bot]
d8070914f9 Bump stylelint from 16.10.0 to 16.11.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.10.0 to 16.11.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.10.0...16.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-29 13:33:55 +00:00
github-actions[bot]
8006143d3f Merge pull request #1300 from gethinode/dependabot/npm_and_yarn/neostandard-0.11.9
Bump neostandard from 0.11.8 to 0.11.9
2024-11-26 13:34:18 +00:00
dependabot[bot]
b56516b77b Bump neostandard from 0.11.8 to 0.11.9
Bumps [neostandard](https://github.com/neostandard/neostandard) from 0.11.8 to 0.11.9.
- [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.11.8...v0.11.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-26 13:29:20 +00:00
github-actions[bot]
ac6a47e528 Merge pull request #1299 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.136.2
Bump hugo-bin from 0.136.0 to 0.136.2
2024-11-25 13:46:58 +00:00
dependabot[bot]
d6f86a0a4c Bump hugo-bin from 0.136.0 to 0.136.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.136.0 to 0.136.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.136.0...v0.136.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 13:40:15 +00:00
github-actions[bot]
d950555d75 Merge pull request #1298 from gethinode/dependabot/npm_and_yarn/fullhuman/postcss-purgecss-7.0.2
Bump @fullhuman/postcss-purgecss from 6.0.0 to 7.0.2
2024-11-22 14:11:09 +00:00
dependabot[bot]
231425dbdf Bump @fullhuman/postcss-purgecss from 6.0.0 to 7.0.2
Bumps [@fullhuman/postcss-purgecss](https://github.com/FullHuman/purgecss) from 6.0.0 to 7.0.2.
- [Release notes](https://github.com/FullHuman/purgecss/releases)
- [Changelog](https://github.com/FullHuman/purgecss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/FullHuman/purgecss/compare/v6.0.0...v7.0.2)

---
updated-dependencies:
- dependency-name: "@fullhuman/postcss-purgecss"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-22 14:03:41 +00:00
Mark Dumay
2cccbc499a Merge pull request #1297 from gethinode/develop
Contain aspect ratio of svg card thumbnails
2024-11-20 08:07:44 +01:00
Mark Dumay
92572a21bc Merge branch 'main' into develop 2024-11-20 08:00:05 +01:00
Mark Dumay
261c174739 Contain aspect ratio of svg card thumbnails 2024-11-20 07:59:24 +01:00
Mark Dumay
fbdfd10969 Merge pull request #1296 from gethinode/develop
Fix anchor handling of cover image
2024-11-19 16:40:21 +01:00
Mark Dumay
2c2cd595c1 Merge branch 'main' into develop 2024-11-19 16:32:34 +01:00
Mark Dumay
2b6fc61628 Fix anchor handling of cover image 2024-11-19 16:29:34 +01:00
Mark Dumay
40096611cf Merge pull request #1287 from d-oit/thumbnail-ratio
Params config for thumbnails.ratio
2024-11-19 11:20:17 +01:00
Mark Dumay
937b16ca60 Merge branch 'main' into thumbnail-ratio 2024-11-19 11:10:22 +01:00
Mark Dumay
64d7ff5d93 Merge pull request #1295 from gethinode/develop
Fix raw HTML warnings
2024-11-19 11:09:20 +01:00
Mark Dumay
b7fb5bee75 Merge branch 'main' into develop 2024-11-19 10:51:14 +01:00
Mark Dumay
63d7d4de85 Fix raw HTML warnings 2024-11-19 10:50:40 +01:00
Mark Dumay
035387d8c1 Merge pull request #1294 from gethinode/develop
Fix French data table example
2024-11-19 10:49:36 +01:00
Mark Dumay
f7c5769817 Merge branch 'main' into develop 2024-11-19 10:43:20 +01:00
Mark Dumay
6853a455cb Fix French data table example 2024-11-19 10:42:57 +01:00
Mark Dumay
190f849b5a Merge pull request #1293 from gethinode/develop
Add option to silence dart sass deprecation warnings
2024-11-19 10:39:03 +01:00
Mark Dumay
1165ffffe0 Merge branch 'main' into develop 2024-11-19 10:34:02 +01:00
Mark Dumay
214812b750 Add option to silence dart sass deprecation warnings 2024-11-19 10:32:21 +01:00
Mark Dumay
20f1a87d8b Merge pull request #1292 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-11-19 07:38:40 +01:00
markdumay
66f904c7fb fix: update Hugo module dependencies 2024-11-19 03:15:32 +00:00
Mark Dumay
cdf9d39242 Merge pull request #1284 from aefly/french-translation
Update `fr.yaml`
2024-11-18 15:48:44 +01:00
Mark Dumay
98c53ccd6d Merge branch 'main' into french-translation 2024-11-18 15:40:34 +01:00
github-actions[bot]
5409aa7a63 Merge pull request #1291 from gethinode/dependabot/npm_and_yarn/eslint-9.15.0
Bump eslint from 9.14.0 to 9.15.0
2024-11-18 13:36:21 +00:00
dependabot[bot]
10a69d6bfd Bump eslint from 9.14.0 to 9.15.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.14.0 to 9.15.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.14.0...v9.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 13:30:47 +00:00
aefly
705967641a Merge branch 'main' into french-translation 2024-11-17 19:55:08 +01:00
github-actions[bot]
a5b49bdf70 Merge pull request #1289 from gethinode/dependabot/npm_and_yarn/neostandard-0.11.8
Bump neostandard from 0.11.7 to 0.11.8
2024-11-13 13:21:00 +00:00
dependabot[bot]
44d46f92c9 Bump neostandard from 0.11.7 to 0.11.8
Bumps [neostandard](https://github.com/neostandard/neostandard) from 0.11.7 to 0.11.8.
- [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.11.7...v0.11.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-13 13:15:14 +00:00
Dominik Oswald
78a2caf728 Merge branch 'main' into thumbnail-ratio 2024-11-11 22:09:58 +01:00
github-actions[bot]
7f5bebacab Merge pull request #1288 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.15.0
Bump markdownlint-cli2 from 0.14.0 to 0.15.0
2024-11-11 13:50:05 +00:00
dependabot[bot]
b95ce558a6 Bump markdownlint-cli2 from 0.14.0 to 0.15.0
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.14.0 to 0.15.0.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 13:44:58 +00:00
Dominik Oswald
e75533a0ae Params config for thumbnails.ratio
Add params ratio for thumbnails

[thumbnails]
    ratio = "16x9"
2024-11-11 12:47:35 +01:00
aefly
19a45b4399 Merge branch 'main' into french-translation 2024-11-07 18:40:53 +01:00
github-actions[bot]
e08178cfce Merge pull request #1285 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.135.0
Bump hugo-bin from 0.134.1 to 0.135.0
2024-11-07 13:43:26 +00:00
dependabot[bot]
b24c6bc21f Bump hugo-bin from 0.134.1 to 0.135.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.134.1 to 0.135.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.134.1...v0.135.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-07 13:37:56 +00:00
aefly
d1e06588a5 Update components.md 2024-11-06 11:37:37 +01:00
aefly
13fb13ec10 Update image.md 2024-11-06 11:27:01 +01:00
aefly
ccca047155 Add image.md 2024-11-06 11:11:43 +01:00
aefly
7443319ad9 Update components.md 2024-11-06 11:09:55 +01:00
aefly
db4ba8babe Update bootstrap-elements.md 2024-11-06 11:02:21 +01:00
aefly
c7c03ebc8c Add cookies.md 2024-11-06 10:57:31 +01:00
aefly
4bd1578724 add privacy.md 2024-11-06 10:53:26 +01:00
aefly
ecd16fa3cc Update fr.yaml
Update `fr.yaml` with the latest Hinode version
2024-11-06 10:31:17 +01:00
github-actions[bot]
3ef8a16e18 Merge pull request #1282 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.134.1
Bump hugo-bin from 0.133.5 to 0.134.1
2024-11-05 13:41:48 +00:00
dependabot[bot]
3fc30b9941 Bump hugo-bin from 0.133.5 to 0.134.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.133.5 to 0.134.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.133.5...v0.134.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-05 13:37:26 +00:00
github-actions[bot]
8fb9610c84 Merge pull request #1280 from gethinode/dependabot/npm_and_yarn/eslint-9.14.0
Bump eslint from 9.13.0 to 9.14.0
2024-11-04 14:08:13 +00:00
dependabot[bot]
dc88861a43 Bump eslint from 9.13.0 to 9.14.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.13.0 to 9.14.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.13.0...v9.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 14:01:23 +00:00
Mark Dumay
871edd7aa4 Merge pull request #1278 from d-oit/data-table-options
feat: simple-datatable options for paging
2024-10-28 07:43:37 +01:00
Mark Dumay
b172a5021a Include full Dutch translation of components page 2024-10-28 07:33:38 +01:00
Mark Dumay
9ddd1983d0 Include pagingOptionPerPage 2024-10-28 07:33:18 +01:00
Mark Dumay
2f00f07a2f Remove whitespace 2024-10-28 07:33:03 +01:00
Mark Dumay
c043f26268 Update build stats 2024-10-28 07:32:49 +01:00
Mark Dumay
99d689a323 Include reference to mod-simple-datatables release 2024-10-28 07:32:41 +01:00
Mark Dumay
ec7275913b Bump package release 2024-10-28 07:32:08 +01:00
Mark Dumay
255456447b Include reference to updated mod-simple-datatables 2024-10-28 07:31:56 +01:00
Dominik Oswald
004940d9bc feat: simple-datatable options for paging 2024-10-26 19:06:58 +02:00
Mark Dumay
6b39b028fb Merge pull request #1276 from gethinode/develop
Fix button label argument
2024-10-26 09:31:04 +02:00
Mark Dumay
9a83550378 Merge branch 'main' into develop 2024-10-26 09:12:48 +02:00
Mark Dumay
792443c4cf Bump package release 2024-10-26 09:12:01 +02:00
Mark Dumay
3d52162925 Fix button label argument 2024-10-26 09:11:26 +02:00
Mark Dumay
80b28f7557 Merge pull request #1275 from gethinode/develop
Shift Hugo highlighting options to Hinode docs
2024-10-26 08:58:40 +02:00
Mark Dumay
43eebdf53f Merge branch 'main' into develop 2024-10-26 07:57:24 +02:00
Mark Dumay
b5062fe687 Merge pull request #1274 from gethinode/develop
Init default card color variable
2024-10-26 07:56:44 +02:00
Mark Dumay
51aa15266b Shift Hugo highlighting options to Hinode docs 2024-10-26 07:40:41 +02:00
Mark Dumay
19f638a129 Merge branch 'main' into develop 2024-10-26 07:30:21 +02:00
Mark Dumay
aa2e5ca6f4 Merge pull request #1273 from d-oit/file-options
feat: File component extend with Hugo highlight options
2024-10-26 07:28:00 +02:00
Mark Dumay
04eea0db71 Bump package release 2024-10-26 07:25:59 +02:00
Mark Dumay
4645f4ee7c Init default card color variable 2024-10-26 07:25:06 +02:00
do
bb6421c70b feat: File component extend with Hugo highlight options 2024-10-25 22:21:25 +02:00
Mark Dumay
622c6ee1c0 Merge pull request #1271 from gethinode/develop
Fix passing of button label argument to card
2024-10-25 18:35:36 +02:00
Mark Dumay
f1befb05cc Merge branch 'main' into develop 2024-10-25 18:28:05 +02:00
Mark Dumay
e146e3a559 Fix passing of button label argument to card 2024-10-25 18:27:39 +02:00
Mark Dumay
068e773ab0 Merge pull request #1270 from gethinode/develop
Improve navbar modal search accessibility
2024-10-25 16:39:04 +02:00
Mark Dumay
3ae91a78a1 Merge branch 'main' into develop 2024-10-25 16:32:31 +02:00
Mark Dumay
6627446961 Bump package release 2024-10-25 16:31:54 +02:00
Mark Dumay
d4fd6ece60 Improve navbar modal search accessibility 2024-10-25 16:31:26 +02:00
Mark Dumay
a746fd147c Merge pull request #1269 from gethinode/develop
Fix link cleaning and navbar menu check
2024-10-25 15:58:02 +02:00
Mark Dumay
d0410af879 Merge branch 'main' into develop 2024-10-25 15:52:30 +02:00
Mark Dumay
314f1a0ca4 Fix navbar menu conditional check 2024-10-25 15:50:50 +02:00
Mark Dumay
066c5ce8eb Fix cleaning of links that include a scheme 2024-10-25 15:32:44 +02:00
Mark Dumay
bba9629f54 Merge pull request #1268 from gethinode/develop
Improve site accessibility and SEO score
2024-10-25 15:32:28 +02:00
Mark Dumay
d2d59ec3ef Merge branch 'main' into develop 2024-10-25 15:20:00 +02:00
Mark Dumay
c080be2872 CLean up params file 2024-10-25 15:17:41 +02:00
Mark Dumay
3c17234b33 Update build stats 2024-10-25 15:17:13 +02:00
Mark Dumay
16884abcba Bump package release 2024-10-25 15:16:59 +02:00
Mark Dumay
2abbe4f6de Update dependencies 2024-10-25 15:16:36 +02:00
Mark Dumay
c6f9de0a64 Integrate vimeo as optional module 2024-10-25 15:16:24 +02:00
Mark Dumay
39f104fa5f Set default alt title for images 2024-10-25 14:03:15 +02:00
Mark Dumay
437ad0dbf7 Improve accessibility of nav control 2024-10-25 09:19:13 +02:00
Mark Dumay
2eb354d941 Improve theme switcher accessibility 2024-10-24 17:56:49 +02:00
github-actions[bot]
5a7f46bca4 Merge pull request #1265 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.133.5
Bump hugo-bin from 0.133.3 to 0.133.5
2024-10-24 13:43:42 +00:00
dependabot[bot]
0bc37ff426 Bump hugo-bin from 0.133.3 to 0.133.5
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.133.3 to 0.133.5.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.133.3...v0.133.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 13:36:19 +00:00
147 changed files with 3211 additions and 1158 deletions

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2024 Mark Dumay
Copyright (c) 2022-2025 Mark Dumay
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -25,17 +25,37 @@
window.location.href = href
}
} else {
window.location.href = folder + language + '/'
let target = folder + language + '/'
if (window.location.href !== target) {
window.location.href = target
}
}
}
}
// Event listener for language selection
document.addEventListener('DOMContentLoaded', () => {
const storedLanguage = getLanguage()
const languageItems = document.querySelectorAll('#language-selector .dropdown-item')
// override stored language when query string contains force is true
let params = new URLSearchParams(document.location.search)
let force = params.get('force')
if (force !== null && force.toLowerCase() == 'true') {
setLanguage(document.documentElement.lang)
return
}
if (languageItems.length > 0) {
// continue with regular code
const storedLanguage = getLanguage()
const languageItems = document.querySelectorAll('#language-selector[data-translated=true] .dropdown-item')
const link = document.querySelector("link[rel='canonical']")
let alias = ''
if (link !== null) {
alias = link.getAttribute('href')
}
if ((alias !== '') && (window.location.href !== alias)) {
window.location.href = alias
} else if (languageItems.length > 0) {
// Redirect if the stored language differs from the active language
if ((storedLanguage) && (document.documentElement.lang !== storedLanguage)) {
languageItems.forEach(item => {
@@ -57,10 +77,8 @@
})
}
else {
// Redirect to the localized homepage
const defaultLang = '{{ site.LanguageCode | default site.Language.Lang }}'
let language = storedLanguage ? storedLanguage : defaultLang
window.location.href = folder + language + '/'
// overrule the current stored language when no translation is available
setLanguage(document.documentElement.lang)
}
})
})()

View File

@@ -25,6 +25,8 @@ strong {
$black: #000 !default;
$btn-toggle-color: $black !default;
$card-color: var(--bs-body-color);
$carousel-dark-indicator-active-bg: #fff !default;
$carousel-dark-caption-color: #fff !default;
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;

View File

@@ -1,4 +1,8 @@
.nav-tabs > .nav-link.active {
.nav-tabs .nav-tabs {
border: none;
}
.nav-tabs .nav-link.active {
border-bottom-color: var(--bs-body-bg) !important;
border-bottom-style: solid !important;
z-index: 1;
@@ -12,13 +16,13 @@
column-gap: var(--#{$prefix}nav-callout-gap) !important;
}
.nav-callout > .tab-content {
.nav-callout + .tab-content {
background-color: var(--#{$prefix}nav-callout-bg);
padding: 2 * $spacer;
margin-top: 0 !important;
}
.nav-callout > .nav-link {
.nav-callout .nav-link {
display: flex;
text-align: start;
vertical-align: text-top;
@@ -27,7 +31,7 @@
border-bottom: none;
}
.nav-callout > .nav-link.active {
.nav-callout .nav-link.active {
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-bg) 50%, transparent 0);
background-size: 50% (3 * $spacer);
background-repeat: no-repeat;
@@ -53,7 +57,7 @@
}
}
.nav-callout > .accordion-item {
.nav-callout .accordion-item {
margin-top: 2 * $spacer;
margin-bottom: 2 * $spacer;
border: none;

View File

@@ -7,22 +7,45 @@
top: var(--navbar-offset);
max-height: 90vh;
overflow-y: auto;
scrollbar-gutter: stable;
}
.sidebar-item {
color: rgba(0, 0, 0, 0.65);
margin-left: 0 !important;
padding-left: 0.85rem !important;
display: inline-block;
padding: 0.1875rem 0.5rem !important;
&.active {
color: $primary;
}
&.active,
&:hover,
&:focus {
color: black;
color: $primary;
background-color: tint-color($primary, 90%);
}
}
.btn-toggle {
.sidebar-item-group {
&:hover,
&:focus {
color: $primary;
background-color: tint-color($primary, 90%);
}
> div > a {
color: var(--bs-body-color) !important;
text-decoration: none;
cursor: pointer;
}
}
.sidebar-item-group > div {
padding: 0.1875rem 0.5rem !important;
}
.btn-toggle-group {
padding: 0.25rem 0.5rem;
font-weight: 600;
color: rgba(0, 0, 0, 0.65);
@@ -30,8 +53,7 @@
&:hover,
&:focus {
color: black;
background-color: tint-color($primary, 90%);
background-color: transparent;
}
&::before {
@@ -43,50 +65,49 @@
}
}
.btn-toggle[aria-expanded="true"] {
color: black;
.btn-toggle-group[aria-expanded="true"] {
&::before {
transform: rotate(90deg);
}
}
.btn-toggle-nav a {
padding: 0.1875rem 0.5rem;
margin-top: 0.125rem;
margin-left: 1.25rem;
&:hover,
&:focus {
background-color: tint-color($primary, 90%);
}
&.active {
font-weight: bold;
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.sidebar-item {
color: var(--bs-body-color);
margin-left: 0 !important;
padding-left: 0.85rem !important;
&.active,
&.active {
color: $primary-text-emphasis-dark !important;
}
&:hover,
&:focus {
color: $primary-text-emphasis-dark !important;
background-color: transparent;
box-shadow: inset 0 0 0 1px $primary-bg-subtle-dark;
}
}
.sidebar-item-group {
color: var(--bs-body-color) !important;
&.active {
color: $primary-text-emphasis-dark !important;
}
&:hover,
&:focus {
color: white !important;
background-color: transparent;
box-shadow: inset 0 0 0 1px $primary-bg-subtle-dark;
}
}
.btn-toggle {
.btn-toggle-group {
color: var(--bs-body-color);
&:hover,
&:focus {
color: white !important;
background-color: transparent;
}
@@ -95,26 +116,10 @@
}
}
.btn-toggle[aria-expanded="true"] {
.btn-toggle-group[aria-expanded="true"] {
color: var(--bs-secondary-color);
}
.btn-toggle-nav a {
padding: 0.1875rem 0.5rem;
margin-top: 0.125rem;
margin-left: 1.25rem;
&:hover,
&:focus {
color: white !important;
background-color: transparent;
}
&.active {
font-weight: bold;
}
}
}
}
}
// scss-docs-end sidebar

View File

@@ -11,6 +11,10 @@
padding-right: 1rem;
}
.table-border-bottom-wrap {
border-bottom-style: none !important
}
@if $enable-dark-mode {
@include color-mode(dark) {
.table-striped, .table-striped-columns {

View File

@@ -75,6 +75,35 @@
}
}
a.toc-item {
display: block;
}
a.toc-level-1 {
margin-left: 0;
}
a.toc-level-2 {
margin-left: 1em;
}
a.toc-level-3 {
margin-left: 2em;
}
a.toc-level-4 {
margin-left: 3em;
}
a.toc-level-5 {
margin-left: 4em;
}
a.toc-level-6 {
margin-left: 5em;
}
@if $enable-dark-mode {
[data-bs-theme="dark"] {
.toc-button {

View File

@@ -1,6 +1,6 @@
# toml-docs-start main
title = "Hinode"
copyright = "Copyright © 2024 Mark Dumay."
copyright = "Copyright © 2022 - 2025 Mark Dumay."
enableGitInfo = true
# toml-docs-end main
@@ -116,8 +116,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[module]
[module.hugoVersion]
extended = true
min = "0.134.0"
max = ""
min = "0.141.0"
[[module.mounts]]
source = "archetypes"
target = "archetypes"
@@ -139,6 +138,11 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.mounts]]
source = "static"
target = "static"
# ensures main package.json is always available, even when using workspaces
# in workspaces, the package.json is pointing to the first imported module
[[module.mounts]]
source = "package.json"
target = "assets/data/package-hinode.json"
[[module.mounts]]
source = "netlify.toml"
target = "assets/config/netlify.toml"

View File

@@ -10,8 +10,10 @@
footerBelowFold = false
loading = "lazy"
breakpoint = "md"
titleCase = false
[main.internalLinks]
validate = true
pretty = false
[main.externalLinks]
cue = false
tab = false
@@ -219,7 +221,6 @@
font-src = ["fonts.gstatic.com"]
frame-src = [
"player.cloudinary.com",
"player.vimeo.com",
"www.youtube-nocookie.com",
"www.youtube.com"
]
@@ -228,7 +229,17 @@
"*.imgix.net",
"*.imagekit.io",
"*.cloudinary.com",
"i.vimeocdn.com",
"i.ytimg.com"
]
# toml-docs-end csp
[modules.vimeo]
local = true
integration = "optional"
state = "async"
url = "https://player.vimeo.com/api/player.js"
[modules.vimeo.csp]
frame-src = ["player.vimeo.com"]
img-src = ["i.vimeocdn.com"]
script-src = ["player.vimeo.com"]

View File

@@ -11,12 +11,12 @@
default-src 'none'; \
font-src 'self' fonts.gstatic.com; \
form-action 'self'; \
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
frame-src player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
manifest-src 'self'; \
media-src 'self'; \
object-src 'none'; \
script-src 'self' *.google-analytics.com *.googletagmanager.com; \
script-src 'self' *.google-analytics.com *.googletagmanager.com player.vimeo.com; \
style-src 'self' www.youtube.com; \
"""
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '

View File

@@ -3,13 +3,15 @@ const cssnano = require('cssnano')({
preset: 'advanced'
})
const whitelister = require('purgecss-whitelister')
const purgecss = require('@fullhuman/postcss-purgecss')({
const purgeImport = require('@fullhuman/postcss-purgecss')
const purgeCSSPlugin = purgeImport.purgeCSSPlugin || purgeImport.default || purgeImport
const purgecss = purgeCSSPlugin({
content: ['./hugo_stats.json'],
defaultExtractor: (content) => {
const els = JSON.parse(content).htmlElements
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
},
dynamicAttributes: ['data-bs-theme'],
dynamicAttributes: ['data-bs-theme', 'data-bs-theme-animate'],
safelist: ['was-validated',
...whitelister([
'./assets/scss/components/_clipboard.scss',

View File

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

View File

@@ -38,3 +38,8 @@ arguments:
type: string
optional: true
comment: Class attribute of the tab control that wraps the file element.
options:
type: string
optional: true
comment: Hugo highlighting options.
release: v0.27.6

4
data/structures/ins.yml Normal file
View File

@@ -0,0 +1,4 @@
comment: Underlines text.
body:
optional: false
comment: Text to be underlined.

View File

@@ -63,6 +63,15 @@ arguments:
default: false
comment: >-
Flag to indicate if a link that contains baseURL host should be forced as external.
force:
type: bool
optional: true
default: false
comment: >-
Flag to indicate a link should bypass any language redirection. Only applicable when
the site param `enableLanguageSelectionStorage` is set to true. When `force` is true,
the link to a local page is kept as is.
release: v0.27.20
class:
type: string
optional: true

View File

@@ -3,6 +3,20 @@ comment: >-
improve their layout on smaller screens. To features `sortable`, `paging`,
and `searchable` require the module `simple-datatables`.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Page to display the breadcrumb for.
group: partial
input:
type:
- string
- template.HTML
optional: false
comment: Table input in markdown format.
group: partial
breakpoint:
type: select
optional: true
@@ -35,11 +49,33 @@ arguments:
optional: true
comment: Whether paging is enabled for the table.
release: v0.24.13
pagingOptionPerPage:
type: int
optional: true
comment: >-
Sets the maximum number of rows to display on each page. Requires
`paging = true`.
release: v0.27.8
pagingOptionPageSelect:
type: string
optional: true
comment: >-
Sets the per page options in the dropdown. Must be an array of integers or
arrays in the format [label (string), value (int)]. Requires
`paging = true`.
release: v0.27.8
searchable:
type: bool
optional: true
comment: Toggle the ability to search the dataset.
release: v0.24.13
wrap:
type: bool
optional: true
comment: >-
Toggle the last column to wrap to a new row on smaller devices. This
setting is not compatible with data tables.
release: v0.28.0
body:
type: string
optional: false

View File

@@ -79,12 +79,10 @@ arguments:
- 16x9
- 21x9
release: v0.26.5
portrait:
type: bool
options:
type: string
optional: true
default: false
release: v0.28.2
comment: >-
Flag to adjust the ratio from landscape to portrait. The image itself is
not rotated, only the crop area is adjusted. Not applicable to vector
graphics.
release: v0.26.5
Optional query parameters to append to video asset's url. The query string
is prepended with a `?` symbol. Only applicable to Cloudinary.

View File

@@ -1,6 +1,6 @@
resourcedir = '../resources/'
title = "Hinode"
copyright = "Copyright © 2024 Mark Dumay."
copyright = "Copyright © 2022 - 2025 Mark Dumay."
enableGitInfo = true
# additional settings

View File

@@ -0,0 +1,2 @@
[main]
titleCase = false

View File

@@ -0,0 +1,2 @@
[main]
titleCase = false

View File

@@ -8,13 +8,16 @@
footerBelowFold = false
loading = "lazy"
breakpoint = "md"
titleCase = true
[main.internalLinks]
validate = true
pretty = true
[main.externalLinks]
cue = true
tab = true
[main.build]
transpiler = "dartsass"
silenceDeprecations = true
[debugging]
showJS = false
@@ -156,7 +159,7 @@
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
purge = false # TODO: fix purge setting of example site
purge = true
# toml-docs-end theme-colors
[schema]
@@ -195,5 +198,4 @@
hinode = "https://gethinode.com"
[modules.cookieyes]
# local = true
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"

View File

@@ -11,12 +11,12 @@
default-src 'none'; \
font-src 'self' fonts.gstatic.com; \
form-action 'self'; \
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
frame-src player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
manifest-src 'self'; \
media-src 'self'; \
object-src 'none'; \
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com; \
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com player.vimeo.com; \
style-src 'self' 'unsafe-inline' www.youtube.com; \
"""
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '

View File

@@ -3,31 +3,34 @@ const cssnano = require('cssnano')({
preset: 'advanced'
})
const whitelister = require('purgecss-whitelister')
const purgecss = require('@fullhuman/postcss-purgecss')({
content: ['./hugo_stats.json'],
const purgeImport = require('@fullhuman/postcss-purgecss')
const purgeCSSPlugin = purgeImport.purgeCSSPlugin || purgeImport.default || purgeImport
const purgecss = purgeCSSPlugin({
content: ['./exampleSite/hugo_stats.json'],
defaultExtractor: (content) => {
const els = JSON.parse(content).htmlElements
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
},
dynamicAttributes: ['data-bs-theme'],
dynamicAttributes: ['data-bs-theme', 'data-bs-theme-animate'],
safelist: ['was-validated',
...whitelister([
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_clipboard.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_command.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_nav.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_navbar.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_search.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_syntax.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_syntax-dark.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_syntax-light.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_table.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_video.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/theme/fonts.scss',
'./_vendor/github.com/gethinode/hinode/assets/scss/theme/theme.scss',
'./exampleSite/_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_command.scss',
'./assets/scss/components/_nav.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/components/_syntax-dark.scss',
'./assets/scss/components/_syntax-light.scss',
'./assets/scss/components/_table.scss',
'./assets/scss/components/_video.scss',
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-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/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',

View File

@@ -18,17 +18,17 @@ Hinode provides several shortcodes that wrap common Bootstrap components. Refer
As an example, the following shortcode displays the full text of an abbreviation on hover.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* abbr "CI/CD" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Accordion
As an example, the following shortcode displays an accordion with three elements, of which the first element is expanded.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* accordion */>}}
{{</* accordion-item header="Accordion Item #1" show="true" */>}}
@@ -43,25 +43,25 @@ As an example, the following shortcode displays an accordion with three elements
{{</* /accordion-item */>}}
{{</* /accordion */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Alert
As an example, the following shortcode displays a simple alert.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* alert color="danger" dismissible="true" */>}}
A simple danger alert—check it out!
{{</* /alert */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Badge
Use the badge shortcode to display a badge for a heading.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example >}}
Heading 1 {{</* badge title="New" */>}}
{.h1}
@@ -81,35 +81,35 @@ Heading 5 {{</* badge title="New" */>}}
Heading 6 {{</* badge title="New" */>}}
{.h6}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Breadcrumb
As an example, the following shortcode displays a breadcrumb for the blog page.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* breadcrumb path="blog" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Button
As an example, the following shortcode displays a tooltip for a dark button with a badge.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button color="secondary" tooltip="Click on the inbox to view your unread messages" href="#!" badge="99+" */>}}
Inbox
{{</* /button */>}}
{{< /example>}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Button group
As an example, the following shortcode displays a group of three buttons.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button-group aria-label="Basic example" */>}}
{{</* button color="primary" href="#!" */>}}Left{{</* /button */>}}
@@ -117,24 +117,24 @@ As an example, the following shortcode displays a group of three buttons.
{{</* button color="primary" href="#!" */>}}Right{{</* /button */>}}
{{</* /button-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Card
As an example, the following shortcode displays a stacked card that links to the [about]({{% ref "about" %}}) page. It includes a custom header.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
header="publication" footer="none" button=true /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Card group
As an example, the following shortcode displays a card group of three elements.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* card-group padding="3" gutter="3" button=true buttonType="link" cols=2 scroll=true */>}}
{{</* card title="Bootstrap framework" icon="fab bootstrap" */>}}
@@ -149,13 +149,13 @@ As an example, the following shortcode displays a card group of three elements.
{{</* /card */>}}
{{</* /card-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Carousel
As an example, the following shortcode displays a centered carousel with three slides, 16x9 aspect ratio, and a relative width of 67% on large screens.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" */>}}
{{</* img src="img/coffee.jpg" caption="slide 1" */>}}
@@ -163,13 +163,13 @@ As an example, the following shortcode displays a centered carousel with three s
{{</* img src="img/dunes.jpg" caption="slide 3" */>}}
{{</* /carousel */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Collapse
As an example, the following shortcode displays a button that, when clicked, triggers a panel to appear or disappear.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button collapse="collapse-1" */>}}
Trigger panel
@@ -180,23 +180,23 @@ As an example, the following shortcode displays a button that, when clicked, tri
revealed when the user activates the relevant trigger.
{{</* /collapse */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Command prompt
Use the `command` shortcode to generate a block with a default bash command prompt.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* command */>}}
export MY_VAR=123
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
Specify `user` and `host` to add the user context to the prompt. In addition, use `(out)` to specify an output line and use `\` to denote a line continuation.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* command user="user" host="localhost" */>}}
export MY_VAR=123
@@ -210,7 +210,7 @@ echo "goodbye"
(out)goodbye
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Docs
@@ -222,47 +222,47 @@ Use the `docs` shortcode to display the content of a `js`, `scss` or `toml` file
Use the `example` shortcode to display a code example and to render a preview of the same input.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* command */>}}
export MY_VAR=123
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## File
Use the `file` shortcode to print and highlight the full content of a given input file.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* file path="./config/_default/languages.toml" id="file-collapse-1" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Icon
As an example, the following shortcodes show a square check, a brand logo, a circle check, and a custom icon.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* fa square-check */>}}
{{</* fab linkedin */>}}
{{</* fas circle-check */>}}
{{</* icon custom activity */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Image
As an example, the following shortcode displays an image with rounded corners and a 4x3 aspect ratio in portrait mode.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="img/flowers.jpg" ratio="4x3" caption="Figure caption" class="rounded col-md-6"
portrait=true wrapper="text-center" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
The same image, but then using Markdown syntax:
@@ -273,25 +273,35 @@ The same image, but then using Markdown syntax:
As an example, the following shortcode displays a regular vector image.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="/img/logo_icon.svg" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
As an example, the following shortcode displays a vector image with a symbol reference.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="/img/logo_var.svg#logo" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Ins
As an example, the following shortcode displays underlined text.
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example >}}
This is an {{</* ins */>}}underlined text{{</* /ins */>}}.
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Link
As an example, the following shortcodes render links in different formats.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
- {{</* link hinode >}}Named link with default settings{{< /link */>}}
@@ -306,28 +316,28 @@ As an example, the following shortcodes render links in different formats.
- {{</* link url="../projects/another-project" case=false /*/>}}
- {{</* link "about" /*/>}}
- {{</* link "/fr/a-propos/" /*/>}}
- {{</* link "/fr/a-propos" >}}About (French){{< /link */>}}
- {{</* link href="/fr/a-propos" force=true >}}About (French){{< /link */>}}
- {{</* link "#image" /*/>}}
- {{</* link "components/#map" /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Mark
Use the `mark` shortcode to highlight text. The inner content is used as input.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
Use the mark shortcode to {{</* mark >}}highlight{{< /mark */>}} specific text.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Nav
As an example, the following shortcode displays a tab group with vertically aligned pills.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* nav type="pills" vertical="true" */>}}
{{</* nav-item header="Nav Item #1" show="true" */>}}
@@ -342,23 +352,23 @@ As an example, the following shortcode displays a tab group with vertically alig
{{</* /nav-item */>}}
{{</* /nav */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Navbar
As an example, the following shortcode displays a light navigation header.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* navbar id="navbar-sample" path="blog" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Persona
As an example, the following shortcode displays a persona card with a primary color.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* persona thumbnail="/img/creator-1x1.jpg" title="Creators" color="primary" */>}}
As a content creator you value your independence. You like to take control of your
@@ -370,55 +380,55 @@ As an example, the following shortcode displays a persona card with a primary co
Hinode.
{{</* /persona */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Release
As an example, the following shortcode displays a default release button.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* release version="v0.14.1" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Spinner
As an example, the following shortcode displays a centered spinner.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* spinner color="info" class="text-center" */>}}
Loading...
{{</* /spinner */>}}
{{< /example>}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Sub
As an example, the following shortcode displays subscript text.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example >}}
H{{</* sub 2 */>}}O is a liquid.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Sup
As an example, the following shortcode displays superscript text.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example >}}
2{{</* sup 10 */>}} is 1024.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Table
As an example, the following shortcode displays a responsive table.
<!-- markdownlint-disable MD037 MD058 -->
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
{{< example lang="markdown" >}}
{{</* table */>}}
| # | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading |
@@ -428,23 +438,23 @@ As an example, the following shortcode displays a responsive table.
| 3. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
{{</* /table */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 MD058 -->
{{% comment %}}<!-- markdownlint-enable MD037 MD058 -->{{% /comment %}}
## Timeline
As an example, the following shortcode displays a timeline with the file `data/timeline.en.yml` as data.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* timeline data="timeline" background="dark" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Toast
As an example, the following shortcode displays a button that, when clicked, triggers the toast message.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button toast="toast-example-1" */>}}
Show toast 1
@@ -462,44 +472,24 @@ As an example, the following shortcode displays a button that, when clicked, tri
This is the second toast message. It supports `markdown.`
{{</* /toast */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Tooltip
As an example, the following shortcode displays a tooltip for a colored hyperlink.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* tooltip color="primary" title="Tooltip caption" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Video
As an example, the following shortcode displays an Elephants video hosted by Cloudinary.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* video host="cloudinary" account="demo" id="elephants" autoplay=true */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Vimeo
As an example, the following shortcode displays a Vimeo video.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* vimeo id="55073825" autoplay=true autotitle=true */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Youtube
As an example, the following shortcode displays a Hugo quickstart guide.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* youtube id="w7Ft2ymGmfc" autoplay=true autotitle=true */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}

View File

@@ -19,19 +19,19 @@ Hinode provides several shortcodes on top of the common [Bootstrap elements]({{%
As an example, the following shortcode shows an animation that plays on hover.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Data tables
As an example, the following shortcode displays a responsive table that uses advanced controls.
<!-- markdownlint-disable MD037 MD058 -->
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
{{< example lang="markdown" >}}
{{</* table sortable="true" paging="true" searchable="true" */>}}
{{</* table sortable="true" paging="true" searchable="true" pagingOptionPerPage=5 */>}}
| # | Heading |
|-----|---------|
| 1. | Item 1 |
@@ -66,7 +66,7 @@ As an example, the following shortcode displays a responsive table that uses adv
| 30. | Item 30 |
{{</* /table */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Formula (KaTeX)
@@ -85,8 +85,8 @@ $$\forall x \in X, \quad \exists y \leq \epsilon$$
As an example, the following shortcode displays an interactive map of the city of Amsterdam.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* map lat=52.377 long=4.90 zoom=13 popup="Amsterdam Central Station" popup-lat=52.378062 popup-long=4.900562 */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}

View File

@@ -12,31 +12,31 @@ thumbnail:
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="https://res.cloudinary.com/demo/dog.webp"
ratio="21x9" caption="Cloudinary image" class="rounded" plain=true */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## ImageKit.io
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="https://ik.imagekit.io/demo/default-image.jpg"
ratio="21x9" caption="ImageKit.io image" class="rounded" anchor="Center" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Imgix
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="https://assets.imgix.net/examples/bluehat.jpg"
ratio="21x9" caption="imgix image" class="rounded" anchor="Top" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}

View File

@@ -4,7 +4,7 @@ description: Cookie policy of gethinode.com
date: 2024-09-19
layout: docs
---
<!-- markdownlint-disable MD036 -->
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
*Effective Date 19-Sep-2024*
## What are cookies?

View File

@@ -4,7 +4,7 @@ description: Privacy policy of gethinode.com
date: 2024-09-19
layout: docs
---
<!-- markdownlint-disable MD036 -->
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
*Effective Date 19-Sep-2024*
This Privacy Policy describes the policies of gethinode.com on the collection, use and disclosure of your information that we collect when you use our website (https://gethinode.com, referred to as the “Service”). By accessing or using the Service, you are consenting to the collection, use and disclosure of your information in accordance with this Privacy Policy. If you do not consent to the same, please do not access or use the Service.
@@ -24,7 +24,7 @@ We may also disclose your personal information for the following: (1) to comply
## Your rights
Depending on the law that applies, you may have a right to access and rectify or erase your personal data or receive a copy of your personal data, restrict or object to the active processing of your data, ask us to share (port) your personal information to another entity,withdraw any consent you provided to us to process your data, a right to lodge a complaint with a statutory authority and such other rights as may be relevant under applicable laws. <!-- To exercise these rights, you can write to us at privacy@gethinode.com. We will respond to your request in accordance with applicable law. -->
Depending on the law that applies, you may have a right to access and rectify or erase your personal data or receive a copy of your personal data, restrict or object to the active processing of your data, ask us to share (port) your personal information to another entity,withdraw any consent you provided to us to process your data, a right to lodge a complaint with a statutory authority and such other rights as may be relevant under applicable laws. {{% comment %}}<!-- To exercise these rights, you can write to us at privacy@gethinode.com. We will respond to your request in accordance with applicable law. -->{{% /comment %}}
Do note that if you do not allow us to collect or process the required personal information or withdraw the consent to process the same for the required purposes, you may not be able to access or use the services for which your information was sought.
@@ -40,8 +40,8 @@ The security of your information is important to us and we will use reasonable s
Our Service may contain links to other websites that are not operated by us. This Privacy Policy does not address the privacy policy and other practices of any third parties, including any third party operating any website or service that may be accessible via a link on the Service. We strongly advise you to review the privacy policy of every site you visit. We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
<!-- ## Grievance / Data Protection Officer
{{% comment %}}<!-- ## Grievance / Data Protection Officer
If you have any queries or concerns about the processing of your information that is available with us, you may email us at privacy@gethinode.com. We will address your concerns in accordance with applicable law. -->
If you have any queries or concerns about the processing of your information that is available with us, you may email us at privacy@gethinode.com. We will address your concerns in accordance with applicable law. -->{{% /comment %}}
*Privacy Policy generated with {{< link "https://www.cookieyes.com" >}}CookieYes{{< /link >}}.*

View File

@@ -19,17 +19,17 @@ Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap cou
À titre d'exemple, le shortcode suivant affiche le texte complet d'une abréviation lorsque survolé.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* abbr "CI/CD" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Accordéon
À titre d'exemple, le shortcode suivant affiche un accordéon avec trois éléments, dont le premier élément est déplié.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* accordion */>}}
{{</* accordion-item header="Élément d'accordéon #1" show="true" */>}}
@@ -43,25 +43,25 @@ Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap cou
{{</* /accordion-item */>}}
{{</* /accordion */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Alerte
À titre d'exemple, le shortcode suivant affiche une alerte simple.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* alert color="danger" dismissible="true" */>}}
Une simple alerte de danger — vérifiez-la !
{{</* /alert */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Badge
Utilisez le shortcode "badge" pour afficher un badge avec un en-tête.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example >}}
En-tête 1 {{</* badge title="Nouveau" */>}}
{.h1}
@@ -81,35 +81,35 @@ En-tête 5 {{</* badge title="Nouveau" */>}}
En-tête 6 {{</* badge title="Nouveau" */>}}
{.h6}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Fil d'Ariane
À titre d'exemple, le shortcode suivant affiche un fil d'Ariane pour la page du blog.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* breadcrumb path="blog" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Bouton
À titre d'exemple, le shortcode suivant affiche une infobulle pour un bouton sombre avec un badge.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button color="secondary" tooltip="Cliquez sur la boîte de réception pour voir vos messages non lus." href="#!" badge="99+" */>}}
Boîte de réception
{{</* /button */>}}
{{< /example>}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Groupe de boutons
À titre d'exemple, le shortcode suivant affiche un groupe de trois boutons.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button-group aria-label="Basic example" */>}}
{{</* button color="primary" href="#!" */>}}Gauche{{</* /button */>}}
@@ -117,26 +117,26 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
{{</* button color="primary" href="#!" */>}}Droite{{</* /button */>}}
{{</* /button-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Carte
À titre d'exemple, le shortcode suivant affiche une carte empilée qui renvoie à la page [à propos]({{% ref "about" %}}). Elle inclut un en-tête personnalisé.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
header="publication" footer="none" button=true /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Groupe de cartes
À titre d'exemple, le shortcode suivant affiche un groupe de cartes avec trois éléments.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* card-group padding="3" gutter="3" */>}}
{{</* card-group padding="3" gutter="3" button=true buttonType="link" cols=2 scroll=true */>}}
{{</* card title="Framework Bootstrap" icon="fab bootstrap" */>}}
Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site
avec les fichiers source Sass.
@@ -151,13 +151,13 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
{{</* /card */>}}
{{</* /card-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Carrousel
À titre d'exemple, le shortcode suivant affiche un carrousel centré avec trois slides, un rapport hauteur/largeur de 16:9 et une largeur relative de 67 % sur les grands écrans.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" */>}}
{{</* img src="img/coffee.jpg" caption="slide 1" */>}}
@@ -165,13 +165,13 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
{{</* img src="img/dunes.jpg" caption="slide 3" */>}}
{{</* /carousel */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Réduire
À titre d'exemple, le shortcode suivant affiche un bouton qui, lorsqu'il est cliqué, déclenche l'apparition ou la disparition d'un panneau.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button collapse="collapse-1" */>}}
Déclencher le panneau
@@ -182,23 +182,23 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
sera révélé lorsque l'utilisateur active le déclencheur correspondant.
{{</* /collapse */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Invite de commandes
Utilisez le shortcode `command` pour générer un bloc avec un invite de commandes bash par défaut.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* command */>}}
export MY_VAR=123
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
Spécifiez `user` et `host` pour ajouter le contexte de l'utilisateur à l'invite. De plus, utilisez `(out)` pour spécifier une ligne de sortie et utilisez `\` pour indiquer une continuation de ligne.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* command user="user" host="localhost" */>}}
export MY_VAR=123
@@ -212,7 +212,7 @@ echo "goodbye"
(out)goodbye
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Documentation
@@ -224,67 +224,67 @@ Utilisez le shortcode `docs` pour afficher le contenu d'un fichier `js`, `scss`
Utilisez le shortcode `example` pour afficher un exemple de code et pour afficher un aperçu de la même entrée.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* command */>}}
export MY_VAR=123
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Fichier
Utilisez le shortcode `file` pour afficher et mettre en évidence le contenu complet d'un fichier d'entrée donné.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* file path="./config/_default/languages.toml" id="file-collapse-1" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Icon
À titre d'exemple, les shortcodes suivants affichent une coche carrée, un logo de marque et une coche circulaire.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* fa square-check */>}}
{{</* fab linkedin */>}}
{{</* fas circle-check */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Image
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21:9.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="img/flowers.jpg" ratio="21x9" caption="Légende de l'image" class="rounded" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
À titre d'exemple, le shortcode suivant affiche une image vectorielle classique.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="/img/logo_icon.svg" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
À titre d'exemple, le shortcode suivant affiche une image vectorielle avec une référence de symbole.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="/img/logo_var.svg#logo" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Lien
À titre d'exemple, les shortcodes suivants rendent des liens dans différents formats.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
- {{</* link hinode >}}Lien nommé avec les paramètres par défaut{{< /link */>}}
@@ -298,28 +298,28 @@ Utilisez le shortcode `file` pour afficher et mettre en évidence le contenu com
- {{</* link url="../projects/another-project" case=false /*/>}}
- {{</* link "about" /*/>}}
- {{</* link "/en/about/" /*/>}}
- {{</* link "/en/about" >}}About (Anglais){{< /link */>}}
- {{</* link url="/en/about/" force=true >}}About (Anglais){{< /link */>}}
- {{</* link "#image" /*/>}}
- {{</* link "components/#map" /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Mark
Utilisez le shortcode `mark` pour mettre en évidence le texte. Le contenu interne est utilisé en tant qu'entrée.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
Utilisez le shortcode `mark` pour {{</* mark >}}mettre en évidence{{< /mark */>}} un texte spécifique.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Navigation
À titre d'exemple, le shortcode suivant affiche un groupe d'onglets avec des onglets alignés verticalement.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* nav type="pills" vertical="true" */>}}
{{</* nav-item header="Élément de navigation #1" show="true" */>}}
@@ -334,75 +334,75 @@ Utilisez le shortcode `mark` pour {{</* mark >}}mettre en évidence{{< /mark */>
{{</* /nav-item */>}}
{{</* /nav */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Barre de navigation
À titre d'exemple, le shortcode suivant affiche un en-tête de navigation clair.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* navbar id="navbar-sample" path="blog" color="primary" size="md" search="false" menus="sample" title="Marque" mode="false" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Publication
À titre d'exemple, le shortcode suivant affiche un bouton de publication par défaut.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* release version="v0.14.1" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Indicateur de chargement
À titre d'exemple, le raccourci suivant affiche un indicateur de chargement centré.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* spinner color="info" class="text-center" */>}}
Chargement...
{{</* /spinner */>}}
{{< /example>}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Sub
À titre d'exemple, le shortcode suivant affiche du texte en indice.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example >}}
H{{</* sub 2 */>}}O est un liquide.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Sup
À titre d'exemple, le shortcode suivant affiche du texte en exposant.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example >}}
2{{</* sup 10 */>}} équivaut à 1024.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Chronologie
À titre d'exemple, le shortcode suivant affiche une chronologie avec le fichier `data/timeline-fr.yml` en tant que données.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* timeline data="timeline-fr" background="dark" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Notification
À titre d'exemple, le shortcode suivant affiche un bouton qui, lorsqu'il est cliqué, déclenche le message de notification.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* button toast="toast-example-1" */>}}
Affiche la notification #1
@@ -420,14 +420,24 @@ H{{</* sub 2 */>}}O est un liquide.
Ceci est le deuxième message de notification. Il prend en charge le `markdown`.
{{</* /toast */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Infobulle
À titre d'exemple, le shortcode suivant affiche une infobulle pour un lien hypertexte coloré.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* tooltip color="primary" title="Légende de l'infobulle" href="#!" */>}}Démonstration{{</* /tooltip */>}} d'une infobulle
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Vidéo
À titre d'exemple, le shortcode suivant affiche une vidéo d'éléphant hébergée par Cloudinary.
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* video host="cloudinary" account="demo" id="elephants" autoplay=true */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}

View File

@@ -11,7 +11,7 @@ thumbnail:
authorURL: https://unsplash.com/@ryoji__iwata
origin: Unsplash
originURL: https://unsplash.com/photos/5siQcvSxCP8
modules: ["katex", "leaflet", "lottie"]
modules: ["leaflet", "lottie", "simple-datatables"]
---
Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{% relref "bootstrap-elements" %}}) courants. Consultez la [documentation officielle]({{% param "links.hinode_docs" %}}) pour plus de détails.
@@ -20,18 +20,61 @@ Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{% relre
À titre d'exemple, le shortcode suivant affiche une animation qui se déclenche au survol.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Data tables
À titre d'exemple, le shortcode suivant affiche un tableau réactif utilisant des contrôles avancés.
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
{{< example lang="markdown" >}}
{{</* table sortable="true" paging="true" searchable="true" pagingOptionPerPage=5 */>}}
| # | Heading |
|-----|---------|
| 1. | Item 1 |
| 2. | Item 2 |
| 3. | Item 3 |
| 4. | Item 4 |
| 5. | Item 5 |
| 6. | Item 6 |
| 7. | Item 7 |
| 8. | Item 8 |
| 9. | Item 9 |
| 10. | Item 10 |
| 11. | Item 11 |
| 12. | Item 12 |
| 13. | Item 13 |
| 14. | Item 14 |
| 15. | Item 15 |
| 16. | Item 16 |
| 17. | Item 17 |
| 18. | Item 18 |
| 19. | Item 19 |
| 20. | Item 20 |
| 21. | Item 21 |
| 22. | Item 22 |
| 23. | Item 23 |
| 24. | Item 24 |
| 25. | Item 25 |
| 26. | Item 26 |
| 27. | Item 27 |
| 28. | Item 28 |
| 29. | Item 29 |
| 30. | Item 30 |
{{</* /table */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Formule (KaTeX)
À titre d'exemple, le markdown suivant affiche deux formules en utilisant la bibliothèque de composition typographique KaTeX.
À titre dexemple, le markdown suivant affiche deux formules en utilisant la bibliothèque de composition typographique KaTeX.
{{< example lang="markdown" >}}
Voici une formule en ligne $-b \pm \sqrt{b^2 - 4ac} \over 2a$.
{{{< example lang="markdown" >}}
Voici une formule $-b \pm \sqrt{b^2 - 4ac} \over 2a$ en ligne
Il s'agit d'une formule non en ligne:
@@ -43,8 +86,8 @@ $$\forall x \in X, \quad \exists y \leq \epsilon$$
À titre d'exemple, le shortcode suivant affiche une carte interactive de la ville d'Amsterdam.
<!-- markdownlint-disable MD037 -->
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* map lat=52.377 long=4.90 zoom=13 popup="Gare centrale d'Amsterdam" popup-lat=52.378062 popup-long=4.900562 */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}

View File

@@ -0,0 +1,42 @@
---
author: Mark Dumay
title: Images locales et distantes
date: 2024-05-19
description: Inclure des images responsives provenant de sources locales et de certains fournisseurs de CDN d'images.
tags: ["blog"]
thumbnail:
url: https://assets.imgix.net/examples/bluehat.jpg
---
## Cloudinary
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21x9.
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="https://res.cloudinary.com/demo/dog.webp"
ratio="21x9" caption="Image Cloudinary" class="rounded" plain=true */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## ImageKit.io
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21x9.
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="https://ik.imagekit.io/demo/default-image.jpg"
ratio="21x9" caption="Image ImageKit.io" class="rounded" anchor="Center" */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Imgix
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21x9.
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* image src="https://assets.imgix.net/examples/bluehat.jpg"
ratio="21x9" caption="Image imgix" class="rounded" anchor="Top" */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}

View File

@@ -0,0 +1,44 @@
---
title: Politique de Cookies
description: Politique de cookies de gethinode.com
date: 2024-09-19
layout: docs
---
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
*Date d'entrée en vigueur : 19-Sep-2024*
## Que sont les cookies ?
Cette Politique de Cookies explique ce que sont les cookies et comment nous les utilisons, les types de cookies que nous utilisons, c'est-à-dire les informations que nous collectons à l'aide des cookies, la manière dont ces informations sont utilisées, et comment gérer les paramètres des cookies.
Les cookies sont de petits fichiers texte utilisés pour stocker de petites quantités d'informations. Ils sont stockés sur votre appareil lorsque le site web se charge dans votre navigateur. Ces cookies nous aident à faire fonctionner le site correctement, à le rendre plus sécurisé, à offrir une meilleure expérience utilisateur, à comprendre comment le site fonctionne et à analyser ce qui fonctionne et ce qui doit être amélioré.
## Comment utilisons-nous les cookies ?
Comme la plupart des services en ligne, notre site web utilise des cookies de première partie et de tierce partie pour plusieurs raisons. Les cookies de première partie sont principalement nécessaires pour que le site web fonctionne correctement et ne collectent aucune de vos données personnelles identifiables.
Les cookies de tierce partie utilisés sur notre site web servent principalement à comprendre les performances du site, à savoir comment vous interagissez avec notre site, à maintenir la sécurité de nos services, à diffuser des publicités pertinentes pour vous, et dans lensemble à vous offrir une meilleure expérience utilisateur et à accélérer vos interactions futures avec notre site.
## Types de cookies que nous utilisons
{{< cky-audit >}}
## Gérer les préférences des cookies
{{< cky-banner >}}
Vous pouvez modifier vos préférences en matière de cookies à tout moment en cliquant sur le bouton ci-dessus. Cela vous permettra de revoir la bannière de consentement aux cookies et de modifier vos préférences ou de retirer votre consentement immédiatement.
En plus de cela, les différents navigateurs offrent différentes méthodes pour bloquer et supprimer les cookies utilisés par les sites web. Vous pouvez modifier les paramètres de votre navigateur pour bloquer/supprimer les cookies. Vous trouverez ci-dessous les liens vers les documents de support sur la gestion et la suppression des cookies des principaux navigateurs web.
Chrome : https://support.google.com/accounts/answer/32050
Safari : https://support.apple.com/fr-fr/guide/safari/sfri11471/mac
Firefox : https://support.mozilla.org/fr/kb/effacer-cookies-donnees-sites-firefox
Internet Explorer : https://support.microsoft.com/fr-fr/topic/supprimer-les-fichiers-cookies-dans-internet-explorer-bca9446f-d873-78de-77ba-d42645fa52fc
Si vous utilisez un autre navigateur, veuillez consulter les documents d'assistance officiels de votre navigateur.
*Politique de Cookies générée par {{< link "https://www.cookieyes.com" >}}CookieYes - Générateur de Politique de Cookies{{< /link >}}.*

View File

@@ -0,0 +1,46 @@
---
title: Politique de Confidentialité
description: Politique de confidentialité de gethinode.com
date: 2024-09-19
layout: docs
---
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
*Date d'entrée en vigueur : 19-Sep-2024*
Cette Politique de Confidentialité décrit les politiques de gethinode.com concernant la collecte, l'utilisation et la divulgation de vos informations que nous collectons lorsque vous utilisez notre site web (https://gethinode.com, désigné comme le « Service »). En accédant ou en utilisant le Service, vous consentez à la collecte, à l'utilisation et à la divulgation de vos informations conformément à cette Politique de Confidentialité. Si vous ne consentez pas à cela, veuillez ne pas accéder ou utiliser le Service.
Nous pouvons modifier cette Politique de Confidentialité à tout moment sans préavis préalable et publierons la Politique de Confidentialité révisée sur le Service. La Politique révisée sera effective 180 jours après sa publication sur le Service et votre accès ou utilisation continu(e) du Service après ce délai constituera votre acceptation de la Politique de Confidentialité révisée. Nous vous recommandons donc de consulter régulièrement cette page.
## Comment nous partageons vos informations
Nous ne transférerons pas vos informations personnelles à des tiers sans obtenir votre consentement, sauf dans les circonstances limitées décrites ci-dessous :
- Analyses
Nous demandons à ces tiers d'utiliser les informations personnelles que nous leur transférons uniquement aux fins pour lesquelles elles ont été transférées et de ne pas les conserver plus longtemps que nécessaire pour accomplir cet objectif.
Nous pouvons également divulguer vos informations personnelles pour les raisons suivantes : (1) pour se conformer aux lois, règlements, ordonnances judiciaires ou autres procédures légales applicables ; (2) pour faire respecter vos accords avec nous, y compris cette Politique de Confidentialité ; ou (3) pour répondre à des réclamations selon lesquelles votre utilisation du Service viole les droits de tiers. Si le Service ou notre société est fusionné ou acquis par une autre entreprise, vos informations seront l'un des actifs transférés au nouveau propriétaire.
## Vos droits
Selon les lois applicables, vous pouvez avoir le droit d'accéder à vos données personnelles, de les rectifier ou de les effacer, de recevoir une copie de vos données personnelles, de restreindre ou de vous opposer au traitement actif de vos données, de nous demander de partager (transférer) vos informations personnelles à une autre entité, de retirer tout consentement que vous nous avez donné pour traiter vos données, un droit de porter plainte auprès d'une autorité statutaire et d'autres droits pertinents en vertu des lois applicables. {{% comment %}}<!-- Pour exercer ces droits, vous pouvez nous écrire à privacy@gethinode.com. Nous répondrons à votre demande conformément aux lois applicables. -->{{% /comment %}}
Notez que si vous ne nous autorisez pas à collecter ou traiter les informations personnelles requises, ou si vous retirez votre consentement pour traiter celles-ci pour les fins requises, vous pourriez ne pas être en mesure d'accéder ou d'utiliser les services pour lesquels vos informations ont été demandées.
## Cookies, etc.
Pour en savoir plus sur la manière dont nous utilisons ces technologies de suivi et vos choix à leur égard, veuillez consulter notre {{< link "cookies" >}}Politique/Paramètres des Cookies{{< /link >}}.
## Sécurité
La sécurité de vos informations est importante pour nous et nous utiliserons des mesures de sécurité raisonnables pour prévenir la perte, l'utilisation abusive ou l'altération non autorisée de vos informations sous notre contrôle. Cependant, compte tenu des risques inhérents, nous ne pouvons garantir une sécurité absolue et par conséquent, nous ne pouvons garantir la sécurité des informations que vous nous transmettez ; vous le faites à vos propres risques.
## Liens vers des tiers et utilisation de vos informations
Notre Service peut contenir des liens vers d'autres sites web qui ne sont pas exploités par nous. Cette Politique de Confidentialité ne couvre pas la politique de confidentialité et les autres pratiques de tout tiers, y compris tout tiers exploitant tout site ou service qui pourrait être accessible via un lien sur le Service. Nous vous conseillons fortement de consulter la politique de confidentialité de chaque site que vous visitez. Nous n'avons aucun contrôle sur le contenu, les politiques de confidentialité ou les pratiques des sites ou services de tiers et déclinons toute responsabilité à cet égard.
{{% comment %}}<!-- ## Responsable des plaintes / Protection des données
Si vous avez des questions ou des préoccupations concernant le traitement de vos informations dont nous disposons, vous pouvez nous envoyer un e-mail à privacy@gethinode.com. Nous répondrons à vos préoccupations conformément aux lois applicables. -->{{% /comment %}}
*Politique de Confidentialité générée avec {{< link "https://www.cookieyes.com" >}}CookieYes{{< /link >}}.*

View File

@@ -0,0 +1,92 @@
---
author: Mark Dumay
title: Componenten
date: 2023-09-23
description: Gebruik shortcodes om diverse componenten vanuit een externe softwarebibliotheek toe te voegen.
tags: ["bootstrap", "shortcode"]
thumbnail:
url: img/puzzle.jpg
author: Ryoji Iwata
authorURL: https://unsplash.com/@ryoji__iwata
origin: Unsplash
originURL: https://unsplash.com/photos/5siQcvSxCP8
modules: ["leaflet", "lottie", "simple-datatables"]
---
Hinode bevat meerdere shortcodes naast de generieke Bootstrap elementen. Zie de [officiële documentatie]({{% param "links.hinode_docs" %}}) voor meer informatie.
## Animatie
Het volgende voorbeeld gebruikt een shortcode om een animatie te tonen, die afspeelt zodra je er met de muis overheen beweegt.
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
## Gegevenstabellen
Het volgende voorbeeld gebruikt een shortcode om een responsieve tabel met geavanceerde mogelijkheden te tonen.
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
{{< example lang="markdown" >}}
{{</* table sortable="true" paging="true" searchable="true" pagingOptionPerPage=5 */>}}
| # | Kop |
|-----|---------|
| 1. | Item 1 |
| 2. | Item 2 |
| 3. | Item 3 |
| 4. | Item 4 |
| 5. | Item 5 |
| 6. | Item 6 |
| 7. | Item 7 |
| 8. | Item 8 |
| 9. | Item 9 |
| 10. | Item 10 |
| 11. | Item 11 |
| 12. | Item 12 |
| 13. | Item 13 |
| 14. | Item 14 |
| 15. | Item 15 |
| 16. | Item 16 |
| 17. | Item 17 |
| 18. | Item 18 |
| 19. | Item 19 |
| 20. | Item 20 |
| 21. | Item 21 |
| 22. | Item 22 |
| 23. | Item 23 |
| 24. | Item 24 |
| 25. | Item 25 |
| 26. | Item 26 |
| 27. | Item 27 |
| 28. | Item 28 |
| 29. | Item 29 |
| 30. | Item 30 |
{{</* /table */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 MD058 -->{{% /comment %}}
## Formule (KaTeX)
Het volgende voorbeeld gebruikt Markdown om twee formules met behulp van KaTeX op de server te genereren.
{{< example lang="markdown" >}}
Dit is een inline $-b \pm \sqrt{b^2 - 4ac} \over 2a$ formule
Dit is geen inline formule:
$$x = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + a_4}}}$$
$$\forall x \in X, \quad \exists y \leq \epsilon$$
{{< /example >}}
## Kaart
Het volgende voorbeeld gebruikt een shortcode om een interactieve kaart van Amsterdam te tonen.
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
{{< example lang="hugo" >}}
{{</* map lat=52.377 long=4.90 zoom=13 popup="Amsterdam Central Station" popup-lat=52.378062 popup-long=4.900562 */>}}
{{< /example >}}
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}

View File

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

View File

@@ -1,2 +1,2 @@
github.com/gethinode/mod-cookieyes/v2 v2.2.2 h1:VNIdbZnzXw/0Jito/IcDNqQ9yRYLCGrDwyrMqtSJgE4=
github.com/gethinode/mod-cookieyes/v2 v2.2.2/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
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=

View File

@@ -14,7 +14,6 @@
"footer",
"form",
"h2",
"h3",
"head",
"hr",
"html",
@@ -22,6 +21,7 @@
"iframe",
"img",
"input",
"ins",
"label",
"li",
"link",
@@ -64,6 +64,7 @@
"use"
],
"classes": [
"%!s(<nil>)",
"accordion",
"accordion-body",
"accordion-button",
@@ -206,6 +207,7 @@
"fa-2xs",
"fa-4x",
"fa-activity",
"fa-angle-left",
"fa-arrow-left",
"fa-arrow-right",
"fa-bootstrap",
@@ -249,6 +251,7 @@
"font-monospace",
"footer",
"form-control",
"fs-2",
"fs-3",
"fs-5",
"fs-6",
@@ -315,7 +318,7 @@
"mt-5",
"mt-auto",
"mt-md-0",
"multi-docs-collapse-15",
"multi-docs-collapse-41",
"multi-file-collapse-1",
"mx-auto",
"mx-md-0",
@@ -354,7 +357,6 @@
"p-2",
"p-3",
"p-4",
"pb-2",
"pb-3",
"pb-4",
"pb-5",
@@ -370,6 +372,7 @@
"ps-1",
"ps-3",
"pt-1",
"pt-4",
"pt-5",
"pt-md-3",
"ptw-3",
@@ -466,6 +469,8 @@
"toast-header",
"toc",
"toc-button",
"toc-item",
"toc-level-1",
"toc-panel",
"toc-sidebar",
"toggler-icon",
@@ -482,7 +487,6 @@
"w-50"
],
"ids": [
"TableOfContents",
"abbr",
"accordion",
"accordion-0",
@@ -495,11 +499,12 @@
"accordéon",
"alert",
"alerte",
"animatie",
"animation",
"badge",
"barre-de-navigation",
"blog",
"body-docs-collapse-15",
"body-docs-collapse-41",
"body-file-collapse-1",
"bouton",
"breadcrumb",
@@ -516,6 +521,8 @@
"collapse",
"collapse-1",
"command-prompt",
"comment-nous-partageons-vos-informations",
"comment-utilisons-nous-les-cookies-",
"cookies-etc",
"custom-activity",
"data-tables",
@@ -556,12 +563,14 @@
"fichier",
"fil-dariane",
"file",
"footer-docs-collapse-15",
"footer-docs-collapse-41",
"footer-file-collapse-1",
"formula-katex",
"formule-katex",
"gegevenstabellen",
"groupe-de-boutons",
"groupe-de-cartes",
"gérer-les-préférences-des-cookies",
"how-do-we-use-cookies",
"how-we-share-your-information",
"icon",
@@ -570,23 +579,26 @@
"imgix",
"indicateur-de-chargement",
"infobulle",
"ins",
"invite-de-commandes",
"kaart",
"language-selector",
"leaflet-map-0",
"lien",
"liens-vers-des-tiers-et-utilisation-de-vos-informations",
"link",
"lottie-animation-0",
"manage-cookie-preferences",
"map",
"mark",
"nav",
"nav-0",
"nav-0-0",
"nav-0-1",
"nav-0-2",
"nav-0-btn-0",
"nav-0-btn-1",
"nav-0-btn-2",
"nav-nav-0",
"navbar",
"navbar-0-collapse",
"navbar-mode",
@@ -599,12 +611,14 @@
"projects",
"projets",
"publication",
"que-sont-les-cookies-",
"release",
"réduire",
"security",
"spinner",
"sub",
"sup",
"sécurité",
"table",
"third-party-links--use-of-your-information",
"timeline",
@@ -616,12 +630,13 @@
"toast-message-email-4",
"toc-collapse",
"tooltip",
"types-de-cookies-que-nous-utilisons",
"types-of-cookies-we-use",
"video",
"vimeo",
"vio",
"vos-droits",
"what-are-cookies",
"your-rights",
"youtube"
"your-rights"
]
}
}

20
go.mod
View File

@@ -4,16 +4,16 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/gethinode/mod-bootstrap v1.3.1 // indirect
github.com/gethinode/mod-csp v1.0.3 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
github.com/gethinode/mod-fontawesome v1.10.0 // indirect
github.com/gethinode/mod-google-analytics v1.1.3 // indirect
github.com/gethinode/mod-katex v1.1.2 // indirect
github.com/gethinode/mod-leaflet v1.2.0 // indirect
github.com/gethinode/mod-lottie v1.5.11 // indirect
github.com/gethinode/mod-simple-datatables v1.0.14 // indirect
github.com/gethinode/mod-utils/v2 v2.8.3 // indirect
github.com/gethinode/mod-bootstrap v1.3.2 // indirect
github.com/gethinode/mod-csp v1.0.7 // indirect
github.com/gethinode/mod-flexsearch/v2 v2.1.0 // indirect
github.com/gethinode/mod-fontawesome v1.10.1 // 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.13 // indirect
github.com/gethinode/mod-simple-datatables v1.1.7 // indirect
github.com/gethinode/mod-utils/v2 v2.9.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
)

60
go.sum
View File

@@ -24,6 +24,8 @@ github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+
github.com/gethinode/mod-bootstrap v1.3.0/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.1 h1:ZUX72St0WZ5tyXpEPBJlayX/dmCH3cGErzsozkUKCok=
github.com/gethinode/mod-bootstrap v1.3.1/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.2 h1:mf9Qgr+xHZeHjZGYFdurETfdEKKldB158fpjH0GoaNU=
github.com/gethinode/mod-bootstrap v1.3.2/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
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=
@@ -32,6 +34,14 @@ github.com/gethinode/mod-csp v1.0.2 h1:KX8EeoCGbHhGSo5r0YIa9BmPZ6S6v7L9CChTejREk
github.com/gethinode/mod-csp v1.0.2/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.3 h1:tRmnuVZ3UpCc9HR8qsAwbU0OJ/UsNVSbse0SZuwGcCg=
github.com/gethinode/mod-csp v1.0.3/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.4 h1:ChI+DMkkkCF5tKs+K9VSqdsXPS01/QANQiJ2LoJp10o=
github.com/gethinode/mod-csp v1.0.4/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.5 h1:Ypdzw26iQ9/4sAgHvwFY1mg/EMoLrcI2knvVmHq2Ffs=
github.com/gethinode/mod-csp v1.0.5/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.6 h1:ufEKQldQe9ZCXbENTpwqVlYnPRgVv3WDhPjur5OLUEA=
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-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=
@@ -82,6 +92,12 @@ github.com/gethinode/mod-flexsearch v1.12.1 h1:clkGUWaNPe9Dt/66Apy7oH9NwVQfnD6Op
github.com/gethinode/mod-flexsearch v1.12.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch/v2 v2.0.1 h1:5unGUSb1tX1LBtKygnLfdt7CnVJuFKSt6VXiKRxdojc=
github.com/gethinode/mod-flexsearch/v2 v2.0.1/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.0.2 h1:5FkLbjORwKvK544H/yaAltyIB7eptRPxxh5VcfDDeqM=
github.com/gethinode/mod-flexsearch/v2 v2.0.2/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.0.3 h1:lC4UN9DPYyj3lsRm86Rt+kKx2DmAS10dOxbM/1H8fVw=
github.com/gethinode/mod-flexsearch/v2 v2.0.3/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.1.0 h1:NzCruYAKQBMM1DwFFoH7/tzqmItR6sKByMHZWRaRiRk=
github.com/gethinode/mod-flexsearch/v2 v2.1.0/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
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=
@@ -126,6 +142,8 @@ github.com/gethinode/mod-fontawesome v1.9.1 h1:cQk84vriqffM4fuUUoM9j3SSD+3ppeW2j
github.com/gethinode/mod-fontawesome v1.9.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.10.0 h1:Izs2AKc+YVBa1TywcH54OKLTNCUMXRoFIqOs+n0FgOo=
github.com/gethinode/mod-fontawesome v1.10.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.10.1 h1:gXQ75VXI+a0W2ALkAFHd/QFQ/VoZR6eujX0Hm7DkG94=
github.com/gethinode/mod-fontawesome v1.10.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
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=
@@ -140,6 +158,18 @@ github.com/gethinode/mod-google-analytics v1.1.2 h1:mcoqaRRorut+PxYxJnOEMfKIlVII
github.com/gethinode/mod-google-analytics v1.1.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.3 h1:24qxV5vKIex3zSdow+5r0o8rox1lrO31oGi0/XusBy4=
github.com/gethinode/mod-google-analytics v1.1.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.4 h1:GkLzbSdVIMLWSQ4VOSaJZIKyofmVCzueiuiGc29jQOM=
github.com/gethinode/mod-google-analytics v1.1.4/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.5 h1:wlOcgwNEJAnIQmPJIo3cT06xnr1dxN/ydUIztoC/7rM=
github.com/gethinode/mod-google-analytics v1.1.5/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.6 h1:0eNIM4NTzXnnRHMM04IVnYPPGwbMAmit6fjuUuCQv2I=
github.com/gethinode/mod-google-analytics v1.1.6/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.9 h1:ld3bRGiJiUCfe/deH+4vOP3oZNhG6mPssT254EcK0Ro=
github.com/gethinode/mod-google-analytics v1.1.9/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.0 h1:R9oRB6nbFDwLsNmIhxlcmUVH4JE1kvcmbOloKSHhiIQ=
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-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=
@@ -164,6 +194,8 @@ github.com/gethinode/mod-katex v1.1.1 h1:z8+mfVI6UTWcfpQMVPIzxQzt6Lp9BcmXxSOILQ8
github.com/gethinode/mod-katex v1.1.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.2 h1:TbeVIWeG5TqldlVxpM1upOWj11RljXy4fhpOQIwOnS4=
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-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=
@@ -186,6 +218,8 @@ github.com/gethinode/mod-leaflet v1.1.1 h1:AIHR4k8SjmeoZxtjLgSS6/N3jKeZNZGdZTgu/
github.com/gethinode/mod-leaflet v1.1.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.2.0 h1:5q5LHmGNi9N4cdRDCsl/6oI8vY3oQ2ogNUjP3NCnk4Y=
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-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=
@@ -236,6 +270,10 @@ github.com/gethinode/mod-lottie v1.5.10 h1:tYFgk74T9zWy2FRkfkRI+8QVQy6lnuABnTeWQ
github.com/gethinode/mod-lottie v1.5.10/go.mod h1:L7NpvCAm04R59GSAAm/UFoDCs/6UtrIC5zQEjgQSr4k=
github.com/gethinode/mod-lottie v1.5.11 h1:xhxBPDS0iyUY+C1ANaD5EeQV7fO1FG0wMoCjgrCMi/0=
github.com/gethinode/mod-lottie v1.5.11/go.mod h1:6FKqk8c+Jkbk2udCxUKVLF1K1wrGwthPsOvRzeoPXRQ=
github.com/gethinode/mod-lottie v1.5.12 h1:ny+5DfxWpgRPszhrSUqg+BcNt05ai1OvPAEgCuioFnA=
github.com/gethinode/mod-lottie v1.5.12/go.mod h1:0WZP8x7duK/AIZ8fWdZNRnteG03kYfLtsaph7z1mdOg=
github.com/gethinode/mod-lottie v1.5.13 h1:Vth/OZDjfBZ9Kz5ew3tXGj9tU6w4StIta6qgfa1daZo=
github.com/gethinode/mod-lottie v1.5.13/go.mod h1:tMFSUW9z3kC8IvDfs1ph9MGjuZFRBrpCnpodrwY+L4w=
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=
@@ -260,6 +298,20 @@ github.com/gethinode/mod-simple-datatables v1.0.13 h1:3GTn46Zh56SFzCUP7CUSrmp/Zo
github.com/gethinode/mod-simple-datatables v1.0.13/go.mod h1:a2qIdYegX5gBubGbspuHv/2UA/8O89oUG/U5hd7jLK8=
github.com/gethinode/mod-simple-datatables v1.0.14 h1:332WtbaQtTm7VP0b7zYfpogTBcOEetkJrNd01K4d/JE=
github.com/gethinode/mod-simple-datatables v1.0.14/go.mod h1:mP3yjAdVE1G6JHfv8VVsRmvaPlPwddXknI675AuVs2I=
github.com/gethinode/mod-simple-datatables v1.1.0 h1:Qc8eJOcVjxIHNfgrZf/bKe8+spCLrJTVwsC8d9ct7i0=
github.com/gethinode/mod-simple-datatables v1.1.0/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.1 h1:rzX3+rsOfcW9Z8wiQ1Fp6Ry5TkcJ0nG849xKzjDBbGE=
github.com/gethinode/mod-simple-datatables v1.1.1/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.3 h1:a+uIfgc6c+9Zc38Q+Kzd3cWeFhC8BW/rP9/rnd2/ZKM=
github.com/gethinode/mod-simple-datatables v1.1.3/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.4 h1:8+uwaEBoh8N2T2sHlcIcxqAGaHPqT0YhPBmr2SFWBCY=
github.com/gethinode/mod-simple-datatables v1.1.4/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.5 h1:DKJ+aR94mekzcDwOnm6MJ/+MjAzal+GSYQXSdn0HRdc=
github.com/gethinode/mod-simple-datatables v1.1.5/go.mod h1:bvMdmQFk4Hvyltf/QhMqUaApvPbIGTnbI3JLjOEh8go=
github.com/gethinode/mod-simple-datatables v1.1.6 h1:7nPeRwHlYbmlNEg7fBV6FyXqpxWW6ZAemaZyYxpIF8U=
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-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=
@@ -324,6 +376,14 @@ github.com/gethinode/mod-utils/v2 v2.8.2 h1:rKndAMmRBSO5Cgoa/2CvF5XchDSvLvd4TYAb
github.com/gethinode/mod-utils/v2 v2.8.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.3 h1:t1MJcIdFhYi0gCkm8f0DYZwyfq7pRdRc0eNpqZa11ic=
github.com/gethinode/mod-utils/v2 v2.8.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.4 h1:ZBkIxFezFz2IrbTt0Y3Nq5ac7klU5N8TY19Qnj5px4M=
github.com/gethinode/mod-utils/v2 v2.8.4/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.5 h1:e71ncO2NYpum7JTdNTwb0lw8aDe8Zc64Ehjavy8x9xM=
github.com/gethinode/mod-utils/v2 v2.8.5/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.6 h1:gtTtL37YPq1n/POIzbj40aYOg1VaZq8IjqwSf2V5yo0=
github.com/gethinode/mod-utils/v2 v2.8.6/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.9.0 h1:IGaYO+DNo7CcplyAUJASP1sf10/EqiG8sVVM1Q4SJKc=
github.com/gethinode/mod-utils/v2 v2.9.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=

View File

@@ -63,6 +63,8 @@
"d-inline",
"d-md-block",
"d-none",
"d-sm-block",
"d-sm-none",
"display-1",
"display-4",
"emphasis",
@@ -70,6 +72,7 @@
"fa",
"fa-10x",
"fa-2x",
"fa-angle-left",
"fa-book-open",
"fa-ellipsis",
"fa-face-frown",
@@ -177,6 +180,7 @@
"fab-github",
"fab-linkedin",
"fab-medium",
"fas-angle-left",
"fas-book-open",
"fas-ellipsis",
"fas-moon",

View File

@@ -155,3 +155,7 @@
translation: Tipp
- id: warning
translation: Warnung
# Image
- id: image
translation: Bild

View File

@@ -161,3 +161,7 @@
translation: Tip
- id: warning
translation: Warning
# Image
- id: image
translation: image

View File

@@ -149,3 +149,19 @@
translation: "Commentaire"
- id: supportedValues
translation: "Valeurs supportées"
# Alerts
- id: caution
translation: Prudence
- id: important
translation: Important
- id: note
translation: Remarque
- id: tip
translation: Astuce
- id: warning
translation: Attention
# Image
- id: image
translation: image

View File

@@ -160,3 +160,7 @@
translation: Tip
- id: warning
translation: Waarschuwing
# Image
- id: image
translation: Bild

View File

@@ -1,11 +1,11 @@
{{ with transform.ToMath .Inner (dict "displayMode" true) }}
{{ with try (transform.ToMath .Inner (dict "displayMode" true)) }}
{{ with .Err }}
{{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }}
{{ else }}
{{ if $.Attributes.class }}
<div class="{{ $.Attributes.class }}">{{ . }}</div>
{{ else }}
{{ . }}
{{ .Value }}
{{ end }}
{{ end }}
{{ end }}

View File

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

View File

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

View File

@@ -4,10 +4,10 @@
{{ $opts = dict "displayMode" true }}
{{ end }}
{{ with transform.ToMath .Inner $opts }}
{{ with try (transform.ToMath .Inner $opts) }}
{{ with .Err }}
{{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }}
{{ else }}
{{ . }}
{{ .Value }}
{{ end }}
{{ end }}

View File

@@ -7,8 +7,10 @@
{{ $attr = merge $attr (dict "class" (trim (delimit ($class | append "table") " ") " ")) }}
{{ end }}
{{ $wrap := in $class "table-wrap" }}
{{ $align := dict "left" "start" "center" "center" "right" "end" }}
{{ $header := "" }}
<table
{{- range $k, $v := $attr }}
{{- if $v }}
@@ -17,6 +19,19 @@
{{- end }}>
<thead>
{{- range .THead }}
{{ $length := len . }}
{{ if $wrap }}
<tr>
{{- range . | first (sub $length 1) }}
<th {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
{{- .Text -}}
</th>
{{- end }}
{{- range . | last 1 }}
{{ $header = .Text }}
{{ end }}
</tr>
{{ else }}
<tr>
{{- range . }}
<th {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
@@ -24,17 +39,36 @@
</th>
{{- end }}
</tr>
{{ end }}
{{- end }}
</thead>
<tbody>
{{- range .TBody }}
{{ $length := len . }}
{{ if $wrap }}
<tr>
{{- range . }}
<td {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
{{- range . | first (sub $length 1) }}
<td class="{{ with .Alignment }}text-{{ index $align . }}{{ end }} table-border-bottom-wrap">
{{- .Text -}}
</td>
{{- end }}
</tr>
<tr>
{{- range . | last 1 }}
<td class="{{ with .Alignment }}text-{{ index $align . }}{{ end }}" colspan="{{ (sub $length 1) }}">
{{- .Text -}}
</td>
{{ end }}
</tr>
{{ else }}
<tr>
{{- range . }}
<td {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
{{- .Text -}}
</td>
{{- end }}
</tr>
{{ end }}
{{- end }}
</tbody>
</table>

View File

@@ -2,11 +2,13 @@
{{- $fullCover := $.Scratch.Get "fullCover" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{- $layout := .Params.layout -}}
{{- $title := .Title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col-12 col-{{ $breakpoint.current }}-9">
{{ if not .IsHome }}
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ with $title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ end }}
{{ if (.Params.menu) }}
{{- partial "assets/section-menu.html" (dict "page" .) -}}

View File

@@ -12,7 +12,10 @@
{{- errorf "layout [_default/single/header.html] - Invalid value for param 'metadata': %s" $metadata -}}
{{- end -}}
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ $title := .Title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ with $title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ if ne $metadata "none" }}
<small class="text-body-secondary text-uppercase">
{{ if .Date }}

View File

@@ -1,3 +1,6 @@
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ $title := .Title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ with $title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ partial "assets/sharing.html" (dict "page" .) }}
<p class="lead mb-5">{{ .Description }}</p>

View File

@@ -1,3 +1,6 @@
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ $title := .Title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ with $title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ partial "assets/sharing.html" (dict "page" .) }}
<p class="lead mb-5">{{ .Description }}</p>

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,11 +1,21 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $error := false }}
<!-- Limits a title to a maximum of 33 runes, adds a "..." suffix otherwise -->
{{ define "partials/short-title.html" }}
{{- $title := . -}}
{{ if gt (strings.RuneCount $title) 33 }}
{{ $title = print (substr $title 0 30) "..." }}
{{ end }}
{{ return $title }}
{{ end }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "breadcrumb" "args" . "group" "partial") }}
{{- errorf "partial [assets/breadcrumb.html] - Invalid arguments" -}}
@@ -13,23 +23,50 @@
{{ end }}
<!-- Initialize arguments -->
{{ $page := .page }}
{{- $page := .page -}}
{{- $breakpoint := $page.Scratch.Get "breakpoint" -}}
<!-- Include breadcrumb items that have both a title and address -->
{{ $items := slice }}
{{- range $index, $item := $page.Ancestors.Reverse -}}
{{- $title := .LinkTitle -}}
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{- $address := or .RelPermalink .Params.Redirect -}}
{{ if and $title $address}}
{{ $items = $items | append (dict "title" $title "address" $address) }}
{{ end }}
{{ end }}
<!-- Main code -->
{{ if not $error }}
<nav aria-label="breadcrumb">
<nav aria-label="breadcrumb" class="d-{{ $breakpoint.prev }}-none">
<ol class="breadcrumb">
{{- range $index, $item := $page.Ancestors.Reverse -}}
{{- $title := .LinkTitle -}}
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
{{- $address := or .RelPermalink .Params.Redirect -}}
{{ if $address }}
<li class="breadcrumb-item"><a href="{{ $address }}">{{ $title }}</a></li>
{{ else }}
<li class="breadcrumb-item">{{ $title }}</li>
{{ end }}
{{- $length := len $items -}}
{{- if gt $length 0 -}}
{{ $item := index $items (sub $length 1) }}
<li class="breadcrumb-item">
<a href="{{ $item.address }}">
{{ partial "assets/icon.html" (dict "icon" "fas angle-left") }}&nbsp;{{ partial "short-title" $item.title }}
</a>
</li>
{{- end -}}
<li class="breadcrumb-item active" aria-current="page">{{ $page.LinkTitle }}</li>
</ol>
</nav>
<nav aria-label="breadcrumb" class="d-none d-{{ $breakpoint.prev }}-block">
<ol class="breadcrumb">
{{- $length := len $items }}
{{- range $index, $item := $items -}}
{{ $title := $item.title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
<li class="breadcrumb-item"><a href="{{ $item.address }}">{{ $title }}</a></li>
{{- end -}}
<li class="breadcrumb-item active" aria-current="page">
{{ $title := $page.LinkTitle }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ $title }}
</li>
</ol>
</nav>
{{ end }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -25,6 +25,9 @@
)}}
{{ end }}
<!-- Initialize global variables -->
{{- $pretty := site.Params.main.internalLinks.pretty | default false }}
<!-- Initialize local variables -->
{{ $list := $args.list }}
{{- $class := $args.class -}}
@@ -64,6 +67,8 @@
{{ $paginator = $args.page.Paginate $list }}
{{ end }}
{{ $list = first $paginator.PagerSize (after (mul (sub $paginator.PageNumber 1) $paginator.PagerSize) $list) }}
{{ page.Store.Set "paginator" $paginator }}
{{ end }}
<!-- Initialize list elements -->
@@ -143,7 +148,7 @@
"style" $args.style
"align" $args.align
"button" $args.button
"buttonLabel" $args.buttonLabel
"buttonLabel" $element.buttonLabel
"buttonType" $args.buttonType
"iconRounded" $args.iconRounded
) -}}
@@ -177,7 +182,11 @@
{{- end -}}
{{ else }}
{{ if and (gt $count $max) $args.hrefTitle }}
<a class="btn btn-outline-primary mt-4" href="{{ $args.href| safeURL }}" role="button">{{ $args.hrefTitle }}</a>
{{ $href := $args.href }}
{{ if and $pretty (not (hasSuffix $href "/" )) (not (strings.Contains $href "#")) }}
{{ $href = printf "%s/" $href }}
{{ end }}
<a class="btn btn-outline-primary mt-4" href="{{ $href | safeURL }}" role="button">{{ $args.hrefTitle }}</a>
{{ end }}
{{ end }}
</div>

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -86,6 +86,8 @@
{{- if eq $body "title" }}{{ $description = "" }}{{ end -}}
{{- if eq $body "none" }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
<!-- Inline partial to render the card's body -->
{{- define "partials/card-body.html" -}}
{{- $title := .title -}}
@@ -177,7 +179,20 @@
<div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}">
{{- if $thumbnail -}}
<div class="{{ $col1 }}">
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "portrait" $portrait "sizes" $sizes "anchor" $anchor "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
{{ $fullHeight := "card-img-h100" }}
{{ $rounding := "rounded-start" }}
{{ if eq (lower (path.Ext $thumbnail)) ".svg" }}{{ $fullHeight = "" }}{{ $rounding = "" }}{{ end }}
{{- partial $hook (dict
"url" $thumbnail
"ratio" (or $ratio "1x1")
"portrait" $portrait
"sizes" $sizes
"anchor" $anchor
"wrapper" "h-100 card-img-wrap d-flex align-items-center"
"class" (printf "card-img-bg %s %s" $rounding $fullHeight)
"title" $title
"loading" $loading
) -}}
</div>
{{- else if $icon -}}
<div class="{{ $col1 }} p-{{ $padding }}">

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -20,10 +20,11 @@
{{- $ratio := .ratio -}}
{{- $portrait := .portrait -}}
{{- $loading := .loading | default "eager" -}}
{{- $title := .caption | default (T "image") -}}
<!-- Main code -->
<div class="carousel-item{{ if $active }} active{{ end }}" {{ if not $active }} fetchpriority="low"{{ end }}>
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "class" "d-block w-100" "portrait" $portrait "loading" $loading) }}
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "class" "d-block w-100" "portrait" $portrait "loading" $loading "title" $title) }}
<div class="carousel-caption gradient"></div>
{{ with $caption }}
<div class="carousel-caption d-none d-md-block">

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
-->
{{ $ratio := .ratio }}

View File

@@ -16,6 +16,7 @@
{{- $modes := .modes -}}
{{- $plain := .plain | default false }}
{{- $anchor := .anchor }}
{{- $alt := or $title $caption (T "image") }}
<!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $fileAnchor := "" -}}
@@ -71,7 +72,7 @@
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }}
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
{{ with $alt }}alt="{{ . }}"{{ end }}>
{{- else }}
<svg class="{{ $class }}">
<use href="{{ $fallbackURL }}#{{ $fileAnchor }}"></use>

View File

@@ -52,10 +52,11 @@
{{- if hasSuffix $url "svg" -}}
{{- $res = partial "utilities/GetResource.html" (dict "url" $url "page" $page) -}}
{{ if not $res }}
{{- if not (fileExists (path.Join "/static" $url)) -}}
{{- $targetURL := partial "utilities/GetStaticURL" (dict "url" (strings.TrimPrefix "/static" $url)) -}}
{{- if not (fileExists (path.Join "/static" $targetURL)) -}}
{{ warnf "Cannot find vector image resource: %q" $url -}}
{{ else }}
{{ $width := string (partial "utilities/GetWidth.html" (dict "path" $url "height" 500)) }}
{{ $width := string (partial "utilities/GetWidth.html" (dict "path" $targetURL "height" 500)) }}
{{ if $width }}
{{ $dims = $dims | append (printf "%sx500" $width) }}
{{ else }}
@@ -118,7 +119,7 @@
<!-- Generate image url -->
{{ if or (hasSuffix $url "svg") $plain }}
{{- $targetURL = partial "utilities/GetStaticURL" (dict "url" $url) -}}
{{- $targetURL = partial "utilities/GetStaticURL" (dict "url" (strings.TrimPrefix "/static" $url)) -}}
{{ else }}
{{- $targetURL = partial "assets/helpers/image-set.html" (dict
"url" $url

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -33,6 +33,9 @@
{{- $url := .url -}}
{{- $mode := .mode -}}
{{- $modes := site.Params.main.modes | default (slice "light" "dark") -}}
{{ if and site.Params.main.titleCase (eq $caption (plainify $caption)) }}
{{ $caption = title $caption }}
{{ end }}
<!-- Main code -->
{{ $params := dict }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -18,19 +18,22 @@
{{ if not $u.Scheme }}
{{ $b := urls.Parse site.BaseURL }}
{{ $destination = strings.TrimPrefix $b.Path $destination }}
{{ $destination = path.Clean $destination }}
{{ else }}
{{ $destination = (strings.TrimPrefix (strings.TrimSuffix "/" site.BaseURL) $destination) }}
{{ end }}
{{ $destination = path.Clean $destination }}
{{ if not $destination }}{{ $destination = "/" }}{{ end }}
{{- $target := "" -}}
{{- $rel := "" -}}
{{- $case := .case | default true }}
{{- $external := .external | default false }}
{{- $force := .force | default false }}
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
{{- $pretty := site.Params.main.internalLinks.pretty | default false }}
{{- $isExternal := or (ne (urls.Parse (absURL $destination)).Host (urls.Parse site.BaseURL).Host) $external -}}
{{- $isSpecial := and $u.Scheme (not (in (slice "http" "https") $u.Scheme)) }}
{{- $isLocal := hasPrefix $destination "#" -}}
{{- $page := .page -}}
{{- $anchor := "" -}}
@@ -39,7 +42,11 @@
{{- $class := .class -}}
<!-- Main code -->
{{- if $isExternal -}}
{{- if $isSpecial -}}
{{- if not $text -}}
{{- $text = (urls.Parse (absURL $destination)).Host -}}
{{- end -}}
{{- else if $isExternal -}}
{{- if not $text -}}
{{- $text = (urls.Parse (absURL $destination)).Host -}}
{{- end -}}
@@ -99,7 +106,23 @@
{{ end }}
{{ end }}
{{- if not $case }}{{ $text = lower $text }}{{ end -}}
{{- if not $case }}
{{ $text = lower $text }}
{{ else if site.Params.main.titleCase }}
{{ $text = title $text }}
{{ end -}}
{{ if and $pretty (not (hasSuffix $destination "/" )) (not (strings.Contains $destination "#")) }}
{{ $destination = printf "%s/" $destination }}
{{ end }}
{{ if $force }}
{{ if strings.Contains $destination "?" }}
{{ $destination = printf "%s&force=true" $destination }}
{{ else }}
{{ $destination = printf "%s?force=true" $destination }}
{{ end }}
{{ end }}
{{- end -}}
{{ if not $error -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,6 +1,6 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -52,46 +52,48 @@
<div class="d-none d-lg-block">
{{ end }}
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
<ul class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
{{- range $index, $item := $list -}}
{{ $show := eq $index 0}}
<button class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
{{ $item.Title }}
</button>
<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 }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
{{ $item.Title }}
</button>
</li>
{{ end -}}
</ul>
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{ range $index, $item := $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 $pane "persona" -}}
{{- partial "assets/persona.html" (dict
"title" $item.Title
"class" $class
"color" $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>
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{ range $index, $item := $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 $pane "persona" -}}
{{- partial "assets/persona.html" (dict
"title" $item.Title
"class" $class
"color" $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>
{{ if eq $type "callout" }}</div>{{ end }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -28,7 +28,7 @@
{{- $menuURL = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" ((or $menu.PageRef $menu.URL) | relLangURL)) -}}
{{ end }}
{{- $pageURL := $page.RelPermalink -}}
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
{{- $isActive := or (and (eq $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
{{ if not $menu.PageRef }}{{ $isActive = false }}{{ end }}
{{- $isAlias := $menu.Params.alias -}}
{{- $isIcon := $menu.Params.icon -}}
@@ -77,16 +77,19 @@
<!-- Main code -->
{{ if not $error }}
{{ $title := $menu.Name }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ if $menu.Params.button }}
{{ partial "assets/button.html" (dict
"title" $menu.Name
"title" $title
"icon" $menu.Pre
"href" $menuURL
"size" "sm"
)}}
{{ else }}
{{ cond $menuURL "<a" "<div" | safeHTML }} class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
{{ cond (ne $menuURL "") "<a" "<div" | safeHTML }} class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $title }}"{{ end }}
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
{{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTML }}"{{ with $externalHref }} {{ . | safeHTML }}{{ end }}{{ end }} {{ $button | safeHTML }}>
@@ -97,9 +100,9 @@
{{ partial "assets/icon.html" (dict "icon" (string .) )}}
{{ end }}
{{ end -}}
<span {{ if $isActive }} class="active"{{ end }}>{{ if or (not $isIcon) $plain }}{{ $menu.Name }}{{ end }}</span>
<span {{ if $isActive }} class="active"{{ end }}>{{ if or (not $isIcon) $plain }}{{ $title }}{{ end }}</span>
{{- with $menu.Post }}{{ . }}{{ end -}}
{{- if not $isIcon }}&nbsp;{{ $suffix }}{{ end -}}
{{ cond $menuURL "</a>" "</div>" | safeHTML }}
{{ cond (ne $menuURL "") "</a>" "</div>" | safeHTML }}
{{ end }}
{{ end }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -18,14 +18,14 @@
{{- define "partials/navbar-mode.html" -}}
{{- $id := .id | default "navbar-mode" -}}
<div class="d-flex mode-switch align-items-center" id="{{ $id }}">
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" />
<li class="d-flex mode-switch align-items-center" id="{{ $id }}">
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" aria-label="{{ T "colorMode" }}" />
<label class="label" for="{{ $id }}-checkbox">
{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw" "spacing" false) }}
{{- partial "assets/icon.html" (dict "icon" "fas moon fa-fw" "spacing" false) }}
<div class="ball"></div>
</label>
</div>
</li>
{{- end -}}
<!-- Inline partial to render the version switcher -->
@@ -39,7 +39,7 @@
{{- $version := partial "utilities/GetVersion.html" (dict "page" $page) -}}
<li class="nav-item dropdown {{ if $collapsed }}d-{{ $size }}-none{{ else }}d-none d-{{ $size }}-block{{ end }}">
<a class="nav-link dropdown-toggle" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="{{ $id }}-version-switch">
<a class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="{{ $id }}-version-switch">
{{ if $collapsed }}{{ site.Title }} {{ end }}{{ $version }}
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="{{ $id }}-version-switch">
@@ -77,6 +77,7 @@
<!-- Initialize arguments -->
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $pretty := site.Params.main.internalLinks.pretty | default false }}
{{- $id := .id | default (printf "navbar-%d" 0) -}}
{{- $page := .page -}}
{{- $baseURL := $page.Scratch.Get "baseURL" -}}
@@ -263,20 +264,24 @@
{{- if $enableLanguage -}}
{{- $currentLang := $page.Language.Lang -}}
<li class="nav-item dropdown me-auto">
<a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
<a class="nav-link dropdown-toggle d-{{ $size }}-none" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}&nbsp;{{ T "languageSwitcherLabel" }}
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}
</a>
<ul class="dropdown-menu dropdown-menu-end " id="language-selector">
<ul class="dropdown-menu dropdown-menu-end " id="language-selector" data-translated="{{ $page.IsTranslated }}">
{{- if $page.IsTranslated -}}
{{- range $page.AllTranslations -}}
<li><a class="dropdown-item {{ if eq .Language.Lang $currentLang }}active{{ end }}" hreflang="{{.Language.Lang}}" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
<li><a class="dropdown-item {{ if eq .Language.Lang $currentLang }}active{{ end }}" hreflang="{{ .Language.Lang }}" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
{{- end -}}
{{- else -}}
{{- range site.Languages -}}
<li><a class="dropdown-item" href="{{ partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .Lang) }}" hreflang="{{.Lang}}">{{ default .Lang .LanguageName }}</a></li>
{{ $dest := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .Lang) }}
{{ if and $pretty (not (hasSuffix $dest "/")) }}
{{ $dest = printf "%s/" $dest }}
{{ end }}
<li><a class="dropdown-item" href="{{ $dest }}" hreflang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a></li>
{{- end -}}
{{- end -}}
</ul>
@@ -295,12 +300,16 @@
</li>
<li><hr class="dropdown-divider-bg"></li>
<a class="nav-link d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
<li class="d-{{ $size }}-none">
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }}&nbsp;{{ T "ui_search" }}
</a>
<a class="nav-link d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
</a>
</li>
<li class="d-none d-{{ $size }}-block">
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }}
</a>
</a>
</li>
{{ end -}}
</ul>
</div>

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -21,7 +21,7 @@
<!-- Main code -->
{{- if and (not $error) $pageAlertMsg -}}
<div id="page-alert" class="alert alert-primary alert-no-decoration fade show d-flex align-items-center small m-0 py-1" data-page-alert-version="{{ $version }}">
<a href="{{ with $pageAlertURL }}{{ . }}{{ else }}#!{{ end }}" class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
<a {{ with $pageAlertURL }}href="{{ . }}"{{ end }} class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ T "close" }}"></button>
</div>
{{- end -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -53,7 +53,7 @@
{{- $title := .title -}}
{{- $content := .content -}}
<h3>{{ $title }}</h3>
<div class="fs-3 mt-4">{{ $title }}</div>
{{ with $content }}<p>{{ . }}</p>{{ end -}}
{{- end -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -16,6 +16,7 @@
{{- $title := .title -}}
{{- $description := .description -}}
{{- $content := .content -}}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
<!-- Main code -->
{{ with $title }}<p id="{{ anchorize . }}" class="display-4 py-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -52,14 +52,14 @@
{{- if .clipboard -}}
{{- $target = (printf "toast-message-%s-%d" (anchorize $item.name) $index ) -}}
{{- $clipboard = $url -}}
{{- $url = "#!" -}}
{{- $url = "" -}}
{{- partial "assets/toast.html" (dict "id" $target "message" (printf "%s %s" (T "link") (T "copiedToClipboard"))) -}}
{{- end -}}
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" "label" (T "shareLink" $item.name) "spacing" false) }}
{{- end -}}
{{ if $page.Site.Params.sharing.webshare }}
{{ $attr := dict "data-sharing-title" $page.Title "data-sharing-description" $page.Description "data-sharing-url" $page.Permalink }}
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
{{ partial "assets/button.html" (dict "href" "" "icon" "fas share-nodes fa-fw" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
{{- end -}}
{{ with $download }}
{{ $label := (T "download" ) }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -28,12 +28,37 @@
{{- $doc_slug := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" ($group.title | urlize)) -}}
{{- $href := or $group.link $doc_slug -}}
{{ $ref := partial "utilities/GetPage.html" (dict "url" $href "page" $page) }}
{{ if eq $group.link "#" }}{{ $href = $doc_slug }}{{ end }}
{{- $collapsed := strings.HasPrefix $page.RelPermalink $href -}}
{{ if not (hasSuffix $href "/") }}{{ $href = printf "%s/" $href }}{{ end }}
{{- $current := eq $href $page.RelPermalink }}
<li class="mb-1">
<button class="btn btn-toggle d-inline-flex align-items-center rounded border-0 collapsed" data-bs-toggle="collapse" data-bs-target="#sidebar-collapse-{{ $index }}-{{ $level }}" aria-expanded="{{ if $collapsed }}true{{ else }}false{{ end }}">
<div class="text-start flex-fill">{{ $group.title }}</div>
</button>
<div class="d-flex w-100 p-0 sidebar-item-group">
<div class="text-start flex-grow-1 {{ if $current }}fw-bold{{ end }}">
{{- $groupTitle := $group.title -}}
{{ if site.Params.main.titleCase }}{{ $groupTitle = title $groupTitle }}{{ end }}
{{ $dest := $href }}
{{ $target := "" }}
{{ if or $current (not $ref) }}
{{ $dest = "" }}
{{ end }}
<a {{ with $dest }} href="{{ . }}"{{ else }}
data-bs-toggle="collapse"
data-bs-target="#sidebar-collapse-{{ $index }}-{{ $level }}"
{{ end }}>{{ $groupTitle }}</a>
</div>
<button
class="btn btn-toggle-group d-inline-flex align-items-center rounded border-0 collapsed"
data-bs-toggle="collapse"
data-bs-target="#sidebar-collapse-{{ $index }}-{{ $level }}"
aria-expanded="{{ if $collapsed }}true{{ else }}false{{ end }}"
>
</button>
</div>
<div class="collapse {{ if $collapsed }}show{{ end }}" id="sidebar-collapse-{{ $index }}-{{ $level }}">
<ul class="btn-toggle-nav list-unstyled fw-normal {{ if eq $level 0}} pb-1 {{ end }}ps-3">
{{- range $item := $group.pages -}}
@@ -79,9 +104,11 @@
{{ $href = . }}
{{ else }}
{{- $href = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .) -}}
{{ if not (hasSuffix $href "/") }}{{ $href = printf "%s/" $href }}{{ end }}
{{ end }}
{{ else }}
{{- $href = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" ($title | urlize)) -}}
{{ if not (hasSuffix $href "/") }}{{ $href = printf "%s/" $href }}{{ end }}
{{ end }}
{{- $active := eq (strings.TrimSuffix "/" $page.RelPermalink) (strings.TrimSuffix "/" $href) -}}
@@ -91,7 +118,7 @@
<li>
<ul class="btn-toggle-nav list-unstyled fw-bold pb-1">
<li>
{{ $class := "sidebar-item text-decoration-none rounded" }}
{{ $class := "sidebar-item text-decoration-none rounded w-100" }}
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
{{ $link := partial "assets/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
{{ if $link }}
@@ -104,7 +131,7 @@
</li>
{{ else }}
<li>
{{ $class := "sidebar-item text-decoration-none rounded small" }}
{{ $class := "sidebar-item text-decoration-none rounded small w-100" }}
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
{{ $link := partial "assets/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
{{ if $link }}

View File

@@ -1,40 +1,89 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $page := .page }}
{{ $input := .input }}
{{ $args := .args }}
{{ $sortable := .sortable | default false }}
{{ $paging := .paging | default false }}
{{ $searchable := .searchable | default false }}
{{ define "partials/inline-table.html" }}
{{ $page := .page }}
{{ $input := .input }}
{{ $attributes := .attributes }}
{{ $class := .class }}
{{ $wrap := .wrap }}
{{- $responsiveVals := slice "table-responsive" "table-responsive-none" "table-responsive-sm" "table-responsive-md" "table-responsive-lg" "table-responsive-xl" "table-responsive-xxl" -}}
{{- $responsive := intersect $args $responsiveVals -}}
{{- $main := complement $responsive $args -}}
{{ if $wrap }}{{ $input = printf "%s\n{.table-wrap}" (chomp $input) }}{{ end }}
{{- $input = $input | $page.RenderString }}
{{ $regex := `<table\s*class="(.+?)"` }}
{{ $current := (index (index (findRESubmatch $regex $input) 0) 1) }}
{{ $target := delimit (((split $current " ") | append "table" | append $class) | uniq) " " }}
{{- if in $responsive "table-responsive-none" -}}
{{- $responsive = "" -}}
{{- else if not $responsive -}}
{{ $responsive = (slice "table-responsive") -}}
{{- end -}}
{{- $new := printf `<table class="%s" %s` $target (trim $attributes " ") -}}
{{ $input := replaceRE $regex $new $input 1 -}}
{{- $class := delimit $main " " -}}
{{ if or $sortable $paging $searchable }}{{ $class = trim (printf "%s data-table" $class) " " }}{{ end }}
{{- $input := $input | $page.RenderString }}
{{ $regex := `<table\s*class="(.+?)"` }}
{{ $current := (index (index (findRESubmatch $regex $input) 0) 1) }}
{{ $target := delimit (((split $current " ") | append "table" | append $class) | uniq) " " }}
{{ return $input }}
{{ end }}
<!-- Initialize arguments -->
{{ $error := false }}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "table" "args" .) }}
{{ if $args.err }}
{{ partial "utilities/LogErr.html" (dict
"partial" "assets/table.html"
"msg" "Invalid arguments"
"details" $args.errmsg
"file" page.File
)}}
{{ end }}
<!-- Initialize local variables -->
{{ $class := $args.class }}
{{ if or $args.sortable $args.paging $args.searchable }}{{ $class = trim (printf "%s data-table" $class) " " }}{{ end }}
{{ $attributes := "" }}
{{ if $sortable }}{{ $attributes = printf "%s data-table-sortable=true" $attributes }}{{ end }}
{{ if $paging }}{{ $attributes = printf "%s data-table-paging=true" $attributes }}{{ end }}
{{ if $searchable }}{{ $attributes = printf "%s data-table-searchable=true" $attributes }}{{ end }}
{{ if $args.sortable }}{{ $attributes = printf "%s data-table-sortable=true" $attributes }}{{ end }}
{{ if $args.paging }}
{{ $attributes = printf "%s data-table-paging=true" $attributes }}
{{ $attributes = printf "%s data-table-paging-option-perPage=%d" $attributes $args.pagingOptionPerPage }}
{{ if (ne $args.pagingOptionPerPageSelect "") }}
{{ $attributes = printf "%s data-table-paging-option-perPageSelect=%s" $attributes $args.pagingOptionPerPageSelect }}
{{ end }}
{{ end }}
{{ if $args.searchable }}{{ $attributes = printf "%s data-table-searchable=true" $attributes }}{{ end }}
{{- $new := printf `<table class="%s" %s` $target (trim $attributes " ") -}}
{{ $input := replaceRE $regex $new $input 1 -}}
{{- with $responsive }}<div class="{{ delimit . " " }}">{{ end -}}
{{ $input | safeHTML }}
{{- with $responsive }}</div>{{ end -}}
<!-- Main code -->
{{- $breakpoint := $args.page.Scratch.Get "breakpoint" -}}
{{ $regular := partial "partials/inline-table.html" (dict
"page" $args.page
"input" $args.input
"attributes" $attributes
"class" $class
"wrap" false
) }}
{{ $wrapped := "" }}
{{ if $args.wrap }}
{{ $wrapped = partial "partials/inline-table.html" (dict
"page" $args.page
"input" $args.input
"attributes" $attributes
"class" $class
"wrap" true
) }}
{{ end }}
{{ if not $error }}
{{ if eq $args.breakpoint "none" }}
{{ $regular | safeHTML }}
{{ with $wrapped }}{{ . | safeHTML }}{{ end }}
{{ else }}
<div class="table-responsive{{- with $args.breakpoint }}-{{ . }}{{ end }} {{ if $wrapped }}d-none d-{{ $breakpoint.current }}-block{{ end }}">
{{ $regular | safeHTML }}
</div>
{{ with $wrapped }}
<div class="table-responsive{{- with $args.breakpoint }}-{{ . }}{{ end }} d-{{ $breakpoint.current }}-none">
{{ . | safeHTML }}
</div>
{{ end }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,41 @@
<!--
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
<!-- TODO: merge with version.html -->
{{- define "partials/assets/version/mod.html" -}}
{{- $file := "go.mod" -}}
{{- $regex := printf `github.com/gethinode/hinode v.*(\r\n|\r|\n)` -}}
{{- $match := findRE $regex (readFile $file) -}}
{{- $result := "" -}}
{{- if gt (len $match) 0 -}}
{{- $result = (index (split (index $match 0) " ") 1) -}}
{{- $result = strings.TrimPrefix "v" $result -}}
{{- end -}}
{{- return $result -}}
{{- end -}}
{{- define "partials/assets/version/package.html" -}}
{{- $file := "data/package-hinode.json" -}}
{{ $data := dict }}
{{ $version := "" }}
{{ with resources.Get $file }}
{{ with . | transform.Unmarshal }}
{{ $data = . }}
{{ $version = index $data "version" }}
{{ end }}
{{ end }}
{{ return $version }}
{{- end -}}
{{- $version := partial "assets/version/mod.html" . -}}
{{ if not $version }}
{{- $version = partial "assets/version/package.html" . -}}
{{ end }}
{{- print $version -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,39 +1,63 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
<!-- Initialize arguments -->
{{ $error := false }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
{{- errorf "partial [assets/toc-dropdown.html] - Invalid arguments" -}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
{{ if $args.err }}
{{ partial "utilities/LogErr.html" (dict
"partial" "assets/schema.html"
"msg" "Invalid arguments"
"details" $args.errmsg
"file" page.File
)}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page -}}
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
<!-- Initialize local arguments -->
{{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
{{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
{{- $minNumHeadings := or (.Site.Params.navigation.minNumHeadings | int) 2 }}
{{ if and (not $error) (gt $items 1) -}}
<div class="d-grid gap-2 mx-auto">
{{ partial "assets/button.html" (dict
"title" (T "toc")
"color" "secondary"
"outline" "true"
"class" "toc-button"
"icon" "fas sort"
"justify" "between"
"collapse" "toc-collapse"
"order" "last"
"spacing" false
) -}}
</div>
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<div class="toc toc-panel text-body p-2">
<small>{{ $page.TableOfContents }}</small>
<!-- Main code -->
{{ if not $error }}
{{ $headings := partial "assets/toc-headings.html" $args.page }}
{{- with $headings }}
{{- if and (not $error) (ge (len .) $minNumHeadings) }}
<div class="d-grid gap-2 mx-auto">
{{ partial "assets/button.html" (dict
"title" (T "toc")
"color" "secondary"
"outline" "true"
"class" "toc-button"
"icon" "fas sort"
"justify" "between"
"collapse" "toc-collapse"
"order" "last"
"spacing" false
) -}}
</div>
</div>
{{ end -}}
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<small>
<div class="toc toc-panel text-body p-2">
{{- range . }}
{{- $attrs := dict "class" (printf "toc-item toc-level-%d" (add 1 (sub .level $startLevel))) }}
{{- with .id }}
{{- $attrs = merge $attrs (dict "href" (printf "%s#%s" $args.page.RelPermalink .)) }}
{{- end }}
<a
{{- range $k, $v := $attrs }}
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end -}}
>{{ .text }}</a>
{{- end }}
</div>
</small>
</div>
{{- end }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,75 @@
{{- /*
Copyright 2023 Veriphor, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
*/}}
{{- /* Initialize. */}}
{{- $partialName := "toc-headings" }}
{{- /* Verify minimum required version. */}}
{{- $minHugoVersion := "0.125.6" }}
{{- if lt hugo.Version $minHugoVersion }}
{{- errorf "The %q partial requires Hugo v%s or later." $partialName $minHugoVersion }}
{{- end }}
{{- /* Determine content path for warning and error messages. */}}
{{- $contentPath := "" }}
{{- with .File }}
{{- $contentPath = .Path }}
{{- else }}
{{- $contentPath = .Path }}
{{- end }}
{{- /* Get configuration. */}}
{{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
{{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
{{- /* Get headings. */}}
{{- $headings := slice }}
{{- $ids := slice }}
{{- range findRE `(?is)<h\d.*?</h\d>` .Content }}
{{- $level := substr . 2 1 | int }}
{{- if and (ge $level $startLevel) (le $level $endLevel) }}
{{- $text := replaceRE `(?is)<h\d.*?>(.+?)</h\d>` "$1" . }}
{{- $text = trim $text " " | plainify | safeHTML }}
{{- $id := "" }}
{{- if findRE `\s+id=` . }}
{{- $id = replaceRE `(?is).+?\s+id=(?:\x22|\x27)?(.*?)(?:\x22|\x27)?[\s>].+` "$1" . }}
{{- $ids = $ids | append $id }}
{{- if not $id }}
{{- errorf "The %q partial detected that the %q heading has an empty ID attribute. See %s" $partialName $text $contentPath }}
{{- end }}
{{- else }}
{{- errorf "The %q partial detected that the %q heading does not have an ID attribute. See %s" $partialName $text $contentPath }}
{{- end }}
{{- $headings = $headings | append (dict "id" $id "level" $level "text" $text) }}
{{- end }}
{{- end }}
{{- /* Check for duplicate heading IDs. */}}
{{- $unique := slice }}
{{- $duplicates := slice }}
{{- range $ids }}
{{- if in $unique . }}
{{- $duplicates = $duplicates | append . }}
{{- else }}
{{- $unique = $unique | append . }}
{{- end }}
{{- end }}
{{- with $duplicates }}
{{- errorf "The %q partial detected duplicate heading IDs (%s) in %s" $partialName (delimit . ", ") $contentPath }}
{{- end }}
{{ return $headings }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -0,0 +1,107 @@
{{- /*
Copyright 2023 Veriphor, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
*/}}
{{- /*
Renders a table of contents by parsing rendered content.
In site configuration, set the default start level, end level, and the minimum
number of headings required to show the table of contents:
[params.toc]
startLevel = 2 # default is 2
endLevel = 3 # default is 3
minNumHeadings = 2 # default is 2
To display the table of contents on a page:
+++
title = 'Post 1'
toc = true
+++
To display the table of contents on a page, and override one or more of the
default settings:
+++
title = 'Post 1'
[toc]
startLevel = 2 # default is 2
endLevel = 3 # default is 3
minNumHeadings = 2 # default is 2
+++
Change or localize the title with a "toc_title" key in your i18n file(s).
Start with these basic CSS rules to style the table of contents:
a.toc-item {
display: block;
}
a.toc-level-1 {
margin-left: 0em;
}
a.toc-level-2 {
margin-left: 1em;
}
a.toc-level-3 {
margin-left: 2em;
}
a.toc-level-4 {
margin-left: 3em;
}
a.toc-level-5 {
margin-left: 4em;
}
a.toc-level-6 {
margin-left: 5em;
}
@context {page} .
@returns {template.HTML}
@example {{ partial "toc-parse-content.html" . }}
*/}}
{{- /* Get configuration. */}}
{{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
{{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
{{- $minNumHeadings := or (.Site.Params.navigation.minNumHeadings | int) 2 }}
{{- /* Initialize. */}}
{{ $headings := partial "assets/toc-headings.html" . }}
{{- /* Render */}}
{{- if .Site.Params.navigation.toc }}
{{- with $headings }}
{{- if ge (len .) $minNumHeadings }}
<strong class="d-block h6 my-2 pt-4">{{ T "toc" }}:</strong>
<nav class="toc">
{{- range . }}
{{- $attrs := dict "class" (printf "toc-item toc-level-%d" (add 1 (sub .level $startLevel))) }}
{{- with .id }}
{{- $attrs = merge $attrs (dict "href" (printf "%s#%s" $.RelPermalink .)) }}
{{- end }}
<a
{{- range $k, $v := $attrs }}
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end -}}
>{{ .text }}</a>
{{- end }}
</nav>
{{- end }}
{{- end }}
{{- end }}

View File

@@ -14,10 +14,8 @@
<!-- Initialize arguments -->
{{- $page := .page -}}
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
<!-- Main code -->
{{ if and (not $error) (gt $items 1) -}}
<strong class="d-block h6 my-2 pb-2">{{ T "toc" }}:</strong>
{{ $page.TableOfContents }}
{{ if not $error -}}
{{ partial "assets/toc-parse-content.html" $page }}
{{ end -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
@@ -68,11 +68,11 @@
{{ $api := printf "https://www.youtube.com/oembed?format=json&url=%s" (printf "https://www.youtube.com/watch?v=%s" $id) }}
{{ $padding := "56.25%" }}
{{ with resources.GetRemote $api }}
{{ with try (resources.GetRemote $api) }}
{{ with .Err }}
{{ errorf "Unable to parse video metadata '%q': %s\n %s" $api $origin . }}
{{ else }}
{{ $data := . | transform.Unmarshal }}
{{ $data := .Value | transform.Unmarshal }}
{{ if $autotitle }}{{ with $data.title }}{{ $title = . }}{{ end }}{{ end }}
{{ $padding = printf "%.2f%%" (mul (div $data.height $data.width) 100) }}
{{ end }}
@@ -97,11 +97,11 @@
{{- $dnt := cond $pc.EnableDNT 1 0 -}}
{{- $query := querify "url" $url "dnt" $dnt -}}
{{- $api := printf "https://vimeo.com/api/oembed.json?%s" $query -}}
{{- with resources.GetRemote $api -}}
{{- with try (resources.GetRemote $api) -}}
{{ with .Err }}
{{ errorf "Unable to parse video metadata '%q': %s\n %s" $api $origin . }}
{{ else }}
{{ $data := . | transform.Unmarshal }}
{{ $data := .Value | transform.Unmarshal }}
{{ if $autotitle }}{{ with $data.title }}{{ $title = . }}{{ end }}{{ end }}
{{ $padding = printf "%.2f%%" (mul (div $data.height $data.width) 100) }}
{{ end }}
@@ -119,7 +119,9 @@
{{ $url := printf "https://player.cloudinary.com/embed/?cloud_name=%s&public_id=%s" $account $id }}
{{ $params := "&controls=true" }}
{{ if $autoplay }}{{ $params = print $params "&autoplay=true&muted=true" }}{{ end }}
{{ with $params }}{{ $url = print $url . }}{{ end }}
{{ with .options }}{{ $params = print "&" . }}{{ end }}
{{ $params = strings.TrimLeft "?&" $params }}
{{ with $params }}{{ $url = print $url "&" . }}{{ end }}
{{ $padding := "56.25%" }}
{{ $thumbnail := partial "utilities/URLJoin.html" (dict "base" (path.Dir $id) "path" (printf "%s.jpg" (path.BaseName $id))) }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
@@ -121,7 +121,7 @@
{{ if not $error }}
<!-- include external scripts first -->
{{ range $mod, $cfg := $config.modules }}
{{ if eq (index $cfg "integration") $args.type }}
{{ if in $modules $mod }}
{{ if or (index $cfg "local") (not hugo.IsServer) }}
{{ with index $cfg "url" }}
{{ partial "templates/script.html" (dict "link" . "category" (index $cfg "category") "state" (index $cfg "state")) }}

View File

@@ -13,7 +13,9 @@
<div class="col col-6">
<div class="row justify-content-end p-0">
<div class="col-12 col-md-8 p-0">
<div class="fs-3 fw-bold">{{ or .Site.Params.footer.socialTitle .Site.Params.social.title }}</div>
{{- $title := or .Site.Params.footer.socialTitle .Site.Params.social.title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
<div class="fs-3 fw-bold">{{ $title }}</div>
<p>{{ or .Site.Params.footer.socialCaption .Site.Params.social.caption }}</p>
</div>
</div>

View File

@@ -1,5 +1,5 @@
{{ define "head" }}
{{- $version := strings.TrimPrefix "v" (partialCached "assets/version.html" .) -}}
{{- $version := strings.TrimSpace (partial "assets/theme-version.html" .) -}}
{{ $desc := .Page.Description | default (.Page.Content | safeHTML | truncate 150) -}}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -7,7 +7,6 @@
<meta name="theme" content="{{ printf "Hinode %s" $version }}">
{{ partialCached "head/stylesheet-core.html" . -}}
{{ $config := page.Scratch.Get "modules" }}
{{ if not $config }}
{{ errorf "partial [head/head.html] - Cannot initialize module configuration" }}

View File

@@ -3,9 +3,9 @@
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
<meta property="og:title" content="{{ $.Scratch.Get "title" }}">
<meta property="og:description" content="{{ $.Scratch.Get "description" }}">
{{ if $.Scratch.Get "paginator" -}}
{{ $paginator := .Paginate (where .Site.RegularPages.ByDate.Reverse "Section" "blog" ) -}}
<meta property="og:url" content="{{ .Paginator.URL | absURL }}">
{{ $paginator := $.Store.Get "paginator" }}
{{ if $paginator }}
<meta property="og:url" content="{{ $paginator.URL | absURL }}">
{{ else -}}
<meta property="og:url" content="{{ .Permalink }}">
{{ end -}}

View File

@@ -2,13 +2,13 @@
<!-- Adapted from doks -->
{{ with .Params.meta.title }}
{{ $.Scratch.Set "title" . -}}
{{ $title := . }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ $.Scratch.Set "title" $title -}}
{{ else }}
{{ with .Title -}}
{{ $.Scratch.Set "title" . -}}
{{ else -}}
{{ $.Scratch.Set "title" .Site.Title -}}
{{ end -}}
{{ $title := .Title | default .Site.Title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ $.Scratch.Set "title" $title -}}
{{ end }}
{{ $description := or (partial "utilities/GetDescription.html" (dict "page" . "meta" true)) .Site.Params.main.description }}
@@ -63,16 +63,16 @@
<meta name="description" content="{{ $.Scratch.Get "description" }}">
{{ if $.Scratch.Get "paginator" }}
<link rel="canonical" href="{{ .Paginator.URL | absURL }}">
{{ if .Paginator.HasPrev -}}
<link rel="prev" href="{{ .Paginator.Prev.URL | absURL }}">
{{ $paginator := $.Store.Get "paginator" }}
{{ if $paginator }}
<link rel="canonical" href="{{ $paginator.URL | absURL }}">
{{ if $paginator.HasPrev -}}
<link rel="prev" href="{{ $paginator.Prev.URL | absURL }}">
{{ end -}}
{{ if .Paginator.HasNext -}}
<link rel="next" href="{{ .Paginator.Next.URL | absURL }}">
{{ if $paginator.HasNext -}}
<link rel="next" href="{{ $paginator.Next.URL | absURL }}">
{{ end -}}
{{ else -}}
<link rel="canonical" href="{{ .Permalink }}">
{{ end -}}
{{ partial "head/opengraph.html" . }}

View File

@@ -34,7 +34,7 @@
"name": "{{ .Site.Params.schema.name }}",
"url": {{ print $baseURL }},
"sameAs": {{ $alt | uniq | complement (slice "") }},
{{ if eq .Site.Params.schemaType "Organization" -}}
{{ if eq .Site.Params.schema.type "Organization" -}}
"logo": {
"@type": "ImageObject",
"@id": {{ print $baseURL "#/schema/image/1"}},

View File

@@ -1,8 +1,12 @@
{{- $transpiler := site.Params.main.build.transpiler | default "libsass" -}}
{{- $silence := slice -}}
{{- $supportedTranspilers := slice "libsass" "dartsass" -}}
{{- if not (in $supportedTranspilers $transpiler) -}}
{{- errorf "partial [head/stylesheet.html] - Invalid value for param 'transpiler': %s" $transpiler -}}
{{- end -}}
{{- if site.Params.main.build.silenceDeprecations -}}
{{- $silence = (slice "import" "mixed-decls" "color-functions" "global-builtin") -}}
{{- end -}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $source := .source }}
@@ -62,7 +66,7 @@
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)
-}}
{{- $options := (dict "transpiler" $transpiler "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
{{- $options := (dict "transpiler" $transpiler "silenceDeprecations" $silence "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
{{- $bundle := partial "utilities/bundle.html" (dict "match" $source "filename" (printf "scss/bundle-%d.scss" now.UnixNano) "modules" $modules "basepath" "scss" "debugging" site.Params.debugging.showSCSS) -}}
{{- if gt ($bundle.Content | len) 0 }}

View File

@@ -33,7 +33,10 @@
{{- $align := .align | default "center" -}}
<div class="text-{{ $align }}">
{{ with $page.Title }}<p class="display-4">{{ . }}</p>{{ end }}
{{ $title := $page.Title }}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{ with $title }}<p class="display-4">{{ . }}</p>{{ end }}
<span class="fs-5 text-muted">{{ $page.Description }}</span>
{{ if $actions }}

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