Compare commits

...

250 Commits

Author SHA1 Message Date
Mark Dumay
e1011919a5 Merge pull request #765 from gethinode/develop
Refactor navbar to use color themes in overlay mode
2024-02-11 07:30:57 +01:00
Mark Dumay
7c3aed4822 Merge branch 'main' into develop 2024-02-11 07:24:21 +01:00
Mark Dumay
dbe2c6bb59 Bump package release 2024-02-11 07:23:46 +01:00
Mark Dumay
9e644185f2 Refactor navbar to use color themes in overlay mode 2024-02-11 07:23:01 +01:00
Mark Dumay
9a12ce32d3 Merge pull request #762 from gethinode/develop
Update Netlify build environment
2024-02-11 05:11:13 +01:00
Mark Dumay
66d6a89431 Merge branch 'main' into develop 2024-02-09 07:36:50 +01:00
Mark Dumay
b7a605ea9c Update Netlify build environment 2024-02-09 07:36:19 +01:00
Mark Dumay
a2b1cca1ab Merge pull request #761 from gethinode/develop
Use placeholder when button title is missing
2024-02-09 07:36:01 +01:00
Mark Dumay
b8cd3dbee6 Merge branch 'main' into develop 2024-02-09 07:27:00 +01:00
Mark Dumay
fe46126e19 Use placeholder when title is missing 2024-02-09 07:25:43 +01:00
Mark Dumay
a439623119 Restore macOS lint and build 2024-02-09 07:19:32 +01:00
Mark Dumay
86713488b4 Merge pull request #760 from gethinode/develop
Fix sidebar rendering
2024-02-08 05:54:47 +01:00
Mark Dumay
fbaa5bcfa7 Merge branch 'main' into develop 2024-02-08 05:45:59 +01:00
Mark Dumay
23deaf6df3 Fix sidebar rendering 2024-02-08 05:45:34 +01:00
Mark Dumay
4db9c6fde8 Merge pull request #759 from gethinode/develop
Refactor single page template
2024-02-08 05:22:42 +01:00
Mark Dumay
67ad2fe076 Merge branch 'main' into develop 2024-02-08 05:16:39 +01:00
Mark Dumay
00e169512c Refactor single page template 2024-02-08 05:16:04 +01:00
Mark Dumay
3171f065eb Merge pull request #758 from gethinode/develop
Refactor optional scripts
2024-02-07 19:10:52 +01:00
Mark Dumay
5dcb44b2d0 Merge branch 'main' into develop 2024-02-07 19:03:04 +01:00
Mark Dumay
b54c415f39 Bump package release 2024-02-07 19:02:22 +01:00
Mark Dumay
7ecc818ca1 Refactor optional scripts 2024-02-07 19:01:56 +01:00
Mark Dumay
85fdf28bdc Merge pull request #757 from gethinode/develop
Add optional button to card
2024-02-07 17:23:47 +01:00
Mark Dumay
1c1f4be1f9 Merge branch 'main' into develop 2024-02-07 17:17:02 +01:00
Mark Dumay
e4f949f67b Disable macOS test
See https://github.com/sass/homebrew-sass/issues/57
2024-02-07 17:16:42 +01:00
Mark Dumay
2fe3c69a2d Merge branch 'main' into develop 2024-02-07 17:03:16 +01:00
Mark Dumay
08b3725307 Add brew tap 2024-02-07 17:03:05 +01:00
Mark Dumay
664fb87e4e Merge branch 'main' into develop 2024-02-07 16:57:58 +01:00
Mark Dumay
9bf90dfa98 Switch to brew extract 2024-02-07 16:57:24 +01:00
Mark Dumay
867f684b6a Merge branch 'main' into develop 2024-02-07 16:51:05 +01:00
Mark Dumay
3bcb2138c1 Switch from brew to gem on macOS 2024-02-07 16:50:22 +01:00
Mark Dumay
693c2be098 Bump actions/cache to v4 2024-02-07 16:10:39 +01:00
Mark Dumay
da63bcb4eb Merge branch 'main' into develop 2024-02-07 16:04:36 +01:00
Mark Dumay
564a62e780 Add optional button to card 2024-02-07 16:03:57 +01:00
Mark Dumay
01e4837669 Bump package release 2024-02-07 14:58:33 +01:00
Mark Dumay
0a2a1a8b1a Merge pull request #753 from gethinode/develop
Allow raw content for headless pages
2024-02-05 14:52:29 +01:00
Mark Dumay
154ddfe1cc Merge branch 'main' into develop 2024-02-05 14:37:23 +01:00
Mark Dumay
14786383ec Bump package release 2024-02-05 14:36:56 +01:00
Mark Dumay
e5aae017a6 Allow raw content for headless pages 2024-02-05 14:36:21 +01:00
Mark Dumay
68ceb8c71e Merge pull request #752 from gethinode/develop
Drop max range requirement of card groups
2024-02-05 11:05:45 +01:00
Mark Dumay
dcd94a7137 Bump dependencies 2024-02-05 10:59:35 +01:00
Mark Dumay
1e75a3675e Merge branch 'main' into develop 2024-02-05 10:23:40 +01:00
Mark Dumay
6c301e2512 Drop max range requirement 2024-02-05 10:22:26 +01:00
Mark Dumay
59c06c7f02 Merge pull request #751 from gethinode/develop
Fix more button spacing
2024-02-04 09:47:22 +01:00
Mark Dumay
85aad4c431 Merge branch 'main' into develop 2024-02-04 09:22:52 +01:00
Mark Dumay
ade4df79ed Bump package release 2024-02-04 09:22:18 +01:00
Mark Dumay
ec12b41293 Fix more button spacing 2024-02-04 09:21:51 +01:00
Mark Dumay
7216c88e0b Merge pull request #750 from gethinode/develop
Restrict max range
2024-02-04 08:57:20 +01:00
Mark Dumay
fac87c69e2 Merge branch 'main' into develop 2024-02-04 08:15:24 +01:00
Mark Dumay
62d4fdeb32 Merge pull request #749 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-02-04 08:00:42 +01:00
Mark Dumay
91da0c7d0d Restrict max range 2024-02-04 07:42:28 +01:00
markdumay
b116c2582f fix: update Hugo module dependencies 2024-02-04 06:39:58 +00:00
Mark Dumay
276307fb5c Merge pull request #748 from gethinode/develop
Refine fixed navbar rendering
2024-02-04 07:06:31 +01:00
Mark Dumay
54ae613298 Merge branch 'main' into develop 2024-02-04 06:57:32 +01:00
Mark Dumay
a22040f4e3 Refine fixed navbar rendering 2024-02-04 06:56:50 +01:00
Mark Dumay
630cc55361 Improve error handling 2024-02-04 06:56:06 +01:00
Mark Dumay
2aacace6ad Merge pull request #747 from gethinode/develop
Fix init of card padding with zero value
2024-02-04 06:04:34 +01:00
Mark Dumay
91714727c3 Merge branch 'main' into develop 2024-02-04 05:52:12 +01:00
Mark Dumay
8e21f36619 Bump package release 2024-02-04 05:51:39 +01:00
Mark Dumay
baa88ca957 Fix init of padding with zero value 2024-02-04 05:50:25 +01:00
Mark Dumay
1874fc9b47 Merge pull request #746 from gethinode/develop
Improve flex search index
2024-02-03 10:29:18 +01:00
Mark Dumay
6c9543d05a Merge branch 'main' into develop 2024-02-03 10:20:50 +01:00
Mark Dumay
a614c35f05 Merge pull request #745 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-02-03 10:20:08 +01:00
Mark Dumay
0d7bc8e7d8 Bump package release 2024-02-03 10:13:00 +01:00
Mark Dumay
39b3d500d0 Add default flexsearch configuration 2024-02-03 10:12:19 +01:00
Mark Dumay
03200f3828 Update build stats 2024-02-03 10:12:02 +01:00
markdumay
044a5eadcd fix: update Hugo module dependencies 2024-02-03 09:09:42 +00:00
Mark Dumay
e924bd96ec Merge pull request #743 from gethinode/develop
Refine responsive icon size on cards
2024-02-03 05:29:15 +01:00
Mark Dumay
e234240e74 Merge branch 'main' into develop 2024-02-03 05:14:42 +01:00
Mark Dumay
33473b0db1 Refine responsive icon size on cards 2024-02-03 05:13:45 +01:00
github-actions[bot]
cfad29f9d4 Merge pull request #741 from gethinode/dependabot/npm_and_yarn/netlify/plugin-lighthouse-6.0.0
Bump @netlify/plugin-lighthouse from 5.0.0 to 6.0.0
2024-01-31 13:45:11 +00:00
dependabot[bot]
7ffdbea3ec Bump @netlify/plugin-lighthouse from 5.0.0 to 6.0.0
Bumps [@netlify/plugin-lighthouse](https://github.com/netlify/netlify-plugin-lighthouse) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/netlify/netlify-plugin-lighthouse/releases)
- [Changelog](https://github.com/netlify/netlify-plugin-lighthouse/blob/main/CHANGELOG.md)
- [Commits](https://github.com/netlify/netlify-plugin-lighthouse/compare/v5.0.0...v6.0.0)

---
updated-dependencies:
- dependency-name: "@netlify/plugin-lighthouse"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 13:39:13 +00:00
github-actions[bot]
2c2fb4d305 Merge pull request #740 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.119.0
Bump hugo-bin from 0.118.1 to 0.119.0
2024-01-29 13:44:24 +00:00
dependabot[bot]
709172c506 Bump hugo-bin from 0.118.1 to 0.119.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.118.1 to 0.119.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.118.1...v0.119.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 13:37:22 +00:00
Mark Dumay
8727ee50ee Merge pull request #739 from gethinode/develop
Update installation instructions for Windows
2024-01-29 11:21:28 +01:00
mark
04d4d20ba6 Fix linting issue 2024-01-29 11:11:47 +01:00
Mark Dumay
e77ea9358e Merge branch 'main' into develop 2024-01-29 10:50:44 +01:00
Mark Dumay
6263dc0649 Update installation instructions for Windows 2024-01-29 10:50:12 +01:00
Mark Dumay
52eccfc384 Merge pull request #737 from gethinode/develop
Fix navbar toggler color in overlay mode
2024-01-28 08:28:47 +01:00
Mark Dumay
13085416e2 Merge branch 'main' into develop 2024-01-28 07:15:32 +01:00
Mark Dumay
f7efa99fc3 Bump package release 2024-01-28 07:15:09 +01:00
Mark Dumay
32d6b8844a Fix navbar toggler color in overlay mode 2024-01-28 07:14:27 +01:00
Mark Dumay
1c4287a3ed Merge pull request #735 from gethinode/develop
Add support for card group data
2024-01-27 12:26:50 +01:00
Mark Dumay
354fa85f38 Fix alignment of features 2024-01-27 11:40:42 +01:00
Mark Dumay
78fb0760f3 Merge branch 'main' into develop 2024-01-27 11:33:14 +01:00
Mark Dumay
dfdda4d27f Bump package release 2024-01-27 11:32:34 +01:00
Mark Dumay
6d8f90bdce Add support for card group data 2024-01-27 11:32:24 +01:00
Mark Dumay
3e531da29c Add support for card group data 2024-01-27 11:31:53 +01:00
Mark Dumay
6065ebb6b4 Fix card-group args 2024-01-27 10:11:15 +01:00
Mark Dumay
75373935f1 Merge pull request #734 from gethinode/develop
Extend card style configuration
2024-01-27 09:59:27 +01:00
Mark Dumay
1d5784a4d1 Merge branch 'main' into develop 2024-01-27 07:28:33 +01:00
Mark Dumay
5df94ffe33 Extend card-group args 2024-01-27 07:26:17 +01:00
Mark Dumay
6aeaa8812a Bump package release 2024-01-27 07:15:19 +01:00
Mark Dumay
b1f8044e02 Update build stats 2024-01-27 07:15:09 +01:00
Mark Dumay
09fc0991bd Extend card args 2024-01-27 07:15:00 +01:00
Mark Dumay
a7b70efef0 Merge pull request #732 from gethinode/develop
Support navbar overlay
2024-01-24 11:12:35 +01:00
Mark Dumay
4c3df8e769 Update build stats 2024-01-24 11:03:38 +01:00
Mark Dumay
15418f7bdc Merge branch 'main' into develop 2024-01-24 11:01:33 +01:00
Mark Dumay
0a2bc468e5 Support navbar overlay 2024-01-24 11:00:34 +01:00
Mark Dumay
df8bcff315 Merge pull request #731 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-24 07:30:26 +01:00
markdumay
56e992ba7a fix: update Hugo module dependencies 2024-01-24 06:18:08 +00:00
Mark Dumay
e7a6582229 Merge pull request #730 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-23 17:15:53 +01:00
markdumay
02946a9c9b fix: update Hugo module dependencies 2024-01-23 16:08:07 +00:00
Mark Dumay
a5ca5fcff1 Bump package release 2024-01-23 17:06:26 +01:00
Mark Dumay
b412c03b72 Bump package release 2024-01-23 17:06:08 +01:00
Mark Dumay
22678d4ecc Merge pull request #729 from gethinode/develop
Correct list view content on smaller screens
2024-01-23 17:04:44 +01:00
Mark Dumay
d84099e41f Merge branch 'main' into develop 2024-01-23 16:47:54 +01:00
Mark Dumay
853aac57a6 Fixes #728 2024-01-23 16:46:47 +01:00
Mark Dumay
a5bddcb033 Merge pull request #725 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-23 11:57:00 +01:00
markdumay
3a7178166f fix: update Hugo module dependencies 2024-01-23 03:17:22 +00:00
Mark Dumay
3f89bfb444 Merge pull request #726 from gethinode/develop
Fix init of fixed navigation parameter
2024-01-22 07:19:53 +01:00
Mark Dumay
e5ba3a94a4 Merge branch 'main' into develop 2024-01-22 06:44:57 +01:00
Mark Dumay
dc7af61a3a Fix init of fixed navigation parameter 2024-01-22 06:43:16 +01:00
Mark Dumay
da560a0275 Merge pull request #724 from gethinode/develop
Bump package release
2024-01-19 07:49:03 +01:00
Mark Dumay
41cf694792 Merge branch 'main' into develop 2024-01-19 07:42:18 +01:00
Mark Dumay
59f42c0dbd Merge pull request #723 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-19 07:39:54 +01:00
markdumay
b2302e2e9f fix: update Hugo module dependencies 2024-01-19 06:32:17 +00:00
Mark Dumay
8e6c0f8ade Bump package release 2024-01-19 07:31:06 +01:00
github-actions[bot]
ba92505daa Merge pull request #720 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.12.1
Bump markdownlint-cli2 from 0.11.0 to 0.12.1
2024-01-19 06:30:05 +00:00
Mark Dumay
e6e93888f6 Merge branch 'main' into dependabot/npm_and_yarn/markdownlint-cli2-0.12.1 2024-01-19 07:23:28 +01:00
Mark Dumay
e92598dc5b Merge pull request #722 from gethinode/develop
Disable table validation
2024-01-19 07:23:18 +01:00
Mark Dumay
697c6a1aae Fix #719 2024-01-19 07:16:11 +01:00
Mark Dumay
2487001b0d Merge branch 'main' into develop 2024-01-19 05:39:11 +01:00
Mark Dumay
7cd722bcc2 Disable table validation 2024-01-19 05:38:40 +01:00
dependabot[bot]
e0b7d7c3bb Bump markdownlint-cli2 from 0.11.0 to 0.12.1
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.11.0 to 0.12.1.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.11.0...v0.12.1)

---
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-01-18 13:25:47 +00:00
github-actions[bot]
23470b705d Merge pull request #721 from gethinode/dependabot/npm_and_yarn/autoprefixer-10.4.17
Bump autoprefixer from 10.4.16 to 10.4.17
2024-01-18 13:25:02 +00:00
dependabot[bot]
70a624a9f3 Bump autoprefixer from 10.4.16 to 10.4.17
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.16 to 10.4.17.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.16...10.4.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:18:06 +00:00
Mark Dumay
bce38385ab Merge pull request #717 from gethinode/develop
Bump package release
2024-01-09 17:06:13 +01:00
mark
8848b126ca Bump package release 2024-01-09 16:45:48 +01:00
Mark Dumay
45a90fbe9d Merge pull request #716 from gethinode/main
Sync with main
2024-01-09 16:42:38 +01:00
Mark Dumay
d2929bf776 Merge pull request #715 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-09 15:58:59 +01:00
markdumay
3bab1c1250 fix: update Hugo module dependencies 2024-01-09 14:51:46 +00:00
github-actions[bot]
e59d4696da Merge pull request #714 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.6.2
Bump eslint-plugin-n from 16.6.1 to 16.6.2
2024-01-09 14:50:03 +00:00
dependabot[bot]
f44f74f34c Bump eslint-plugin-n from 16.6.1 to 16.6.2
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.6.1 to 16.6.2.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.6.1...16.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-09 13:47:03 +00:00
Mark Dumay
22474722ad Merge pull request #713 from gethinode/validation
Bump dependencies
2024-01-08 16:39:34 +01:00
Mark Dumay
99df503a90 Merge branch 'main' into validation 2024-01-08 15:21:59 +01:00
mark
0df055db8c Bump GitHub actions 2024-01-08 15:20:50 +01:00
github-actions[bot]
f73936d056 Merge pull request #712 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.118.1
Bump hugo-bin from 0.118.0 to 0.118.1
2024-01-08 13:28:24 +00:00
dependabot[bot]
e1c976e09a Bump hugo-bin from 0.118.0 to 0.118.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.118.0 to 0.118.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.118.0...v0.118.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 13:21:54 +00:00
Mark Dumay
21579f7a40 Merge pull request #710 from aefly/french-translation
Update `fr.yaml`
2024-01-06 10:10:51 +01:00
aefly
693882aff1 Update fr.yaml 2024-01-06 08:45:20 +01:00
mark
6b42ed0845 Bump DART_SASS_VERSION 2024-01-06 07:24:52 +01:00
Mark Dumay
ed9373bc7e Merge pull request #709 from gethinode/validation
Fix breakpoint-specific responsive behavior of tables
2024-01-06 06:34:53 +01:00
mark
0d2f5cc553 Fix linting issue 2024-01-06 06:24:29 +01:00
mark
12f6e9e552 Update build stats 2024-01-06 06:23:39 +01:00
mark
999c7a8fff Add table shortcode example 2024-01-06 06:23:28 +01:00
Mark Dumay
a5494f4681 Merge branch 'main' into validation 2024-01-06 06:11:02 +01:00
mark
404a5500df Bump package release 2024-01-06 06:09:46 +01:00
mark
4442833c1b Fix breakpoint-specific responsive behavior 2024-01-06 06:09:22 +01:00
mark
4cb800d485 Refine comments 2024-01-06 05:57:34 +01:00
Mark Dumay
f1598c3c4b Merge pull request #707 from gethinode/validation
Fix spacing
2024-01-05 15:49:07 +01:00
Mark Dumay
6b9915a425 Merge branch 'main' into validation 2024-01-05 15:17:46 +01:00
mark
59befa908f Fix spacing 2024-01-05 14:39:17 +01:00
Mark Dumay
af68fb24b5 Merge pull request #705 from gethinode/validation
Fix configuration of single module
2024-01-05 07:41:56 +01:00
Mark Dumay
73870663f6 Merge branch 'main' into validation 2024-01-05 07:09:59 +01:00
mark
ac48cf6b57 Bump package release 2024-01-05 07:09:09 +01:00
mark
6a5d4a1363 Fix configuration of single module 2024-01-05 07:08:53 +01:00
Mark Dumay
8be3996fb2 Merge pull request #704 from gethinode/validation
Fix missing illustration arg
2024-01-05 07:07:05 +01:00
Mark Dumay
bd7d2ffb09 Merge branch 'main' into validation 2024-01-05 07:01:26 +01:00
mark
9375248a09 Fix missing illustration arg 2024-01-04 16:00:59 +01:00
Mark Dumay
713d1920a3 Merge pull request #703 from gethinode/validation
Bump package release
2024-01-04 15:14:21 +01:00
Mark Dumay
adc1212cd7 Merge branch 'main' into validation 2024-01-04 14:56:10 +01:00
mark
b8803d75fe Bump package release 2024-01-04 14:55:34 +01:00
github-actions[bot]
8006acb8c9 Merge pull request #702 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-6.0.3
Bump cssnano-preset-advanced from 6.0.2 to 6.0.3
2024-01-04 13:38:16 +00:00
dependabot[bot]
7be7e3b7f0 Bump cssnano-preset-advanced from 6.0.2 to 6.0.3
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@6.0.2...cssnano-preset-advanced@6.0.3)

---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 13:32:05 +00:00
github-actions[bot]
a6c18c91e5 Merge pull request #701 from gethinode/dependabot/npm_and_yarn/cssnano-6.0.3
Bump cssnano from 6.0.2 to 6.0.3
2024-01-04 13:31:17 +00:00
dependabot[bot]
81c531e2b5 Bump cssnano from 6.0.2 to 6.0.3
Bumps [cssnano](https://github.com/cssnano/cssnano) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@6.0.2...cssnano@6.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 13:24:59 +00:00
Mark Dumay
d66910740f Merge pull request #700 from gethinode/validation
Bump package release
2024-01-04 08:09:05 +01:00
Mark Dumay
3323bf500d Merge branch 'main' into validation 2024-01-03 19:00:21 +01:00
mark
3cc34d18e0 Bump package release 2024-01-03 18:59:49 +01:00
Mark Dumay
aeb050440f Merge pull request #699 from gethinode/validation
Fix alignment of cards in group
2024-01-03 17:34:29 +01:00
Mark Dumay
a9a6bd0d31 Merge branch 'main' into validation 2024-01-03 17:04:57 +01:00
Mark Dumay
2b921def52 Merge pull request #698 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-03 17:04:21 +01:00
mark
f5a1a97383 Fix alignment of cards in group 2024-01-03 16:59:05 +01:00
markdumay
c87b96f8f0 fix: update Hugo module dependencies 2024-01-03 15:57:10 +00:00
Mark Dumay
1def105bda Merge pull request #697 from gethinode/validation
Keep HTML whitespace to improve external cue visualization
2024-01-03 16:07:45 +01:00
Mark Dumay
1d67a30ece Merge branch 'main' into validation 2024-01-03 16:01:48 +01:00
mark
1a3d50ca17 Keep HTML whitespace to improve external cue visualiation 2024-01-03 15:40:30 +01:00
Mark Dumay
ce26722c96 Merge pull request #696 from gethinode/validation
Refactor argument validation of internal partials
2024-01-03 14:25:22 +01:00
Mark Dumay
f2aab26b6e Merge branch 'main' into validation 2024-01-03 14:15:39 +01:00
mark
10e086594b Structure validation of section-menu args 2024-01-03 14:11:37 +01:00
mark
30ea77182d Structure validation of sharing args 2024-01-03 14:06:53 +01:00
mark
e899d7d39a Structure validation of sidebar args 2024-01-03 13:39:48 +01:00
mark
3b2e780a20 Fix typo 2024-01-03 13:25:04 +01:00
mark
d443d89616 Structure validation of toc-dropdown args 2024-01-03 13:17:18 +01:00
mark
c981ac45d3 Structure validation of toc args 2024-01-03 13:11:15 +01:00
mark
ceabca3a43 Structure validation of section-header args 2024-01-03 13:03:04 +01:00
mark
99b6fcbc42 Adjust indentation 2024-01-03 12:59:06 +01:00
mark
dde79bf5d0 Structure validation of pagination args 2024-01-03 09:14:36 +01:00
mark
ff3e957558 Structure validation of page-alert args 2024-01-03 08:59:34 +01:00
mark
1466c7a927 Fix error message 2024-01-03 08:59:21 +01:00
mark
1a7c18d209 Structure validation of navbar-item args 2024-01-03 08:53:48 +01:00
mark
2c8ed7c494 Structure validation of list args 2024-01-03 08:02:42 +01:00
mark
0526b4c5e0 Adjust indentation 2024-01-03 08:02:04 +01:00
mark
c2f4e6bc48 Refine layout 2024-01-03 07:24:50 +01:00
mark
0cc5fcb33a Refine comments 2024-01-03 07:24:25 +01:00
mark
e461a9564f Adjust line breaks 2024-01-03 07:24:12 +01:00
Mark Dumay
183879d51c Merge pull request #695 from gethinode/validation
Drop built-in comments support
2024-01-02 15:53:53 +01:00
Mark Dumay
cddae05b53 Merge branch 'main' into validation 2024-01-02 15:44:49 +01:00
mark
67d831d898 Bump package release 2024-01-02 15:37:40 +01:00
mark
d726323220 Close #694 2024-01-02 15:36:45 +01:00
Mark Dumay
f76fea84cc Merge pull request #693 from gethinode/validation
Refine argument validation of modules
2024-01-02 15:23:00 +01:00
Mark Dumay
6ec24e12f7 Merge branch 'main' into validation 2024-01-02 15:07:11 +01:00
mark
cf27cce44d Bump package release 2024-01-02 15:05:31 +01:00
github-actions[bot]
6ea22d121f Merge pull request #692 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.6.1
Bump eslint-plugin-n from 16.6.0 to 16.6.1
2024-01-02 13:42:24 +00:00
dependabot[bot]
2d7bfaa9dc Bump eslint-plugin-n from 16.6.0 to 16.6.1
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.6.0 to 16.6.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.6.0...16.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 13:37:06 +00:00
Mark Dumay
0e62cc4fec Merge pull request #691 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-02 12:59:52 +01:00
markdumay
ae0307092f fix: update Hugo module dependencies 2024-01-02 11:03:20 +00:00
Mark Dumay
2ebf6fe7fa Merge pull request #690 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-02 12:02:32 +01:00
mark
f9805de74c Adjust display of min-max range 2024-01-02 11:47:24 +01:00
mark
20b7b6b95c Fix type of pre menu 2024-01-02 06:59:05 +01:00
mark
c2beca3504 Update copyright notice 2024-01-01 12:32:39 +01:00
markdumay
7414a1badf fix: update Hugo module dependencies 2023-12-31 03:16:34 +00:00
Mark Dumay
cd5f7e08c4 Merge pull request #689 from gethinode/validation
Move utilities to separate module
2023-12-30 11:49:46 +01:00
Mark Dumay
fd804fa29a Merge branch 'main' into validation 2023-12-30 11:26:26 +01:00
mark
08c310c59e Update netlify build env 2023-12-30 11:25:35 +01:00
mark
46bde0918f Move utilities to separate module 2023-12-30 11:25:28 +01:00
mark
a77c3aa347 Improve persona args 2023-12-30 06:46:04 +01:00
Mark Dumay
d27c04dc64 Merge pull request #688 from gethinode/validation
Refine args handling
2023-12-30 06:36:59 +01:00
Mark Dumay
b0c8326255 Merge branch 'main' into validation 2023-12-30 06:26:40 +01:00
mark
99a35a3ffd Bump package release 2023-12-30 06:26:07 +01:00
mark
c5673efea2 Refine sub and sup args 2023-12-30 06:14:07 +01:00
mark
c3b48e0033 Refine spinner args 2023-12-30 06:09:09 +01:00
mark
5aa57dd402 Refine release args 2023-12-30 06:04:42 +01:00
mark
d919d3f068 Refina nav-item args 2023-12-30 05:59:41 +01:00
mark
38ad418005 Support individual fade arg 2023-12-30 05:59:30 +01:00
mark
ba50786118 Refine nav-item comments 2023-12-29 19:14:04 +01:00
mark
aee3cb3e03 Refine nav args 2023-12-29 19:12:05 +01:00
mark
61430b07e2 Refine navbar args 2023-12-29 18:01:36 +01:00
mark
5d393598c5 Refine the mark args 2023-12-29 15:10:16 +01:00
mark
4b0c075b53 Refine the link args 2023-12-29 15:06:13 +01:00
github-actions[bot]
2b5b6434da Merge pull request #687 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.6.0
Bump eslint-plugin-n from 16.5.0 to 16.6.0
2023-12-29 14:01:36 +00:00
mark
ae0877037a Refine the image args 2023-12-29 14:59:08 +01:00
dependabot[bot]
64a12da2e6 Bump eslint-plugin-n from 16.5.0 to 16.6.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.5.0 to 16.6.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.5.0...16.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-29 13:56:13 +00:00
mark
6865fa40f7 Refine the file args 2023-12-29 14:51:00 +01:00
mark
79632aeed0 Use long form for ID 2023-12-29 14:46:27 +01:00
mark
6f03f3e5fd Refine the example args 2023-12-29 14:46:05 +01:00
mark
df53150972 Refine the docs args 2023-12-29 14:38:29 +01:00
mark
9282cd630d Add missing punctuation 2023-12-29 11:04:12 +01:00
mark
a3eb2fc7cc Refine carousel-item definition 2023-12-29 10:58:05 +01:00
mark
4e39d03240 Refine carousel definition 2023-12-29 10:53:45 +01:00
mark
8cadb30179 Refine button definition 2023-12-29 10:46:45 +01:00
mark
d2c02ca016 Add label alias 2023-12-29 10:46:30 +01:00
mark
1bbfba32a5 Support label alias 2023-12-29 10:45:46 +01:00
mark
cf59cc3a49 Make badge title required 2023-12-29 08:07:06 +01:00
mark
897db61ee2 Fix color of info alert 2023-12-29 08:01:58 +01:00
mark
ac14ac23fb Improve styling of elements 2023-12-29 08:01:43 +01:00
mark
0f1bc34d37 Improve card and card-group arg handling 2023-12-29 07:40:32 +01:00
mark
26d318356f Fix int range init 2023-12-29 06:35:24 +01:00
mark
9f4a0d35b6 Fix inline arg init 2023-12-29 06:17:01 +01:00
mark
a201be6487 Remove debug statement 2023-12-28 17:36:27 +01:00
162 changed files with 1306 additions and 1379 deletions

View File

@@ -20,10 +20,10 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: 'npm'
@@ -49,10 +49,10 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
@@ -82,7 +82,7 @@ jobs:
# Cache Hugo cachedir and resourcedir (configured in config/ci/hugo.toml) for each OS
# No additional cache invalidation is needed, Hugo uses checksums itself
- name: Use Hugo cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ runner.os == 'Windows' && env.CACHE_PATH_WIN || runner.os == 'macOS' && env.CACHE_PATH_MAC || env.CACHE_PATH_DEBIAN }}
key: ${{ runner.os }}-${{ env.CACHE_KEY }}

