Compare commits

..

167 Commits

Author SHA1 Message Date
Mark Dumay
7be81f4393 Merge pull request #301 from gethinode/develop
Fix redirects
2023-06-19 10:42:20 +02:00
mark
869f696a67 Fix local image processing and renaming 2023-06-19 10:28:52 +02:00
Mark Dumay
c6d942b350 Merge branch 'main' into develop 2023-06-19 10:09:18 +02:00
mark
18275acc80 Bump package release 2023-06-19 10:08:08 +02:00
mark
a85540f8de Make script references absolute to support rewrites 2023-06-19 10:07:39 +02:00
mark
3c93828d4f Make image references absolute to support rewrites 2023-06-19 10:07:27 +02:00
mark
8ca629978f Make alias redirects relative 2023-06-19 10:03:17 +02:00
mark
d99d416838 Fix redirect newline 2023-06-19 10:03:01 +02:00
mark
b58a69b2ad Include aliases in redirect template 2023-06-19 09:08:11 +02:00
Mark Dumay
49d7736e1a Merge pull request #300 from gethinode/develop
Enable netlify redirects
2023-06-17 13:58:03 +02:00
mark
04531b6158 Bump package release 2023-06-17 13:50:29 +02:00
mark
b7fb9fb05b Enable netlify redirects 2023-06-17 13:49:23 +02:00
Mark Dumay
4a78bd9e6b Merge pull request #299 from gethinode/main
Sync branch
2023-06-17 12:41:54 +02:00
Mark Dumay
4d0007a26b Merge pull request #298 from gethinode/reedirect
Add support for version redirects
2023-06-17 12:33:45 +02:00
Mark Dumay
ac7e564857 Merge branch 'main' into reedirect 2023-06-17 12:27:34 +02:00
mark
f804ab747c Bump package release 2023-06-17 12:26:49 +02:00
mark
cfd292ddff Add support for version redirects 2023-06-17 12:21:11 +02:00
Mark Dumay
d4b0c379e2 Merge pull request #297 from gethinode/versioning
Add support for version overview
2023-06-17 06:27:38 +02:00
Mark Dumay
60ebd5fd41 Merge branch 'main' into versioning 2023-06-17 06:17:52 +02:00
mark
19a4398c90 Add support for optional version overview 2023-06-17 06:14:13 +02:00
mark
841c2e397f Make urls language aware 2023-06-17 06:13:59 +02:00
mark
3f42d781ec Fix overflow for large version menu entries 2023-06-17 06:13:20 +02:00
mark
dd9fcc6cbd Add support for optional version overview 2023-06-17 06:12:32 +02:00
mark
70aed1ed63 Add site title to version switch in collapsed menu 2023-06-17 05:14:22 +02:00
Mark Dumay
1c635c814c Merge pull request #296 from gethinode/develop
Fix latest label
2023-06-16 16:01:18 +02:00
Mark Dumay
ff1c8ff056 Merge branch 'main' into develop 2023-06-16 15:54:58 +02:00
mark
44c70f4036 Bump release version 2023-06-16 15:54:09 +02:00
mark
28f13f8385 Fix latest label 2023-06-16 15:53:36 +02:00
Mark Dumay
849d481cd6 Merge pull request #295 from gethinode/develop
Add versioning support
2023-06-16 15:43:11 +02:00
Mark Dumay
a0987e33a9 Merge branch 'main' into develop 2023-06-16 15:31:25 +02:00
mark
f5dae5caa2 Add latest label 2023-06-16 15:29:13 +02:00
mark
d640ed1f8e Add version dropdown 2023-06-16 15:29:02 +02:00
mark
0c46c0080e Load versioned menu data 2023-06-16 15:28:44 +02:00
mark
7319a3f9e3 Identify version based on path 2023-06-16 15:28:30 +02:00
mark
2e6ba557c8 Add version support for menu data 2023-06-16 15:27:56 +02:00
mark
1d24b8ff0e Bump package release 2023-06-16 15:27:01 +02:00
github-actions[bot]
df307be37c Merge pull request #293 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.8.1
Bump markdownlint-cli2 from 0.7.1 to 0.8.1
2023-06-13 14:08:00 +00:00
dependabot[bot]
5d09963bb5 Bump markdownlint-cli2 from 0.7.1 to 0.8.1
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.7.1 to 0.8.1.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.7.1...v0.8.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>
2023-06-13 14:03:56 +00:00
Mark Dumay
8ce05d0c41 Merge pull request #291 from gethinode/navbar
Support icon-only nav items
2023-06-07 10:41:33 +02:00
Mark Dumay
5e03d80944 Merge branch 'main' into navbar 2023-06-07 09:52:55 +02:00
mark
65bdc8bb32 Bump release version 2023-06-07 09:52:00 +02:00
mark
558eed95ef Support icon-only nav items 2023-06-07 09:51:27 +02:00
github-actions[bot]
a17ed9b14a Merge pull request #286 from gethinode/dependabot/npm_and_yarn/stylelint-15.7.0
Bump stylelint from 15.6.3 to 15.7.0
2023-06-06 14:13:15 +00:00
dependabot[bot]
06c5a97e3b Bump stylelint from 15.6.3 to 15.7.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.6.3 to 15.7.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.6.3...15.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 14:10:08 +00:00
github-actions[bot]
269d7c6bcf Merge pull request #285 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.108.0
Bump hugo-bin from 0.106.1 to 0.108.0
2023-06-06 14:09:12 +00:00
dependabot[bot]
fc2a43b8b9 Bump hugo-bin from 0.106.1 to 0.108.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.106.1 to 0.108.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.106.1...v0.108.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>
2023-06-06 14:05:19 +00:00
github-actions[bot]
9c14411a3b Merge pull request #283 from gethinode/dependabot/npm_and_yarn/eslint-8.42.0
Bump eslint from 8.41.0 to 8.42.0
2023-06-05 13:28:23 +00:00
dependabot[bot]
529e402267 Bump eslint from 8.41.0 to 8.42.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.41.0 to 8.42.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.41.0...v8.42.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 13:25:05 +00:00
github-actions[bot]
4a8ecaad19 Merge pull request #284 from gethinode/dependabot/npm_and_yarn/stylelint-15.6.3
Bump stylelint from 15.6.2 to 15.6.3
2023-06-05 13:23:40 +00:00
dependabot[bot]
d13013189c Bump stylelint from 15.6.2 to 15.6.3
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.6.2 to 15.6.3.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.6.2...15.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 13:19:19 +00:00
github-actions[bot]
b21b412f16 Merge pull request #281 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.106.1
Bump hugo-bin from 0.105.1 to 0.106.1
2023-06-02 14:09:04 +00:00
dependabot[bot]
b3ad43768c Bump hugo-bin from 0.105.1 to 0.106.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.105.1 to 0.106.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.105.1...v0.106.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-02 14:05:25 +00:00
Mark Dumay
9ea9a6c616 Merge pull request #280 from gethinode/develop
Bump package release
2023-06-02 11:06:13 +02:00
Mark Dumay
188129f19b Merge branch 'main' into develop 2023-06-02 10:51:13 +02:00
mark
8a83f7345a Bump package release 2023-06-02 10:50:36 +02:00
Mark Dumay
65cd47b1db Merge pull request #279 from gethinode/develop
Change pagination style
2023-06-02 10:49:14 +02:00
Mark Dumay
7e7cc41603 Merge branch 'main' into develop 2023-06-02 09:31:55 +02:00
mark
7318d3cacb Change style of pagination control 2023-06-02 09:29:25 +02:00
github-actions[bot]
ff928d035a Merge pull request #278 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.105.1
Bump hugo-bin from 0.104.0 to 0.105.1
2023-06-01 14:13:41 +00:00
dependabot[bot]
9341a98ab7 Bump hugo-bin from 0.104.0 to 0.105.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.104.0 to 0.105.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.104.0...v0.105.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 14:08:46 +00:00
github-actions[bot]
206558e21e Merge pull request #276 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.0.0
Bump eslint-plugin-n from 15.7.0 to 16.0.0
2023-05-31 14:17:51 +00:00
dependabot[bot]
8ecf38befc Bump eslint-plugin-n from 15.7.0 to 16.0.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 15.7.0 to 16.0.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/15.7.0...16.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-31 14:14:19 +00:00
github-actions[bot]
afb3bbff9d Merge pull request #277 from gethinode/dependabot/npm_and_yarn/bootstrap-5.3.0
Bump bootstrap from 5.3.0-alpha3 to 5.3.0
2023-05-31 14:13:42 +00:00
dependabot[bot]
a7f871f954 Bump bootstrap from 5.3.0-alpha3 to 5.3.0
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.0-alpha3 to 5.3.0.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.0-alpha3...v5.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-31 14:09:55 +00:00
github-actions[bot]
5d368ecaaa Merge pull request #275 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.104.0
Bump hugo-bin from 0.103.5 to 0.104.0
2023-05-31 14:09:17 +00:00
dependabot[bot]
2e40bd6be0 Bump hugo-bin from 0.103.5 to 0.104.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.5 to 0.104.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.5...v0.104.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>
2023-05-31 14:04:51 +00:00
github-actions[bot]
21ae80d491 Merge pull request #274 from gethinode/dependabot/npm_and_yarn/eslint-config-standard-17.1.0
Bump eslint-config-standard from 17.0.0 to 17.1.0
2023-05-30 14:08:57 +00:00
dependabot[bot]
6292be190e Bump eslint-config-standard from 17.0.0 to 17.1.0
Bumps [eslint-config-standard](https://github.com/standard/eslint-config-standard) from 17.0.0 to 17.1.0.
- [Changelog](https://github.com/standard/eslint-config-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/standard/eslint-config-standard/compare/v17.0.0...v17.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-30 14:04:57 +00:00
Mark Dumay
a7c5c613c2 Create release.yml
Add default release format
2023-05-30 08:15:55 +02:00
mark
480981d867 Mount instead of copy Font Awesome fonts 2023-05-30 05:40:10 +02:00
github-actions[bot]
abfa80d5a2 Merge pull request #273 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.5
Bump hugo-bin from 0.103.3 to 0.103.5
2023-05-29 14:11:41 +00:00
dependabot[bot]
08531514d3 Bump hugo-bin from 0.103.3 to 0.103.5
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.3 to 0.103.5.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.3...v0.103.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-29 14:08:07 +00:00
Mark Dumay
d4c321fee4 Merge pull request #272 from gethinode/main
Sync
2023-05-29 14:23:40 +02:00
Mark Dumay
b125be2e7d Merge pull request #271 from gethinode/card
Layout
2023-05-29 13:59:43 +02:00
mark
f075eb12ee Adjust font-size from cqw to to cqi 2023-05-29 13:53:11 +02:00
mark
c30dd39ce2 Fix icon width 2023-05-29 13:08:34 +02:00
mark
ad7cd18893 Fix linting issue 2023-05-29 08:22:36 +02:00
mark
cdc3accff3 Bump package release 2023-05-29 08:22:29 +02:00
Mark Dumay
5916a89979 Merge branch 'main' into card 2023-05-29 08:15:23 +02:00
mark
dbc253cbf2 Adjust spacing between sharing icons 2023-05-29 08:12:29 +02:00
mark
1fd8989ad3 Use horizontal stack to evenly distribute tags 2023-05-29 08:12:15 +02:00
mark
0a401775ff Fix horizontal card height 2023-05-29 07:30:24 +02:00
mark
3534d6daec Support fluid icons 2023-05-29 07:25:21 +02:00
mark
ada5ac3d5c Display projects as icon cards 2023-05-29 07:23:34 +02:00
mark
1630eabff8 Replace thumbnail with icon 2023-05-29 07:23:06 +02:00
mark
4a492d2de5 Improve thumbnail / icon ratio for single columns 2023-05-29 07:21:38 +02:00
Mark Dumay
20a492d9d9 Merge pull request #270 from gethinode/template
Rename child to template
2023-05-27 18:49:25 +02:00
Mark Dumay
179132964f Merge branch 'main' into template 2023-05-27 18:42:52 +02:00
mark
4768d6791f Rename child to template 2023-05-27 18:27:43 +02:00
Mark Dumay
c8e2d3410c Merge pull request #269 from gethinode/develop
Fixes
2023-05-27 10:38:56 +02:00
Mark Dumay
8d53c762d7 Merge branch 'main' into develop 2023-05-27 10:27:16 +02:00
mark
22d2e41601 Bump package release 2023-05-27 10:26:44 +02:00
mark
b462c31916 Remove redundant empty lines on copy 2023-05-27 09:45:28 +02:00
mark
dbb5b4be69 Add a toast message on copy 2023-05-27 09:21:35 +02:00
mark
4f288ec5dd Add subject to copy message 2023-05-27 09:21:11 +02:00
mark
8fb47e27af Remove debug statement 2023-05-27 09:07:37 +02:00
mark
a0d2063738 Set message placement to default value 2023-05-27 09:06:07 +02:00
mark
c17986bb49 Enable toast placement configuration 2023-05-27 09:03:44 +02:00
mark
bafd522530 Embed container in base to aid CSS purge 2023-05-27 09:03:14 +02:00
mark
930e151365 Embed container in base to aid CSS purge 2023-05-27 09:02:47 +02:00
Mark Dumay
6687e09d68 Merge pull request #268 from gethinode/develop
Social media
2023-05-26 14:15:11 +02:00
Mark Dumay
86ec79d08a Merge branch 'main' into develop 2023-05-26 14:06:28 +02:00
mark
afb42a188c Rename order param to reverse 2023-05-26 13:43:00 +02:00
mark
c303e97eb0 Bump package release 2023-05-26 13:29:21 +02:00
mark
1ad2a4c617 Add social sharing buttons 2023-05-26 13:28:17 +02:00
mark
2bf15ca8b2 Add comments 2023-05-26 12:44:11 +02:00
mark
e00ab2a2fd Remove debug statements 2023-05-26 12:44:00 +02:00
mark
98c422a6d4 Add clipboard button support 2023-05-26 12:43:17 +02:00
mark
527060e219 Add clipboard support 2023-05-26 12:42:27 +02:00
github-actions[bot]
b5c81cd121 Merge pull request #267 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.3
Bump hugo-bin from 0.103.2 to 0.103.3
2023-05-25 14:10:58 +00:00
dependabot[bot]
9fbe81a668 Bump hugo-bin from 0.103.2 to 0.103.3
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.2 to 0.103.3.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.2...v0.103.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 14:06:12 +00:00
mark
cf4ed131aa Adjust toast examples 2023-05-25 13:04:24 +02:00
mark
15a9eb2c5c Change toast behavior 2023-05-25 13:03:58 +02:00
mark
3271fcc97e Rewrite DOM to stack toast messages 2023-05-25 13:03:11 +02:00
mark
0752b4cfbf Refactor toast shorcode 2023-05-25 13:02:10 +02:00
github-actions[bot]
965845137c Merge pull request #266 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.2
Bump hugo-bin from 0.103.0 to 0.103.2
2023-05-24 14:09:04 +00:00
dependabot[bot]
8f83138cbc Bump hugo-bin from 0.103.0 to 0.103.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.0 to 0.103.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.0...v0.103.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-24 14:04:55 +00:00
github-actions[bot]
86d726d10c Merge pull request #265 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.0
Bump hugo-bin from 0.102.2 to 0.103.0
2023-05-23 14:08:18 +00:00
dependabot[bot]
2860edd1bd Bump hugo-bin from 0.102.2 to 0.103.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.102.2 to 0.103.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.102.2...v0.103.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>
2023-05-23 14:04:52 +00:00
github-actions[bot]
d802df87ef Merge pull request #264 from gethinode/dependabot/npm_and_yarn/eslint-8.41.0
Bump eslint from 8.40.0 to 8.41.0
2023-05-22 14:14:19 +00:00
dependabot[bot]
808b3a5694 Bump eslint from 8.40.0 to 8.41.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.40.0 to 8.41.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.40.0...v8.41.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 14:10:21 +00:00
Mark Dumay
cde8495583 Merge pull request #263 from gethinode/develop
Fixes
2023-05-22 06:55:14 +02:00
Mark Dumay
c2aaff81cf Merge branch 'main' into develop 2023-05-22 06:44:21 +02:00
mark
5421839028 Bump package release 2023-05-22 06:43:57 +02:00
mark
a74466e281 Adjust layout 2023-05-22 06:41:24 +02:00
mark
454c659e44 Fix release url 2023-05-22 06:41:16 +02:00
mark
2de384497e Fix release url 2023-05-22 06:37:52 +02:00
mark
ca41d9adb4 Clean up unspecified classes 2023-05-22 06:16:25 +02:00
mark
a633e4eea0 Remove debug statements 2023-05-22 06:03:00 +02:00
mark
a341e916b9 Add optional id argument 2023-05-22 06:00:46 +02:00
Mark Dumay
a3d289843f Merge pull request #262 from gethinode/develop
Fixes
2023-05-21 14:29:35 +02:00
mark
8700e18ad9 Add docs urls 2023-05-21 14:25:23 +02:00
Mark Dumay
8936dafac6 Merge branch 'main' into develop 2023-05-21 14:16:42 +02:00
mark
4d1c7d46eb Bump package release 2023-05-21 14:16:15 +02:00
mark
bffe6425da Add always-open option 2023-05-21 14:15:44 +02:00
mark
3e1c3a2c9c Hault rendering on issue 2023-05-21 14:15:07 +02:00
mark
df83103718 Use icon shorthand notation 2023-05-21 14:14:45 +02:00
mark
e54417bc02 Refine supported colors 2023-05-21 14:14:14 +02:00
mark
61f2b82221 Fix color behavior 2023-05-21 14:13:56 +02:00
mark
2689107e5a Refine supported colors 2023-05-21 14:13:24 +02:00
mark
d20d053232 Support optional id argument 2023-05-21 14:13:03 +02:00
mark
35fb72d408 Support optional id argument 2023-05-21 14:12:49 +02:00
mark
18cee3cac6 Refine supported colors 2023-05-21 14:12:11 +02:00
mark
192021fbb3 Fix layout of horizontal card 2023-05-21 14:11:41 +02:00
mark
a3c5d36584 Support optional redirect for hidden pages 2023-05-20 09:07:21 +02:00
mark
42d169bbc0 Add release shortcode 2023-05-20 09:06:43 +02:00
github-actions[bot]
3b4b3a65b6 Merge pull request #261 from gethinode/dependabot/npm_and_yarn/rimraf-5.0.1
Bump rimraf from 5.0.0 to 5.0.1
2023-05-18 14:09:29 +00:00
dependabot[bot]
32ee66bf90 Bump rimraf from 5.0.0 to 5.0.1
Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.0 to 5.0.1.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v5.0.0...v5.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-18 14:05:30 +00:00
github-actions[bot]
6b8ff44fb0 Merge pull request #260 from gethinode/dependabot/npm_and_yarn/stylelint-15.6.2
Bump stylelint from 15.6.1 to 15.6.2
2023-05-17 14:15:11 +00:00
dependabot[bot]
70cc8946b0 Bump stylelint from 15.6.1 to 15.6.2
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.6.1 to 15.6.2.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.6.1...15.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 14:09:41 +00:00
github-actions[bot]
eab0cfa6ab Merge pull request #259 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.102.2
Bump hugo-bin from 0.102.1 to 0.102.2
2023-05-17 14:08:50 +00:00
dependabot[bot]
1580898f1a Bump hugo-bin from 0.102.1 to 0.102.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.102.1 to 0.102.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.102.1...v0.102.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 14:05:09 +00:00
Mark Dumay
530fb03d29 Merge pull request #258 from gethinode/develop
Menu aliases
2023-05-17 12:05:58 +02:00
Mark Dumay
3e5261bd36 Merge branch 'main' into develop 2023-05-17 11:52:39 +02:00
mark
e2d409baed Bump package release 2023-05-17 11:51:32 +02:00
mark
d009874ece Support menu aliases 2023-05-17 11:50:55 +02:00
mark
f8adffc131 Use pageRef instead of url 2023-05-17 09:27:47 +02:00
github-actions[bot]
68a3a3be30 Merge pull request #257 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.102.1
Bump hugo-bin from 0.102.0 to 0.102.1
2023-05-16 14:10:55 +00:00
dependabot[bot]
c077c8b53b Bump hugo-bin from 0.102.0 to 0.102.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.102.0 to 0.102.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.102.0...v0.102.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>
2023-05-16 14:04:37 +00:00
Mark Dumay
6a0c6af296 Merge pull request #256 from gethinode/develop
CSS fix
2023-05-16 06:31:49 +02:00
Mark Dumay
2bf16b0e59 Merge branch 'main' into develop 2023-05-16 06:17:43 +02:00
mark
e56cc645e2 Update package release 2023-05-16 06:16:12 +02:00
mark
8c361a8417 Fix incorrect CSS link in development mode 2023-05-16 06:15:23 +02:00
Mark Dumay
65e9e57c9e Merge pull request #255 from gethinode/develop
Menu fix
2023-05-15 16:43:17 +02:00
Mark Dumay
ffa4473d25 Merge branch 'main' into develop 2023-05-15 16:10:43 +02:00
mark
6c5fe6f208 Bump release 2023-05-15 16:10:10 +02:00
mark
60efecf946 Retrieve menu data for single pages only 2023-05-15 16:09:39 +02:00
58 changed files with 2201 additions and 1891 deletions

27
.github/release.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
changelog:
exclude:
labels:
- skip-changelog
categories:
- title: ❗ Breaking Changes
labels:
- Semver-Major
- breaking-change
- title: 🚀 Highlights
labels:
- release-highlight
- title: 🎉 New Features
labels:
- Semver-Minor
- enhancement
- title: 🐛 Bug fixes
labels:
- fix
- bugfix
- bug
- title: 📦 Dependencies
labels:
- dependencies
- title: 🧰 Other Changes
labels:
- "*"

View File

@@ -75,10 +75,10 @@ Start a new Hinode project in three steps:
1. Create a new site
Hinode is available as a [child theme][repository_child], and a [main theme][repository]. The child theme uses [npm][npm] to link to the latest available version of Hinode. Unless you plan to customize a lot, it is recommended to use the child theme:
Hinode is available as a [template][repository_template], and a [main repository][repository]. The template [npm][npm] to link to the latest available version of Hinode. Unless you plan to customize a lot, it is recommended to use the template:
```bash
git clone https://github.com/gethinode/child.git my-hinode-site && cd my-hinode-site
git clone https://github.com/gethinode/template.git my-hinode-site && cd my-hinode-site
```
Use the main theme if you intend to customize the base code:
@@ -120,7 +120,7 @@ Hinode is inspired by the following themes:
## License
The `hinode` and `child` codebase is released under the [MIT license][license]. The documentation (including the "README" and `docs` codebase) is licensed under the Creative Commons ([CC BY-NC 4.0)][cc-by-nc-4.0] license.
The `hinode` and `template` codebase is released under the [MIT license][license]. The documentation (including the "README" and `docs` codebase) is licensed under the Creative Commons [(CC BY-NC 4.0)][cc-by-nc-4.0] license.
<!-- MARKDOWN PUBLIC LINKS -->
[blist]: https://github.com/apvarun/blist-hugo-theme
@@ -143,5 +143,5 @@ The `hinode` and `child` codebase is released under the [MIT license][license].
[demo]: https://demo.gethinode.com/
[license]: https://github.com/gethinode/hinode/blob/main/LICENSE
[repository]: https://github.com/gethinode/hinode.git
[repository_child]: https://github.com/gethinode/child.git
[repository_template]: https://github.com/gethinode/template.git
[website]: https://gethinode.com/

View File

@@ -14,10 +14,12 @@ const addCopyButtons = (clipboard) => {
// 2. Create a button that will trigger a copy operation
const button = document.createElement('button')
button.className = 'clipboard-button'
button.setAttribute('data-toast-target', 'toast-copied-code-message')
button.type = 'button'
button.innerHTML = svgCopy
button.addEventListener('click', () => {
clipboard.writeText(codeBlock.innerText).then(
const text = codeBlock.innerText.split('\n').filter(Boolean).join('\n')
clipboard.writeText(text).then(
() => {
button.blur()
button.innerHTML = svgCheck
@@ -36,3 +38,10 @@ const addCopyButtons = (clipboard) => {
if (navigator && navigator.clipboard) {
addCopyButtons(navigator.clipboard)
}
document.querySelectorAll('[data-clipboard]').forEach(trigger => {
const text = trigger.getAttribute('data-clipboard')
trigger.addEventListener('click', () => {
navigator.clipboard.writeText(text)
})
})

20
assets/js/menu.js Normal file
View File

@@ -0,0 +1,20 @@
const url = new URL(window.location.href)
const menu = url.searchParams.get('menu')
const child = url.searchParams.get('child')
const menuItems = document.querySelectorAll('[data-nav="main"]')
if (menu !== null) {
menuItems.forEach(element => {
element.classList.remove('active')
})
const targetMainItems = document.querySelectorAll(`[data-nav-main="${menu}"]:not([data-nav-child])`)
targetMainItems.forEach(element => {
element.classList.add('active')
})
const targetChildItems = document.querySelectorAll(`[data-nav-main="${menu}"][data-nav-child="${child}"]`)
targetChildItems.forEach(element => {
element.classList.add('active')
})
}

View File

@@ -1,10 +1,24 @@
// Bootstrap toast example: https://getbootstrap.com/docs/5.2/components/toasts/
const toastTrigger = document.getElementById('toastButton')
const toastLiveExample = document.getElementById('toastMessage')
if (toastTrigger) {
toastTrigger.addEventListener('click', () => {
// Script to move all embedded toast messages into a container with id 'toast-container'. The container ensures multiple
// toast messages are stacked properly. The script targets all elements specified by a 'data-toast-target' and ensures
// the click event of the origin is linked as well.
const container = document.getElementById('toast-container')
if (container !== null) {
// process all data-toast-target elements
document.querySelectorAll('[data-toast-target]').forEach(trigger => {
const target = document.getElementById(trigger.getAttribute('data-toast-target'))
if (target !== null) {
// move the element to the toast containr
container.appendChild(target)
// eslint-disable-next-line no-undef
const toast = new bootstrap.Toast(toastLiveExample)
const toast = bootstrap.Toast.getOrCreateInstance(target)
if (toast !== null) {
// associate the click event of the origin with the toast element
trigger.addEventListener('click', () => {
toast.show()
})
}
}
})
}

View File

@@ -71,6 +71,7 @@
@import "components/comments.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";
@import "components/persona.scss";
@import "components/popover.scss";
@import "components/search.scss";

View File

@@ -23,3 +23,19 @@ $btn-toggle: url("/icons/btn-toggle.svg") !de
$btn-toggle-dark: url("/icons/btn-toggle-dark.svg") !default;
// scss-docs-end icons
.fa-wrapper {
container: wrapper / inline-size;
}
// define fallback size for browsers not supporting containers
.fa-fluid {
font-size: 5rem;
}
// set size based on container width
@container (min-width: 0) {
.fa-wrapper .fa-fluid {
font-size: 60cqi;
}
}

View File

@@ -6,3 +6,22 @@
.open > .dropdown-toggle.btn-primary {
color: #fff if($enable-important-utilities, !important, null);
}
.btn-social {
--bs-btn-bg: transparent;
--bs-btn-border-width: none;
--bs-btn-color: var(--bs-secondary);
--bs-btn-border-color: none;
--bs-btn-hover-bg: none;
--bs-btn-hover-border-color: none;
--bs-btn-active-bg: none;
--bs-btn-active-border-color: none;
}
.btn-social:hover,
.btn-social:focus,
.btn-social:active,
.btn-social.active,
.open > .dropdown-toggle.btn-primary {
color: var(--bs-primary) if($enable-important-utilities, !important, null);
}

View File

@@ -0,0 +1,11 @@
.pagination {
--bs-pagination-bg: var(--bs-primary-bg-subtle);
--bs-pagination-border-color: none;
--bs-pagination-hover-color: var(--bs-pagination-active-color);
--bs-pagination-hover-bg: var(--bs-pagination-active-bg);
--bs-pagination-hover-border-color: none;
}
.pagination .page-item {
margin: 0.4rem;
}

View File

@@ -27,6 +27,20 @@ defaultContentLanguage = "en"
defaultContentLanguageInSubdir = true
# toml-docs-end language
# toml-docs-start redirect
[outputFormats.REDIR]
mediaType = "text/netlify"
baseName = "_redirects"
isPlainText = true
notAlternative = true
[mediaTypes."text/netlify"]
delimiter = ""
[outputs]
home = ["HTML", "RSS", "REDIR"]
# toml-docs-end redirect
# toml-docs-start build
[build]
writeStats = true
@@ -79,6 +93,9 @@ defaultContentLanguageInSubdir = true
[[module.mounts]]
source = "static"
target = "static"
[[module.mounts]]
source = "static/fonts"
target = "static/fonts"
# toml-docs-start javascript
[[module.mounts]]
source = "node_modules/bootstrap/dist/js"
@@ -89,3 +106,6 @@ defaultContentLanguageInSubdir = true
target = "assets/js/vendor/flexsearch"
includeFiles = "*.bundle.js"
# toml-docs-end javascript
[[module.mounts]]
source = "node_modules/@fortawesome/fontawesome-free/webfonts"
target = "static/fonts"

View File

@@ -1,33 +1,33 @@
[[main]]
name = "About"
url = "/about/"
pageRef = "/about/"
weight = 10
[[main]]
name = "Blog"
url = "/blog/"
pageRef = "/blog/"
weight = 20
[[main]]
name = "Projects"
url = "/projects/"
pageRef = "/projects/"
weight = 30
[[main]]
name = "Sample project"
url = "/projects/sample-project/"
pageRef = "/projects/sample-project/"
parent = "Projects"
weight = 1
[[main]]
name = "Another project"
url = "/projects/another-project/"
pageRef = "/projects/another-project/"
parent = "Projects"
weight = 2
[[main]]
name = "Tags"
url = "/tags/"
pageRef = "/tags/"
weight = 40
[[social]]
@@ -51,23 +51,23 @@
# toml-docs-start sample-navigation
[[sample]]
name = "Blog"
url = "/blog/"
pageRef = "/blog/"
weight = 10
[[sample]]
name = "Projects"
url = "/projects/"
pageRef = "/projects/"
weight = 20
[[sample]]
name = "Sample project"
url = "/projects/sample-project/"
pageRef = "/projects/sample-project/"
parent = "Projects"
weight = 1
[[sample]]
name = "Another project"
url = "/projects/another-project/"
pageRef = "/projects/another-project/"
parent = "Projects"
weight = 2
# toml-docs-end sample-navigation

View File

@@ -1,33 +1,33 @@
[[main]]
name = "Over mij"
url = "/over-mij/"
pageRef = "/over-mij/"
weight = 10
[[main]]
name = "Blog"
url = "/blog/"
pageRef = "/blog/"
weight = 20
[[main]]
name = "Projecten"
url = "/projecten/"
pageRef = "/projecten/"
weight = 30
[[main]]
name = "Voorbeeldproject"
url = "/projecten/voorbeeldproject/"
pageRef = "/projecten/voorbeeldproject/"
parent = "Projecten"
weight = 1
[[main]]
name = "Ander project"
url = "/projecten/ander-project/"
pageRef = "/projecten/ander-project/"
parent = "Projecten"
weight = 2
[[main]]
name = "Tags"
url = "/tags/"
pageRef = "/tags/"
weight = 40
[[social]]
@@ -51,23 +51,23 @@
# toml-docs-start sample-navigation
[[sample]]
name = "Blog"
url = "/blog/"
pageRef = "/blog/"
weight = 10
[[sample]]
name = "Projecten"
url = "/projecten/"
pageRef = "/projecten/"
weight = 20
[[sample]]
name = "Voorbeeldproject"
url = "/projecten/voorbeeldproject/"
pageRef = "/projecten/voorbeeldproject/"
parent = "Projecten"
weight = 1
[[sample]]
name = "Ander project"
url = "/projecten/ander-project/"
pageRef = "/projecten/ander-project/"
parent = "Projecten"
weight = 2
# toml-docs-end sample-navigation

View File

@@ -10,6 +10,8 @@
[docs]
version = "0.8"
basePath = ""
github = "https://github.com/gethinode/hinode"
release = "https://github.com/gethinode/hinode/releases/tag/"
# toml-docs-end docs
# toml-docs-start home
@@ -34,6 +36,49 @@
sidebar = true
# toml-docs-end navigation
# toml-docs-start messages
[messages]
placement = "bottom-right"
# toml-docs-end messages
# toml-docs-start sharing
[sharing]
enabled = true
sort = "weight"
reverse = false
[[sharing.providers]]
name = "LinkedIn"
url = "https://www.linkedin.com/sharing/share-offsite/?url={url}"
icon = "fab linkedin"
weight = 10
[[sharing.providers]]
name = "Twitter"
url = "https://twitter.com/home?status={url}"
icon = "fab twitter"
weight = 20
[[sharing.providers]]
name = "Facebook"
url = "https://www.facebook.com/sharer.php?u={url}"
icon = "fab facebook"
weight = 30
[[sharing.providers]]
name = "WhatsApp"
url = "whatsapp://send?text={title}%20{url}"
icon = "fab whatsapp"
weight = 40
[[sharing.providers]]
name = "email"
url = "{url}"
icon = "fas link"
weight = 50
clipboard = true
# toml-docs-end sharing
# toml-docs-start sections
[sections]
[sections.blog]
@@ -52,6 +97,7 @@
separator = true
[sections.projects]
title = "Projects"
layout = "card"
sort = "title"
reverse = false
nested = true
@@ -61,7 +107,7 @@
padding = "3"
header = "none"
footer = "tags"
orientation = "none"
orientation = "horizontal"
style = "border-1 card-emphasize"
homepage = 3
separator = false

View File

@@ -1,7 +1,7 @@
---
author: Mark Dumay
title: Bootstrap elements
date: 2023-02-17
date: 2023-05-20
description: Use shortcodes to add common Bootstrap elements with ease.
tags: ["bootstrap", "shortcode"]
thumbnail: img/boots.jpg
@@ -223,6 +223,16 @@ As an example, the following shortcode displays a light navigation header.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Release
As an example, the following shortcode displays a default release button.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* release version="v0.14.1" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Spinner
As an example, the following shortcode displays a centered spinner.
@@ -241,12 +251,20 @@ As an example, the following shortcode displays a button that, when clicked, tri
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button id="toastButton" */>}}
Show toast
{{</* button toast="toast-example-1" */>}}
Show toast 1
{{</* /button */>}}
{{</* toast header="Custom title" */>}}
This is a toast message.
{{</* button toast="toast-example-2" */>}}
Show toast 2
{{</* /button */>}}
{{</* toast id="toast-example-1" header="First title" */>}}
This is the first toast message.
{{</* /toast */>}}
{{</* toast id="toast-example-2" header="Second title" */>}}
This is the second toast message.
{{</* /toast */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -4,9 +4,7 @@ title: Another project
date: 2021-07-15
description: Another project.
tags: ["javascript", "golang"]
thumbnail: img/coffee.jpg # https://picsum.photos/id/1060/5598/3732
photoCredits: <a href="https://unsplash.com/@kfred">Karl Fredrickson</a>
photoSource: <a href="https://unsplash.com/photos/TYIzeCiZ_60">Unsplash</a>
icon: fas rocket
---
Vivamus iaculis metus sed magna porta tincidunt. Aliquam molestie eget orci eu elementum. Integer pellentesque dolor sit amet suscipit maximus. Duis consequat, massa vitae volutpat rhoncus, erat augue venenatis velit, a auctor leo nulla nec turpis. Nunc ut libero sapien. Vivamus aliquam ultrices vestibulum. Sed sit amet vestibulum dolor, ut vehicula diam. Sed felis purus, feugiat vitae vulputate quis, sodales vitae dui. Pellentesque volutpat fringilla sapien varius condimentum. Integer odio massa, pharetra at bibendum vitae, aliquam nec erat.

View File

@@ -4,9 +4,7 @@ title: Sample project
date: 2021-07-15
description: A sample project.
tags: ["html", "css"]
thumbnail: img/laptop.jpg # https://picsum.photos/id/0/5616/3744
photoCredits: <a href="https://unsplash.com/@alejandroescamilla">Alejandro Escamilla</a>
photoSource: <a href="https://unsplash.com/photos/yC-Yzbqy7PY">Unsplash</a>
icon: fab docker
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

View File

@@ -224,6 +224,16 @@ De volgende shortcode toont een navigatiemenu.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Release
De volgende shortcode toont een knop voor een nieuwe release.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* release version="v0.14.1" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Spinner
De volgende shortcode toont een ronddraaiende cirkel.
@@ -242,12 +252,20 @@ De volgende shortcode toont een knop die een bericht laat verschijnen op het sch
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button id="toastButton" */>}}
Toon bericht
{{</* button toast="toast-example-1" */>}}
Toon bericht 1
{{</* /button */>}}
{{</* toast header="Titel" */>}}
Dit is een bericht.
{{</* button toast="toast-example-2" */>}}
Toon bericht 2
{{</* /button */>}}
{{</* toast id="toast-example-1" header="Eerste titel" */>}}
Dit is het eerste bericht.
{{</* /toast */>}}
{{</* toast id="toast-example-2" header="Tweede titel" */>}}
Dit is het tweede bericht.
{{</* /toast */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -53,14 +53,16 @@
translation: "Article"
- id: articles
translation: "Articles"
- id: paginationNav
translation: "Page navigation"
- id: paginationPrevious
translation: "Previous"
translation: "Previous page"
- id: paginationNext
translation: "Next"
translation: "Next page"
- id: paginationFirst
translation: "First"
translation: "First page"
- id: paginationLast
translation: "Last"
translation: "Last page"
- id: toggleSidebar
translation: "Toggle sidebar navigation"
- id: colorMode
@@ -75,6 +77,22 @@
translation: "Toggle main navigation"
- id: demo
translation: "Demo"
- id: addedFeature
translation: "Added in"
- id: deprecatedFeature
translation: "Deprecated in"
- id: shareLink
translation: "Share via"
- id: copiedToClipboard
translation: "copied to clipboard"
- id: link
translation: "Link"
- id: code
translation: "Code"
- id: latest
translation: "latest"
- id: allVersions
translation: "All versions"
# 404 page
- id: pageNotFound

View File

@@ -45,6 +45,8 @@
translation: "Artikel"
- id: articles
translation: "Artikelen"
- id: paginationNav
translation: "Pagina navigatie"
- id: paginationPrevious
translation: "Vorige"
- id: paginationNext
@@ -65,6 +67,22 @@
translation: "Automatisch"
- id: toggleMainNav
translation: "Toon of verberg hoofdnavigatie"
- id: addedFeature
translation: "Toegevoegd in"
- id: deprecatedFeature
translation: "Verouderd in"
- id: shareLink
translation: "Delen via"
- id: copiedToClipboard
translation: "gekopieerd naar clipboard"
- id: link
translation: "Link"
- id: code
translation: "Code"
- id: latest
translation: "meest recente"
- id: allVersions
translation: "Alle versies"
# 404 page
- id: pageNotFound

View File

@@ -1,6 +1,7 @@
{{- $section := .Section }}
{{- with partial "utilities/GetMenu" . }}{{ $.Scratch.Set "sidebar" . }}{{ end -}}
{{ $.Scratch.Set "version" (site.Param (printf "%s.version" .Section)) }}
{{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}}
{{- $.Scratch.Set "version" $version -}}
{{ with partial "utilities/GetMenu" (dict "page" . "version" $version) }}{{ $.Scratch.Set "sidebar" . }}{{ end }}
<!doctype html>
<html lang="{{ .Site.Language.Lang }}" class="no-js">
@@ -68,6 +69,7 @@
</div>
{{ end }}
{{- partial "footer/toast-container.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" .) }}
</body>
</html>

View File

@@ -2,6 +2,7 @@
{{ if site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" . }}{{ end -}}
{{ if in (slice "docs" "minimal") .Layout }}
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ partial "assets/sharing.html" . }}
<p class="lead mb-5">{{ .Description }}</p>
{{ else }}
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
@@ -14,21 +15,28 @@
{{ .WordCount | lang.FormatNumber 0 }}&nbsp;{{ i18n "words" }}
</small>
{{- if gt (len (.GetTerms "tags")) 0 -}}
<div class="mt-3">
<div class="d-none-dark">
<div class="hstack gap-3">
{{ range (.GetTerms "tags") -}}
<a class="btn btn-light btn-sm" href="{{ (path.Join .Page.RelPermalink) | relLangURL }}" role="button">{{ .LinkTitle }}</a>
&nbsp;
{{- $url := (path.Join .Page.RelPermalink) | relLangURL -}}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "light" "size" "sm") }}
{{ end -}}
</div>
</div>
<div class="d-none-light">
<div class="hstack gap-3">
{{ range (.GetTerms "tags") -}}
<a class="btn btn-outline-secondary btn-sm" href="{{ (path.Join .Page.RelPermalink) | relLangURL }}" role="button">{{ .LinkTitle }}</a>
&nbsp;
{{- $url := (path.Join .Page.RelPermalink) | relLangURL -}}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "secondary" "size" "sm" "outline" "true") }}
{{ end -}}
</div>
</div>
</div>
{{- end -}}
{{ partial "assets/sharing.html" . }}
<p class="lead mb-5 mt-3">{{ .Description }}</p>
{{ end }}
{{ end -}}

11
layouts/alias.html Normal file
View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html{{ with site.LanguageCode | default site.Language.Lang }} lang="{{ . }}"{{ end }}>
<head>
<title>{{ .Permalink }}</title>
<link rel="canonical" href="{{ .Permalink }}">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<noscript><meta http-equiv="refresh" content="0; url={{ .Permalink }}"></noscript>
<script src="/js/alias.js"></script>
</head>
</html>

10
layouts/index.redir Normal file
View File

@@ -0,0 +1,10 @@
{{- range .Site.Params.docs.releases -}}
{{- if .redirect -}}
{{ urls.JoinPath .url "/*" }} {{ urls.JoinPath .redirect ":splat" }} 200
{{ end }}
{{- end -}}
{{ range $p := .Site.AllPages }}
{{- range .Aliases -}}
{{ if hasPrefix . "." }}{{ urls.JoinPath $p.RelPermalink . }}{{ else }}{{ . }}{{ end }} {{ $p.RelPermalink }}
{{ end }}
{{- end -}}

View File

@@ -1,7 +1,14 @@
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{{- range .Page.Ancestors.Reverse -}}
<li class="breadcrumb-item"><a href="{{ .Permalink }}">{{ if not .IsHome }}{{ .Title }}{{ else }}{{ T "home" }}{{ end }}</a></li>
{{- range $index, $item := .Page.Ancestors.Reverse -}}
{{- $title := .Title -}}
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
{{- $address := or .Permalink (.Params.Redirect | absLangURL) -}}
{{ 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.Title }}</li>
</ol>

View File

@@ -1,6 +1,6 @@
<!--
Displays a button. The shortcode supports the following arguments:
"title" Required title of the button.
"title" Title of the button, required unless icon is set.
"href" Optional address for the button or hyperlink.
"id" Optional id of the button, to be used in the DOM.
"state" Optional state of the button, either "enabled" (default), "disabled", "active", or "inactive".
@@ -16,15 +16,18 @@
"type" Optional type of the element, either "link" or "button" (default).
"placement" Optional position of the tooltip: "top" (default), "bottom", "left", or "right".
"class" Optional class attribute of the button element, e.g. “toc-button”.
"icon" Optional Font Awesome icon class attribute, e.g. "fas sort".
"icon" Font Awesome icon class attribute, required unless title is set. An example value is "fas sort".
"order" Optional order of the icon, either "first" or "last" (default).
"justify" Optional justification of the button title and icon, either "start", "end", "center" (default),
"between", "around", or "evenly".
"toast" Optional id of the toast to display when the button is clicked.
"clipboard" Optional text to be copied to the clipboard when the button is clicked.
-->
{{- $title := trim .title " \r\n" -}}
{{- if not $title -}}
{{- errorf "partial [assets/button.html] - Missing element title" -}}
{{- $icon := .icon }}
{{- if not (or $title $icon) -}}
{{- errorf "partial [assets/button.html] - Missing element title or icon" -}}
{{- end -}}
{{- $id := .id }}
@@ -92,7 +95,6 @@
{{- end -}}
{{- $class := .class }}
{{- $icon := .icon }}
{{- $order := "last" -}}
{{- with .order }}{{ $order = . }}{{ end -}}
@@ -108,14 +110,20 @@
{{- errorf "partial [assets/button.html] - Invalid value for param 'justify': %s" $justify -}}
{{- end -}}
<a aria-label="{{ $title }}" {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end -}}
{{- with $id }}id="{{ . }}"{{ end -}}
{{- if eq $type "button" }}class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }} {{ $class }}" role="button" {{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{- else }}class="link-{{ $color }} position-relative {{ $class }}"{{ end -}}
{{- with $tooltip }}data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end -}}
{{- with $collapse }}data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end -}}
{{- if eq $state "active" }}data-bs-toggle="button" aria-pressed="true"{{ end -}}
{{- if eq $state "inactive" }}data-bs-toggle="button" aria-pressed="false"{{ end -}}
{{- $toast := .toast -}}
{{- $clipboard := .clipboard -}}
<a aria-label="{{ $title }}" {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end }}
{{ with $id }}id="{{ . }}"{{ end }}
{{ with $toast }}data-toast-target="{{ $toast }}"{{ end }}
{{ with $clipboard }}data-clipboard="{{ $clipboard }}"{{ end }}
{{ if eq $type "button" }}class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }} {{ $class }}"
role="button" {{ if eq $state "disabled" }}aria-disabled="true"{{ end }}
{{ else }} class="link-{{ $color }} position-relative {{ $class }}"{{ end }}
{{ with $tooltip }}data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end }}
{{ with $collapse }}data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end }}
{{ if eq $state "active" }}data-bs-toggle="button" aria-pressed="true"{{ end }}
{{ if eq $state "inactive" }}data-bs-toggle="button" aria-pressed="false"{{ end }}
>
<div class="d-flex justify-content-{{ $justify }}">