View File

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

View File

@@ -21,10 +21,10 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup .npmrc file to publish to npm
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
registry-url: ${{ env.REGISTRY_URL }}

View File

@@ -6,7 +6,9 @@
"MD026": false,
"MD034": false,
"MD051": false,
"MD053": false
"MD053": false,
"MD055": false,
"MD056": false
},
"ignores": ["node_modules", "CHANGELOG.md"]
}

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023 Mark Dumay
Copyright (c) 2024 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

@@ -75,6 +75,14 @@ The installation instructions in this readme install Hinode as a regular Hugo th
## Installation
<!-- markdownlint-disable MD033 -->
<details>
<summary>Installation notes for Windows</summary>
The installation for Windows requires PowerShell v7. Download it from the Microsoft Store as needed. Check your current version with the command `$PSVersionTable`.
</details>
<!-- markdownlint-enable MD033 -->
Start a new Hinode project in three steps:
1. **Create a new site**
@@ -83,14 +91,15 @@ Start a new Hinode project in three steps:
hugo new site my-hinode-site && cd my-hinode-site
```
1. **Initialize the module system**
2. **Initialize the module system**
```bash
hugo mod init example.com/my-hinode-site
echo "[[module.imports]]\npath = 'github.com/gethinode/hinode'" >> hugo.toml
echo "[[module.imports]]" >> hugo.toml
echo "path = 'github.com/gethinode/hinode'" >> hugo.toml
```
1. **Start a development server**
3. **Start a development server**
```bash
hugo server
@@ -136,7 +145,6 @@ The `hinode`, `docs`, and `template` codebase is released under the [MIT license
[npm]: https://www.npmjs.com
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
[utterances]: https://utteranc.es
<!-- MARKDOWN MAINTAINED LINKS -->
[contribute]: https://gethinode.com/contribute

View File

@@ -1,14 +1,24 @@
const navbar = document.querySelector('.navbar')
const togglers = document.querySelectorAll('.main-nav-toggler')
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
const colorsBG = ['body', 'secondary', 'tertiary']
if (navbar !== null && togglers !== null) {
// initialize background color
const color = (navbar.getAttribute('data-navbar-color') || 'body')
const bg = colorsBG.includes(color) ? `var(--bs-${color}-bg)` : `var(--bs-navbar-color-${color})`
navbar.style.setProperty('--bs-navbar-expanded-color', bg)
// set the navbar background color to opaque when scrolling past a breakpoint
window.onscroll = () => {
if (window.scrollY > 75) {
navbar.classList.add('nav-active')
const storedTheme = localStorage.getItem('theme')
navbar.setAttribute('data-bs-theme', storedTheme)
} else {
navbar.classList.remove('nav-active')
const defaultTheme = navbar.getAttribute('data-bs-overlay')
navbar.setAttribute('data-bs-theme', defaultTheme)
}
}

View File

@@ -24,7 +24,6 @@
@import "components/carousel.scss";
@import "components/clipboard.scss";
@import "components/command.scss";
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/nav.scss";

View File

@@ -22,7 +22,6 @@
@import "components/carousel.scss";
@import "components/clipboard.scss";
@import "components/command.scss";
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/nav.scss";

View File

@@ -22,13 +22,13 @@ a:active {
}
.fullscreen {
--navbar-offset: #{$navbar-offset};
--overlay-offset: #{$overlay-offset};
min-height: calc(100vh - var(--navbar-offset));
min-height: calc(100vh - var(--overlay-offset));
}
.main-content {
margin-top: $navbar-offset;
margin-top: $overlay-offset;
}
$utilities: map-merge(

View File

@@ -20,6 +20,7 @@ strong {
$navbar-height: h.$navbar-height;
$navbar-offset: h.$navbar-offset;
$overlay-offset: h.$overlay-offset;
$primary: h.$primary;
$secondary: h.$secondary;
$success: h.$success;

View File

@@ -86,8 +86,8 @@
// stylelint-enable annotation-no-unknown
// make tag-link clickable on top of the stretched-link.
.card .tag-link {
// make tag-link and card-button clickable on top of the stretched-link.
.card .tag-link, .card .card-button {
z-index: 2;
position: relative;
}

View File

@@ -1,20 +0,0 @@
.utterances {
position: relative;
box-sizing: border-box;
width: 100%;
max-width: 760px;
margin-left: auto;
margin-right: auto;
}
.utterances-frame {
color-scheme: light;
position: absolute;
left: 0;
right: 0;
width: 1px;
min-width: 100%;
max-width: 100%;
height: 100%;
border: 0;
}

View File

@@ -19,3 +19,11 @@
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
}
.background-img {
--overlay-offset: #{$overlay-offset};
height: calc(100vh - var(--overlay-offset));
width: 100vw;
object-fit: cover;
}

View File

@@ -2,13 +2,22 @@
// Source: https://jsfiddle.net/njhgr40m/
.navbar {
--bs-navbar-expanded-color: var(--bs-body-bg);
--bs-navbar-toggler-color: var(--bs-navbar-hover-color);
transition: 0.5s ease-in-out;
background-color: transparent;
@each $state, $val in $theme-colors {
--bs-navbar-color-#{$state}: #{$val};
}
}
.nav-active, .navbar-expanded {
background-color: var(--bs-body-bg);
background-color: var(--bs-navbar-expanded-color);
border-bottom: 1px solid var(--bs-secondary-bg);
}
.nav-link {
@@ -25,12 +34,17 @@
--bs-navbar-hover-color: white !important;
--bs-navbar-disabled-color: white !important;
--bs-navbar-active-color: white !important;
--bs-navbar-toggler-color: white;
}
.navbar-expanded {
box-shadow: $box-shadow-sm;
}
.nav-item .vr {
color: var(--bs-navbar-color);
}
/* Remove border from toggler */
.navbar-toggler {
border: 0 if($enable-important-utilities, !important, null);
@@ -97,19 +111,11 @@
/* Color of Toggler when collapsed */
.navbar-toggler.collapsed .toggler-icon {
background-color: #777;
background-color: var(--bs-navbar-toggler-color);
}
.emphasis-light {
background-color: $black if($enable-important-utilities, !important, null);
}
.emphasis-dark {
background-color: $white if($enable-important-utilities, !important, null);
}
.emphasis {
background-color: $black if($enable-important-utilities, !important, null);
.emphasis, .emphasis-dark, .emphasis-light {
background-color: var(--bs-navbar-toggler-color);
}
@include color-mode(dark) {

View File

@@ -1,6 +1,6 @@
# toml-docs-start main
title = "Hinode"
copyright = "Copyright © 2023 Mark Dumay."
copyright = "Copyright © 2024 Mark Dumay."
paginate = 9
enableGitInfo = true
# toml-docs-end main
@@ -89,6 +89,8 @@ home = ["HTML", "RSS", "REDIR"]
keepVarNames = true
precision = 0
version = 2022
[minify.tdewolff.html]
keepWhitespace = true
[module]
[module.hugoVersion]
@@ -132,4 +134,6 @@ home = ["HTML", "RSS", "REDIR"]
path = "github.com/gethinode/mod-leaflet"
[[module.imports]]
path = "github.com/gethinode/mod-lottie"
[[module.imports]]
path = "github.com/gethinode/mod-utils/v2"
# toml-docs-end modules

View File

@@ -24,6 +24,9 @@
disableTemplate = ["katex"]
[modules.katex]
state = "defer"
[modules.flexsearch]
frontmatter = false
filter = ""
[modules.fontawesome]
inline = true
debug = true
@@ -63,6 +66,8 @@
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
overlay = false
overlayMode = "dark"
horizontal = false
offset = "5.5rem"
search = true
@@ -189,14 +194,5 @@
images = ["logo.png"]
locale = "en_US"
[comments]
enabled = false
repo = "" # Replace with your repository.
#issueTerm = "pathname" # pathname, url, title, og:title
#label = "comment"
# By default, light and dark mode correspond to github-light and github-dark, respectively.
# Optional values: github-light, github-dark, preferred-color-scheme, github-dark-orange, icy-dark, dark-blue, photon-dark.
#theme = ""
[links]
hinode = "https://gethinode.com"

View File

@@ -7,15 +7,14 @@ for = '/**'
X-XSS-Protection = "1; mode=block"
Content-Security-Policy = """\
default-src 'self'; \
script-src 'self' \
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
base-uri 'self'; \
connect-src 'self'
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
frame-src 'self' https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
manifest-src 'self'; \
media-src 'self' \

View File

@@ -1,9 +1,11 @@
comment: >-
Creates an HTML element that shows the long form of an abbrevitation. The abbreviation data is centrally stored in a
data file. By default, the shortcode uses `abbr.yaml` with translation support.
Creates an HTML element that shows the long form of an abbrevitation. The
abbreviation data is centrally stored in a data file. By default, the
shortcode uses `abbr.yaml` with translation support.
The data file is expected to store key-value pairs, where `id` is the lower-case abbrevation and `long` its long
form. The following example illustrates this using YML:
The data file is expected to store key-value pairs, where `id` is the
lower-case abbrevation and `long` its long form. The following example
illustrates this using YML:
- id: css
long: `Cascading Style Sheets`

View File

@@ -6,7 +6,7 @@ arguments:
type: string
optional: true
comment: >-
ID of the accordion, defaults to accordion-n with a sequential number n.
ID of the accordion, defaults to `accordion-n` with a sequential number n.
always-open:
type: bool
optional: true
@@ -15,4 +15,4 @@ arguments:
class:
type: string
optional: true
comment: Class attribute of the accordion, e.g. w-50.
comment: Class attribute of the accordion, e.g. `w-50`.

View File

@@ -1,22 +1,18 @@
comment: >-
Use the badge shortcode to enrich headings.
comment: Use the badge shortcode to enrich headings.
arguments:
title:
type: string
optional: true
comment: >-
Title of the badge.
optional: false
comment: Title of the badge.
class:
type: string
optional: true
comment: >-
Class attribute of the badge element.
comment: Class attribute of the badge element.
color:
type: select
optional: true
default: secondary
comment: >-
Theme color of the element.
comment: Theme color of the element.
options:
values:
- primary

View File

@@ -6,19 +6,16 @@ arguments:
- string
- template.HTML
optional: true
comment: >-
Title of the button, required unless icon is set.
comment: Title of the button, required unless icon is set.
class:
type: string
optional: true
comment: >-
Class attribute of the button element, e.g. “p-5”.
comment: Class attribute of the button element, e.g. `p-5`.
color:
type: select
optional: true
default: primary
comment: >-
Theme color of the element.
comment: Theme color of the element.
options:
values:
- primary
@@ -48,7 +45,7 @@ arguments:
id:
type: string
optional: true
comment: ID of the button, to be used in the DOM.
comment: Identifier of the button, to be used in the DOM.
state:
type: select
optional: true
@@ -61,7 +58,7 @@ arguments:
- active
- inactive
size:
type: string
type: select
optional: true
default: md
comment: Size of the button.
@@ -85,7 +82,12 @@ arguments:
comment: >-
Assistive label for the button or badge. The label is applied
to the badge instead of the button when a badge has been defined.
The default value of the button aria-label is its title.
The default value of the button's assistive label is its title.
aria-label:
type: string
optional: true
comment: Alias for label.
group: shortcode
tooltip:
type: string
optional: true
@@ -108,7 +110,7 @@ arguments:
- link
- button
placement:
type: string
type: select
optional: true
default: top
comment: Position of the tooltip.
@@ -134,7 +136,7 @@ arguments:
- first
- last
justify:
type: string
type: select
optional: true
default: center
comment: Justification of the button title and icon.
@@ -149,7 +151,7 @@ arguments:
toast:
type: string
optional: true
comment: ID of the toast to display when the button is clicked.
comment: Identifier (ID) of the toast to display when the button is clicked.
clipboard:
type:
- string
@@ -174,6 +176,7 @@ arguments:
comment: >-
Dictionary of key-value pairs added as custom attributes to the button
element ('<a>').
group: partial
spacing:
type: bool
optional: true

View File

@@ -11,11 +11,11 @@ arguments:
- '*hugolib.pageForShortcode'
optional: true
comment: Context of the current page.
group: partial
title:
type: string
optional: true
comment: >-
Title of the card, replaces the title of the referenced page (if any).
comment: Title of the card group.
gutter:
type: int
optional: true
@@ -24,20 +24,27 @@ arguments:
options:
min: 0
max: 5
release: v0.19.0
list:
type:
- page.Pages
- resource.Resources
- 'page.Pages'
- 'resource.Resources'
- '[]map[string]interface {}'
optional: true
comment: Array of pages to be rendered as cards.
comment: Array of pages or structured content to be rendered as cards.
group: partial
cards:
type: string
optional: true
comment: String of rendered cards.
group: partial
max:
type: int
optional: true
comment: Maximum number of cards to display.
group: partial
options:
min: 1
cols:
type: select
optional: true
@@ -51,23 +58,27 @@ arguments:
- "4"
- "5"
- "auto"
release: v0.19.0
paginate:
type: bool
optional: true
comment: >-
Flag indicating if pagination should be added to the card group, if the
list exceeds the maximum number of cards to display.
group: partial
href:
type: string
optional: true
comment: >-
address for the button or hyperlink. If set, a button is added if the
Address for the button or hyperlink. If set, a button is added if the
list exceeds the maximum number of cards to display.
group: partial
hrefTitle:
type: string
optional: true
comment: >-
Title of the button or hyperlink as companion to href.
group: partial
separator:
type: bool
optional: true

View File

@@ -108,15 +108,14 @@ arguments:
- string
- template.HTML
optional: true
parent: cascade
comment: >-
Description of the card.
group: partial
loading:
type: select
optional: true
default: eager
parent: cascade
default: eager
comment: >-
Loading behavior of the image. The loading of lazily loaded images is
deferred until the image is within scrolling range of the viewport. This
@@ -130,7 +129,6 @@ arguments:
thumbnail:
type: path
optional: true
parent: cascade
comment: >-
Thumbnail image url, displayed on top or the left of the card.
ratio:
@@ -157,22 +155,51 @@ arguments:
icon:
type: string
optional: true
parent: cascade
comment: >-
Font Awesome icon, displayed on top or the left of the card.
align:
type: select
parent: cascade
optional: true
default: start
release: v0.23.0-alpha2
comment: Icon alignment.
options:
values:
- start
- end
- center
style:
type: string
parent: cascade
optional: true
release: v0.23.0-alpha2
comment: Icon style.
orientation:
type: select
optional: true
default: stacked
parent: cascade
comment: >-
Placement of the thumbnail or icon.
comment: Placement of the thumbnail or icon.
options:
values:
- stacked
- horizontal
- horizontal-sm
- none
subtle:
type: bool
parent: cascade
optional: true
release: v0.23.0-alpha2
comment: Apply subtle background colors.
button:
type: bool
parent: cascade
optional: true
release: v0.23.0-beta
comment: >-
Flag indicating the cards should include a button that links to the provided address.
body:
optional: true
comment: >-

View File

@@ -24,6 +24,7 @@ arguments:
- 4x3
- 16x9
- 21x9
group: partial
portrait:
type: bool
optional: true
@@ -32,6 +33,7 @@ arguments:
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.
group: partial
loading:
type: select
default: eager

View File

@@ -1,14 +1,14 @@
comment: >-
Displays a carousel of several responsive images (see the image shortcode for
more details). Add inner <img> elements to define individual image slides.
more details). Add inner `img` elements to define individual image slides.
arguments:
id:
type: string
optional: true
comment: >-
ID of the carousel, defaults to `carousel-` with a sequential number.
ID of the carousel, defaults to `carousel-n` with a sequential number `n`.
ratio:
type: string
type: select
optional: true
comment: >-
Ratio of the images. If set, the images are resized and cropped to match the
@@ -28,11 +28,12 @@ arguments:
Flag to adjust the ratio from landscape to portrait. The images themselves
are not rotated, only the crop area is adjusted. Not applicable to vector
graphics.
release: v0.18.3
class:
type: string
optional: true
comment: Class attribute of the carousel element, e.g. w-75.
comment: Class attribute of the carousel element, e.g. `w-75`.
body:
type: string
optional: false
comment: Inner <img> elements that define the individual image slides.
comment: Inner `img` elements that define the individual image slides.

View File

@@ -18,7 +18,7 @@ arguments:
type: select
optional: true
default: bash
comment: Type of shell
comment: Type of shell.
options:
values:
- bash

View File

@@ -30,11 +30,15 @@ arguments:
optional: true
default: true
comment: >-
If unset, shows the filename only. By default, the full relative path is
shown.
If unset, shows the filename only. By default, the entire path (relative
to the base path) is shown.
id:
type: string
optional: true
comment: >-
ID of the collapse panel holding the code snippet, defaults to
`docs-collapse-n` with a sequential number `n` starting at `1`.
class:
type: string
optional: true
comment: Class attribute of the tab control that wraps the docs element.

View File

@@ -2,11 +2,17 @@ comment: >-
Display a code example and render a preview of the same input. The shortcode
accepts the languages supported by Hugo's highlight function.
arguments:
id:
type: string
optional: true
comment: Identifier of the elements container.
lang:
type: string
optional: true
default: markdown
comment: Language used to display the code.
comment: >-
Language used to display the code. Use `hugo` to process Hugo (escaped)
shortcodes.
show_markup:
type: bool
optional: true

View File

@@ -21,19 +21,20 @@ arguments:
comment: >-
If unset, shows the panel with the code in collapsed state. By default,
the panel is expanded.
full:
type: string
full:
type: bool
optional: true
default: true
comment: >-
If unset, shows the filename only. By default, the full relative path is
shown.
If unset, shows the filename only. By default, the entire path (relative
to the base path) is shown.
id:
type: string
optional: true
comment: >-
ID of the collapse panel, defaults to `file-collapse-n` with a sequential
number `n` starting at 1.
Identifier of the collapse panel, defaults to `file-collapse-n` with a
sequential number `n` starting at 1.
class:
type: string
optional: true
comment: Class argument of the tab control.
comment: Class attribute of the tab control that wraps the file element.

View File

@@ -21,7 +21,10 @@ arguments:
url:
type: string
optional: true
comment: Path or url of the image, e.g. `img/example.jpg`.
comment: >-
Path or url of the image, e.g. `img/example.jpg`. Images with multiple
color modes are expected to have a basename that ends with either `-dark`
or `-light`.
src:
type: string
optional: true
@@ -39,9 +42,12 @@ arguments:
type: bool
default: false
optional: true
comment: Flag indicating if the image should support color modes.
comment: >-
Flag indicating if the image should support color modes. If set, the
shortcode searches for images that having a matching color-mode suffix
such as `-light` or `-dark`.
ratio:
type: string
type: select
optional: true
comment: >-
Ratio of the image. If set, the image is resized and cropped to match the
@@ -62,6 +68,7 @@ arguments:
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.18.3
loading:
type: select
default: eager
@@ -75,6 +82,7 @@ arguments:
values:
- eager
- lazy
release: v0.21.0
priority:
type: select
default: auto
@@ -102,6 +110,7 @@ arguments:
type: string
optional: true
comment: Class attributes of the wrapper element, e.g. `mx-auto`.
release: v0.18.3
class:
type: string
optional: true

View File

@@ -25,8 +25,8 @@ arguments:
position: 0
optional: true
comment: >-
Reference to either an external link (if it starts with http), a named
link (if it can be found in params.links), or internal reference.
Reference to either an external link (if it starts with `http`), a named
link (if it can be found in `params.links`), or internal reference.
Both external and internal references may include an anchor `#`.
name:
type: string

55
data/structures/list.yml Normal file
View File

@@ -0,0 +1,55 @@
comment: >-
Displays a list of items with a thumbnail alternating between left and right
alignment.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Required context of the current page.
group: partial
list:
type:
- 'page.Pages'
- 'resource.Resources'
optional: false
comment: Required array of pages.
group: partial
title:
type: string
optional: true
comment: Optional title of the card group.
loading:
type: select
default: eager
optional: true
comment: >-
Loading behavior of the image. The loading of lazily loaded images is
deferred until the image is within scrolling range of the viewport. This
should reduce the initial loading time of the website. It is recommended
to lazily load only those images that are below the pagefold.
options:
values:
- eager
- lazy
class:
type: string
optional: true
comment: Class attribute of the tab element, e.g. “w-50”.
color:
type: select
optional: true
comment: >-
Theme color of the element.
options:
values:
- primary
- secondary
- success
- danger
- warning
- info
- light
- dark
- body

View File

@@ -9,7 +9,7 @@ arguments:
optional: true
comment: >-
Theme color of the highlight. By default, the highlight uses the color of
the HTML mark function.
the HTML mark function (usually yellow).
options:
values:
- primary

View File

@@ -1,25 +1,25 @@
comment: >-
Defines an individual nav item.
Defines an individual item.
arguments:
id:
type: string
optional: true
comment: ID of the nav-item.
parent: cascade
comment: Identification of the item.
group: partial
parentID:
type: string
optional: false
comment: ID of the parent (e.g. nav control).
comment: Identification of the parent (e.g. nav control).
group: partial
header:
type: string
optional: false
comment: Header of the nav item.
comment: Header of the item.
show:
type: bool
optional: true
comment: >-
Flag to indicate the nav item should be shown. Only one can be shown at a
Flag to indicate if the item should be shown. Only one can be shown at a
time.
disabled:
type: bool
@@ -33,13 +33,13 @@ arguments:
class:
type: string
optional: true
comment: Class attribute of the nav item.
comment: Class attribute of the item.
body:
type:
- string
- template.HTML
optional: true
comment: The body content of the nav-item, supports Markdown and HTML (if enabled).
comment: The body content of the item, supports Markdown and HTML (if enabled).
group: partial
item_type:
type: select
@@ -50,7 +50,13 @@ arguments:
- accordion
- tab-pane
group: partial
illustration:
type:
- string
- template.HTML
optional: true
group: partial
body:
optional: false
comment: Content of the nav item.
comment: Content of the item.
group: shortcode

View File

@@ -44,7 +44,7 @@ arguments:
class:
type: string
optional: true
comment: Class attribute of the tab group, e.g. nav-fill.
comment: Class attribute of the tab group, e.g. `nav-fill`.
pane:
type: select
optional: true

View File

@@ -0,0 +1,34 @@
comment: >-
Defines an individual item of the navigation bar.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
group: partial
menu:
type: '*navigation.MenuEntry'
optional: false
comment: Menu data to use for the navbar item.
parent:
type: '*navigation.MenuEntry'
optional: true
comment: Parent of the current navbar item.
class:
type: string
optional: true
comment: Class attribute of the item.
cue:
type: bool
optional: true
comment: >-
Flag to indicate if an external link should show a visual cue, defaults
to the setting `main.externalLinks.cue` in the site's parameters.
tab:
type: bool
optional: true
comment: >-
Flag to indicate if an external link should open in a new tab, defaults
to setting `main.externalLinks.tab` in the site's parameters.

View File

@@ -28,7 +28,12 @@ arguments:
color:
type: select
optional: true
comment: Background theme color of the navbar.
comment: >-
Background theme color of the navbar. Set the color to `body` or
`body-tertiary` for the navbar to respond to color mode changes (e.g.
switching between dark and light). The navigation bar is transparent when
no color is set, but is set to the body color when scrolling to enhance
the contrast.
options:
values:
- primary
@@ -47,9 +52,9 @@ arguments:
type: string
optional: true
comment: >-
ID of the navbar, defaults to `navbar-0`. The id is used by several child
elements, including a color mode switcher, version switcher, and collapse
panel.
Identification of the navbar, defaults to `navbar-0`. The id is used by
several child elements, including a color mode switcher, version switcher,
and collapse panel.
menus:
type: string
optional: true
@@ -76,6 +81,7 @@ arguments:
values:
- light
- dark
group: partial
mode:
type: bool
optional: true
@@ -94,6 +100,26 @@ arguments:
default: false
comment: Flag to indicate the navbar should stick to the top.
group: partial
overlay:
type: bool
optional: true
default: false
comment: >-
Flag to indicate if the navbar should render as an overlay on the current
page.
group: partial
release: v0.22.6
overlayMode:
type: select
optional: true
default: dark
comment: Color mode of the overlay.
options:
values:
- light
- dark
group: partial
release: v0.23.0
logo:
type: path
optional: true

View File

@@ -0,0 +1,14 @@
comment: >-
Adds a dismissible alert message to the top of the page, above the main menu.
The alert uses the following scratch variables:
- pageAlertMsg
- pageAlertURL
- version
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
group: partial

View File

@@ -0,0 +1,21 @@
comment: >-
Adds a pagination element to a page. This allows to split long lists across
multiple pages to ease navigation. Set 'paginate' in the site configuration to
define the maximum amount of items to display on a list page.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
group: partial
format:
type: select
optional: true
default: default
comment:
options:
values:
- default
- terse

View File

@@ -16,7 +16,7 @@ arguments:
class:
type: string
optional: true
comment: Class attribute of the card element, e.g. w-50.
comment: Class attribute of the card element, e.g. `w-50`.
color:
type: select
optional: true

View File

@@ -23,7 +23,7 @@ arguments:
type: select
optional: true
default: md
comment: Size of the button
comment: Size of the button.
options:
values:
- sm
@@ -36,4 +36,5 @@ arguments:
inline:
type: bool
optional: true
comment: Flag to render the release button inline (defaults to false).
default: false
comment: Flag to render the release button inline.

View File

@@ -0,0 +1,16 @@
comment: Renders the header of a page section.
arguments:
title:
type: string
optional: true
comment: Title of the section.
description:
type: string
optional: true
comment: Section description.
content:
type:
- string
- template.HTML
optional: true
comment: Section content.

View File

@@ -0,0 +1,9 @@
comment: Renders the section menu of a single page.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
group: partial

View File

@@ -0,0 +1,9 @@
comment: Renders the social sharing buttons for a single page.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
group: partial

View File

@@ -0,0 +1,24 @@
comment: >-
Renders the sidebar navigation of a single page. It is intended to be used as
companion to the main navigation and is typically used in content-heavy
sections, such as documentation pages. On smaller screens, the sidebar is
replaced with an offcanvas element. In this case, the main navigation receives
an additional toggler on the left of the screen.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
group: partial
menu:
type: '[]interface {}'
optional: true
comment: Path of the sidebar navigation menu.
version:
type: string
optional: true
comment: >-
Version of the sidebar navigation, used to define the base URL of
generated links, together with the page's section.

View File

@@ -6,7 +6,7 @@ arguments:
type: string
optional: true
comment: >-
Class attribute of the wrapping element, e.g. text-center.
Class attribute of the wrapping element, e.g. `text-center`.
color:
type: select
optional: true

View File

@@ -5,4 +5,4 @@ arguments:
type: string
optional: false
position: 0
comment: Text to display in subscript.
comment: Text to display in subscript. You can omit the argument name.

View File

@@ -5,4 +5,4 @@ arguments:
type: string
optional: false
position: 0
comment: Text to display in superscript.
comment: Text to display in superscript. You can omit the argument name.

View File

@@ -23,7 +23,7 @@ arguments:
class:
type: string
optional: true
comment: Class attribute of the table element, e.g. table-striped-columns w-auto.
comment: Class attribute of the table element, e.g. `table-striped-columns w-auto`.
body:
type: string
optional: false

View File

@@ -5,7 +5,8 @@ arguments:
type: string
optional: true
comment: >-
ID of the toast message, defaults to `toast-message-n` with sequence n.
Unique identifier of the toast message, defaults to `toast-message-n`
with sequence n.
header:
type: string
optional: true

9
data/structures/toc.yml Normal file
View File

@@ -0,0 +1,9 @@
comment: Renders the table of contents of a single page.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
group: partial

View File

@@ -18,7 +18,7 @@ arguments:
type: string
optional: false
position: 0
comment: ID of the video to be embedded.
comment: Identifier of the video to be embedded.
autoplay:
type: bool
optional: true

View File

@@ -1,6 +1,6 @@
resourcedir = '../resources/'
title = "Hinode"
copyright = "Copyright © 2023 Mark Dumay."
copyright = "Copyright © 2024 Mark Dumay."
paginate = 9
enableGitInfo = true
@@ -79,6 +79,8 @@ home = ["HTML", "RSS", "REDIR"]
keepVarNames = true
precision = 0
version = 2022
[minify.tdewolff.html]
keepWhitespace = true
[module]
replacements = 'github.com/gethinode/hinode -> ../..'

View File

@@ -20,6 +20,9 @@
disableTemplate = ["katex"]
[modules.katex]
state = "defer"
[modules.flexsearch]
frontmatter = false
filter = ""
[modules.fontawesome]
inline = true
debug = true
@@ -52,6 +55,8 @@
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
overlay = false
overlayMode = "dark"
horizontal = false
offset = "5.5rem"
search = true
@@ -127,7 +132,7 @@
padding = "3"
header = "none"
footer = "tags"
orientation = "horizontal-sm"
orientation = "horizontal"
style = "border-1 card-emphasize"
homepage = 3
separator = false
@@ -181,15 +186,6 @@
images = ["logo.png"]
locale = "en_US"
[comments]
enabled = false
repo = "" # Replace with your repository.
#issueTerm = "pathname" # pathname, url, title, og:title
#label = "comment"
# By default, light and dark mode correspond to github-light and github-dark, respectively.
# Optional values: github-light, github-dark, preferred-color-scheme, github-dark-orange, icy-dark, dark-blue, photon-dark.
#theme = ""
[links]
bs_badge_heading = "https://getbootstrap.com/docs/5.3/components/badge/#headings"
hinode_docs = "https://gethinode.com"
@@ -197,5 +193,4 @@
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
utterances = "https://utteranc.es"
hinode = "https://gethinode.com"

View File

@@ -7,15 +7,14 @@ for = '/**'
X-XSS-Protection = "1; mode=block"
Content-Security-Policy = """\
default-src 'self'; \
script-src 'self' \
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
base-uri 'self'; \
connect-src 'self'
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
frame-src 'self' https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
manifest-src 'self'; \
media-src 'self' \

View File

@@ -8,7 +8,7 @@ showComments: false
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
{{< card-group class="text-center border-0" padding="3" >}}
{{< card-group align="center" class="border-0" padding="3" >}}
{{< card title="Bootstrap framework" icon="fab bootstrap" >}}
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Sass files.
{{< /card >}}
@@ -26,7 +26,6 @@ Additional features include:
* Support for multiple languages
* Reusable Bootstrap components through configurable shortcodes and partials
* Versioned documentation, including sidebar navigation and version switcher
* Embedded comments through light-weight integration with GitHub via [utteranc.es]({{< param "links.utterances" >}})
* Reponsive image handling for multiple screen sizes and resolutions
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}})
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}})

View File

@@ -125,7 +125,8 @@ As an example, the following shortcode displays a stacked card that links to the
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary" header="publication" footer="none" /*/>}}
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
header="publication" footer="none" button=true /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
@@ -404,6 +405,22 @@ As an example, the following shortcode displays superscript text.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Table
As an example, the following shortcode displays a responsive table.
<!-- markdownlint-disable MD037 -->
{{< example lang="markdown" >}}
{{</* table */>}}
| # | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading |
|----|---------|---------|---------|---------|---------|---------|---------|---------|---------|
| 1. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
| 2. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
| 3. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
{{</* /table */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Timeline
As an example, the following shortcode displays a timeline with the file `data/timeline.en.yml` as data.

View File

@@ -9,7 +9,7 @@ showComments: false
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
{{< card-group class="text-center border-0" padding="3" >}}
{{< card-group align="center" class="border-0" padding="3" >}}
{{< 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.
{{< /card >}}
@@ -27,7 +27,6 @@ Les fonctionnalités supplémentaires incluent:
- Prise en charge de plusieurs langues
- Composants bootstrap réutilisables à travers des codes et partiels configurables
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
- Commentaires intégrés via une intégration légère avec GitHub via [utteranc.es]({{< param "links.utterances" >}})
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})

View File

@@ -10,7 +10,7 @@ showComments: false
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
{{< card-group class="text-center border-0" padding="3" >}}
{{< card-group align="center" class="border-0" padding="3" >}}
{{< card title="Bootstrap raamwerk" icon="fab bootstrap" >}}
Bouw snelle websites geschikt voor mobiele en desktop schermen met Bootstrap 5. Pas de site eenvoudig aan met bronbestanden in Sass.
{{< /card >}}
@@ -28,7 +28,6 @@ Overige functies:
* Ondersteuning voor meerdere talen
* Herbruikbare Bootstrap componenten via shortcodes en partials
* Versiebeheer van documentatiepagina's, inclusief secundaire navigatie en selectie van versies
* Integreren van commentaar via [utteranc.es]({{< param "links.utterances" >}})
* Optimalisering van foto's voor meerdere schermafmetingen en resoluties
* Optimale zoekresultaten, met 100 punten voor SEO volgens [PageSpeed Insights]({{< param "links.pagespeed" >}})
* Veilige communicatie, met een score van A+ volgens [Mozilla Observatory]({{< param "links.observatory" >}})

View File

@@ -15,11 +15,11 @@
"form",
"h2",
"h3",
"h5",
"head",
"hr",
"html",
"i",
"iframe",
"img",
"input",
"li",
@@ -27,7 +27,6 @@
"mark",
"meta",
"nav",
"nil",
"noscript",
"ol",
"p",
@@ -40,8 +39,14 @@
"sub",
"sup",
"svg",
"table",
"tbody",
"td",
"th",
"thead",
"time",
"title",
"tr",
"ul",
"use"
],
@@ -58,6 +63,7 @@
"alert-dismissible",
"align-items-center",
"align-items-end",
"align-items-start",
"align-middle",
"align-self-center",
"align-self-end",
@@ -97,6 +103,7 @@
"card-body",
"card-body-link",
"card-body-margin",
"card-button",
"card-emphasize",
"card-icon",
"card-img-top",
@@ -272,6 +279,7 @@
"ms-md-3",
"mt-2",
"mt-3",
"mt-4",
"mt-5",
"mt-auto",
"multi-docs-collapse-15",
@@ -300,6 +308,11 @@
"navbar-toggler",
"next",
"no-js",
"offcanvas",
"offcanvas-body",
"offcanvas-header",
"offcanvas-start",
"offcanvas-title",
"order-0",
"order-1",
"order-first",
@@ -326,12 +339,14 @@
"ps-1",
"ps-3",
"ps-xl-3",
"pt-1",
"pt-5",
"pt-md-3",
"ptw-3",
"ptw-5",
"ptw-lg-5",
"ptw-sm-4",
"px-2",
"px-4",
"px-xxl-0",
"py-1",
@@ -374,6 +389,8 @@
"syntax-highlight",
"tab-content",
"tab-pane",
"table",
"table-responsive",
"tag-link",
"text-bg-body",
"text-bg-body-tertiary",
@@ -433,8 +450,7 @@
"visually-hidden",
"vr",
"w-100",
"w-50",
"youtube-embedded"
"w-50"
],
"ids": [
"-theme",
@@ -510,6 +526,8 @@
"navbar-sample-collapse",
"navigation",
"notification",
"offcanvas-label",
"offcanvass-sidebar",
"persona",
"projecten",
"projects",
@@ -520,6 +538,7 @@
"spinner",
"sub",
"sup",
"table",
"timeline",
"toast",
"toast-container",

11
go.mod
View File

@@ -5,11 +5,12 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/gethinode/mod-bootstrap v1.2.2 // indirect
github.com/gethinode/mod-flexsearch v1.7.1 // indirect
github.com/gethinode/mod-fontawesome v1.7.3 // indirect
github.com/gethinode/mod-flexsearch v1.9.0 // indirect
github.com/gethinode/mod-fontawesome v1.8.1 // indirect
github.com/gethinode/mod-katex v1.0.5 // indirect
github.com/gethinode/mod-leaflet v0.3.5 // indirect
github.com/gethinode/mod-lottie v1.3.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 // indirect
github.com/gethinode/mod-leaflet v1.0.0 // indirect
github.com/gethinode/mod-lottie v1.4.2 // indirect
github.com/gethinode/mod-utils/v2 v2.0.3 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect
github.com/twbs/bootstrap v5.3.2+incompatible // indirect
)

42
go.sum
View File

@@ -40,6 +40,12 @@ github.com/gethinode/mod-flexsearch v1.7.0 h1:VFTf6iUyT9b47jTDAxh8nVHU1eUBrdxlyk
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.8.0 h1:rKu9ackmbGAD/CRJYUDUhy/3nDCEj0IgYDiL1bkwzDc=
github.com/gethinode/mod-flexsearch v1.8.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.8.1 h1:xwPvmmxd8Tdyxp8/rnd9KRGqIDtZs/YwAQJ1i9oQMiM=
github.com/gethinode/mod-flexsearch v1.8.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.9.0 h1:AE+w7QeZTxh36JNTG+CASDLxaqlCZKn+EUD6ulnPGak=
github.com/gethinode/mod-flexsearch v1.9.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
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=
@@ -72,6 +78,10 @@ github.com/gethinode/mod-fontawesome v1.6.1 h1:iqOgDGdw7Bs4hnzjF/8JsUn10omyKQZTg
github.com/gethinode/mod-fontawesome v1.6.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.7.3 h1:YzRCYSasVRIcImVmTJYjqNJ+KmyNWfm/bMgtM0slvzs=
github.com/gethinode/mod-fontawesome v1.7.3/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.8.0 h1:YEuCmvCdzcemF1eFK35Wnp1asKKO3/xbxGArnjq6PRY=
github.com/gethinode/mod-fontawesome v1.8.0/go.mod h1:uvuC2YL8mdXNp6NRzFOu4TWsHvtY9AZ8YxJkF23/M/8=
github.com/gethinode/mod-fontawesome v1.8.1 h1:iyvULrpaGizQoI5Vl9WjFYcMGWefdyG90NGK2UKax+k=
github.com/gethinode/mod-fontawesome v1.8.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
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=
@@ -94,6 +104,10 @@ github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp
github.com/gethinode/mod-leaflet v0.3.4/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.5 h1:69Bv/6zRXhbcTzo7TMr58h3ry47srHRpM1k81LrLbYU=
github.com/gethinode/mod-leaflet v0.3.5/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.4.0 h1:Xc6c1UTf4m1saQLFfFWT5sEpwj25xVGuS8csGC82UUI=
github.com/gethinode/mod-leaflet v0.4.0/go.mod h1:yr+bUKAstifdB16mbYh69OayAmgPOlNUubAmVn5eL2M=
github.com/gethinode/mod-leaflet v1.0.0 h1:HdnWafOGkkK1hYGfqLYF3pp9dAFS/caxlzML9sO1rCc=
github.com/gethinode/mod-leaflet v1.0.0/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=
@@ -106,7 +120,35 @@ github.com/gethinode/mod-lottie v1.2.0 h1:9S0Y4PlEO66dIvFxayatmDEf8WWxqbLNLi4z56
github.com/gethinode/mod-lottie v1.2.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.3.0 h1:vQ8CXkjdp2IeFskTzu+ZnKOEio8GtN08urVK+oCH81E=
github.com/gethinode/mod-lottie v1.3.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.4.0 h1:0Ls1Q/8p0gQpuX9+dtfNGKcjBNeymjE7gERdnN3lCCE=
github.com/gethinode/mod-lottie v1.4.0/go.mod h1:57eu6glS5oxkew2dB1P2zsbhw444aRX0XfuyDe7k/dk=
github.com/gethinode/mod-lottie v1.4.1 h1:RzCjYsxFPqyBsYAcdPeUP0rvF+hD9eEl7NrxuaRiKQQ=
github.com/gethinode/mod-lottie v1.4.1/go.mod h1:QjKlEmYbekrNGwa9EdFlPcXxwWWcraJUQ6xIL+syA60=
github.com/gethinode/mod-lottie v1.4.2 h1:rHBhbMVRlkVMxVY+3g1u2kolDv695uL8Zur4mDeoIO8=
github.com/gethinode/mod-lottie v1.4.2/go.mod h1:H6y1e3/2bBR1ujuM5N1iY39kpyN3RtcSRahX90+tlQI=
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=
github.com/gethinode/mod-utils v1.0.1/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.2 h1:0b3i+/bBHY1Td9N6khDbL1nf3d5HGc4QzI4BbEWHoU4=
github.com/gethinode/mod-utils v1.0.2/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.3 h1:FF6lnam0Bcdj7G1E5P+qi5ByPrl1npL+3uS5YoPx1C0=
github.com/gethinode/mod-utils v1.0.3/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.4 h1:Lr7hAVaWHv0O5TJXhRHGhvlOvWwIATJm9mpLQhCsopM=
github.com/gethinode/mod-utils v1.0.4/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.1.0 h1:a82h/DQTKc5hxf/ExDoZqJCJmVLT0dtyU8tf78yOPFw=
github.com/gethinode/mod-utils v1.1.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils/v2 v2.0.1 h1:yy8Qaytrk55YNMzyldYKDWJr6mpQs7s7TWBkSYRMBng=
github.com/gethinode/mod-utils/v2 v2.0.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.0.2 h1:pocFT/mWPcfmABltZwe76D1IB3TZIrD1k1kH9zCDO1M=
github.com/gethinode/mod-utils/v2 v2.0.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.0.3 h1:4BsRNGi+0a3Mq021Gq/TwDNiyuIfZ8xnpYU0DkNbUYI=
github.com/gethinode/mod-utils/v2 v2.0.3/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=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

View File

@@ -29,6 +29,8 @@
translation: "No articles found"
- id: emptyTags
translation: "No tags found"
- id: readMore
translation: "Read more"
# Languages
- id: lang_de

View File

@@ -136,14 +136,14 @@
# Arguments
- id: name
translation: "Name"
translation: "Nom"
- id: type
translation: "Type"
- id: required
translation: "Required"
translation: "Requis"
- id: default
translation: "Default"
translation: "Défaut"
- id: comment
translation: "Comment"
translation: "Commentaire"
- id: supportedValues
translation: "Supported values"
translation: "Valeurs supportées"

View File

@@ -27,6 +27,8 @@
translation: "Geen artikelen gevonden"
- id: emptyTags
translation: "Geen tags gevonden"
- id: readMore
translation: "Lees meer"
# Languages
- id: lang_de

View File

@@ -1,4 +1,4 @@
{{ define "main"}}
{{ define "main" }}
<div class="d-flex flex-fill">
<div class="container-xxl my-auto">
<div class="text-center">

View File

@@ -1,31 +1,3 @@
{{- define "partials/optional-scripts.html" -}}
{{ $page_modules := slice }}
{{ if reflect.IsMap .Params.modules }}
{{ $page_modules = .Params.modules }}
{{ else }}
{{ $page_modules = $page_modules | append .Params.modules }}
{{ end }}
{{- $modules := site.Params.modules.optional | intersect $page_modules -}}
{{- range $index, $mod := $modules -}}
{{- $filename := printf "js/%s.bundle.js" $mod -}}
{{- $match := printf "js/modules/%s/**.js" $mod -}}
{{- $skipTemplate := false -}}
{{- if reflect.IsSlice site.Params.modules.disableTemplate -}}
{{- if in site.Params.modules.disableTemplate $mod}}
{{- $skipTemplate = true -}}
{{- end -}}
{{- end -}}
{{ $state := "" }}
{{- with (index site.Params.modules $mod) -}}
{{- with index . "state" }}{{ $state = . }}{{ end -}}
{{- end -}}
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "state" $state "page" .) }}
{{- end -}}
{{- end -}}
{{- /* Set version-aware sidebar menu */ -}}
{{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}}
{{- $.Scratch.Set "version" $version -}}
@@ -70,7 +42,9 @@
<div class="d-flex flex-column {{ if $fullCover }} fullscreen{{ end }}{{ if .IsHome }} {{ .Site.Params.home.style }}{{ end }}">
{{- partial "assets/navbar.html" (dict
"page" .
"fixed" (string site.Params.navigation.fixed)
"fixed" site.Params.navigation.fixed
"overlay" site.Params.navigation.overlay
"overlayMode" site.Params.navigation.overlayMode
"color" site.Params.navigation.color
"style" (default "light" site.Params.navigation.style)
"size" (default "md" site.Params.navigation.size))
@@ -97,6 +71,6 @@
{{- partial "footer/toast-container.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
{{- partial "partials/optional-scripts.html" . -}}
{{- partial "footer/optional-scripts.html" . -}}
</body>
</html>

View File

@@ -9,7 +9,7 @@
{{ 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" . -}}
{{- partial "assets/section-menu.html" (dict "page" .) -}}
{{- end -}}
{{- $loading := "" -}}
{{- if or (eq $layout "featured") .IsHome -}}

View File

@@ -1,33 +1,9 @@
{{- define "partials/single-main.html" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" (dict "page" .) }}{{ end -}}
{{ .Render "single/header" }}
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
{{- end -}}
{{ .Render "single/body" }}
{{ .Render "single/footer" }}
{{- if and .Site.Params.comments.enabled .Params.showComments | default true -}}
<hr>
{{ partial "assets/comments.html" . }}
{{ end -}}
{{ end -}}
{{ define "main" -}}
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ $sidebar := "" }}
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $hasSidebar }}{{ $sidebar = partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}{{ end }}
{{ $sidebar := .Render "single/sidebar" }}
{{ $toc := .Render "single/panel-toc" }}
{{ with $sidebar -}}
{{ with $sidebar }}
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
@@ -40,13 +16,13 @@
{{ end }}
<div class="container-xxl flex-fill p-4 px-xxl-0">
{{ if $hasSidebar -}}
{{ if $sidebar -}}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">
{{ $sidebar | safeHTML }}
</div>
<div class="col-12 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-8 mb-5 p-4">
{{ partial "partials/single-main.html" . }}
{{ .Render "single/main" }}
</div>
<div class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5">
{{ $toc | safeHTML }}
@@ -55,7 +31,7 @@
{{ else }}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9">
{{ partial "partials/single-main.html" . }}
{{ .Render "single/main" }}
</div>
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
{{ $toc | safeHTML }}

View File

@@ -48,5 +48,5 @@
</div>
</div>
{{- end -}}
{{ partial "assets/sharing.html" . }}
{{ partial "assets/sharing.html" (dict "page" .) }}
<p class="lead mb-5 mt-3">{{ .Description }}</p>

View File

@@ -0,0 +1,11 @@
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" (dict "page" .) }}{{ end -}}
{{ .Render "single/header" }}
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" (dict "page" .) }}</div>
{{- end -}}
{{ .Render "single/body" }}
{{ .Render "single/footer" }}

View File

@@ -37,6 +37,6 @@
{{ end }}
{{ if $toc }}
{{ partial "assets/toc.html" (dict "page" . "download" $download) }}
{{ partial "assets/toc.html" (dict "page" .) }}
{{ end -}}
</div>

View File

@@ -0,0 +1,7 @@
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{ $sidebar := "" }}
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $hasSidebar }}
{{ partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}
{{ end }}

View File

@@ -1,3 +1,3 @@
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ partial "assets/sharing.html" . }}
{{ partial "assets/sharing.html" (dict "page" .) }}
<p class="lead mb-5">{{ .Description }}</p>

View File

@@ -1,3 +1,3 @@
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ partial "assets/sharing.html" . }}
{{ partial "assets/sharing.html" (dict "page" .) }}
<p class="lead mb-5">{{ .Description }}</p>

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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,18 +16,20 @@
{{ $page := .page }}
<!-- Main code -->
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{{- range $index, $item := $page.Ancestors.Reverse -}}
{{- $title := .LinkTitle -}}
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
{{- $address := or .RelPermalink (.Params.Redirect | relLangURL) -}}
{{ if $address }}
<li class="breadcrumb-item"><a href="{{ $address }}">{{ $title }}</a></li>
{{ else }}
<li class="breadcrumb-item">{{ $title }}</li>
{{ end }}
{{- end -}}
<li class="breadcrumb-item active" aria-current="page">{{ $page.LinkTitle }}</li>
</ol>
</nav>
{{ if not $error }}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{{- range $index, $item := $page.Ancestors.Reverse -}}
{{- $title := .LinkTitle -}}
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
{{- $address := or .RelPermalink (.Params.Redirect | relLangURL) -}}
{{ if $address }}
<li class="breadcrumb-item"><a href="{{ $address }}">{{ $title }}</a></li>
{{ else }}
<li class="breadcrumb-item">{{ $title }}</li>
{{ end }}
{{- end -}}
<li class="breadcrumb-item active" aria-current="page">{{ $page.LinkTitle }}</li>
</ol>
</nav>
{{ end }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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,8 +16,8 @@
{{- $title := trim .title " \r\n" -}}
{{- $icon := .icon }}
{{- if not (or $title $icon) -}}
{{- errorf "partial [assets/button.html] - Missing element title or icon" -}}
{{ $error = true }}
{{- warnf "partial [assets/button.html] - Missing element title or icon" -}}
{{ $title = T "linkPlaceholder" }}
{{- end -}}
{{- $id := .id }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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.
-->
@@ -27,34 +27,43 @@
{{- $orientation := .orientation -}}
{{- $ratio := .ratio -}}
{{- $wrapper := .wrapper | default "p-0" -}}
{{- $style := .style -}}
{{- $align := .align -}}
{{- $subtle := .subtle }}
{{- $loading := .loading -}}
{{- $button := .button -}}
<!-- Override arguments -->
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }}
{{ $paginator := "" }}
{{ if $paginate }}
{{ if and $isPages $paginate }}
{{ $paginator = $page.Paginate $pages }}
{{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }}
{{ end }}
{{ $list := slice }}
{{ range $index, $element := $pages }}
{{ $params := dict }}
<!-- regular page -->
{{- if and $element.RelPermalink $element.File -}}
{{- $params = merge $params (dict "path" $element.File.Path) -}}
<!-- headless page -->
{{- else -}}
{{- $thumbnail := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.url) $element.Params.Thumbnail) -}}
{{- $params = merge $params (dict
"title" $element.Title
"href" $element.RelPermalink
"description" (partial "utilities/GetDescription.html" $element)
"thumbnail" $thumbnail
"icon" $element.Params.icon
) -}}
{{- end -}}
{{ if $isPages }}
{{ range $index, $element := $pages }}
{{ $params := dict }}
<!-- regular page -->
{{- if and $element.RelPermalink $element.File -}}
{{- $params = merge $params (dict "path" $element.File.Path) -}}
<!-- headless page -->
{{- else -}}
{{- $thumbnail := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.url) $element.Params.Thumbnail) -}}
{{- $params = merge $params (dict
"title" $element.Title
"href" $element.RelPermalink
"description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true))
"thumbnail" $thumbnail
"icon" $element.Params.icon
) -}}
{{- end -}}
{{- $list = $list | append $params }}
{{- $list = $list | append $params }}
{{ end }}
{{ else if $pages }}
{{ $list = $list | append $pages }}
{{ end }}
{{- $count := len $list -}}
@@ -84,12 +93,16 @@
{{- $params := (dict
"class" (printf "h-100 %s" $class)
"color" $color
"padding" $padding
"header" $header
"footer" $footer
"orientation" $orientation
"ratio" $ratio
"header" $header
"loading" $loading
"orientation" $orientation
"padding" $padding
"ratio" $ratio
"subtle" $subtle
"style" $style
"align" $align
"button" $button
) -}}
{{- $params = merge $params $element }}
@@ -102,7 +115,7 @@
</div>
{{- end -}}
{{- end -}}
{{- print $cards | safeHTML }}
{{if $cards }}{{- print $cards | safeHTML }}{{ end }}
</div>
{{ if $paginate }}
@@ -111,7 +124,7 @@
{{- end -}}
{{ else }}
{{ if and (gt $count $max) $moreTitle }}
<a class="btn btn-outline-primary" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
<a class="btn btn-outline-primary mt-4" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
{{ end }}
{{ end }}
</div>

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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.
-->
@@ -19,12 +19,25 @@
{{- $header := .header | default "full" -}}
{{- $href := .href -}}
{{- $icon := .icon -}}
{{- $iconStyle := "" -}}
{{- $align := .align | default "start" -}}
{{- $style := .style | default "" -}}
{{- $loading := .loading -}}
{{- $orientation := .orientation | default "stacked" -}}
{{- $padding := .padding | default "auto" -}}
{{- $padding := (string .padding) | default "auto" -}}
{{- $ratio := .ratio -}}
{{- $thumbnail := .thumbnail -}}
{{- $title := .title -}}
{{- $subtle := .subtle -}}
{{- $button := .button -}}
{{- $colorStyle := "" -}}
{{ if $color }}
{{ if $subtle }}
{{- $colorStyle = printf "bg-%s-subtle text-%s-emphasis" $color $color -}}
{{ else }}
{{- $colorStyle = printf "bg-%s text-bg-%s" $color $color -}}
{{ end }}
{{ end }}
<!-- Override arguments -->
{{- $page := "" }}
@@ -37,11 +50,18 @@
{{- with $page -}}
{{- if not $title }}{{ $title = .Title }}{{ end -}}
{{- if not $href }}{{ $href = .RelPermalink }}{{ end -}}
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" . }}{{ end -}}
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}}
{{- if not $thumbnail }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
{{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}}
{{- end -}}
{{ if (hasPrefix $orientation "horizontal") }}
{{ if not $style }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
{{ else }}
{{ if not $style }}{{ $style = "fa-4x" }}{{ end }}
{{- $iconStyle = "pb-3" -}}
{{ end }}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
<!-- Inline partial to render the card's body -->
@@ -50,6 +70,7 @@
{{- $href := .href -}}
{{- $color := .color -}}
{{- $description := .description -}}
{{- $button := .button -}}
{{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
@@ -100,36 +121,39 @@
{{- if hasPrefix $orientation "horizontal" -}}
<!-- Render horizontal card -->
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
<div class="row g-0 row-cols-1 h-100">
<div class="col-4{{ if eq $orientation "horizontal-sm" }} col-md-2{{ end }}">
<div class="card {{ $colorStyle }} {{ $class }}">
<div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}">
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "1x1") "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title "loading" $loading) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-center justify-content-center">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fluid fa-fw" $icon)) -}}
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
</div>
{{- end -}}
</div>
<div class="col-8{{ if eq $orientation "horizontal-sm" }} col-md-10{{ end }}">
<div class="card-body d-flex p-{{ $padding }} flex-column h-100">
<div class="{{ if eq $orientation "horizontal-sm" }}col-8 col-md-10{{ else }}col-8{{ end }}">
<div class="card-body d-flex p-{{ $padding }} flex-column h-100 flex-fill">
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }}
<div class="h-100">
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
<div class="flex-fill">
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description "button" $button) -}}
</div>
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
{{ if $button }}
<div>{{ partial "assets/button.html" (dict "title" (T "readMore") "href" $href "outline" true "size" "sm" "class" "card-button mb-n4") }}</div>
{{ end }}
</div>
</div>
</div>
</div>
{{- else -}}
<!-- Render stacked / default card -->
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "16x9") "wrapper" "card-img-wrap" "class" "card-img-top" "title" (or $alt $title) "loading" $loading) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $padding }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x" $icon)) -}}
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
</div>
{{- end -}}
<div class="card-body d-flex flex-column p-{{ $padding }}">
@@ -137,6 +161,14 @@
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
{{ if $page }}{{- partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) -}}{{ end }}
</div>
{{ if $button }}
<div class="row p-{{ $padding }}" >
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $orientation "horizontal" }}col-4{{ end }}"></div>
<div class="col {{ if eq $orientation "horizontal-sm" }}px-2{{ else if eq $orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
{{ partial "assets/button.html" (dict "title" (T "readMore") "href" $href "outline" true "size" "sm" "class" "card-button") }}
</div>
</div>
{{ end }}
</div>
{{- end -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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,12 +0,0 @@
{{- $params := .Site.Params.comments -}}
{{- with $params -}}
<h2>{{ T "comments" }}</h2>
<script src="https://utteranc.es/client.js"
repo="{{ $params.repo }}"
issue-term="{{ default "pathname" $params.issueTerm }}"
label="{{ default "comment" $params.label }}"
theme="{{ default "github-light" $params.theme }}"
crossorigin="anonymous"
async>
</script>
{{- end -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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 © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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,17 +1,7 @@
<!--
Displays a list items with a thumbnail alternating between left and right alignment. The partial supports the
following arguments:
"page" Required context of the current page.
"list" Required array of pages.
"title" Optional title of the card group.
"type" Optional type of the tab group, either "tabs", "pills", or "underline".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"class": Optional class attribute of the tab group, e.g. “nav-fill”.
In addition, the following arguments are passed to the individual tabs.
"class" Optional class attribute of the tab element, e.g. “w-50”.
"color": Optional theme color of the tab, either "primary", "secondary", "success", "danger",
"warning", "info", "light", "dark", or "body". By default, no color is specified.
Copyright © 2024 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.
-->
<!-- Inline partial to render the list item's content -->
@@ -33,67 +23,63 @@
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "wrapper" $style "mode" $mode "loading" $loading) -}}
{{- end -}}
{{ $error := false }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "list" "args" . "group" "partial") }}
{{- errorf "partial [assets/list.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page -}}
{{- if ne (printf "%T" $page) "*hugolib.pageState" -}}
{{- errorf "partial [assets/list.html] - Invalid value for param 'page'" -}}
{{- end -}}
{{- $supportedTypes := slice "page.Pages" "resource.Resources" -}}
{{ $list := .list }}
{{- if not (in $supportedTypes (printf "%T" $list)) -}}
{{- errorf "partial [assets/list.html] - Invalid value for param 'list'" -}}
{{- end -}}
{{- $list := .list -}}
{{- $title := .title -}}
{{- $class := .class -}}
{{- $color := .color -}}
{{- $loading := .loading -}}
{{ $vertical := false }}
{{ $type := "pills" }}
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/list.html] - Invalid value for param 'loading': %s" $loading -}}
{{ end -}}
{{- end -}}
<div class="d-none d-md-block p-0">
{{- range $index, $item := $list -}}
{{- $odd := eq (mod $index 2) 1 -}}
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
<div class="container ratio-section d-flex flex-column">
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
<div class="col-6{{ if $odd }} order-last{{ end }}">
{{- $style := "reveal fade-bottom" -}}
{{ if $item.Params.tilted }}
{{- $style = "reveal fade-bottom-n5 rotate-n5 ps-3" -}}
{{- if $odd }}{{ $style = "reveal fade-bottom-5 rotate-5 pe-3" }}{{ end }}
{{ end }}
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "style" $style "mode" $item.Params.colormode "loading" $loading) }}
</div>
<div class="col-6{{ if $odd }} order-first{{ end }} psw-lg-5 p-5">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
<!-- Main code -->
{{ if not $error }}
<div class="d-none d-md-block p-0">
{{- range $index, $item := $list -}}
{{- $odd := eq (mod $index 2) 1 -}}
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
<div class="container ratio-section d-flex flex-column">
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
<div class="col-6{{ if $odd }} order-last{{ end }}">
{{- $style := "reveal fade-bottom" -}}
{{ if $item.Params.tilted }}
{{- $style = "reveal fade-bottom-n5 rotate-n5 ps-3" -}}
{{- if $odd }}{{ $style = "reveal fade-bottom-5 rotate-5 pe-3" }}{{ end }}
{{ end }}
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "style" $style "mode" $item.Params.colormode "loading" $loading) }}
</div>
<div class="col-6{{ if $odd }} order-first{{ end }} psw-lg-5 p-5">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
</div>
</div>
</div>
</div>
{{ end -}}
</div>
{{ end -}}
</div>
<div class="d-md-none">
{{- range $index, $item := $list -}}
{{- $odd := eq (mod $index 2) 1 -}}
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
<div class="container d-flex flex-column">
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
<div class="col-12 text-center">
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "mode" $item.Params.colormode "loading" $loading) }}
</div>
<div class="col-12 p-3">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (partial "utilities/GetDescription.html" $item)) }}
<div class="d-md-none">
{{- range $index, $item := $list -}}
{{- $odd := eq (mod $index 2) 1 -}}
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
<div class="container d-flex flex-column">
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
<div class="col-12 text-center">
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "mode" $item.Params.colormode "loading" $loading) }}
</div>
<div class="col-12 p-3">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
</div>
</div>
</div>
</div>
{{ end -}}
</div>
{{ end -}}
</div>
{{ end }}

View File

@@ -1,6 +1,6 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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 © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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.
-->
@@ -73,7 +73,7 @@
"title" $item.Title
"class" $class
"color" $color
"content" (partial "utilities/GetDescription.html" $item)
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
"thumbnail" $thumbnail
) -}}
{{- else -}}

View File

@@ -1,22 +1,37 @@
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "navbar-item" "args" . "group" "partial") }}
{{- errorf "partial [assets/navbar-item.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page -}}
{{- $menu := .menu -}}
{{- $parent := .parent -}}
{{- $page := .page -}}
{{- $class := .class -}}
{{- $anchorClass := "" -}}
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
{{- $menuURL := (or $menu.PageRef $menu.URL) | relLangURL -}}
{{- $pageURL := $page.RelPermalink | relLangURL -}}
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
{{- $isAlias := $menu.Params.alias -}}
{{- $isIcon := $menu.Params.icon -}}
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
{{- $url := urls.Parse $menuURL -}}
{{- $baseURL := urls.Parse $.Site.Params.Baseurl -}}
{{- $isExternal := ne $url.Host $baseURL.Host -}}
{{- $externalHref := "" }}
{{- $suffix := "" }}
{{- $anchorClass := "" -}}
{{- if $isExternal }}
{{- if $tab -}}
@@ -48,18 +63,22 @@
{{- with $childNav }}{{ $params = printf "%s&child=%s" $params . }}{{ end -}}
{{- end -}}
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}>
{{- with $menu.Pre }}
{{ if hasPrefix . "<i" }}
{{ . | safeHTML }}
{{ else }}
{{ partial "assets/icon.html" (dict "icon" . )}}
{{ end }}
{{ end -}}
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
{{- with $menu.Post }}{{ . }}{{ end -}}
{{- if not $isIcon }}&nbsp;{{ $suffix }}{{ end -}}
</a>
<!-- Main code -->
{{ if not $error }}
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}>
{{- with $menu.Pre }}
{{ if hasPrefix . "<i" }}
{{ . | safeHTML }}
{{ else }}
{{ partial "assets/icon.html" (dict "icon" (string .) )}}
{{ end }}
{{ end -}}
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
{{- with $menu.Post }}{{ . }}{{ end -}}
{{- if not $isIcon }}&nbsp;{{ $suffix }}{{ end -}}
</a>
{{ end }}