View File

@@ -87,6 +87,8 @@
{{- $footer := .footer -}}
{{- $orientation := .orientation -}}
{{- if and (eq $cols 1) (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
<div class="container-fluid p-4 px-xxl-0">
{{ $paginator := "" }}
{{ if $paginate }}
@@ -130,7 +132,7 @@
{{ if $paginate }}
{{- if gt $paginator.TotalPages 1 -}}
<div class="pt-3">{{ partial "assets/pagination.html" $page }}</div>
<div class="pt-3">{{ partial "assets/pagination.html" (dict "page" $page "format" "terse") }}</div>
{{- end -}}
{{ else }}
{{ if gt $count $max }}

View File

@@ -18,7 +18,8 @@
"description" Optional description of the card.
"thumbnail" Optional thumbnail image url, displayed on top or the left of the card.
"icon" Optional Font Awesome icon, displayed on top or the left of the card.
"orientation" Optional placecement of the thumbnail, either "stacked" (default), "horizontal", or "none".
"orientation" Optional placecement of the thumbnail or icon, either "stacked" (default), "horizontal",
"horizontal-sm" or "none".
-->
<!-- Inline partial to render the card's body -->
@@ -127,25 +128,25 @@
{{- $orientation := "stacked" -}}
{{- with .orientation }}{{ $orientation = . }}{{ end -}}
{{- $supportedOrientations := slice "stacked" "horizontal" "none" -}}
{{- $supportedOrientations := slice "stacked" "horizontal" "horizontal-sm" "none" -}}
{{- if not (in $supportedOrientations $orientation) -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'orientation': %s" $orientation -}}
{{- end -}}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
{{- if eq $orientation "horizontal" -}}
<div class="card mb-3 {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
<div class="row g-0">
<div class="col-4">
{{- if hasPrefix $orientation "horizontal" -}}
<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 }}">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "outerClass" "h-100 card-img-wrap" "innerClass" "rounded-start card-img-h100" "title" $title) -}}
{{- else if $icon -}}
<div class="pt-{{ $padding }} ps-{{ $padding }} pe-{{ $padding }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x text-secondary" $icon)) -}}
<div class="p-{{ $padding }} h-100 fa-wrapper d-flex align-items-center justify-content-center">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fluid text-secondary fa-fw" $icon)) -}}
</div>
{{- end -}}
</div>
<div class="col-8">
<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">
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }}
<div class="h-100">
@@ -161,7 +162,7 @@
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "outerClass" "card-img-wrap" "innerClass" "card-img-top" "title" $title) -}}
{{- else if $icon -}}
<div class="pt-{{ $padding }} ps-{{ $padding }} pe-{{ $padding }}">
<div class="p-{{ $padding }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x text-secondary" $icon)) -}}
</div>
{{- end -}}

View File

@@ -98,7 +98,7 @@
{{- $scaled = $img.Fit (printf "%s webp" $dim) -}}
{{- end -}}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean (printf "-%s.webp" $dim)) -}}
{{- $imgset = printf "%s, %s %sw" $imgset $scaled.RelPermalink (index $widths $index) -}}
{{- $imgset = printf "%s, %s %sw" $imgset $scaled.Permalink (index $widths $index) -}}
{{- end -}}
{{- $imgset = strings.TrimPrefix ", " $imgset -}}
{{- end -}}
@@ -145,7 +145,7 @@
srcset="{{ . }}"
sizes="100vw"
{{- end }}
src="{{ $fallbackURL }}"
src="{{ absURL $fallbackURL }}"
alt="{{ $title }}">
</div>
{{- if $caption -}}

View File

@@ -0,0 +1,48 @@
{{- $menu := .menu -}}
{{- $parent := .parent -}}
{{- $page := .page -}}
{{- $class := .class -}}
{{- $anchorClass := "" -}}
{{- $menuURL := (or $menu.PageRef $menu.URL) | relLangURL -}}
{{- $pageURL := $page.RelPermalink | relLangURL -}}
{{- $isActive := hasPrefix $pageURL $menuURL -}}
{{- $isAlias := $menu.Params.alias -}}
{{- $isIcon := $menu.Params.icon -}}
{{- $url := urls.Parse $menuURL -}}
{{- $baseURL := urls.Parse $.Site.Params.Baseurl -}}
{{- $isExternal := ne $url.Host $baseURL.Host -}}
{{- $externalHref := "" }}
{{- if $isExternal }}{{ $externalHref = "target=\"_blank\" rel=\"noopener noreferrer\"" }}{{ end -}}
{{- $mainNav := urlize (lower $menu.Name) -}}
{{- $childNav := "" -}}
{{- $button := "" -}}
{{- if $parent -}}
{{- $mainNav = urlize (lower $parent.Name) -}}
{{- $childNav = urlize (lower $menu.Name) -}}
{{- $anchorClass = "dropdown-item" -}}
{{- else if $menu.HasChildren -}}
{{- $anchorClass = "nav-link dropdown-toggle" -}}
{{- $button = " role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"" -}}
{{- else -}}
{{- $anchorClass = "nav-link" -}}
{{- end -}}
{{- $params := "" -}}
{{- if and $isAlias (not $isExternal) -}}
{{- $params = printf "?menu=%s" $mainNav -}}
{{- 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 }}{{ . }}{{ end -}}
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
{{- with $menu.Post }}{{ . }}{{ end -}}
{{- if and $isExternal (not $isIcon)}} {{ partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs") }}{{ end -}}
</a>

View File

@@ -1,12 +1,13 @@
<!--
Displays a navigation header with a toggler. The partial supports the following arguments:
"id" Optional id of the navbar toggler, defaults to "navbar-collapse-0".
"page" Required object reference to the current page.
"menus" Optional name of the menu configuration, defaults to "main".
"size" Optional size of the button, either "sm", "md" (default), or "lg".
"fixed" Optional flag to indicate the navbar should stick to the top, defaults to false.
"color" Optional background color of the navbar, either "primary", "secondary", "success",
"danger", "warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". The
default color is none.
"danger", "warning", "info", "white", "black", "body", or "body-tertiary". The default color is
none.
"mode" Optional flag to include a color mode switcher, default is "true" (if dark mode is enabled).
"search" Optional flag to include a search input, default is "true".
"logo" Optional address of the logo image, defaults to the parameter "logo" set in the "main" section of
@@ -16,7 +17,6 @@
<!-- Inline partial to render the color mode switcher -->
{{- define "partials/navbar-mode.html" -}}
{{- $id := .id -}}
{{- $size := .size -}}
{{- $collapsed := .collapsed -}}
@@ -48,10 +48,57 @@
</li>
{{- end -}}
<!-- Inline partial to render the version switcher -->
{{- define "partials/navbar-versions.html" -}}
{{- $size := .size -}}
{{- $collapsed := .collapsed -}}
{{- $page := .page -}}
{{- $list := site.Params.docs.releases -}}
{{- $version := partial "utilities/GetVersion.html" (dict "page" $page) -}}
<li class="nav-item dropdown {{ if $collapsed }}d-{{ $size }}-none{{ else }}d-none d-{{ $size }}-block{{ end }}">
<a class="nav-link dropdown-toggle" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="navbar-version-switch">
{{ if $collapsed }}{{ site.Title }} {{ end }}{{ $version }}
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbar-version-switch">
{{- range $index, $item := $list -}}
{{- $active := eq $item.label $version -}}
{{- $disabled := false -}}
{{- if site.IsServer }}
{{- $disabled = and $item.redirect (gt (len $item.redirect) 0) -}}
{{- end -}}
{{ if $item.url }}
<li>
{{- $url := (path.Join $item.url) | relLangURL -}}
<a class="pe-5 dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}{{ if $active }} active{{ end }}{{ if $disabled }} disabled{{ end }}" href="{{ $url }}">{{ $item.label }}
{{ if $item.latest }} ({{ T "latest" }}){{ end }}
{{ if $active }}
<span class="position-absolute end-0 me-3">{{- partial "assets/icon.html" (dict "icon" "fas check") }}</span>
{{ end }}
</a>
</li>
{{ else }}
{{ if gt $index 0}}<li><hr class="dropdown-divider"></li>{{ end }}
<li><span class="dropdown-header fs-6">{{ $item.label }}</span></li>
{{ end }}
{{- end -}}
{{- if site.Params.docs.overview -}}
{{ if gt (len $list) 0 }}<li><hr class="dropdown-divider"></li>{{ end }}
<li>
{{- $url := (path.Join site.Params.docs.overview) | relLangURL -}}
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" href="{{ $url }}">{{ T "allVersions" }}</a>
</li>
{{- end -}}
</ul>
</li>
{{- end -}}
{{- $supportedFlags := slice "true" "false" -}}
{{- $id := 0 -}}
{{- with .id }}{{ $id = . }}{{ end -}}
{{- $id := printf "navbar-collapse-%d" 0 -}}
{{ with .id }}
{{ $id = . }}
{{ end }}
{{- $page := .page -}}
{{- if not $page -}}
@@ -84,7 +131,7 @@
{{- $color := "" -}}
{{- with .color -}}
{{- $color = . -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body-tertiary" -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "white" "black" "body" "body-tertiary" -}}
{{- if not (in $supportedColors $color) -}}
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'color': %s" $color -}}
{{- end -}}
@@ -110,6 +157,12 @@
{{- end -}}
{{- end -}}
{{- $enableVersions := false -}}
{{ $list := site.Params.docs.releases }}
{{ if $list }}
{{- $enableVersions = gt (len $list ) 1 -}}
{{ end }}
{{- $enableLanguage := or $page.IsTranslated site.IsMultiLingual -}}
{{- $logo := site.Params.navigation.logo -}}
@@ -124,7 +177,11 @@
{{- $pre := .Pre -}}
{{- $post := .Post -}}
<nav class="navbar navbar-expand-{{ $size }} {{ with $color }}bg-{{ . }}{{ end }} {{ if $fixed }}fixed-top{{ end }} p-4">
{{- $theme := "" -}}
{{- if eq $color "black" }}{{ $theme = "dark" }}{{ end -}}
{{- if eq $color "white" }}{{ $theme = "light" }}{{ end -}}
<nav class="navbar navbar-expand-{{ $size }} {{ with $color }}bg-{{ . }}{{ end }} {{ if $fixed }}fixed-top{{ end }} p-4"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
<div class="container-xxl p-0">
<!-- Insert sidebar toggler when applicable -->
<div class="d-flex">
@@ -151,55 +208,35 @@
<!-- Insert main navigation toggler -->
<div class="d-flex fw-30">
<button id="main-nav-toggler" class="navbar-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent-{{ $id }}"
aria-controls="navbarSupportedContent-{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<button id="main-nav-toggler" class="navbar-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}"
aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<span class="toggler-icon top-bar emphasis"></span>
<span class="toggler-icon middle-bar emphasis"></span>
<span class="toggler-icon bottom-bar emphasis"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="navbarSupportedContent-{{ $id }}">
<div class="navbar-collapse collapse" id="{{ $id }}">
<!-- Insert search input -->
{{- if $search }}{{ partial "assets/search-input.html" -}}{{ end -}}
<!-- Render top-menu items (maximum depth of 2) -->
<ul class="navbar-nav ms-auto">
{{- range $menu := $menus -}}
{{- $menu_item_url := $menu.URL | relLangURL -}}
{{- $page_url:= $page.RelPermalink | relLangURL -}}
{{- $active := hasPrefix $page_url $menu_item_url -}}
{{- $url := urls.Parse .URL -}}
{{- $baseurl := urls.Parse $.Site.Params.Baseurl -}}
<li class="nav-item{{ if .HasChildren }} dropdown{{ end }}">
{{- partial "assets/navbar-item.html" (dict "menu" $menu "page" $page) -}}
{{- if .HasChildren -}}
<li class="nav-item dropdown">
<a class="nav-link {{ if $active }}active{{ end }} dropdown-toggle" href="{{ .URL | relLangURL }}" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ if $active }}<span class="active">{{ .Name }}</span>{{ else }}{{ .Name }}{{ end }}
</a>
<ul class="dropdown-menu dropdown-menu-end">
{{- range .Children -}}
{{- $child_active := eq $page_url (.URL | relLangURL) -}}
<li><a class="dropdown-item {{ if $child_active }}active{{ end }}" href="{{ .URL | relLangURL }}">{{ .Name }}</a></li>
{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}
{{- end -}}
</ul>
</li>
{{- else -}}
<li class="nav-item">
{{- $external := ne $url.Host $baseurl.Host -}}
<a class="nav-link {{ if $active }}active{{ end }}"
href="{{ with .Page }}{{ .RelPermalink }}{{ else }}{{ .URL | relLangURL }}{{ end }}" {{ if $external }}target="_blank" rel="noopener noreferrer" {{ end }}>
{{- with $pre}}{{ . }}{{ end -}}
<span {{if $active }} class="active"{{end}}>{{ .Name }}</span>
{{- with $post}}{{ . }}{{ end -}}
{{- if $external }} {{ partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs") }}{{ end -}}
</a>
{{- end -}}
</li>
{{- end -}}
{{- end -}}
{{- if or $enableLanguage $enableDarkMode -}}
<!-- Insert divider if applicable -->
{{- if or $enableLanguage $enableVersions -}}
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $size }}-block">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li>
@@ -230,10 +267,22 @@
</li>
{{- end -}}
<!-- Insert version switcher -->
{{- if $enableVersions -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" true ) -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" false) -}}
{{- end -}}
<!-- Insert color mode switcher -->
{{- if $enableDarkMode -}}
{{- partial "partials/navbar-mode.html" (dict "id" $id "size" $size "collapsed" true) -}}
{{- partial "partials/navbar-mode.html" (dict "id" $id "size" $size "collapsed" false) -}}
<!-- Insert divider -->
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $size }}-block">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li>
<li><hr class="dropdown-divider-bg"></li>
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" true) -}}
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" false) -}}
{{- end -}}
</ul>
</div>