View File

@@ -1,9 +1,11 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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: consider to drop style arg -->
{{ $error := false }}
<!-- Validate arguments -->
@@ -108,6 +110,8 @@
{{- $size := .size | default "md" -}}
{{- $fixed := .fixed | default false -}}
{{- $overlay := .overlay | default false -}}
{{- $overlayMode := .overlayMode | default "dark" -}}
{{- $color := .color | default "" -}}
{{- $search := .search | default site.Params.navigation.search -}}
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
@@ -168,7 +172,16 @@
<!-- Main code -->
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
{{- partial "assets/page-alert.html" (dict "page" $page) -}}
<nav class="navbar {{ if $fixed }}navbar-fixed-top{{ end }} navbar-expand-{{ $size }}{{ if $contrast }} navbar-contrast{{ end }}{{ with $color }} bg-{{ . }}{{ end }} p-4"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
<nav class="navbar p-4
{{- if not $overlay }}{{ with $color }} bg-{{ . }}{{ end }}{{ end -}}
{{ if $fixed }} navbar-fixed-top{{ end }} navbar-expand-{{ $size -}}
{{ if $contrast }} navbar-contrast{{ end }}"
{{ if $overlay }}
data-bs-theme="{{ $overlayMode }}"
data-bs-overlay="{{ $overlayMode }}"
{{ else }}{{ with $theme }}data-bs-theme="{{ . }}"{{ end }}{{ end }}
{{ if $overlay }}data-navbar-color="{{ $color }}"{{ end }}
>
<div class="container-xxl p-0">
<!-- Insert sidebar toggler when applicable -->
<div class="d-flex align-items-center">

View File

@@ -1,13 +1,25 @@
{{- $page := .page -}}
{{- if not $page -}}
{{- errorf "partial [assets/page-alert.html] - Missing value for param 'page'" -}}
{{- end -}}
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "page-alert" "args" . "group" "partial") }}
{{- errorf "partial [assets/page-alert.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page -}}
{{- $pageAlertMsg := $page.Scratch.Get "pageAlertMsg" -}}
{{- $pageAlertURL := $page.Scratch.Get "pageAlertURL" -}}
{{- $version := $page.Scratch.Get "version" -}}
{{- if $pageAlertMsg -}}
<!-- 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>
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ T "close" }}"></button>

View File

@@ -1,39 +1,19 @@
<!-- Source: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/pagination.html -->
<!-- Modifications: centered pagination, replaced previous/next with text -->
<!--
Copyright © 2024 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.
{{- $validFormats := slice "default" "terse" }}
This source code adapts the original partial as maintained by the Hugo repository. It introduces the
following modifications:
- Centered the pagination element
- Standardized validation of partial arguments
- Replaced previous / next navigation with text
The original source code is available on:
https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/pagination.html
Copyright 2022 The Hugo Authors. Licensed under the Apache License, Version 2.0.
-->
{{- $msg1 := "When passing a map to the internal pagination template, one of the elements must be named 'page', and it must be set to the context of the current page." }}
{{- $msg2 := "The 'format' specified in the map passed to the internal pagination template is invalid. Valid choices are: %s." }}
{{- $page := . }}
{{- $format := "default" }}
{{- if reflect.IsMap . }}
{{- with .page }}
{{- $page = . }}
{{- else }}
{{- errorf $msg1 }}
{{- end }}
{{- with .format }}
{{- $format = lower . }}
{{- end }}
{{- end }}
{{- if in $validFormats $format }}
{{- if gt $page.Paginator.TotalPages 1 }}
<nav aria-label="{{ T "paginationNav" }}">
<ul class="pagination pagination-{{ $format }} justify-content-center">
{{- partial (printf "partials/inline/pagination/%s" $format) $page }}
</ul>
</nav>
{{- end }}
{{- else }}
{{- errorf $msg2 (delimit $validFormats ", ") }}
{{- end -}}
{{/* Format: default
{{/* --------------------------------------------------------------------- */}}
{{- define "partials/inline/pagination/default" }}
{{- with .Paginator }}
{{- $currentPageNumber := .PageNumber }}
@@ -103,8 +83,6 @@
{{- end }}
{{- end -}}
{{/* Format: terse
{{/* --------------------------------------------------------------------- */}}
{{- define "partials/inline/pagination/terse" }}
{{- with .Paginator }}
{{- $currentPageNumber := .PageNumber }}
@@ -157,3 +135,24 @@
{{- end }}
{{- end }}
{{- end -}}
{{ $error := false }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "pagination" "args" . "group" "partial") }}
{{- errorf "partial [assets/pagination.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page }}
{{- $format := .format | default "default" }}
<!-- Main code -->
{{- if and (not $error) (gt $page.Paginator.TotalPages 1) }}
<nav aria-label="{{ T "paginationNav" }}">
<ul class="pagination pagination-{{ $format }} justify-content-center">
{{- partial (printf "partials/inline/pagination/%s" $format) $page }}
</ul>
</nav>
{{- end }}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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,25 +1,23 @@
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "section-header" "args" . "group" "partial") }}
{{- errorf "partial [assets/section-header.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $title := .title -}}
{{- $thumbnail := .thumbnail -}}
{{- $icon := .icon -}}
{{- $sectionHeader := .sectionHeader -}}
{{- $description := .description -}}
{{- $content := .content -}}
{{- define "partials/section-header-img.html" -}}
{{- $title := .title -}}
{{- $thumbnail := .thumbnail -}}
{{- $icon := .icon -}}
{{ $padding := 5 }}
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title) -}}
{{- else if $icon -}}
<div class="text-secondary fw-bold">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-10x" $icon)) -}}
</div>
{{- end -}}
{{- 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 }}
{{ with $description }} <p class="lead mb-5">{{ . }}</p>{{ end }}
{{ $content }}