View File

@@ -22,9 +22,11 @@
{{- 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 ", ") }}
@@ -50,11 +52,11 @@
{{- with .Prev }}
<li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button"><span aria-hidden="true">{{ T "paginationPrevious" }}</span></a>
<a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button"><span aria-hidden="true"><i class="fas fa-angle-left"></i></span></a>
</li>
{{- else }}
<li class="page-item disabled">
<a aria-disabled="true" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">{{ T "paginationPrevious" }}</span></a>
<a aria-disabled="true" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true"><i class="fas fa-angle-left"></i></span></a>
</li>
{{- end }}
@@ -79,11 +81,11 @@
{{- with .Next }}
<li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button"><span aria-hidden="true">{{ T "paginationNext" }}</span></a>
<a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button"><span aria-hidden="true"><i class="fas fa-angle-right"></i></span></a>
</li>
{{- else }}
<li class="page-item disabled">
<a aria-disabled="true" aria-label="{{ T "paginationNext" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">{{ T "paginationNext" }}</span></a>
<a aria-disabled="true" aria-label="{{ T "paginationNext" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true"><i class="fas fa-angle-right"></i></span></a>
</li>
{{- end }}
@@ -110,14 +112,14 @@
{{- with .First }}
{{- if ne $currentPageNumber .PageNumber }}
<li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button"><span aria-hidden="true">{{ T "paginationFirst" }}</span></a>
<a href="{{ .URL }}" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button"><span aria-hidden="true"><i class="fas fa-angle-double-left"></i></span></a>
</li>
{{- end }}
{{- end }}
{{- with .Prev }}
<li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button"><span aria-hidden="true">{{ T "paginationPrevious" }}</span></a>
<a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button"><span aria-hidden="true"><i class="fas fa-angle-left"></i></span></a>
</li>
{{- end }}
@@ -142,7 +144,7 @@
{{- with .Next }}
<li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button"><span aria-hidden="true">{{ T "paginationNext" }}</span></a>
<a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button"><span aria-hidden="true"><i class="fas fa-angle-right"></i></span></a>
</li>
{{- end }}