View File

@@ -130,41 +130,19 @@
{{- $params := (dict
"page" $page
"list" $list
"title" $title
"icon" $icon
"thumbnail" $thumbnail
"ratio" $ratio
"sectionHeader" $sectionHeader
"description" $description
"content" $content
"class" $style
"color" $color
"loading" $loading
)
-}}
{{- $partial := "" -}}
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
<div class="container-xxl {{ $wrapper }}">
{{- partial "assets/section-header.html" $params -}}
{{ warnf "[%s] vertical: %t" $page.Title $vertical}}
{{- $params := (dict
"page" $page
"list" $list
"class" $style
)
-}}
{{- partial "assets/section-header.html" (dict "title" $title "description" $description "content" $content) -}}
{{ if eq $layout "card" }}
{{- $partial = "assets/card-group.html" -}}
{{- $params = merge $params (dict
"title" $title
"icon" $icon
"thumbnail" $thumbnail
"ratio" $ratio
"description" $description
"color" $color
"loading" $loading
"max" $max
@@ -194,13 +172,8 @@
{{- $partial = "assets/list.html" -}}
{{- $params = merge $params (dict
"title" $title
"icon" $icon
"thumbnail" $thumbnail
"ratio" $ratio
"description" $description
"color" $color
"loading" $loading
"layout" $layout
)
-}}
{{- end -}}

View File

@@ -1,10 +1,26 @@
{{- $page := . -}}
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "section-menu" "args" . "group" "partial") }}
{{- errorf "partial [assets/section-menu.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page -}}
{{ $items := $page.Parent.Sections }}
{{ if not $page.Parent.Section }}
{{ $items = $page.Sections }}
{{ end }}
{{- if gt (len $items) 0 }}
<!-- Main code -->
{{- if and (not $error) (gt (len $items) 0) }}
<div class="d-grid gap-2 mx-auto d-md-none">
{{ partial "assets/button.html" (dict
"title" (T "sectionMenu")

View File

@@ -1,9 +1,27 @@
{{- if .Site.Params.sharing.enabled -}}
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "sharing" "args" . "group" "partial") }}
{{- errorf "partial [assets/sharing.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{ $page := .page }}
<!-- Main code -->
{{- if and (not $error) $page.Site.Params.sharing.enabled -}}
{{- $sharing := true -}}
{{ if isset .Params "sharing" }}
{{ $sharing = .Params.sharing }}
{{ if isset $page.Params "sharing" }}
{{ $sharing = $page.Params.sharing }}
{{ else }}
{{- with (index site.Params.pages .Type ) -}}
{{- with (index $page.Site.Params.pages .Type ) -}}
{{ if isset . "sharing" }}
{{ $sharing = (index . "sharing") }}
{{ end }}
@@ -11,16 +29,15 @@
{{ end }}
{{- if $sharing -}}
{{- $page := . -}}
{{- $order := "asc" -}}
{{- $list := .Site.Params.sharing.providers -}}
{{- if .Site.Params.sharing.reverse }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
{{- $sort := .Site.Params.sharing.sort | default "weight" -}}
{{- $list := $page.Site.Params.sharing.providers -}}
{{- if $page.Site.Params.sharing.reverse }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
{{- $sort := $page.Site.Params.sharing.sort | default "weight" -}}
{{- $list = sort $list $sort $order -}}
{{- $download := .Params.download -}}
{{- $download := $page.Params.download -}}
{{- if and $download (not (fileExists (path.Join "static" $download))) -}}
{{- errorf "Cannot find download file for page '%s': %s" .File.Path $download -}}
{{- errorf "Cannot find download file for page '%s': %s" $page.File.Path $download -}}
{{- end -}}
<div class="py-3 text-body-secondary hstack gap-1">
@@ -40,7 +57,7 @@
{{- 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 .Site.Params.sharing.webshare }}
{{ if $page.Site.Params.sharing.webshare }}
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
{{- end -}}

View File

@@ -1,7 +1,22 @@
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "sidebar" "args" . "group" "partial") }}
{{- errorf "partial [assets/sidebar.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page }}
{{- $section := $page.Section }}
{{- $data := .menu -}}
{{- $version := .version -}}
{{- $section := $page.Section }}
{{- define "partials/sidebar/group.html" -}}
{{- $page := .page -}}
@@ -94,7 +109,8 @@
{{ end }}
{{ end -}}
{{ if $data }}
<!-- Main code -->
{{ if and (not $error) $data }}
<nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation">
{{- $sectionBreak := false -}}
{{- $level := 0 -}}

View File

@@ -1,5 +1,5 @@
<!--
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
Copyright © 2024 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,22 @@
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" .TableOfContents) -}}
{{ if (gt $items 1) -}}
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
{{- errorf "partial [assets/toc-dropdown.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page -}}
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
{{ if and (not $error) (gt $items 1) -}}
<div class="d-grid gap-2 mx-auto">
{{ partial "assets/button.html" (dict
"title" (T "toc")
@@ -16,7 +33,7 @@
<p>
<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>{{ .TableOfContents }}</small>
<small>{{ $page.TableOfContents }}</small>
</div>
</div>
</p>

View File

@@ -1,7 +1,23 @@
{{- $page := .page -}}
<!--
Copyright © 2024 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 }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
{{- errorf "partial [assets/toc.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $page := .page -}}
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
{{ if gt $items 1 -}}
<!-- Main code -->
{{ if and (not $error) (gt $items 1) -}}
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
{{ $page.TableOfContents }}
{{ end -}}

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