View File

@@ -0,0 +1,28 @@
{{- if .Site.Params.sharing.enabled -}}
{{- if or .Params.sharing (not (isset .Params "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 = sort $list $sort $order -}}
<div class="py-3 text-body-secondary hstack gap-2">
{{ T "shareLink" }}
{{- range $index, $item := $list -}}
{{- $url := $item.url -}}
{{- $url = replace $url "{url}" $page.Permalink -}}
{{- $url = replace $url "{title}" (urlquery $page.Title) -}}
{{- $url = $url | safeURL -}}
{{- $target := "" -}}
{{- $clipboard := "" -}}
{{- if .clipboard -}}
{{- $target = (printf "toast-message-%s-%d" (anchorize $item.name) $index ) -}}
{{- $clipboard = $url -}}
{{- $url = "#!" -}}
{{- partial "assets/toast.html" (dict "id" $target "message" (printf "%s %s" (T "link") (T "copiedToClipboard"))) -}}
{{- end -}}
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" )}}
{{- end -}}
</div>
{{- end -}}
{{- end -}}

View File

@@ -0,0 +1,28 @@
<!--
Prepares a toast message. Use a trigger to display the message. The shortcode supports the following arguments:
"id" Optional id of the toast message, defaults to "toast-message-0".
"header": Optional header of the toast message.
"message": Required toast message.
-->
{{- $id := printf "toast-message-%d" 0 -}}
{{ with .id }}
{{ $id = . }}
{{ end }}
{{ $header := .header -}}
{{ if not $header -}}
{{ $header = site.Title -}}
{{ end -}}
{{- $message := .message -}}
{{ if not $message -}}
{{- errorf "partial [assets/toast.html] - Missing message text" -}}
{{ end -}}
<div id="{{ $id }}" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
{{ with $header }}<strong class="me-auto">{{ . }}</strong>{{ end }}
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">{{ $message }}</div>
</div>

View File

@@ -20,9 +20,9 @@
{{- end -}}
{{- if not hugo.IsProduction -}}
<script src="{{ $js.RelPermalink }}"></script>
<script src="{{ $js.Permalink }}"></script>
{{ else -}}
{{ $js = $js | minify | fingerprint -}}
<script src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous"></script>
<script src="{{ $js.Permalink }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous"></script>
{{ end -}}
{{ end -}}

View File

@@ -0,0 +1,31 @@
<!--
Defines a container to stack toast messages. By default, toast messages are displayed in the bottom right of the
viewport. Multiple toast messages are stacked vertically. Adjust the configuration by adjusting 'messages' in the
site parameters. The following arguments are supported:
"placement" Optional position of the toast messages relative to the viewport: "top-left", "top-center",
"top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", or
"bottom-right" (default).
-->
{{- $placement := "bottom-right" -}}
{{- $position := "bottom-0 end-0" -}}
{{- with site.Params.messages.placement }}{{ $placement = . }}{{ end -}}
{{- $supportedPlacements := slice "top-left" "top-center" "top-right" "middle-left" "middle-center" "middle-right" "bottom-left" "bottom-center" "bottom-right" -}}
{{- if not (in $supportedPlacements $placement) -}}
{{- errorf "partial [footer/toast-container.html] - Invalid value for param 'placement': %s" $placement -}}
{{- end -}}
{{- if eq $placement "top-left" }}{{ $position = "top-0 start-0" -}}
{{- else if eq $placement "top-center" }}{{ $position = "top-0 start-50 translate-middle-x" -}}
{{- else if eq $placement "top-right" }}{{ $position = "top-0 end-0" -}}
{{- else if eq $placement "middle-left" }}{{ $position = "top-50 start-0 translate-middle-y" -}}
{{- else if eq $placement "middle-center" }}{{ $position = "top-50 start-50 translate-middle" -}}
{{- else if eq $placement "middle-right" }}{{ $position = "top-50 end-0 translate-middle-y" -}}
{{- else if eq $placement "bottom-left" }}{{ $position = "bottom-0 start-0" -}}
{{- else if eq $placement "bottom-center" }}{{ $position = "bottom-0 start-50 translate-middle-x" -}}
{{- else if eq $placement "bottom-right" }}{{ $position = "bottom-0 end-0" -}}
{{- end -}}
<div id="toast-container" class="toast-container position-fixed {{ $position }} p-3">
{{- partial "assets/toast.html" (dict "id" "toast-copied-code-message" "message" (printf "%s %s" (T "code") (T "copiedToClipboard"))) -}}
</div>

View File

@@ -30,7 +30,7 @@
{{- end -}}
{{- if not hugo.IsProduction -}}
<link rel="stylesheet" href="{{ $css.Permalink | relLangURL }}">
<link rel="stylesheet" href="{{ $css.Permalink }}">
{{- else -}}
{{- $css = $css | fingerprint | resources.PostProcess -}}
<link rel="stylesheet" href="{{ $css.Permalink }}" integrity="{{ $css.Data.Integrity }}" crossorigin="anonymous">

View File

@@ -1 +1,12 @@
{{ return index .Site.Data .Section }}
{{- $page := .page -}}
{{- $version := .version -}}
{{- $menu := "" -}}
{{- if $page.IsPage -}}
{{- $menu = index site.Data (printf "%s-%s" $page.Section $version) -}}
{{ if not $menu }}
{{ $menu = index site.Data $page.Section }}
{{ end }}
{{- end -}}
{{- return $menu -}}

View File

@@ -0,0 +1,34 @@
<!--
Retrieve the docs version label of the current page. The path of the page's file is matched with the url of the
defined docs releases in the site's parameters. When no match is found it returns the latest label instead.
-->
{{- $page := .page -}}
{{- $base := .base -}}
{{- $version := "" -}}
{{- $docsPath := strings.TrimPrefix "/" site.Params.docs.contentPath -}}
{{- if and $page.File (strings.HasPrefix $page.File.Dir $docsPath) -}}
{{- $currentPath := strings.TrimPrefix $docsPath $page.File.Dir -}}
{{- $currentVersion := index (split $currentPath "/") 0 -}}
{{- $versionPath := path.Join site.Params.docs.contentPath $currentVersion -}}
{{- $list := site.Params.docs.releases -}}
{{- range $index, $item := $list -}}
{{- $url := strings.TrimSuffix "/" $item.url -}}
{{- if eq $url $versionPath -}}
{{- if $base }}{{ $version = path.Base $item.url }}{{ else }}{{ $version = $item.label }}{{ end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- if not $version -}}
{{- $list := site.Params.docs.releases -}}
{{- range $item := $list -}}
{{- if $item.latest -}}
{{- if $base }}{{ $version = path.Base $item.url }}{{ else }}{{ $version = $item.label }}{{ end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- return $version -}}

View File

@@ -5,6 +5,12 @@
"show" Optional flag to indicate an item should be shown as collapsed.
-->
{{- $id := .Ordinal -}}
{{- $parent := printf "accordion-%d" .Parent.Ordinal -}}
{{- with (.Parent.Get "id") -}}
{{- $parent = . -}}
{{- end -}}
{{- $id := .Ordinal -}}
{{ $header := .Get "header" -}}
{{ if not $header -}}
@@ -35,8 +41,6 @@
{{ errorf "Invalid value for param 'show': %s" $showParam -}}
{{ end -}}
{{- $parent := printf "accordion-%d" .Parent.Ordinal -}}
<div class="accordion-item">
{{- with $header -}}
<h2 class="accordion-header m-0" id="{{ $parent }}-heading-{{ $id }}">

View File

@@ -1,12 +1,34 @@
<!--
Displays a group of vertically collapsing and expanding items. Add accordion-item inner elements for each accordion
item. The shortcode supports the following arguments:
"id": Optional id of the accordion, defaults to "accordion-" with a sequential number.
"always-open": Optional flag to make accordion items stay open when another item is opened.
"class": Optional class attribute of the accordion element, e.g. “w-50”.
-->
{{- $id := .Ordinal -}}
{{- $id := printf "accordion-%d" .Ordinal -}}
{{ with .Get "id" }}
{{ $id = . }}
{{ end }}
{{- $class := .Get "class" -}}
<div id="accordion-{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }}">
{{- .Inner -}}
{{- $openParam := "false" -}}
{{- $open := false -}}
{{- with .Get "always-open" }}{{ $openParam = . }}{{ end -}}
{{- $supportedFlags := slice "true" "false" -}}
{{- if in $supportedFlags $openParam -}}
{{- if eq $openParam "true" }}{{ $open = true }}{{ end -}}
{{- else -}}
{{- errorf "Invalid value for param 'always-open': %s" .Position -}}
{{- $error = true -}}
{{- end -}}
{{- $body := .Inner -}}
{{- if $open -}}
{{- $pattern := printf "data-bs-parent=\"#%s\"" $id -}}
{{- $body = (replace .Inner $pattern "") | markdownify | safeHTML }}
{{- end -}}
<div id="{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }}">
{{- $body -}}
</div>

View File

@@ -6,15 +6,19 @@
"icon" Optional class and name of a Font Awesome icon to include.
-->
{{- $error := false -}}
{{ $color := "primary" -}}
{{ with .Get "color" }}{{ $color = . }}{{ end -}}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" -}}
{{ if not (in $supportedColors $color) -}}
{{ errorf "Invalid value for param 'color': %s" .Position -}}
{{ $color = "primary" -}}
{{ $error = true -}}
{{ end -}}
{{ $icon := .Get "icon" }}
{{ $icon := "" }}
{{ with .Get "icon" }}
{{ $icon = partial "assets/icon.html" (dict "icon" (printf "%s fa-2x fa-pull-left" .)) }}
{{ end }}
{{ $dismissibleParam := "false" -}}
{{ $dismissible := false -}}
@@ -24,10 +28,13 @@
{{ if eq $dismissibleParam "true" }}{{ $dismissible = true }}{{ end -}}
{{ else -}}
{{ errorf "Invalid value for param 'dismissible': %s" .Position -}}
{{ $error = true -}}
{{ end -}}
<div class="alert alert-{{ $color }} {{ if $dismissible }}alert-dismissible fade show{{ end }}" role="alert">
{{ with $icon }}<i class="{{ . }} fa-2x fa-pull-left"></i>{{ end }}
{{- if not $error -}}
<div class="alert alert-{{ $color }} {{ if $dismissible }}alert-dismissible fade show{{ end }}" role="alert">
{{ with $icon }}{{ . }}{{ end }}
{{ trim .Inner " \r\n" | markdownify | safeHTML -}}
{{ if $dismissible }}<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>{{ end }}
</div>
</div>
{{- end -}}

View File

@@ -14,6 +14,7 @@
inactive buttons.
"collapse" Optional panel to collapse. Cannot be used together with tooltip. Ignored for active/inactive buttons.
"placement" Optional position of the tooltip: "top" (default), "bottom", "left", or "right".
"toast" Optional id of the toast to display when the button is clicked.
-->
{{ $error := false }}
@@ -77,6 +78,8 @@
{{ $error = true }}
{{ end -}}
{{- $toast := .Get "toast" -}}
{{ if not $error }}
{{- partial "assets/button.html" (dict
"type" $type
@@ -91,6 +94,7 @@
"href" $href
"id" $id
"state" $state
"placement" $placement)
"placement" $placement
"toast" $toast)
-}}
{{ end }}

View File

@@ -1,18 +1,23 @@
<!--
Displays a carousel of several responsive images (see the image shortcode for more details). Add inner <img>
elements to define individual image slides. The shortcode supports the following arguments:
"id": Optional id of the carousel, defaults to "carousel-" with a sequential number.
"ratio": Optional ratio of the image, either "1x1", "4x3", "16x9", or "21x9". Other values are ignored.
Instead, the original aspect ratio of the image is preserved.
"class": Optional class attribute of the carousel element, e.g. “w-75”.
-->
{{- $id := printf "carousel-%d" .Ordinal -}}
{{ with .Get "id" }}
{{ $id = . }}
{{ end }}
{{ $ratio := .Get "ratio" -}}
{{ $class := .Get "class" -}}
{{ $id := .Ordinal -}}
{{ $images := .Inner -}}
{{ $items := len (findRE "carousel-item" $images) -}}
<div id="carousel-{{ $id }}" class="carousel slide mb-3{{ with $class }} {{ . }}{{ end }}" data-bs-ride="true">
<div id="{{ $id }}" class="carousel slide mb-3{{ with $class }} {{ . }}{{ end }}" data-bs-ride="true">
<div class="carousel-indicators">
{{ range $index := (seq $items) -}}
<button type="button" data-bs-target="#carousel-{{ $id }}" data-bs-slide-to="{{ sub $index 1 }}" {{ if eq $index 1 }}class="active"{{ end }} aria-current="true" aria-label="Slide {{ $index }}"></button>
@@ -21,11 +26,11 @@
<div class="carousel-inner">
{{ $images }}
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carousel-{{ $id }}" data-bs-slide="prev">
<button class="carousel-control-prev" type="button" data-bs-target="#{{ $id }}" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carousel-{{ $id }}" data-bs-slide="next">
<button class="carousel-control-next" type="button" data-bs-target="#{{ $id }}" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>

View File

@@ -2,13 +2,15 @@
Displays a navigation header with a toggler. The menu items are derived from the site's configuration. Nested items
are supported at one-level depth. The navigation bar includes a search area and a language switcher if applicable.
The shortcode supports the following arguments:
"id" Optional id of the navbar toggler, defaults to "navbar-collapse-n" with a sequential number n
starting at 1.
"path" Required path of the active page.
"menus" Optional name of the menu configuration, defaults to "main".
"size" Optional breakpoint of the navbar toggler, either "xs", "sm", "md" (default), "lg", or "xl".
"style" Optional style of the navbar, either "light" (default) or "dark".
"color" Optional background color of the navbar, either "primary", "secondary", "success",
"danger", "warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". The
default color is none.
"danger", "warning", "info", "white", "black", "body", or "body-tertiary". The default color is
none.
"mode" Optional flag to include a color mode switcher, default is "true" (if dark mode is enabled).
"search" Optional flag to include a search input, default is "true".
"logo" Optional address of the logo image.
@@ -16,10 +18,13 @@
-->
{{ $error := false }}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body" "body-tertiary" -}}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "white" "black" "body" "body" "body-tertiary" -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ $id := add .Ordinal 1 }}
{{- $id := printf "navbar-collapse-%d" (add .Ordinal 1) -}}
{{ with .Get "id" }}
{{ $id = . }}
{{ end }}
{{ $path := .Get "path" }}
{{ $page := .Site.GetPage $path }}

View File

@@ -0,0 +1,68 @@
<!--
Displays a release button that links to a specific release. Use the optional state to indicate if it is a new or
deprecated feature.
"version": Required version string, expects semver notation with a "v" prefix.
"state": Optional state, either "new" or "deprecated".
"short": Optional flag to indicate the release button should use short notation.
-->
{{- $error := false -}}
{{- $version := .Get "version" -}}
{{- $inline := false -}}
{{- $state := "new" -}}
{{- with .Get "state" }}{{ $state = . }}{{ end -}}
{{- $supportedStates := slice "new" "deprecated" -}}
{{- if not (in $supportedStates $state) -}}
{{- errorf "Invalid value for param 'state': %s" .Position -}}
{{- $error = true -}}
{{- end -}}
{{- $shortParam := "false" -}}
{{- $short := false -}}
{{- with .Get "short" }}{{ $shortParam = . }}{{ end -}}
{{- $supportedFlags := slice "true" "false" -}}
{{- if in $supportedFlags $shortParam -}}
{{- if eq $shortParam "true" }}{{ $short = true }}{{ end -}}
{{- else -}}
{{- errorf "Invalid value for param 'short': %s" .Position -}}
{{- $error = true -}}
{{- end -}}
{{- $inlineParam := "false" -}}
{{- $inline := false -}}
{{- with .Get "inline" }}{{ $inlineParam = . }}{{ end -}}
{{- $supportedFlags := slice "true" "false" -}}
{{- if in $supportedFlags $inlineParam -}}
{{- if eq $inlineParam "true" }}{{ $inline = true }}{{ end -}}
{{- else -}}
{{- errorf "Invalid value for param 'inline': %s" .Position -}}
{{- $error = true -}}
{{- end -}}
{{- $title := $version -}}
{{- $color := "success" -}}
{{- if eq $state "deprecated" -}}
{{- $color = "secondary" -}}
{{- end -}}
{{- if not $short -}}
{{- if eq $state "deprecated" -}}
{{- $title = (printf "Deprecated in %s" $version) -}}
{{- else -}}
{{- $title = (printf "Added in %s" $version) -}}
{{- end -}}
{{- end -}}
{{- if not $error -}}
<div class="pb-3">
{{- partial "assets/button.html" (dict
"title" $title
"href" (printf "%s/%s" (strings.TrimSuffix "/" site.Params.docs.release) $version)
"size" "sm"
"color" $color
"outline" "true"
"class" "rounded-2 fw-semibold")
-}}
</div>
{{- end -}}

View File

@@ -1,24 +1,17 @@
<!--
Prepares a toast message. Use a trigger to display the message. The shortcode supports the following arguments:
"id" Optional id of the toast message, defaults to "toast-message-n" with sequence n.
"header": Optional header of the toast message. Uses the site title by default.
-->
{{- $error := false -}}
{{- $id := printf "toast-message-%d" .Ordinal -}}
{{- with .Get "id" }}{{ $id = . }}{{ end -}}
{{ $header := .Get "header" -}}
{{ if not $header -}}
{{ $header = site.Title -}}
{{ end -}}
{{ $message := trim .Inner " \r\n" -}}
{{ if not $message -}}
{{ errorf "Missing inner element text: %s" .Position -}}
{{ else if not $error -}}
{{ partial "assets/toast.html" (dict "id" $id "header" $header "message" $message) }}
{{ end -}}
<div class="toast-container position-fixed bottom-0 end-0 p-3">
<div id="toastMessage" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<strong class="me-auto">{{ $header }}</strong>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">{{ $message }}</div>
</div>
</div>

View File

@@ -1,7 +1,7 @@
<!--
Displays a tooltip for a link. The shortcode supports the following arguments:
"color": Optional theme color of the element, either "primary" (default), "secondary", "success",
"danger", "warning", "info", "light", "dark", "white", or "black".
"danger", "warning", "info", "light", or "dark".
"title" Required text to display in the tooltip.
"href" Required address for the button or hyperlink.
"placement" Optional position of the tooltip: "top" (default), "bottom", "left", or "right".
@@ -18,7 +18,7 @@
{{ $color := "primary" -}}
{{ with .Get "color" }}{{ $color = . }}{{ end -}}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" -}}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" -}}
{{ if not (in $supportedColors $color) -}}
{{ errorf "Invalid value for param 'color': %s" .Position -}}
{{ $error = true }}

3039
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.13.0",
"version": "0.15.0-beta3",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -34,7 +34,6 @@
"env": "hugo env",
"precheck": "npm version",
"check": "hugo version",
"copy:fonts": "shx cp ./node_modules/@fortawesome/fontawesome-free/webfonts/* ./static/fonts/",
"create:syntax-light": "hugo gen chromastyles --style=github > ./assets/scss/components/_syntax-light.scss",
"create:syntax-dark": "hugo gen chromastyles --style=github-dark > ./assets/scss/components/_syntax-dark.scss",
"create:syntax": "npm run -s create:syntax-light & npm run -s create:syntax-dark",
@@ -60,11 +59,11 @@
"eslint": "^8.39.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^15.7.0",
"eslint-plugin-n": "^16.0.0",
"eslint-plugin-promise": "^6.1.1",
"flexsearch": "^0.7.31",
"hugo-bin": "^0.102.0",
"markdownlint-cli2": "^0.7.0",
"hugo-bin": "^0.108.0",
"markdownlint-cli2": "^0.8.1",
"postcss-cli": "^10.1.0",
"purgecss-whitelister": "^2.4.0",
"rimraf": "^5.0.0",

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

3
static/js/alias.js Normal file
View File

@@ -0,0 +1,3 @@
const alias = document.querySelector("link[rel='canonical']").getAttribute('href')
const params = window.location.search + window.location.hash
window.location = alias + params