Compare commits

...

177 Commits

Author SHA1 Message Date
Mark Dumay
3a1e310e22 Merge pull request #567 from gethinode/develop
Refine layout
2023-10-18 07:31:09 +02:00
Mark Dumay
918c043f10 Merge branch 'main' into develop 2023-10-18 07:21:43 +02:00
mark
fbfb02d7ca Bump package release 2023-10-18 07:20:41 +02:00
mark
3026837946 Improve icon spacing 2023-10-18 07:20:07 +02:00
mark
f7ccdad1df Update build stats 2023-10-18 06:57:22 +02:00
mark
4b4f70e6e0 Fix abbr element on devices with touch screen 2023-10-18 06:57:03 +02:00
mark
c28e9861ba Enable keyboard focus for abbr element 2023-10-18 06:56:13 +02:00
mark
15c2b5466e Fix background color of TOC button on hover 2023-10-18 06:30:42 +02:00
mark
58bcdff782 Fix gap between tags in dark mode 2023-10-18 06:25:22 +02:00
Mark Dumay
a08cdeeeb6 Merge pull request #566 from gethinode/develop
Improve definition of image dimensions
2023-10-17 17:00:37 +02:00
Mark Dumay
9be2f7712d Merge branch 'main' into develop 2023-10-17 16:52:02 +02:00
mark
f59e34758c Add dimensions for vector brand logo 2023-10-17 16:51:06 +02:00
mark
fc3846424d Add image dimensions 2023-10-17 16:50:12 +02:00
github-actions[bot]
11a0e4943a Merge pull request #565 from gethinode/dependabot/npm_and_yarn/stylelint-15.11.0
Bump stylelint from 15.10.3 to 15.11.0
2023-10-17 13:57:57 +00:00
dependabot[bot]
5d95eb0420 Bump stylelint from 15.10.3 to 15.11.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.10.3 to 15.11.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.10.3...15.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 13:50:11 +00:00
Mark Dumay
ef0b797e60 Merge pull request #564 from gethinode/develop
Optimize js and css handling
2023-10-17 14:54:02 +02:00
mark
dfa34a1838 Sync translated about pages 2023-10-17 14:40:00 +02:00
mark
d58a32e283 Support configuration of script processing 2023-10-17 13:55:20 +02:00
Mark Dumay
5fa1abe7bc Merge branch 'main' into develop 2023-10-17 13:11:13 +02:00
mark
251dec084c Update build stats 2023-10-17 13:09:31 +02:00
mark
52ef24a5f6 Fix alignment of featured content 2023-10-17 13:09:22 +02:00
mark
0a7fc04fa5 Fix purge settings for example site 2023-10-17 13:09:06 +02:00
mark
612dbcc868 Optimize css and js handling 2023-10-17 13:06:48 +02:00
Mark Dumay
850a92bee9 Merge pull request #563 from gethinode/develop
Add modal search support
2023-10-17 06:01:48 +02:00
Mark Dumay
5664e98d89 Merge branch 'main' into develop 2023-10-17 05:40:33 +02:00
mark
1bd6f0f04e Bump package release 2023-10-17 05:39:58 +02:00
mark
58e3e0f53e Add modal search support 2023-10-17 05:39:15 +02:00
mark
a3d8585276 Adjust icon spacing 2023-10-17 05:38:43 +02:00
mark
882269bf72 Update build stats 2023-10-17 05:38:01 +02:00
mark
c71e21ca0b Fix typo 2023-10-17 05:37:41 +02:00
Mark Dumay
890ab25210 Merge pull request #562 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-10-17 05:36:12 +02:00
markdumay
81687c19ef fix: update Hugo module dependencies 2023-10-17 03:16:24 +00:00
Mark Dumay
c98165c61e Merge pull request #561 from gethinode/develop
Standardize padding
2023-10-16 11:50:36 +02:00
Mark Dumay
0ee3ddef1d Merge branch 'main' into develop 2023-10-16 11:33:09 +02:00
mark
06af1481e6 Standardize padding 2023-10-16 11:32:43 +02:00
Mark Dumay
740108432b Merge pull request #560 from gethinode/develop
Refine section heading rendering
2023-10-16 11:31:39 +02:00
Mark Dumay
331959e3da Merge branch 'main' into develop 2023-10-16 11:24:36 +02:00
mark
679e49e55f Refine section heading rendering 2023-10-16 11:23:58 +02:00
Mark Dumay
5ae69f2466 Merge pull request #559 from gethinode/develop
Remove trailing whitespace from external link icon
2023-10-16 11:21:52 +02:00
Mark Dumay
15c7d53acc Merge branch 'main' into develop 2023-10-16 11:09:52 +02:00
mark
a1d93fca52 Remove trailing whitespace from external link icon 2023-10-16 11:07:18 +02:00
Mark Dumay
56af6dda1d Merge pull request #558 from gethinode/develop
Refine featured partial
2023-10-16 09:15:23 +02:00
Mark Dumay
7c62e115c3 Merge branch 'main' into develop 2023-10-16 08:53:04 +02:00
mark
5f13e2d7ab Fix featured padding 2023-10-16 08:52:16 +02:00
mark
0186b3db8b Support icon color modes 2023-10-16 08:51:58 +02:00
Mark Dumay
db4e353d8a Merge pull request #557 from gethinode/develop
Add color mode support for animations
2023-10-16 08:47:33 +02:00
Mark Dumay
30468c2dab Merge branch 'main' into develop 2023-10-16 07:34:40 +02:00
mark
3afe0a8a99 Add color mode support for animations 2023-10-16 07:33:46 +02:00
mark
fc626dc4c0 Bump package version 2023-10-15 07:52:50 +02:00
mark
7e4f582445 Fix alignment of breadcrumb 2023-10-15 07:52:09 +02:00
mark
f740443f73 Add section header for main list content 2023-10-15 07:28:03 +02:00
mark
d43da60e8e Update nodejs version 2023-10-14 07:51:13 +02:00
Mark Dumay
d29759da9b Merge pull request #555 from gethinode/develop
Refine base layout
2023-10-14 07:47:29 +02:00
Mark Dumay
4b3a2e441b Merge branch 'main' into develop 2023-10-14 07:31:42 +02:00
mark
a8b8d07bf4 Refine featured configuration 2023-10-14 07:31:07 +02:00
mark
34410446f3 Update build stats 2023-10-14 07:30:40 +02:00
mark
13098a351d Configure featured layout 2023-10-14 07:30:33 +02:00
mark
d071fa03a6 Update build stats 2023-10-14 07:30:13 +02:00
Mark Dumay
6ff65c37ac Merge pull request #551 from aefly/french-translation
Update French Translation with latest hinode version
2023-10-12 13:41:42 +02:00
aefly
e03396490e Update components.md 2023-10-12 13:16:41 +02:00
Mark Dumay
ad453b6400 Merge branch 'main' into develop 2023-10-12 13:11:03 +02:00
mark
500a572a9c Bump package release 2023-10-12 13:09:49 +02:00
mark
f3bffcb5fb Improve featured section layout 2023-10-12 13:08:33 +02:00
mark
30305ffd1c Fix scroll offset for display headings 2023-10-12 13:07:52 +02:00
mark
62f2e33b64 Fix anchorization of section titles 2023-10-12 13:07:13 +02:00
mark
24d655ec76 Fix typo 2023-10-12 13:06:45 +02:00
mark
7668f795da Support word wrap config of nav 2023-10-12 13:06:31 +02:00
Mark Dumay
96a5853333 Merge branch 'main' into french-translation 2023-10-12 07:05:30 +02:00
github-actions[bot]
6b767410dc Merge pull request #553 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.2.0
Bump eslint-plugin-n from 16.1.0 to 16.2.0
2023-10-11 13:41:24 +00:00
dependabot[bot]
3f8dd1d457 Bump eslint-plugin-n from 16.1.0 to 16.2.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.1.0 to 16.2.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.1.0...16.2.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-10-11 13:35:04 +00:00
aefly
8cb501186a Update components.md 2023-10-11 08:08:12 +02:00
Mark Dumay
bdfe42b22f Merge pull request #550 from gethinode/main
Sync with main
2023-10-10 10:21:37 +02:00
Mark Dumay
37c4fbdec0 Merge pull request #549 from gethinode/refactor
Refactor base layout
2023-10-10 10:10:10 +02:00
Mark Dumay
9af109d23d Merge branch 'main' into refactor 2023-10-10 08:43:58 +02:00
Mark Dumay
3322e3337a Merge pull request #548 from gethinode/taxonomy
Consolidate list page and home page
2023-10-10 08:43:07 +02:00
mark
6ede71d164 Fix linting issue 2023-10-10 08:42:12 +02:00
Mark Dumay
da2e41d59d Merge branch 'main' into taxonomy 2023-10-10 07:48:02 +02:00
mark
c08af69752 Add feature configuration 2023-10-10 07:46:41 +02:00
mark
1a3b438bfb Update build stats 2023-10-10 07:46:04 +02:00
mark
f15ee8cc5b Adapt refined featured format 2023-10-10 07:45:47 +02:00
mark
d65897ad09 Support taxonomies as list input 2023-10-10 07:45:07 +02:00
mark
607f9690cc Support custom card ratio 2023-10-10 07:44:30 +02:00
mark
3cbdc511c8 Support article downloads 2023-10-10 07:42:31 +02:00
mark
e21ab89f89 Fix navbar offset 2023-10-10 07:31:36 +02:00
mark
c50e0153f6 Adapt refined featured format 2023-10-10 07:30:33 +02:00
mark
bd3c2f9d78 Refactor base layout 2023-10-10 07:29:59 +02:00
mark
57bcc6d1ac Refactor featured section 2023-10-10 07:28:20 +02:00
mark
8331cb9f38 Add support for page menu 2023-10-10 07:25:36 +02:00
mark
1ef0f32ad9 Add support for section menu 2023-10-10 07:25:14 +02:00
mark
c9cab7f43d Refactor featured section 2023-10-10 07:24:15 +02:00
mark
73d8efcea7 Update build stats 2023-10-10 07:23:41 +02:00
mark
e9c45a45d7 Add support for downloads 2023-10-10 07:13:39 +02:00
mark
5b94307559 Consolidate list page and home page 2023-10-10 06:43:54 +02:00
Mark Dumay
ee03b65f2d Merge pull request #547 from gethinode/taxonomy
Support custom card ratio
2023-10-10 06:37:31 +02:00
Mark Dumay
7920512f2b Merge branch 'main' into taxonomy 2023-10-10 06:29:01 +02:00
mark
928e355618 Support configurable thumbnail ratio 2023-10-10 06:24:32 +02:00
mark
efac0a7026 Move color of card icon to stylesheet 2023-10-10 06:19:52 +02:00
github-actions[bot]
42d10ed012 Merge pull request #546 from gethinode/dependabot/npm_and_yarn/eslint-8.51.0
Bump eslint from 8.50.0 to 8.51.0
2023-10-09 14:00:56 +00:00
dependabot[bot]
b0655adff4 Bump eslint from 8.50.0 to 8.51.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.50.0 to 8.51.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.50.0...v8.51.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-10-09 13:53:44 +00:00
Mark Dumay
c1b025d04b Merge pull request #545 from gethinode/develop
Fix spacing of inline elements
2023-10-09 08:20:58 +02:00
Mark Dumay
3cf5884e10 Merge branch 'main' into develop 2023-10-09 07:47:22 +02:00
mark
ce0acb9547 Fix #501 2023-10-09 07:46:34 +02:00
Mark Dumay
777c54f6a1 Merge pull request #544 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-10-09 07:46:01 +02:00
markdumay
8e17d093c7 fix: update Hugo module dependencies 2023-10-09 03:16:22 +00:00
mark
33ba9d6e59 Fix typo 2023-10-08 14:43:03 +02:00
mark
f6a1751efe Bump package version 2023-10-08 06:29:08 +02:00
mark
00372947fa Remove redundant semicolon 2023-10-08 05:38:10 +02:00
mark
c86167851f Bump Dart Sass dependency 2023-10-08 05:37:32 +02:00
github-actions[bot]
6a90952319 Merge pull request #543 from gethinode/dependabot/npm_and_yarn/postcss-8.4.31
Bump postcss from 8.4.28 to 8.4.31
2023-10-08 01:54:53 +00:00
dependabot[bot]
02f135eec3 Bump postcss from 8.4.28 to 8.4.31
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.28 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.28...8.4.31)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-08 01:46:51 +00:00
Mark Dumay
daa9bcc471 Merge pull request #542 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-30 07:09:48 +02:00
markdumay
5072fd6a07 fix: update Hugo module dependencies 2023-09-30 03:15:07 +00:00
Mark Dumay
20f5868759 Merge pull request #541 from gethinode/develop
Add wrap argument for nav
2023-09-28 16:13:56 +02:00
mark
db0297e898 Bump package version 2023-09-28 16:02:49 +02:00
mark
1efb03f3be Add wrap argument 2023-09-28 16:02:24 +02:00
Mark Dumay
4e00d967a6 Merge pull request #540 from gethinode/main
Sync with main
2023-09-28 15:41:01 +02:00
Mark Dumay
266ca8db68 Merge pull request #539 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-28 15:15:16 +02:00
markdumay
2b976a3eec fix: update Hugo module dependencies 2023-09-28 12:40:19 +00:00
github-actions[bot]
962429ad33 Merge pull request #538 from gethinode/dependabot/npm_and_yarn/rimraf-5.0.5
Bump rimraf from 5.0.4 to 5.0.5
2023-09-27 14:02:24 +00:00
dependabot[bot]
5d5c645308 Bump rimraf from 5.0.4 to 5.0.5
Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.4 to 5.0.5.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v5.0.4...v5.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-27 13:54:54 +00:00
Mark Dumay
f1c7792f87 Merge pull request #537 from gethinode/develop
Bump package version
2023-09-27 07:41:58 +02:00
Mark Dumay
fe86a21303 Merge branch 'main' into develop 2023-09-27 07:31:15 +02:00
mark
33cccd76b3 Bump package version 2023-09-27 07:30:36 +02:00
Mark Dumay
1f90c552a7 Merge pull request #536 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-27 07:26:58 +02:00
markdumay
614e789ce4 fix: update Hugo module dependencies 2023-09-27 03:16:34 +00:00
github-actions[bot]
07f2f82675 Merge pull request #535 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.115.0
Bump hugo-bin from 0.114.2 to 0.115.0
2023-09-26 13:39:08 +00:00
dependabot[bot]
d28d2be7c5 Bump hugo-bin from 0.114.2 to 0.115.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.114.2 to 0.115.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.114.2...v0.115.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-09-26 13:30:12 +00:00
github-actions[bot]
a3250b31c2 Merge pull request #534 from gethinode/dependabot/npm_and_yarn/rimraf-5.0.4
Bump rimraf from 5.0.1 to 5.0.4
2023-09-26 13:29:28 +00:00
dependabot[bot]
eae97e2017 Bump rimraf from 5.0.1 to 5.0.4
Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.1 to 5.0.4.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v5.0.1...v5.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-26 13:22:14 +00:00
github-actions[bot]
7983a52de9 Merge pull request #533 from gethinode/dependabot/npm_and_yarn/eslint-8.50.0
Bump eslint from 8.49.0 to 8.50.0
2023-09-26 06:32:49 +02:00
dependabot[bot]
92b1b81b25 Bump eslint from 8.49.0 to 8.50.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.49.0 to 8.50.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.49.0...v8.50.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-09-25 13:15:35 +00:00
Mark Dumay
f91fe303fb Drop Node 16.x 2023-09-25 08:46:36 +02:00
Mark Dumay
529b0db71d Merge pull request #532 from gethinode/develop
Support custom icons
2023-09-25 08:12:58 +02:00
mark
bd142ac66d Bump package version 2023-09-25 07:39:01 +02:00
mark
3749937799 Add custom icon example 2023-09-25 07:38:54 +02:00
mark
16d309cc34 Update build stats 2023-09-25 07:38:11 +02:00
Mark Dumay
5315bc950a Merge pull request #531 from gethinode/main
Sync with main
2023-09-25 07:34:08 +02:00
Mark Dumay
2dbf6a9faf Merge pull request #530 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-25 07:22:20 +02:00
markdumay
a67e38bd1b fix: update Hugo module dependencies 2023-09-25 05:14:37 +00:00
Mark Dumay
4688176216 Merge pull request #529 from gethinode/develop
Add animation support
2023-09-24 06:31:05 +02:00
mark
dbee9aafd7 Prevent processing of empty scss bundles 2023-09-24 05:58:27 +02:00
mark
8c20617b1a Bump dependencies 2023-09-23 17:27:24 +02:00
Mark Dumay
9e2ed6480d Merge branch 'main' into develop 2023-09-23 17:08:35 +02:00
mark
7ef1b1aba9 Remove newlines 2023-09-23 17:07:51 +02:00
mark
b74071d4cf Bump package release 2023-09-23 16:59:17 +02:00
mark
dc7578a5c3 Add animation support 2023-09-23 16:58:38 +02:00
Mark Dumay
2227cf5fe2 Standardize capitalization 2023-09-22 07:21:31 +02:00
Mark Dumay
1296595ff7 Merge pull request #528 from gethinode/develop
Support configurable font size
2023-09-22 07:19:59 +02:00
Mark Dumay
94f0b7599d Merge branch 'main' into develop 2023-09-22 07:07:04 +02:00
mark
481d3099eb Bump package release 2023-09-22 07:06:31 +02:00
mark
d9a718d934 Support configurable font size 2023-09-22 07:05:09 +02:00
github-actions[bot]
e396bcce82 Merge pull request #527 from gethinode/dependabot/npm_and_yarn/autoprefixer-10.4.16
Bump autoprefixer from 10.4.15 to 10.4.16
2023-09-21 13:59:34 +00:00
dependabot[bot]
b80b45f126 Bump autoprefixer from 10.4.15 to 10.4.16
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.15 to 10.4.16.
- [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.15...10.4.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-21 13:51:27 +00:00
Mark Dumay
b9a9a84982 Merge pull request #526 from gethinode/develop
Fix height for stand-alone cards
2023-09-20 15:57:30 +02:00
Mark Dumay
32a582dc66 Merge branch 'main' into develop 2023-09-20 06:58:50 +02:00
mark
ce7362a6f5 Fix height for stand-alone cards 2023-09-20 06:58:25 +02:00
Mark Dumay
c3541f0368 Merge pull request #525 from gethinode/develop
Use link title in navigation
2023-09-20 06:58:12 +02:00
Mark Dumay
fa9da5147d Merge branch 'main' into develop 2023-09-20 06:25:03 +02:00
mark
9905581b63 Use link title in navigation controls 2023-09-20 06:23:40 +02:00
mark
4fe871d5c1 Use link title in breadcrumb by default 2023-09-20 06:04:01 +02:00
mark
4e5e39624b Improve layout 2023-09-20 06:02:54 +02:00
github-actions[bot]
7174c8ac39 Merge pull request #524 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.10.0
Bump markdownlint-cli2 from 0.9.2 to 0.10.0
2023-09-18 13:57:58 +00:00
dependabot[bot]
37c26de1ce Bump markdownlint-cli2 from 0.9.2 to 0.10.0
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.9.2 to 0.10.0.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.9.2...v0.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 13:51:02 +00:00
Mark Dumay
a56030eb53 Merge pull request #523 from gethinode/develop
Fix rendering of button title
2023-09-16 19:53:53 +02:00
mark
686a54b666 Standardize args documentation 2023-09-16 14:51:28 +02:00
mark
3f3c19aeaa Bump package version 2023-09-16 14:51:23 +02:00
Mark Dumay
0ff114b51d Merge branch 'main' into develop 2023-09-16 14:48:21 +02:00
mark
f8deb13215 Fix rendering of button title 2023-09-16 07:12:27 +02:00
github-actions[bot]
b4669878a6 Merge pull request #521 from gethinode/dependabot/npm_and_yarn/eslint-8.49.0
Bump eslint from 8.48.0 to 8.49.0
2023-09-11 13:39:10 +00:00
dependabot[bot]
68210961be Bump eslint from 8.48.0 to 8.49.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.48.0 to 8.49.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.48.0...v8.49.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-09-11 13:31:01 +00:00
github-actions[bot]
6af0d9b062 Merge pull request #522 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.1.0
Bump eslint-plugin-n from 16.0.2 to 16.1.0
2023-09-11 13:30:16 +00:00
dependabot[bot]
ad401a8747 Bump eslint-plugin-n from 16.0.2 to 16.1.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.0.2 to 16.1.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.0.2...16.1.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-09-11 13:20:31 +00:00
Mark Dumay
e0ca123aa2 Merge pull request #520 from gethinode/develop
Support sidebar links
2023-09-08 12:53:52 +02:00
Mark Dumay
ef3636befe Merge branch 'main' into develop 2023-09-08 10:31:13 +02:00
mark
5635f895df Fix #510 2023-09-08 10:30:23 +02:00
Mark Dumay
779f9b11a7 Merge pull request #519 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-08 06:24:08 +02:00
markdumay
b0b8e9d684 fix: update Hugo module dependencies 2023-09-08 03:15:41 +00:00
71 changed files with 1323 additions and 708 deletions

2
.github/release.yml vendored
View File

@@ -14,7 +14,7 @@ changelog:
labels:
- Semver-Minor
- enhancement
- title: 🐛 Bug fixes
- title: 🐛 Bug Fixes
labels:
- fix
- bugfix

View File

@@ -43,7 +43,7 @@ jobs:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
node-version: [16.x, 18.x, 20.x]
node-version: [18.x, 20.x]
runs-on: ${{ matrix.os }}

View File

@@ -14,6 +14,7 @@
@import "common/variables-dark.scss";
// Import Hinode theme styles
@import "components/abbr.scss";
@import "components/alert.scss";
@import "components/blockquote.scss";
@import "components/breadcrumb.scss";

View File

@@ -12,6 +12,7 @@
@import "common/variables-dark.scss";
// Import Hinode theme styles
@import "components/abbr.scss";
@import "components/alert.scss";
@import "components/blockquote.scss";
@import "components/breadcrumb.scss";

View File

@@ -15,6 +15,28 @@ a:active {
min-height: 100vh;
}
.fullscreen {
--navbar-offset: #{$navbar-offset};
min-height: calc(100vh - var(--navbar-offset));
}
.main-content {
margin-top: $navbar-offset;
}
$utilities: map-merge(
$utilities,
(
"cursor": (
property: margin-left margin-right,
class: mx,
responsive: true,
values: auto 0,
)
)
);
.tickmark li::marker {
content: "";
}

View File

@@ -6,6 +6,7 @@ $enable-important-utilities: true !default;
$navbar-toggler-focus-width: 0 !default;
$font-family-sans-serif: h.$theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$font-size-base: h.$font-size-base !default;
$headings-font-weight: 600 !default;
$font-weight-lighter: lighter !default;
$font-weight-light: 200 !default;

View File

@@ -7,6 +7,7 @@ $navbar-toggler-focus-width: 0 !default;
// scss-docs-start font
$font-family-sans-serif: $theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$font-size-base: $font-size-base !default;;
$headings-font-weight: 600 !default;
$font-weight-lighter: lighter !default;
$font-weight-light: 200 !default;

View File

@@ -0,0 +1,22 @@
@media (hover: none) {
abbr[title] {
position: relative;
text-decoration: underline dotted;
}
abbr[title]:hover::after,
abbr[title]:focus::after {
content: attr(title);
position: absolute;
left: 0;
bottom: -30px;
width: auto;
white-space: nowrap;
background-color: var(--bs-body-bg);
color: var(--bs-tooltip-color);
border-radius: 3px;
box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.4);
font-size: 14px;
padding: 3px 5px;
}
}

View File

@@ -15,6 +15,10 @@
width: 100%;
}
.card-icon {
color: $secondary;
}
.card-zoom::after .card-img-wrap img {
content: "";
position: absolute;

View File

@@ -108,7 +108,7 @@
background-color: $white if($enable-important-utilities, !important, null);
}
.emphasis, {
.emphasis {
background-color: $black if($enable-important-utilities, !important, null);
}

View File

@@ -75,6 +75,10 @@
.toc-button {
--bs-btn-color: var(--bs-body-color);
--bs-btn-border-color: var(--bs-body-color);
&:hover {
background-color: transparent;
}
}
#toc-collapse {

View File

@@ -30,3 +30,7 @@ h6 {
margin-top: $spacer;
scroll-margin-top: $navbar-offset;
}
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
scroll-margin-top: $navbar-offset;
}

View File

@@ -120,4 +120,6 @@ home = ["HTML", "RSS", "REDIR"]
path = "github.com/gethinode/mod-katex"
[[module.imports]]
path = "github.com/gethinode/mod-leaflet"
[[module.imports]]
path = "github.com/gethinode/mod-lottie"
# toml-docs-end modules

View File

@@ -16,9 +16,11 @@
# toml-docs-start modules
[modules]
core = ["bootstrap", "flexsearch", "fontawesome"]
optional = ["leaflet", "katex"]
optional = ["leaflet", "katex", "lottie"]
excludeSCSS = ["bootstrap"]
disableTemplate = ["katex"]
[modules.katex]
state = "defer"
[modules.fontawesome]
inline = true
debug = true
@@ -45,6 +47,11 @@
fullCover = false
centerHeadline = false
style = ""
[home.feature]
orientation = "horizontal"
color = "primary"
width = 4
align = "start"
# toml-docs-end home
# toml-docs-start navigation
@@ -52,9 +59,9 @@
anchor = true
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
offset = "3.8em"
offset = "5.5rem"
search = true
searchModal = false
breadcrumb = true
toc = true
sidebar = true
@@ -145,6 +152,7 @@
themeFont = "Inter"
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path
fontSizeBase = "1rem" # assumes the browser default, typically '16px'
# toml-docs-end font
# toml-docs-start build
purge = false

View File

@@ -1,13 +1,15 @@
---
title: Welcome to Hinode!
description: A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
thumbnail:
url: /img/sunrise.jpg
author: Harris Vo
authorURL: https://unsplash.com/@hoanvokim
origin: https://unsplash.com/photos/ZX6BPboJrYk
originName: Unsplash
actions:
get-started:
url: "https://gethinode.com/docs"
title: "Get started"
icon: "fas book-open"
---
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
{{< button href="https://gethinode.com/docs" icon="fas book-open" order="first" >}}Get Started{{< /button>}}

View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-activity" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2Z"/>
</svg>

After

Width:  |  Height:  |  Size: 367 B

View File

@@ -12,7 +12,7 @@
[modules]
core = ["bootstrap", "flexsearch", "fontawesome"]
optional = ["leaflet", "katex"]
optional = ["leaflet", "katex", "lottie"]
excludeSCSS = ["bootstrap"]
disableTemplate = ["katex"]
[modules.fontawesome]
@@ -36,14 +36,20 @@
fullCover = false
centerHeadline = false
style = ""
[home.feature]
orientation = "horizontal"
color = "primary"
width = 4
align = "start"
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
offset = "3.8em"
offset = "5.5rem"
search = true
searchModal = false
breadcrumb = true
toc = true
sidebar = true

View File

@@ -0,0 +1,44 @@
const autoprefixer = require('autoprefixer')({})
const cssnano = require('cssnano')({
preset: 'advanced'
})
const whitelister = require('purgecss-whitelister')
const purgecss = require('@fullhuman/postcss-purgecss')({
content: ['./exampleSite/hugo_stats.json'],
defaultExtractor: (content) => {
const els = JSON.parse(content).htmlElements
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
},
dynamicAttributes: ['data-bs-theme'],
safelist: [
...whitelister([
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_command.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/components/_syntax-dark.scss',
'./assets/scss/components/_syntax-light.scss',
'./assets/scss/components/_table.scss',
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_reboot.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_tooltip.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_transitions.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_utilities.scss'
])
]
})
module.exports = {
plugins: [
autoprefixer,
cssnano,
purgecss
]
}

View File

@@ -1,14 +1,15 @@
---
author: Mark Dumay
title: Welcome to Hinode!
description: A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
thumbnail:
url: /img/sunrise.jpg
author: Harris Vo
authorURL: https://unsplash.com/@hoanvokim
origin: https://unsplash.com/photos/ZX6BPboJrYk
originName: Unsplash
actions:
about:
url: "about"
title: "About"
---
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
{{< button href="about" >}}About{{< /button>}}

View File

@@ -241,13 +241,14 @@ Use the `file` shortcode to print and highlight the full content of a given inpu
## Icon
As an example, the following shortcodes show a square check, a brand logo, and a circle check.
As an example, the following shortcodes show a square check, a brand logo, a circle check, and a custom icon.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* fa square-check */>}}
{{</* fab linkedin */>}}
{{</* fas circle-check */>}}
{{</* icon custom activity */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,7 +1,7 @@
---
author: Mark Dumay
title: Components
date: 2023-07-21
date: 2023-09-23
description: Use shortcodes to add predefined components powered by external libraries.
tags: ["bootstrap", "shortcode"]
thumbnail:
@@ -10,11 +10,21 @@ thumbnail:
authorURL: https://unsplash.com/@ryoji__iwata
origin: Unsplash
originURL: https://unsplash.com/photos/5siQcvSxCP8
modules: ["katex", "leaflet"]
modules: ["katex", "leaflet", "lottie"]
---
Hinode provides several shortcodes on top of the common [Bootstrap elements]({{< relref "bootstrap-elements" >}}). Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details.
## Animation
As an example, the following shortcode shows an animation that plays on hover.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Formula (KaTeX)
As an example, the following markdown renders two formulas using the KaTeX typesetting library.

View File

@@ -1,14 +1,15 @@
---
author: Mark Dumay
title: Bienvenue sur Hinode!
description: Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
thumbnail:
url: /img/sunrise.jpg
author: Harris Vo
authorURL: https://unsplash.com/@hoanvokim
origin: https://unsplash.com/photos/ZX6BPboJrYk
originName: Unsplash
actions:
about:
url: "a-propos"
title: "À propos"
---
Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
{{< button href="a-propos" >}}À propos{{< /button>}}

View File

@@ -31,9 +31,4 @@ Les fonctionnalités supplémentaires incluent:
- 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" >}})
{.tickmark}
Hinode est inspiré par les thèmes suivants:
- [Blist](https://github.com/apvarun/blist-hugo-theme) - Un thème de blog pour Hugo basé sur Tailwind CSS.
- [Doks](https://github.com/h-enk/doks) - Un thème Hugo pour la création de sites de documentation sécurisés, rapides et optimisés pour le référencement (SEO), que vous pouvez facilement mettre à jour et personnaliser.
{.tickmark}

View File

@@ -11,11 +11,21 @@ thumbnail:
authorURL: https://unsplash.com/@ryoji__iwata
origin: Unsplash
originURL: https://unsplash.com/photos/5siQcvSxCP8
modules: ["katex", "leaflet"]
modules: ["katex", "leaflet", "lottie"]
---
Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{< relref "bootstrap-elements" >}}) courants. Consultez la [documentation officielle]({{< param "links.hinode_docs" >}}) pour plus de détails.
## Animation
À titre d'exemple, le shortcode suivant affiche une animation qui se déclenche au survol.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Formule (KaTeX)
À titre d'exemple, le markdown suivant affiche deux formules en utilisant la bibliothèque de composition typographique KaTeX.

View File

@@ -1,14 +1,15 @@
---
author: Mark Dumay
title: Welkom bij Hinode!
description: Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5.
thumbnail:
url: /img/sunrise.jpg
author: Harris Vo
authorURL: https://unsplash.com/@hoanvokim
origin: https://unsplash.com/photos/ZX6BPboJrYk
originName: Unsplash
actions:
about:
url: "over-mij"
title: "Over mij"
---
Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5.
{{< button href="over-mij" >}}Over mij{{< /button>}}

View File

@@ -33,8 +33,3 @@ Overige functies:
* 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" >}})
{.tickmark}
Hinode is geinspireerd door de volgende thema's:
* [Blist](https://github.com/apvarun/blist-hugo-theme) - een blog thema voor Hugo op basis van Tailwind CSS.
* [Doks](https://github.com/h-enk/doks) - een Hugo thema voor het bouwen van veilige, snelle, en SEO-geoptimaliseerde documentatiesites, die je eenvoudig kunt actualiseren en aanpassen.

View File

@@ -8,4 +8,4 @@
long: "Scalable Vector Graphics"
- id: ci/cd
long: "Continous Integration/Continuous Deployment"
long: "Continuous Integration/Continuous Deployment"

View File

@@ -10,6 +10,10 @@ github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2
github.com/gethinode/mod-flexsearch v1.3.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.0 h1:5e/NVRLyWzUZ9fO/fNsM5o+O7nw+xyln2rfEOtbgfWc=
github.com/gethinode/mod-flexsearch v1.4.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.1 h1:z+GKvhJ4v6BsZsWVZRgbO9WcmSZEVUkb3Q9a09yXtd8=
github.com/gethinode/mod-flexsearch v1.4.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.5.1 h1:9fYlnHgiEXckL0EoC0zlSNO7BWZf5yiOroSWT13Kphc=
github.com/gethinode/mod-flexsearch v1.5.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-fontawesome v1.2.4 h1:SqE3CQ+boaBIhrVh3MPu4nz0uoHPfEH5t60nNY1CfsI=
github.com/gethinode/mod-fontawesome v1.2.4/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.5 h1:RqkLRj6+s+gM4nKd0IwNMMDA8cRmxfp0fxkVH4FdAGU=
@@ -18,8 +22,30 @@ github.com/gethinode/mod-fontawesome v1.3.0 h1:oudeDBlAKu8vqYxumWuq5SG5F5itm33Ng
github.com/gethinode/mod-fontawesome v1.3.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.1 h1:EdnBuG2B+bi06OcYmcL1NfSxHpRMEGu8TXUqEEpVH4g=
github.com/gethinode/mod-fontawesome v1.3.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.2 h1:qLJSbAFR2T33BuBtC2Iulm9wZql3cy7AhXjxc2YGzBU=
github.com/gethinode/mod-fontawesome v1.3.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.4.0 h1:JfmVYwQl19jmZxgxY64yvGqJAAEiFkKf2dbZ5Iv08Qw=
github.com/gethinode/mod-fontawesome v1.4.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.5.0 h1:3mW5dnWauuF9wSWXNIY+PPgTNPlc/xQOQoG7XGic1Yk=
github.com/gethinode/mod-fontawesome v1.5.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-katex v1.0.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.2 h1:pIG4n3qLl/IVe7BEiwn+GL8r5lOCtF6FDxlcrPKdAXk=
github.com/gethinode/mod-katex v1.0.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.3 h1:fvlUWqcUQqv2zRNM2kfmJ6GhXA816Tl1nfVrUkmBStI=
github.com/gethinode/mod-katex v1.0.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp4ia4r4=
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-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=
github.com/gethinode/mod-lottie v1.0.1/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.2 h1:QM/PJqEl1UhNNoPx6y7pVtwev/mDxUyWNHLqDB76YzI=
github.com/gethinode/mod-lottie v1.0.2/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.1.0 h1:KnfOQ45xdv1tpsKCkF5OiE3QuT29ycppBfY6o+rWl/4=
github.com/gethinode/mod-lottie v1.1.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.2.0 h1:9S0Y4PlEO66dIvFxayatmDEf8WWxqbLNLi4z563i2gM=
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=

View File

@@ -65,10 +65,11 @@
"bg-body",
"bg-body-tertiary",
"bg-danger",
"bg-info",
"bg-opacity-10",
"bg-primary",
"bg-primary-subtle",
"bi",
"bi-activity",
"border",
"border-0",
"border-1",
@@ -96,6 +97,7 @@
"card-body-link",
"card-body-margin",
"card-emphasize",
"card-icon",
"card-img-top",
"card-img-wrap",
"card-text",
@@ -118,7 +120,6 @@
"col-6",
"col-8",
"col-9",
"col-lg-2",
"col-lg-4",
"col-lg-8",
"col-md-10",
@@ -134,12 +135,12 @@
"container",
"container-fluid",
"container-xxl",
"custom",
"d-block",
"d-flex",
"d-grid",
"d-inline",
"d-inline-flex",
"d-lg-block",
"d-md-block",
"d-md-flex",
"d-md-none",
@@ -164,6 +165,7 @@
"fa-2x",
"fa-2xs",
"fa-4x",
"fa-activity",
"fa-arrow-left",
"fa-arrow-right",
"fa-bootstrap",
@@ -215,8 +217,8 @@
"g-0",
"g-3",
"g-4",
"gap-1",
"gap-2",
"gap-3",
"gradient",
"h-100",
"h1",
@@ -245,11 +247,12 @@
"link-secondary",
"link-success",
"link-warning",
"lottie-animation",
"m-0",
"main-content",
"main-nav-toggler",
"mb-0",
"mb-3",
"mb-4",
"mb-5",
"mb-lg-5",
"me-3",
@@ -267,10 +270,12 @@
"multi-docs-collapse-15",
"multi-file-collapse-1",
"mx-auto",
"mx-md-0",
"mx-md-2",
"my-2",
"my-auto",
"my-md-0",
"my-md-auto",
"nav",
"nav-item",
"nav-link",
@@ -281,18 +286,17 @@
"navbar-collapse",
"navbar-contrast",
"navbar-expand-md",
"navbar-fixed-top",
"navbar-nav",
"navbar-nav-scroll",
"navbar-toggler",
"next",
"no-js",
"order-0",
"order-1",
"order-2",
"order-3",
"order-4",
"order-first",
"order-sm-2",
"order-sm-3",
"order-md-0",
"order-md-1",
"p-0",
"p-1",
"p-2",
@@ -300,7 +304,9 @@
"p-4",
"pb-2",
"pb-3",
"pb-4",
"pb-5",
"pb-md-0",
"pe-3",
"position-absolute",
"position-fixed",
@@ -310,13 +316,14 @@
"ps-1",
"ps-3",
"ps-xl-3",
"px-3",
"pt-4",
"pt-5",
"pt-md-3",
"px-4",
"px-xxl-0",
"py-1",
"py-2",
"py-3",
"py-5",
"py-md-1",
"ratio",
"ratio-16x9",
@@ -328,10 +335,10 @@
"row",
"row-cols-1",
"row-cols-2",
"row-cols-md-2",
"row-cols-md-3",
"row-cols-sm-2",
"row-cols-sm-3",
"row-cols-sm-4",
"search",
"search-input",
"search-suggestions",
@@ -363,10 +370,12 @@
"text-decoration-none",
"text-end",
"text-info",
"text-muted",
"text-nowrap",
"text-right",
"text-secondary",
"text-sm-start",
"text-start",
"text-uppercase",
"theme-icon",
"theme-icon-active",
@@ -420,8 +429,10 @@
"accordéon",
"alert",
"alerte",
"animation",
"badge",
"barre-de-navigation",
"blog",
"body-docs-collapse-15",
"body-file-collapse-1",
"bouton",
@@ -460,6 +471,7 @@
"leaflet-map-0",
"lien",
"link",
"lottie-animation-0",
"map",
"mark",
"nav",
@@ -475,6 +487,9 @@
"navbar-sample-collapse",
"navigation",
"notification",
"projecten",
"projects",
"projets",
"publication",
"release",
"réduire",

File diff suppressed because one or more lines are too long

9
go.mod
View File

@@ -4,8 +4,9 @@ go 1.19
require (
github.com/gethinode/mod-bootstrap v1.2.1 // indirect
github.com/gethinode/mod-flexsearch v1.4.0 // indirect
github.com/gethinode/mod-fontawesome v1.3.1 // indirect
github.com/gethinode/mod-katex v1.0.2 // indirect
github.com/gethinode/mod-leaflet v0.3.4 // indirect
github.com/gethinode/mod-flexsearch v1.5.1 // indirect
github.com/gethinode/mod-fontawesome v1.5.0 // indirect
github.com/gethinode/mod-katex v1.0.3 // indirect
github.com/gethinode/mod-leaflet v0.3.5 // indirect
github.com/gethinode/mod-lottie v1.3.0 // indirect
)

26
go.sum
View File

@@ -26,6 +26,10 @@ github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2
github.com/gethinode/mod-flexsearch v1.3.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.0 h1:5e/NVRLyWzUZ9fO/fNsM5o+O7nw+xyln2rfEOtbgfWc=
github.com/gethinode/mod-flexsearch v1.4.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.1 h1:z+GKvhJ4v6BsZsWVZRgbO9WcmSZEVUkb3Q9a09yXtd8=
github.com/gethinode/mod-flexsearch v1.4.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.5.1 h1:9fYlnHgiEXckL0EoC0zlSNO7BWZf5yiOroSWT13Kphc=
github.com/gethinode/mod-flexsearch v1.5.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
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=
@@ -46,12 +50,20 @@ github.com/gethinode/mod-fontawesome v1.3.0 h1:oudeDBlAKu8vqYxumWuq5SG5F5itm33Ng
github.com/gethinode/mod-fontawesome v1.3.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.1 h1:EdnBuG2B+bi06OcYmcL1NfSxHpRMEGu8TXUqEEpVH4g=
github.com/gethinode/mod-fontawesome v1.3.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.2 h1:qLJSbAFR2T33BuBtC2Iulm9wZql3cy7AhXjxc2YGzBU=
github.com/gethinode/mod-fontawesome v1.3.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.4.0 h1:JfmVYwQl19jmZxgxY64yvGqJAAEiFkKf2dbZ5Iv08Qw=
github.com/gethinode/mod-fontawesome v1.4.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.5.0 h1:3mW5dnWauuF9wSWXNIY+PPgTNPlc/xQOQoG7XGic1Yk=
github.com/gethinode/mod-fontawesome v1.5.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
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=
github.com/gethinode/mod-katex v1.0.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.2 h1:pIG4n3qLl/IVe7BEiwn+GL8r5lOCtF6FDxlcrPKdAXk=
github.com/gethinode/mod-katex v1.0.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.3 h1:fvlUWqcUQqv2zRNM2kfmJ6GhXA816Tl1nfVrUkmBStI=
github.com/gethinode/mod-katex v1.0.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
@@ -60,3 +72,17 @@ github.com/gethinode/mod-leaflet v0.3.3 h1:isnjja6VRFvVWBatYSouh46TXSJg2C4/E2BQT
github.com/gethinode/mod-leaflet v0.3.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp4ia4r4=
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-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=
github.com/gethinode/mod-lottie v1.0.1/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.2 h1:QM/PJqEl1UhNNoPx6y7pVtwev/mDxUyWNHLqDB76YzI=
github.com/gethinode/mod-lottie v1.0.2/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.1.0 h1:KnfOQ45xdv1tpsKCkF5OiE3QuT29ycppBfY6o+rWl/4=
github.com/gethinode/mod-lottie v1.1.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.2.0 h1:9S0Y4PlEO66dIvFxayatmDEf8WWxqbLNLi4z563i2gM=
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=

View File

@@ -8,7 +8,6 @@
"footer",
"form",
"head",
"hr",
"html",
"img",
"input",
@@ -32,7 +31,6 @@
"align-items-center",
"align-self-center",
"bg-body",
"bg-info",
"bg-opacity-10",
"bg-primary",
"bottom-0",
@@ -42,31 +40,23 @@
"btn-primary",
"col",
"col-12",
"col-lg-2",
"col-lg-4",
"col-6",
"col-md-2",
"col-md-4",
"col-md-8",
"col-md-auto",
"col-sm-12",
"col-sm-6",
"collapse",
"collapsed",
"container-fluid",
"container-xxl",
"d-block",
"d-flex",
"d-inline",
"d-lg-block",
"d-md-block",
"d-md-flex",
"d-md-none",
"d-none",
"d-sm-none",
"display-1",
"display-4",
"dropdown",
"dropdown-divider-bg",
"dropdown-item",
"dropdown-menu",
"dropdown-menu-end",
@@ -89,7 +79,6 @@
"fab",
"fas",
"feature",
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
@@ -97,18 +86,21 @@
"footer",
"form-control",
"fs-3",
"fs-5",
"fw-30",
"fw-bold",
"h-100",
"hstack",
"img-fluid",
"img-wrap",
"invisible",
"is-search",
"justify-content-center",
"justify-content-end",
"justify-content-start",
"link-bg-footer",
"link-secondary",
"main-content",
"main-nav-toggler",
"mb-4",
"me-auto",
"middle-bar",
"min-vh-100",
@@ -117,8 +109,9 @@
"mt-3",
"mt-5",
"mx-auto",
"mx-md-2",
"mx-md-0",
"my-auto",
"my-md-auto",
"nav-item",
"nav-link",
"navbar",
@@ -128,32 +121,32 @@
"navbar-nav",
"navbar-toggler",
"no-js",
"order-0",
"order-1",
"order-2",
"order-3",
"order-4",
"order-first",
"order-sm-2",
"order-sm-3",
"order-md-0",
"order-md-1",
"p-0",
"p-2",
"p-3",
"p-4",
"pb-5",
"pe-1",
"pb-4",
"pb-md-0",
"position-fixed",
"position-relative",
"px-3",
"ps-1",
"pt-4",
"pt-5",
"pt-md-3",
"px-4",
"px-xxl-0",
"py-2",
"py-5",
"py-md-1",
"py-3",
"rounded",
"row",
"row-cols-1",
"row-cols-2",
"row-cols-md-2",
"row-cols-sm-2",
"row-cols-sm-3",
"row-cols-sm-4",
"search",
"search-input",
"search-suggestions",
@@ -162,8 +155,10 @@
"switch-mode-collapsed",
"text-center",
"text-decoration-none",
"text-muted",
"text-secondary",
"text-sm-start",
"text-start",
"theme-icon",
"theme-icon-active",
"toast",
@@ -172,7 +167,6 @@
"toast-header",
"toggler-icon",
"top-bar",
"vr",
"w-100"
],
"ids": [

View File

@@ -25,6 +25,8 @@
translation: "Articles"
- id: more
translation: "More {{ . }}"
- id: emptyList
translation: "No articles found"
# Sharing
- id: shareLink
@@ -39,6 +41,8 @@
translation: "Link"
- id: code
translation: "Code"
- id: download
translation: "Download article"
# Pagination
- id: paginationNav

View File

@@ -23,6 +23,8 @@
translation: "Artikelen"
- id: more
translation: "Meer {{ . }}"
- id: emptyList
translation: "Geen artikelen gevonden"
# Sharing
- id: shareLink
@@ -37,6 +39,8 @@
translation: "Link"
- id: code
translation: "Code"
- id: download
translation: "Download artikel"
# Pagination
- id: paginationNav

View File

@@ -1,8 +1,30 @@
{{- $section := .Section }}
{{- define "partials/optional-scripts.html" -}}
{{- $modules := site.Params.modules.optional | intersect .Params.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 -}}
{{ with partial "utilities/GetMenu" (dict "page" . "version" $version) }}{{ $.Scratch.Set "sidebar" . }}{{ end }}
{{- /* Validate if current version is latest */ -}}
{{- if and site.Params.docs.checkVersion $version -}}
{{- if ne $version "latest" -}}
{{- if partial "utilities/IsOlder" (dict "current" $version) -}}
@@ -12,10 +34,13 @@
{{- end -}}
{{- end -}}
{{- /* Validate module configuration */ -}}
{{- if and .IsPage (not (in .Site.Params.modules.core "bootstrap")) -}}
{{- errorf "Bootstrap is a required module, please add it to 'modules.core' in your site parameters" -}}
{{- end -}}
{{- $section := .Section }}
<!doctype html>
<html lang="{{ .Site.Language.Lang }}" class="no-js">
<head>
@@ -24,77 +49,25 @@
<body>
{{- partial "footer/scripts.html" (dict "filename" "js/critical.bundle.js" "match" "js/critical/**.js" "header" true "page" .) -}}
<div class="d-flex flex-column min-vh-100{{ if and .IsHome .Site.Params.home.style }} {{ .Site.Params.home.style }}{{ end }}">
<div class="{{ if .Site.Params.navigation.fixed }}mb-4{{ end }}">
{{- partial "assets/navbar.html" (dict
"page" .
"fixed" (string .Site.Params.navigation.fixed)
"color" (.Site.Params.navigation.color)
"style" (default "light" .Site.Params.navigation.style)
"size" (default "md" .Site.Params.navigation.size))
-}}
</div>
{{ if .IsHome -}}
{{ if .Site.Params.home.fullCover -}}
<div class="d-flex flex-fill {{ if .Site.Params.navigation.fixed }}mt-5{{ end }}">
{{ block "featured" . }}{{ end -}}
</div>
{{ else -}}
<div class="{{ if .Site.Params.navigation.fixed }}mt-5{{ end }}">
{{ block "featured" . }}{{ end -}}
</div>
<div class="d-flex flex-column flex-fill">
{{ block "main" . }}{{ end -}}
</div>
{{ if not .Site.Params.main.footerBelowFold }}
<div class="">
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}
</div>
{{ end }}
{{ end -}}
{{ else -}}
<div class="d-flex flex-column flex-fill {{ if .Site.Params.navigation.fixed }}mt-5{{ end }}">
{{ block "main" . }}{{ end -}}
</div>
{{ if not .Site.Params.main.footerBelowFold }}
<div class="">
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}
</div>
{{ end }}
{{ end -}}
</div>
<div class="d-flex flex-column min-vh-100{{ if .IsHome }}{{ with .Site.Params.home.style }} {{ . }}{{ end }}{{ end }}">
{{- partial "assets/navbar.html" (dict
"page" .
"fixed" (string site.Params.navigation.fixed)
"color" site.Params.navigation.color
"style" (default "light" site.Params.navigation.style)
"size" (default "md" site.Params.navigation.size))
-}}
{{ if and .IsHome .Site.Params.home.fullCover -}}
<div class="">
<div class="flex-fill main-content{{ if .Site.Params.main.footerBelowFold }} fullscreen{{ end }} pb-4">
{{ block "main" . }}{{ end -}}
</div>
<div class="">
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}
</div>
{{ else if .Site.Params.main.footerBelowFold }}
<div class="">
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}
</div>
{{ end }}
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}
</div>
{{- partial "footer/toast-container.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
{{- $modules := site.Params.modules.optional | intersect .Params.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 -}}
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "page" .) }}
{{- end -}}
{{- partial "partials/optional-scripts.html" . -}}
</body>
</html>

View File

@@ -1,13 +1,135 @@
{{- define "main" -}}
{{- $content := partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) -}}
{{- partial "assets/section-list.html" (dict
"page" .
"section" .Type
"home" false
"nested" .Params.Nested
"title" (or .Title .Type)
"description" .Description
"content" $content
"paginate" true)
-}}
{{- end -}}
{{- $page := . -}}
{{- $orientation := site.Params.list.feature.orientation | default "horizontal" -}}
{{- $width := site.Params.list.feature.width | default 6 -}}
{{- $justify := site.Params.list.feature.justify | default "center" -}}
{{- $align := site.Params.list.feature.align | default "center" -}}
{{- $sections := slice -}}
{{- $sections = $sections | append $page.Type -}}
{{ with $page.Params.sections }}
{{ $sections = $sections | append . }}
{{ end }}
{{- $actions := $page.Params.actions -}}
{{- $headings := slice -}}
{{- $layout := $page.Params.layout -}}
{{ if $page.IsHome }}
{{- $orientation = or site.Params.home.feature.orientation $orientation -}}
{{- $width = or site.Params.home.feature.width $width -}}
{{- $justify = or site.Params.home.feature.justify $justify -}}
{{- $align = or site.Params.home.feature.align $align -}}
{{- $actions = (or $actions site.Params.featured.actions) -}}
{{- if not $page.Params.sections -}}
{{- with site.Params.home.sections }}
{{ $sections = $sections | append . }}
{{ else }}
{{ range $section := site.Sections }}
{{ $sections = $sections | append $section.Type }}
{{ end }}
{{ end }}
{{- end -}}
{{ else }}
{{ $headings = $headings | append $page.Title }}
{{- range .Fragments.Headings }}
{{- range .Headings }}
{{- $headings = $headings | append .Title -}}
{{- end -}}
{{- end -}}
{{ end }}
{{/* Generate section content first to determine headings */}}
{{ $body := "" }}
{{- range $index, $section := $sections -}}
{{- $sectionPage := site.GetPage "section" $section -}}
{{- $sectionURL := $sectionPage.RelPermalink -}}
{{- $title := or $sectionPage.Title $sectionPage.Type -}}
{{- with (index site.Params.sections $section) -}}
{{- with index . "title" }}{{ $title = or . $title }}{{ end -}}
{{- end -}}
{{- $thumbnail := (or (and (reflect.IsMap $sectionPage.Params.Thumbnail) $sectionPage.Params.Thumbnail.url) $sectionPage.Params.Thumbnail) -}}
{{- $icon := $sectionPage.Params.Icon -}}
{{- $content := $sectionPage.Content -}}
{{- $sectionTitle := strings.FirstUpper $sectionPage.Type -}}
{{- $moreTitle := "" -}}
{{- with (index site.Params.sections $section) -}}
{{- with index . "reference" }}{{ $moreTitle = . }}{{ end -}}
{{- end -}}
{{- $moreTitle = or $moreTitle (printf (T "more" (pluralize $sectionTitle))) -}}
{{- $sectionContent := trim (partial "assets/section-list.html" (dict
"page" $page
"section" $section
"home" $page.IsHome
"simple" (eq (len $sections) 1)
"nested" (and $page.IsHome (eq $section $page.Section))
"thumbnail" $thumbnail
"icon" $icon
"content" $content
"moreTitle" $moreTitle
"sectionURL" $sectionURL)) " \r\n"
-}}
{{ if $sectionContent }}
{{- if not $page.IsHome }}{{ $headings = $headings | append $title }}{{ end -}}
{{- $body = printf "%s%s" $body $sectionContent }}
{{ end }}
{{- end -}}
{{/* Display featured section */}}
{{- if or (eq $layout "featured") $page.IsHome -}}
{{- partial "list/featured.html" (dict
"page" .
"headings" $headings
"actions" $actions
"orientation" $orientation
"width" $width
"justify" $justify
"align" $align)
-}}
{{- end -}}
{{/* Display main content */}}
<div class="container-xxl px-4 px-xxl-0">
{{- if ne $layout "featured" -}}
{{ if and (not $page.IsHome) site.Params.navigation.breadcrumb }}
<div>{{ partial "assets/breadcrumb.html" $page }}</div>
{{ end -}}
{{- end -}}
<div class="row row-cols-1 row-cols-sm-2">
<div class="col col-sm-12 col-md-8">
{{ if not $page.IsHome }}
{{ with $page.Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ end }}
{{ if ($page.Params.menu) }}
{{- partial "assets/section-menu.html" $page -}}
{{- end -}}
{{- $content := partial "utilities/ProcessContent" (dict "page" $page "raw" $page.RawContent) -}}
{{ $content | safeHTML }}
{{ if and (and (and $sections (eq (len $sections) 1)) (not $body)) (not $content) }}
<p class="pt-4">{{- T "emptyList" }}.</p>
{{ end }}
</div>
{{ with $page.Params.contact }}
{{- $contact := site.GetPage . }}
{{- if not $contact }}
{{- errorf "Error processing content file '%s' - Cannot find contact: %s" $page.File . -}}
{{- else -}}
{{ $color := site.Params.contact.color | default "primary" }}
{{ $style := site.Params.contact.style | default "shadow" }}
<div class="col col-md-4 d-none d-md-block pt-5">
{{- partial "assets/card.html" (dict "path" $page.Params.contact "color" $color "header" "none" "footer" "none" "ratio" "1x1" "class" (printf "w-75 mx-auto mt-4 %s" $style)) -}}
</div>
<div class="col col-sm-12 d-md-none pt-5">
{{- partial "assets/card.html" (dict "path" $page.Params.contact "color" $color "header" "none" "footer" "none" "orientation" "horizontal" "class" $style) -}}
</div>
{{- end }}
{{ end }}
</div>
</div>
{{/* Display generated sections */}}
{{ $body | safeHTML }}
{{- end -}}

View File

@@ -18,7 +18,7 @@
{{- if gt (len (.GetTerms "tags")) 0 -}}
<div class="mt-3">
<div class="d-none-dark">
<div class="hstack gap-3">
<div class="hstack gap-1">
{{ range (.GetTerms "tags") -}}
{{- $url := (path.Join .Page.RelPermalink) | relLangURL -}}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "light" "size" "sm") }}
@@ -27,7 +27,7 @@
</div>
<div class="d-none-light">
<div class="hstack gap-3">
<div class="hstack gap-1">
{{ range (.GetTerms "tags") -}}
{{- $url := (path.Join .Page.RelPermalink) | relLangURL -}}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "primary" "size" "sm" "outline" "true") }}
@@ -99,7 +99,7 @@
{{ $next := . -}}
{{ with .OutputFormats.Get "html" -}}
<a class="next" href="{{ $next.RelPermalink }}">
{{- partial "assets/icon.html" (dict "icon" "fas arrow-left") }}&nbsp;{{ $next.Title }}</a>
{{- partial "assets/icon.html" (dict "icon" "fas arrow-left") }}&nbsp;{{ $next.LinkTitle }}</a>
{{- end -}}
{{ end -}}
</div>
@@ -107,7 +107,7 @@
{{ with .PrevInSection -}}
{{ $prev := . -}}
{{ with .OutputFormats.Get "html" -}}
<a class="previous" href="{{ $prev.RelPermalink }}">{{ $prev.Title }}&nbsp;{{- partial "assets/icon.html" (dict "icon" "fas arrow-right") }}</a>
<a class="previous" href="{{ $prev.RelPermalink }}">{{ $prev.LinkTitle }}&nbsp;{{- partial "assets/icon.html" (dict "icon" "fas arrow-right") }}</a>
{{- end -}}
{{ end -}}
</div>
@@ -120,6 +120,11 @@
{{ end -}}
{{ define "main" -}}
{{- $download := .Params.download -}}
{{- if and $download (not (fileExists (path.Join "static" $download))) -}}
{{- errorf "Cannot find download file for page '%s': %s" .File.Path $download -}}
{{- end -}}
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{- $sidebar := .Site.Params.navigation.sidebar | default true -}}
@@ -134,7 +139,7 @@
</div>
</div>
<div class="container-xxl px-3 px-xxl-0">
<div class="container-xxl p-4 px-xxl-0">
<div class="row row-cols-md-2 row-cols-lg-3">
<div class="col col-md-3 col-lg-2 d-none pt-5 d-md-block sidebar-overflow sticky-top">
{{ partial "assets/sidebar" (dict "page" . "menu" $menu "version" $version) }}
@@ -146,12 +151,12 @@
</div>
<div class="col col-lg-2 d-none d-lg-block pt-5">
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
{{ partial "assets/toc.html" . -}}
{{ partial "assets/toc.html" (dict "page" . "download" $download) -}}
{{ end -}}
</div>
</div>
</div>
{{ else }}
{{ else if $sidebar }}
<div class="container-xxl px-3 px-xxl-0">
<div class="row row-cols-1 row-cols-sm-3">
<div class="col col-md-2 d-none d-md-block"></div>
@@ -162,7 +167,22 @@
</div>
<div class="col col-md-2 d-none d-md-block">
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
{{ partial "assets/toc.html" . -}}
{{ partial "assets/toc.html" (dict "page" . "download" $download) -}}
{{ end -}}
</div>
</div>
</div>
{{ else }}
<div class="container-xxl px-3 px-xxl-0">
<div class="row row-cols-1 row-cols-sm-2">
<div class="col col-sm-12 col-md-9">
{{ partial "partials/header.html" . }}
{{ partial "partials/body.html" . }}
{{ partial "partials/footer.html" . }}
</div>
<div class="col col-md-3 d-none d-md-block">
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
{{ partial "assets/toc.html" (dict "page" . "download" $download) -}}
{{ end -}}
</div>
</div>

View File

@@ -1,40 +0,0 @@
{{- define "featured" -}}
{{- partial "home/featured.html" . -}}
{{- end -}}
{{- define "main" -}}
{{- $page := . -}}
{{- $sections := site.Params.home.sections -}}
{{- if not $sections -}}
{{ range $section := site.Sections }}
{{ $sections = $sections | append $section.Type }}
{{ end }}
{{- end -}}
{{- range $index, $section := $sections -}}
{{- $sectionPage := site.GetPage "section" $section -}}
{{- $sectionURL := $sectionPage.RelPermalink -}}
{{- $title := or $sectionPage.Title $sectionPage.Type -}}
{{- $thumbnail := (or (and (reflect.IsMap $sectionPage.Params.Thumbnail) $sectionPage.Params.Thumbnail.url) $sectionPage.Params.Thumbnail) -}}
{{- $icon := $sectionPage.Params.Icon -}}
{{- $content := $sectionPage.Content -}}
{{- $sectionTitle := strings.FirstUpper $sectionPage.Type -}}
{{- $moreTitle := "" -}}
{{- with (index site.Params.sections $section) -}}
{{- with index . "reference" }}{{ $moreTitle = . }}{{ end -}}
{{- end -}}
{{- $moreTitle = or $moreTitle (printf (T "more" (pluralize $sectionTitle))) -}}
{{- partial "assets/section-list.html" (dict
"page" $page
"section" $section
"home" true
"nested" true
"thumbnail" $thumbnail
"icon" $icon
"content" $content
"moreTitle" $moreTitle
"sectionURL" $sectionURL)
-}}
{{- end -}}
{{- end -}}

View File

@@ -1,7 +1,7 @@
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{{- range $index, $item := .Page.Ancestors.Reverse -}}
{{- $title := .Title -}}
{{- $title := .LinkTitle -}}
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
{{- $address := or .RelPermalink (.Params.Redirect | relLangURL) -}}
{{ if $address }}
@@ -10,6 +10,6 @@
<li class="breadcrumb-item">{{ $title }}</li>
{{ end }}
{{- end -}}
<li class="breadcrumb-item active" aria-current="page">{{ .Page.Title }}</li>
<li class="breadcrumb-item active" aria-current="page">{{ .Page.LinkTitle }}</li>
</ol>
</nav>

View File

@@ -28,6 +28,7 @@
"tab" Optional flag to indicate if an external link should open in a new tab, defaults to setting
"main.externalLinks.tab" in the site's parameters.
"attributes" Optional dictionary of key-value pairs added as custom attributes to the button element ('<a>').
"spacing" Optional flag to add spacing to the inline button, defaults to "true".
-->
{{- $title := trim .title " \r\n" -}}
@@ -126,6 +127,8 @@
{{- $target := "" -}}
{{- $rel := "" -}}
{{- $spacing := .spacing | default true -}}
{{- if $isExternal -}}
{{- if $tab -}}
{{- $target = "_blank" -}}
@@ -140,7 +143,7 @@
{{- $attributes := .attributes -}}
<a aria-label="{{ or $label $title }}" {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end -}}
<a aria-label="{{ (or $label $title) | safeHTML }}" {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end -}}
{{- with $id }} id="{{ . }}"{{ end -}}
{{- with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end -}}
{{- with $toast }} data-toast-target="{{ $toast }}"{{ end -}}
@@ -157,7 +160,7 @@
{{- end -}}
>
<div class="d-flex justify-content-{{ $justify }}">
<div class="my-auto">{{ $title }}</div>
<div class="my-auto">{{ $title | safeHTML }}</div>
{{- with $icon }}<div class="align-self-center{{ if $title }}{{ if eq $order "first" }} order-first pe-1{{ else }} ps-1{{ end }}{{ end }}">{{ partial "assets/icon.html" (dict "icon" $icon) }}</div>{{ end }}
</div>
@@ -167,4 +170,4 @@
{{ with $label }}<span class="visually-hidden">{{ . }}</span>{{ end }}
</span>
{{- end -}}
</a>
</a>{{ if $spacing }}&nbsp;{{- end }}

View File

@@ -31,6 +31,8 @@
"footer" Optional footer components of the card, displayed in small caps. Supported values are "full",
"publication", "tags", and "none" (default).
"orientation" Optional placecement of the thumbnail, either "stacked" (default), "horizontal", or "none".
"ratio" Optional ratio of the thumbnail image, defaults to "16x9" (stacked orientation) or "1x1" (horizontal
orientation).
-->
{{- $page := .page -}}
@@ -139,7 +141,8 @@
{{- $header := .header -}}
{{- $footer := .footer -}}
{{- $orientation := .orientation -}}
{{- $wrapper := .wrapper | default "p-4 px-xxl-0" -}}
{{- $ratio := .ratio -}}
{{- $wrapper := .wrapper | default "p-0" -}}
{{- if and (eq $cols 1) (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
@@ -153,6 +156,7 @@
"header" $header
"footer" $footer
"orientation" $orientation
"ratio" $ratio
) -}}
{{- $params = merge $params $element }}

View File

@@ -18,6 +18,8 @@
"publication", "tags", and "none" (default).
"description" Optional description of the card.
"thumbnail" Optional thumbnail image url, displayed on top or the left of the card.
"ratio" Optional ratio of the thumbnail image, defaults to "16x9" (stacked orientation) or "1x1" (horizontal
orientation).
"alt" Optional alternate text for the thumbnail, uses "title" by default.
"icon" Optional Font Awesome icon, displayed on top or the left of the card.
"orientation" Optional placecement of the thumbnail or icon, either "stacked" (default), "horizontal",
@@ -88,6 +90,7 @@
{{- $href := .href -}}
{{- $description := .description -}}
{{- $thumbnail := .thumbnail -}}
{{- $ratio := .ratio -}}
{{- $icon := .icon -}}
{{- $color := "" -}}
@@ -149,10 +152,10 @@
<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) -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "1x1") "outerClass" "h-100 card-img-wrap" "innerClass" "rounded-start card-img-h100" "title" $title) -}}
{{- else if $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 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>
{{- end -}}
</div>
@@ -170,10 +173,10 @@
{{- else -}}
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "outerClass" "card-img-wrap" "innerClass" "card-img-top" "title" (or $alt $title)) -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "16x9") "outerClass" "card-img-wrap" "innerClass" "card-img-top" "title" (or $alt $title)) -}}
{{- else if $icon -}}
<div class="p-{{ $padding }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x text-secondary" $icon)) -}}
<div class="card-icon p-{{ $padding }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x" $icon)) -}}
</div>
{{- end -}}
<div class="card-body d-flex flex-column p-{{ $padding }}">

View File

@@ -131,7 +131,7 @@
{{- $dims := slice -}}
{{- with $img -}}
{{- if eq $ratio "4x3" -}}
{{- $dims = slice "576x432" "768x576" "992x744" "1200x900" "1400x1050" -}}
{{- $dims = slice "576x432" "768x576" "992x744" "1200x900" "1400x1050" -}}
{{- else if eq $ratio "3x2" -}}
{{- $dims = slice "576x384" "768x512" "992x661" "1200x800" "1400x933" -}}
{{- else if eq $ratio "1x1" -}}
@@ -224,12 +224,24 @@
{{ end }}
<div class="{{ if not $caption }}{{ $outerClass }}{{ end }}">
{{- if not $anchor -}}
{{- $input := (split (path.BaseName $fallbackURL) "-") | collections.Reverse -}}
{{- $width := "" -}}
{{- $height := "" -}}
{{- if gt ($input | len) 1 -}}
{{- $dim := (split (index $input 0) "x") -}}
{{- if eq ($dim | len) 2 -}}
{{- $width = index $dim 0 -}}
{{- $height = index $dim 1 -}}
{{- end -}}
{{- end }}
<img class="img-fluid {{ $innerClass }}"
{{ with $imgset -}}
srcset="{{ . }}"
sizes="100vw"
{{- end }}
src="{{ $fallbackURL }}"
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }}
alt="{{ $title }}">
{{- else }}
<svg class="{{ $innerClass }}">

View File

@@ -9,6 +9,7 @@
"class" Optional class attribute of the tab group, e.g. “nav-fill”.
"pane" Optional style of the panes, either "none" (default) or "persona".
"width" Optional responsive width of the tab group, either "50" or "100" (default).
"wrap" Optional flag to enable word wrapping of tab titles, defaults to false.
In addition, the following arguments are passed to the individual tabs.
"class" Optional class attribute of the tab element, e.g. “w-50”.
@@ -54,6 +55,7 @@
{{- $title := .title -}}
{{- $class := .class -}}
{{- $color := .color -}}
{{- $wrap := .wrap | default false -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ $verticalParam := "false" -}}
@@ -81,7 +83,7 @@
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
{{- range $index, $item := $list -}}
{{ $show := eq $index 0}}
<button class="nav-link text-nowrap{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
<button class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
{{ $item.Title }}
</button>

View File

@@ -25,25 +25,25 @@
<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-label="{{ T "colorMode" }}" aria-expanded="false" id="{{ $id }}-theme{{ if $collapsed }}-collapsed{{ end }}">
<span class="theme-icon-active">{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw") }}</span>{{ if $collapsed }} {{ T "colorMode" }} {{ end }}
<span class="theme-icon-active">{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw") }}</span>{{ if $collapsed }}&nbsp;{{ T "colorMode" }} {{ end }}
<span class="d-md-none"></span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="{{ $id }}-theme{{ if $collapsed }}-collapsed{{ end }}">
<li>
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" data-bs-theme-value="light" href="#!">
<span class="theme-icon">{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw") }}</span>&nbsp;
<span class="theme-icon">{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw" "spacing" false) }}</span>&nbsp;
{{ T "colorLight" }}
</a>
</li>
<li>
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" data-bs-theme-value="dark" href="#!">
<span class="theme-icon">{{- partial "assets/icon.html" (dict "icon" "fas moon fa-fw") }}</span>&nbsp;
<span class="theme-icon">{{- partial "assets/icon.html" (dict "icon" "fas moon fa-fw" "spacing" false) }}</span>&nbsp;
{{ T "colorDark" }}
</a>
</li>
<li>
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" data-bs-theme-value="auto" href="#!">
<span class="theme-icon">{{- partial "assets/icon.html" (dict "icon" "fas circle-half-stroke fa-fw" ) }}</span>&nbsp;
<span class="theme-icon">{{- partial "assets/icon.html" (dict "icon" "fas circle-half-stroke fa-fw" "spacing" false) }}</span>&nbsp;
{{ T "colorAuto" }}
</a>
</li>
@@ -154,6 +154,8 @@
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'search': %s" $searchParam -}}
{{- end -}}
{{- end -}}
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
{{- $enableDarkMode := default false site.Params.main.enableDarkMode -}}
{{- with .mode -}}
@@ -221,7 +223,7 @@
<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 navbar-expand-{{ $size }}{{ if $contrast }} navbar-contrast{{ end }}{{ with $color }} bg-{{ . }}{{ end }} p-4"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
<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 }}>
<div class="container-xxl p-0">
<!-- Insert sidebar toggler when applicable -->
<div class="d-flex">
@@ -243,7 +245,8 @@
<img src="{{if $absoluteURL }}{{ absURL $logoLight }}{{ else }}{{ $logoLight }}{{ end }}" class="d-none-dark" alt="{{ $title }} logo" height="30">
<img src="{{if $absoluteURL }}{{ absURL $logoDark }}{{ else }}{{ $logoDark }}{{ end }}" class="d-none-light" alt="{{ $title }} logo" height="30">
{{- else if $logo -}}
<img src="{{if $absoluteURL }}{{ absURL $logo }}{{ else }}{{ $logo }}{{ end }}" alt="{{ $title }} logo" height="30">
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logo "height" 30) }}
<img src="{{if $absoluteURL }}{{ absURL $logo }}{{ else }}{{ $logo }}{{ end }}" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
{{- else -}}
<span class="fw-bold">{{ $title }}</span>
{{- end -}}
@@ -261,7 +264,7 @@
<div class="navbar-collapse collapse" id="{{ $id }}-collapse">
<!-- Insert search input -->
{{- if $search }}{{ partial "assets/search-input.html" -}}{{ end -}}
{{- if and $search (not $searchModal) }}{{ partial "assets/search-input.html" }}{{ end -}}
<!-- Render top-menu items (maximum depth of 2) -->
<ul class="navbar-nav ms-auto">
@@ -286,15 +289,21 @@
<li><hr class="dropdown-divider-bg"></li>
{{- end -}}
<!-- Insert version switcher -->
{{- if $enableVersions -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" true "id" .id) -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" false "id" .id) -}}
{{- end -}}
<!-- Insert language switcher if applicable -->
{{- if $enableLanguage -}}
{{- $currentLang := $page.Language.Lang -}}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw") }} {{ T "languageSwitcherLabel" }}
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}&nbsp;{{ T "languageSwitcherLabel" }}&nbsp;
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw") }}
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" true) }}
</a>
<ul class="dropdown-menu dropdown-menu-end ">
{{- if $page.IsTranslated -}}
@@ -310,25 +319,49 @@
</li>
{{- end -}}
<!-- Insert version switcher -->
{{- if $enableVersions -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" true "id" .id) -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" false "id" .id) -}}
{{- end -}}
<!-- Insert color mode switcher -->
{{- if $enableDarkMode -}}
<!-- Insert divider -->
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" true "id" .id) -}}
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" false "id" .id) -}}
{{- end -}}
<!-- Insert modal search button -->
{{- if $searchModal }}
<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 "id" .id) -}}
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" false "id" .id) -}}
{{- end -}}
<a class="nav-link d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }} {{ T "ui_search" }}
</a>
<a class="nav-link d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }}
</a>
{{ end -}}
</ul>
</div>
</div>
</nav>
</div>
{{/* Insert modal search element */}}
{{- if $searchModal }}
<div class="modal fade search-modal" tabindex="-1" id="search-modal" aria-labelledby="searchModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-lg">
<div class="modal-content h-50">
<div class="modal-header">
<div class="w-100">
<form class="search position-relative me-auto">
<input id="search-input-modal" class="search-input form-control is-search" tabindex="1" type="search" placeholder="{{ T "ui_search" }}..." aria-label="{{ T "ui_search" }}" autocomplete="off">
</form>
</div>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body p-2">
<div class="search-suggestions bg-body" data-no-results="{{ T "ui_no_results" }}"></div>
</div>
</div>
</div>
</div>
{{ end -}}

View File

@@ -20,27 +20,6 @@
{{- end -}}
{{- end -}}
<div class="container-fluid p-4 px-xxl-0">
{{ with $title }}<p class="display-4 mt-3{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ with $description }} <p class="lead mb-5">{{ . }}</p>{{ end }}
{{- if $content -}}
<div class="row row-cols-1 row-cols-lg-3 pt-5">
<div class="col col-lg-3 d-none d-lg-block"></div>
<div class="col col-sm-12 col-lg-6 text-center">
<div class="row row-cols-1{{ if ne $sectionHeader "justify-content-center" }} row-cols-sm-2{{ end }} row-gap-5 p-0 align-items-center flex-fill">
{{- if eq $sectionHeader "justify-content-center" -}}
<div class="col p-0 w-50 mx-auto pb-5">{{ partial "partials/section-header-img.html" (dict "title" $title "thumbnail" $thumbnail "icon" $icon )}}</div>
<div class="col fs-md-5 fs-6">{{ $content }}</div>
{{- else if eq $sectionHeader "justify-content-end" -}}
<div class="col p-0">{{ partial "partials/section-header-img.html" (dict "title" $title "thumbnail" $thumbnail "icon" $icon )}}</div>
<div class="col fs-md-5 fs-6 text-sm-start">{{ $content }}</div>
{{- else -}}
<div class="col fs-md-5 fs-6 text-sm-start">{{ $content }}</div>
<div class="col p-0">{{ partial "partials/section-header-img.html" (dict "title" $title "thumbnail" $thumbnail "icon" $icon )}}</div>
{{- end -}}
</div>
</div>
<div class="col col-lg-3 d-none d-lg-block"></div>
</div>
{{- end -}}
</div>
{{ with $title }}<p id="{{ anchorize . }}" class="display-4 pt-4{{ 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

@@ -14,7 +14,9 @@
{{- $moreTitle := .moreTitle -}}
{{- $sectionURL := .sectionURL -}}
{{- $nested := .nested | default true -}}
{{- $simple := .simple | default false -}}
{{- $paginate := true -}}
{{- $kind := .kind | default "regular" -}}
{{- $sort := "date" -}}
{{- $order := "desc" -}}
{{- $separator := false -}}
@@ -32,6 +34,8 @@
{{- $type := "pills" -}}
{{- $vertical := "false" -}}
{{- $width := 100 -}}
{{- $ratio := "" -}}
{{- $wrap := false -}}
{{- with (index site.Params.sections $section) -}}
{{- with index . "title" }}{{ $title = or $.title . }}{{ end -}}
@@ -54,13 +58,25 @@
{{- with index . "type" }}{{ $type = . }}{{ end -}}
{{- with index . "vertical" }}{{ $vertical = . }}{{ end -}}
{{- with index . "width" }}{{ $width = . }}{{ end -}}
{{- with index . "kind" }}{{ $kind = . }}{{ end -}}
{{- with index . "ratio" }}{{ $ratio = . }}{{ end -}}
{{- with index . "wrap" }}{{ $wrap = . }}{{ end -}}
{{- end -}}
{{ if ne (printf "%T" $nested) "bool" }}
{{ errorf "partial [assets/section-list.html] - Invalid value for param 'nested'"}}
{{ end }}
{{ $list := "" }}
{{ if $nested }}
{{ $list := slice }}
{{ if eq $kind "taxonomy" }}
{{ $filter := page.Params.filter }}
{{ with $filter }}
{{ with index site.Taxonomies $section $filter }}
{{ $list = .Pages }}
{{ end }}
{{ else }}
{{ $list = where site.Pages (printf ".Params.%s" $section) "!=" nil }}
{{ end }}
{{ else if $nested }}
{{ $list = where site.RegularPages "Type" "in" $section }}
{{ else if $home }}
{{ $sectionPage := site.GetPage "section" $section }}
@@ -88,12 +104,18 @@
{{- $max = int (math.Min $homepage $max) -}}
{{ end -}}
{{ if $simple }}
{{ $title = "" }}
{{ $background = "" }}
{{ end }}
{{- $params := (dict
"page" $page
"list" $list
"title" $title
"icon" $icon
"thumbnail" $thumbnail
"ratio" $ratio
"sectionHeader" $sectionHeader
"description" $description
"content" $content
@@ -103,8 +125,8 @@
-}}
{{- $partial := "" -}}
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }}">
<div class="container-xxl flex-fill p-0">
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
<div class="container-xxl flex-fill p-4 px-xxl-0 pb-5">
{{- partial "assets/section-header.html" $params -}}
{{ if eq $layout "card" }}
@@ -131,6 +153,7 @@
"type" $type
"vertical" $vertical
"width" $width
"wrap" $wrap
)
-}}
{{- else -}}

View File

@@ -0,0 +1,20 @@
{{- $page := . -}}
{{ $items := $page.Parent.Sections }}
{{ if not $page.Parent.Section }}
{{ $items = $page.Sections }}
{{ end }}
{{- if gt (len $items) 0 }}
<nav class="navbar navbar-expand navbar-services p-0 fs-5">
<div class="container-fluid p-0 pb-3">
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
{{- range $items }}
{{ $active := eq $page.RelPermalink .RelPermalink }}
<li class="nav-item"><a class="nav-link{{ if $active }} active{{ end }}" href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{- end }}
</ul>
</div>
</div>
</nav>
{{- end }}

View File

@@ -6,7 +6,7 @@
{{- 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">
<div class="py-3 text-body-secondary hstack gap-1">
{{ T "shareLink" "" }}
{{- range $index, $item := $list -}}
{{- $url := $item.url -}}
@@ -21,11 +21,11 @@
{{- $url = "#!" -}}
{{- partial "assets/toast.html" (dict "id" $target "message" (printf "%s %s" (T "link") (T "copiedToClipboard"))) -}}
{{- end -}}
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" "label" (T "shareLink" $item.name)) }}
{{ 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 }}
{{ $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"))) }}
{{ 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 -}}
</div>
{{- end -}}

View File

@@ -9,9 +9,10 @@
{{- $level := .level -}}
{{- $baseURL := .baseURL -}}
{{- $group := .group -}}
{{- $data := .menu -}}
{{- $doc_slug := $group.title | urlize -}}
{{- $href := printf "%s/" (relLangURL (path.Join $baseURL $doc_slug)) -}}
{{- $href := or $group.link (printf "%s/" (relLangURL (path.Join $baseURL $doc_slug))) -}}
{{- $collapsed := strings.HasPrefix $page.RelPermalink $href -}}
<li class="mb-1">
@@ -28,6 +29,7 @@
"level" (add $level 1)
"baseURL" $href
"group" $item
"menu" $data
)
}}
{{- else -}}
@@ -37,6 +39,8 @@
"level" $level
"baseURL" $href
"title" $item.title
"href" $item.link
"menu" $data
)
}}
{{ end -}}
@@ -47,15 +51,17 @@
{{ end -}}
{{- define "partials/sidebar/item.html" -}}
{{ $page := .page }}
{{ $sectionBreak := .sectionBreak }}
{{- $page := .page -}}
{{- $sectionBreak := .sectionBreak -}}
{{- $level := .level -}}
{{ $baseURL := .baseURL}}
{{ $title := .title}}
{{- $baseURL := .baseURL -}}
{{- $title := .title -}}
{{- $href := .href -}}
{{- $data := .menu -}}
{{- $doc_slug := $title | urlize -}}
{{- $href := printf "%s/" (relLangURL (path.Join $baseURL $doc_slug)) -}}
{{ $active := eq $page.RelPermalink $href }}
{{- $href := or $href (printf "%s/" (relLangURL (path.Join $baseURL $doc_slug))) -}}
{{- $active := eq (strings.TrimSuffix "/" $page.RelPermalink) (strings.TrimSuffix "/" $href) -}}
{{ if eq $level 0}}
<li class="mt-1 mb-1 {{ if $sectionBreak }}border-top{{ end }}"></li>
@@ -63,17 +69,27 @@
<li>
<ul class="btn-toggle-nav list-unstyled fw-bold pb-1">
<li>
<a href="{{ $href }}" class="sidebar-item text-decoration-none rounded {{ if $active }}active{{ end }}">
{{ $title }}
</a>
{{ $class := "sidebar-item text-decoration-none rounded" }}
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
{{ $link := partial "utilities/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
{{ if $link }}
{{ print $link | safeHTML }}
{{ else }}
{{- errorf "partial [utilities/sidebar.html] - Invalid link in file: %s" ($page.Scratch.Get "sidebarFilename") -}}
{{ end }}
</li>
</ul>
</li>
{{ else }}
<li>
<a href="{{ $href }}" class="sidebar-item text-decoration-none rounded small {{ if $active }}active{{ end }}">
{{ $title }}
</a>
{{ $class := "sidebar-item text-decoration-none rounded small" }}
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
{{ $link := partial "utilities/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
{{ if $link }}
{{ print $link | safeHTML }}
{{ else }}
{{- errorf "partial [utilities/sidebar.html] - Invalid link in file: %s" ($page.Scratch.Get "sidebarFilename") -}}
{{ end }}
</li>
{{ end }}
{{ end -}}
@@ -94,6 +110,7 @@
"level" (add $level 1)
"baseURL" $baseURL
"group" $item
"menu" $data
)
}}
{{- else }}
@@ -103,6 +120,8 @@
"level" $level
"baseURL" $baseURL
"title" $item.title
"href" $item.link
"menu" $data
)
}}
{{- end }}

View File

@@ -0,0 +1,20 @@
{{ $headings := .headings | default slice }}
{{- range .Fragments.Headings }}
{{- range .Headings }}
{{- $headings = $headings | append .Title -}}
{{- end -}}
{{- end -}}
{{- if gt (len $headings) 1 }}
<nav class="navbar navbar-expand navbar-services p-0 fs-5">
<div class="container-fluid p-0 pb-3 border-bottom">
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
{{- range $headings }}
<li class="nav-item"><a class="nav-link" href="#{{ anchorize . }}">{{ . }}</a></li>
{{- end }}
</ul>
</div>
</div>
</nav>
{{- end }}

View File

@@ -1,7 +1,17 @@
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" .TableOfContents) -}}
{{ if (gt $items 1) -}}
{{- $page := .page -}}
{{- $download := .download -}}
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
{{ if or $download (gt $items 1) -}}
<div class="toc toc-sidebar mb-5 my-md-0 ps-xl-3 mb-lg-5 p-3 text-body-secondary sticky-top">
{{ with $download }}
<div class="mb-5">
{{ $attr := dict "download" (path.Base .) }}
{{ partial "assets/button.html" (dict "href" . "title" (T "download" ) "color" "primary" "outline" "true" "icon" "fas download" "attributes" $attr) }}
</div>
{{ end }}
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
{{ .TableOfContents }}
{{ $page.TableOfContents }}
</div>
{{ end -}}

View File

@@ -6,6 +6,14 @@
{{- $core := .core | default false -}}
{{- $skipTemplate := .skipTemplate | default false -}}
{{- $state := "async" -}}
{{- with .state }}{{ $state = . }}{{ end -}}
{{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}}
{{- $supportedStates := slice "defer" "async" "immediate" -}}
{{- if and $state (not (in $supportedStates $state)) -}}
{{- errorf "partial [footer/script.html] - Invalid value for param 'processing': %s" $state -}}
{{- end -}}
{{- $modules := "" -}}
{{ if $core }}
{{- $modules = site.Params.modules.core -}}
@@ -26,9 +34,9 @@
{{- if gt (len $js.Content) 0 -}}
{{- if not hugo.IsProduction -}}
<script src="{{ if $absoluteURL }}{{ $js.Permalink }}{{ else }}{{ $js.RelPermalink }}{{ end }}"></script>
<script src="{{ if $absoluteURL }}{{ $js.Permalink }}{{ else }}{{ $js.RelPermalink }}{{ end }}"{{ with $state }} {{ . | safeHTMLAttr }}{{ end }}></script>
{{ else -}}
{{ $js = $js | minify | fingerprint -}}
<script src="{{ if $absoluteURL }}{{ $js.Permalink }}{{ else }}{{ $js.RelPermalink }}{{ end }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous"></script>
<script src="{{ if $absoluteURL }}{{ $js.Permalink }}{{ else }}{{ $js.RelPermalink }}{{ end }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous"{{ with $state}} {{ . | safeHTMLAttr }}{{ end }}></script>
{{ end -}}
{{ end -}}

View File

@@ -7,27 +7,29 @@
{{ if gt .Site.Menus.social 0 }}
{{- $tab := site.Params.main.externalLinks.tab -}}
<div class="container-fluid">
<div class="row row-cols-1 row-cols-sm-4 bg-primary p-3 bg-opacity-{{ .Site.Params.style.themeOpacity | default "25" | safeHTML }} align-items-center">
<div class="col col-md-2 d-none d-md-block"></div>
<div class="col col-sm-6 col-md-4">
{{ if gt .Site.Menus.social 0 }}
<div class="fs-3 fw-bold">{{ or .Site.Params.footer.socialTitle .Site.Params.social.title }}</div>
<p>{{ or .Site.Params.footer.socialCaption .Site.Params.social.caption }}</p>
{{ end }}
<div class="container-fluid bg-primary bg-opacity-{{ .Site.Params.style.themeOpacity | default "25" | safeHTML }}">
<div class="container-xxl px-4 px-xxl-0">
<div class="row row-cols-2 py-3 align-items-center">
<div class="col col-6">
<div class="row justify-content-end p-0">
<div class="col-12 col-md-8 p-0">
<div class="fs-3 fw-bold">{{ or .Site.Params.footer.socialTitle .Site.Params.social.title }}</div>
<p>{{ or .Site.Params.footer.socialCaption .Site.Params.social.caption }}</p>
</div>
</div>
</div>
<div class="col col-6 text-sm-start">
{{ range .Site.Menus.social -}}
<a href="{{ .URL }}" {{ if $tab }} target="_blank" rel="noopener noreferrer"{{ end }} aria-label="{{ .Name | safeHTML }}" class="text-decoration-none link-secondary d-inline p-2">
{{ if hasPrefix .Pre "<i" }}
{{ .Pre | safeHTML }}
{{ else }}
{{ partial "assets/icon.html" (dict "icon" (printf "%s fa-2x" .Pre) )}}
{{ end }}
</a>
{{ end -}}
</div>
</div>
<div class="col text-sm-start text-center col-sm-6 col-md-4">
{{ range .Site.Menus.social -}}
<a href="{{ .URL }}" {{ if $tab }} target="_blank" rel="noopener noreferrer"{{ end }} aria-label="{{ .Name | safeHTML }}" class="text-decoration-none link-secondary d-inline p-2">
{{ if hasPrefix .Pre "<i" }}
{{ .Pre | safeHTML }}
{{ else }}
{{ partial "assets/icon.html" (dict "icon" (printf "%s fa-2x" .Pre) )}}
{{ end }}
</a>
{{ end -}}
</div>
<div class="col col-md-2 d-none d-md-block"></div>
</div>
</div>
{{ end }}

View File

@@ -30,6 +30,7 @@
{{- if site.Params.navigation.fixed }}{{ $navbarOffset = site.Params.navigation.offset | default "4em" }}{{ end }}
{{- $vars := dict
"theme-font" (default "Inter" site.Params.style.themeFont)
"font-size-base" (default "1rem" site.Params.style.fontSizeBase)
"primary" (default "#007bff" site.Params.style.primary)
"secondary" (default "#6c757d" site.Params.style.secondary)
"success" (default "#198754" site.Params.style.success)
@@ -48,19 +49,21 @@
{{- $options := (dict "transpiler" $transpiler "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
{{- $bundle := partial "utilities/bundle" (dict "match" $source "filename" (printf "scss/bundle-%d.scss" now.UnixNano) "modules" $modules "basepath" "scss" "debugging" site.Params.debugging.showSCSS) -}}
{{- $css := $bundle | resources.ExecuteAsTemplate $target . | toCSS $options -}}
{{- if gt ($bundle.Content | len) 0 }}
{{- $css := $bundle | resources.ExecuteAsTemplate $target . | toCSS $options -}}
{{ if $core }}
{{- partial "head/icons.html" (dict "css" $css) -}}
{{ end }}
{{- if site.Params.style.purge -}}
{{- $post_options := dict "config" "config" -}}
{{- $css = $css | resources.PostCSS $post_options -}}
{{- end -}}
{{ if $core }}
{{- partial "head/icons.html" (dict "css" $css) -}}
{{ end }}
{{- if site.Params.style.purge -}}
{{- $post_options := dict "config" "config" "noMap" hugo.IsProduction -}}
{{- $css = $css | resources.PostCSS $post_options -}}
{{- end -}}
{{- if not hugo.IsProduction -}}
<link rel="stylesheet" href="{{ if $absoluteURL }}{{ $css.Permalink }}{{ else }}{{ $css.RelPermalink }}{{ end }}">
{{- else -}}
{{- $css = $css | fingerprint | resources.PostProcess -}}
<link rel="stylesheet" href="{{ if $absoluteURL }}{{ $css.Permalink }}{{ else }}{{ $css.RelPermalink }}{{ end }}" integrity="{{ $css.Data.Integrity }}" crossorigin="anonymous">
{{- if not hugo.IsProduction -}}
<link rel="stylesheet" href="{{ if $absoluteURL }}{{ $css.Permalink }}{{ else }}{{ $css.RelPermalink }}{{ end }}">
{{- else -}}
{{- $css = $css | minify | fingerprint | resources.PostProcess -}}
<link rel="stylesheet" href="{{ if $absoluteURL }}{{ $css.Permalink }}{{ else }}{{ $css.RelPermalink }}{{ end }}" integrity="{{ $css.Data.Integrity }}" crossorigin="anonymous">
{{- end -}}
{{- end -}}

View File

@@ -1,21 +0,0 @@
<div class="container-fluid flex-fill feature">
<div class="row row-cols-1 row-cols-sm-4 h-100 bg-primary px-4 py-5 bg-opacity-{{ .Site.Params.style.themeOpacity | default "25" | safeHTML }} align-items-center">
<div class="col col-lg-2 d-none d-lg-block bg-info order-1"></div>
<div class="col col-sm-6 col-lg-4 text-center text-sm-start order-3 order-sm-2">
<p class="display-4">{{ .Title }}</p>
<p>{{ .Content }}<p>
</div>
<div class="col text-sm-start text-center col-sm-6 col-lg-4 order-2 order-sm-3">
{{- $thumbnail := (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) -}}
{{- $thumbnail = or $thumbnail .Site.Params.home.featurePhoto -}}
{{ if .Site.Params.home.featurePhoto }}
{{ warnf "DEPRECATED: parameter `Params.home.featurePhoto` has been deprecated in release v0.18"}}
{{ end }}
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "outerClass" "img-wrap" "innerClass" "rounded" "title" .Site.Title) -}}
{{ end }}
<div class="pb-5 d-block d-sm-none"></div>
</div>
<div class="col col-lg-2 d-none d-lg-block bg-info order-4"></div>
</div>
</div>

View File

@@ -0,0 +1,93 @@
{{- $page := .page -}}
{{- $headings := .headings -}}
{{- $orientation := .orientation | default "stacked" -}}
{{- $actions := .actions -}}
{{- $width := .width | default 6 }}
{{- if or (lt $width 1) (gt $width 12) -}}
{{- $width = 6 -}}
{{- warnf "partial [list/featured.html] - Invalid column width: %d" $width -}}
{{ end -}}
{{- $justify := .justify | default "center" -}}
{{- $supportedJustify := slice "start" "end" "center" "between" "around" "evenly" -}}
{{- if not (in $supportedJustify $justify) -}}
{{- errorf "partial [list/featured.html] - Invalid value for param 'justify': %s" $justify -}}
{{- end -}}
{{- $align := .align | default "center" -}}
{{- $supportedAlign := slice "start" "end" "center" -}}
{{- if not (in $supportedAlign $align) -}}
{{- errorf "partial [list/featured.html] - Invalid value for param 'align': %s" $align -}}
{{- end -}}
{{- $breadcrumb := and (not $page.IsHome) site.Params.navigation.breadcrumb -}}
{{- define "partials/list/featured-body.html" }}
{{- $page := .page -}}
{{- $headings := .headings -}}
{{- $orientation := .orientation | default "stacked" -}}
{{- $actions := .actions -}}
{{- $align := .align | default "center" -}}
<div class="text-{{ $align }}">
{{ with $page.Title }}<p class="display-4">{{ . }}</p>{{ end }}
<span class="fs-5 text-muted">{{ $page.Description }}</span>
{{ if $actions }}
<div class="hstack{{ if gt (len $actions) 1 }} gap-3{{ end }} justify-content-{{ $align}} pt-5 pt-md-3">
{{ range $actions }}
{{ partial "assets/button.html" (dict "href" .url "icon" .icon "title" .title "outline" .outline "order" "last" "justify" "start") }}
{{ end }}
</div>
{{ end }}
</div>
{{- end -}}
{{- define "partials/list/featured-illustration.html" }}
{{- $page := .page -}}
{{- $style := printf "img-wrap mx-auto mx-md-0 %s" .style -}}
{{ if $page.Params.icon }}
{{- $icon := (or (and (reflect.IsMap $page.Params.Icon) $page.Params.Icon.url) $page.Params.Icon) -}}
{{- $mode := and (reflect.IsMap $page.Params.Icon) $page.Params.Icon.mode -}}
{{ if eq (lower (path.Ext $icon)) ".json" }}
{{ partial "assets/animation.html" (dict "data" $icon "mode" $mode "loop" false "hover" true "class" "col-6 mx-auto text-center") }}
{{ else }}
{{ partial "assets/icon.html" (dict "icon" "mode" $mode $icon "wrapper" "col-6 mx-auto text-center")}}
{{ end }}
{{ else }}
{{- $thumbnail := (or (and (reflect.IsMap $page.Params.Thumbnail) $page.Params.Thumbnail.url) $page.Params.Thumbnail) -}}
{{- if $thumbnail }}
{{ partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "outerClass" $style "innerClass" "rounded" "title" .Site.Title) }}
{{ end }}
{{ end }}
{{- end -}}
<div class="container-fluid p-0 {{ with site.Params.home.feature.color }} bg-{{ . }} bg-opacity-{{ site.Params.style.themeOpacity | default "25" | safeHTML }}{{ end }}">
<div class="container-xxl {{ if $breadcrumb }} pb-4 px-4 {{ else }} p-4 {{ end }} px-xxl-0 {{ if site.Params.home.fullCover }} fullscreen{{ end }} d-flex flex-column">
{{ if $breadcrumb }}
<div>{{ partial "assets/breadcrumb.html" $page }}</div>
{{ end -}}
{{ if eq $orientation "stacked" }}
<div class="row justify-content-center flex-fill">
<div class="col-12 col-md-{{ $width }} m-auto text-center">
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "style" "pb-4") }}
{{ partial "partials/list/featured-body.html" (dict "page" $page "headings" $headings "orientation" $orientation "actions" $actions) }}
</div>
</div>
{{ else }}
<div class="flex-fill row row-cols-1 row-cols-md-2 justify-content-{{ $justify }}">
<div class="col col-12 col-md-{{ $width }} order-1 order-md-0 my-md-auto">
{{ partial "partials/list/featured-body.html" (dict "page" $page "headings" $headings "orientation" $orientation "actions" $actions "align" $align) }}
</div>
<div class="col col-12 col-md-{{ if gt $width 6 }}{{ sub 12 $width }}{{ else }}{{ $width }}{{ end }} order-0 order-md-1 text-center my-md-auto">
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "style" "pb-4 pb-md-0") }}
</div>
</div>
{{ end }}
{{ with $headings }}
<div class="col col-12 p-0 pt-5">
{{ partial "assets/toc-main.html" (dict "headings" .) }}
</div>
{{ end }}
</div>
</div>

View File

@@ -1,12 +1,17 @@
{{- $page := .page -}}
{{- $version := .version -}}
{{- $sidebarFilename := "" -}}
{{- $menu := "" -}}
{{- if $page.IsPage -}}
{{- $menu = index site.Data (printf "%s-%s" $page.Section $version) -}}
{{- $sidebarFilename = printf "%s-%s" $page.Section $version -}}
{{- $menu = index site.Data $sidebarFilename -}}
{{ if not $menu }}
{{ $menu = index site.Data $page.Section }}
{{- $sidebarFilename = $page.Section -}}
{{ $menu = index site.Data $sidebarFilename }}
{{ end }}
{{- end -}}
{{ if $menu }}{{ with $sidebarFilename }}{{ $page.Scratch.Set "sidebarFilename" (path.Join "data" .) }}{{ end }}{{ end -}}
{{- return $menu -}}

View File

@@ -0,0 +1,17 @@
{{ $path := .path }}
{{ $height := .height }}
{{ $width := "" }}
{{ if eq (path.Ext $path) ".svg" }}
{{ $path := path.Join "static" .path }}
{{ if fileExists $path }}
{{ with findRE `viewBox="\d+[\s,]\d+[\s,]\d+[\s,]\d+"` (readFile $path) 1 }}
{{ $content := split (index (split (index . 0) `"`) 1) " " }}
{{ $viewbox_width := float (index $content 2) }}
{{ $viewbox_height := float (index $content 3) }}
{{ $width = int (math.Round (mul (div $height $viewbox_height) $viewbox_width)) }}
{{ end }}
{{ end }}
{{ end }}
{{ return $width }}

View File

@@ -3,6 +3,7 @@
{{- errorf "partial [utilities/link.html] - Missing param 'destination'" -}}
{{- end -}}
{{- $error := false -}}
{{- $target := "" -}}
{{- $rel := "" -}}
{{- $case := .case | default true }}
@@ -25,7 +26,7 @@
{{- end -}}
{{- if $cue -}}
{{ $suffix := partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs") }}
{{ $suffix := partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs" "spacing" false) }}
{{- $text = printf "%s&nbsp;%s" $text $suffix | safeHTML -}}
{{- end -}}
{{- else -}}
@@ -55,6 +56,7 @@
{{- if not $ref -}}
{{- errorf "partial [utilities/link.html] - Cannot find page: %s" $destination -}}
{{- $error = true -}}
{{- else -}}
{{- $destination = $ref.RelPermalink -}}
{{- with $anchor }}{{ $destination = printf "%s#%s" (strings.TrimSuffix "/" $destination) . -}}{{ end -}}
@@ -69,4 +71,6 @@
{{- end -}}
{{- end -}}
<a {{ with $class }}class="{{ . }}" {{ end }}href="{{ $destination | safeURL }}"{{ with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end }}>{{ $text }}</a>
{{ if not $error -}}
<a {{ with $class }}class="{{ . }}" {{ end }}href="{{ $destination | safeURL }}"{{ with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end }}>{{ $text }}</a>
{{- end }}

View File

@@ -63,6 +63,6 @@
{{ end }}
{{ if not $error }}
<abbr {{ with $class }}class="{{ . }}"{{ end }} title="{{ $title }}">{{ $key }}</abbr>
<abbr {{ with $class }}class="{{ . }}"{{ end }} title="{{ $title }}" tabindex="0">{{ $key }}</abbr>
{{ end }}
{{ end }}

View File

@@ -26,6 +26,7 @@
"main.externalLinks.cue" in the site's parameters.
"tab" Optional flag to indicate if an external link should open in a new tab, defaults to setting
"main.externalLinks.tab" in the site's parameters.
"spacing" Optional flag to add spacing to the inline button, defaults to "true".
-->
{{ $error := false }}
@@ -112,6 +113,8 @@
{{- $cue := .Get "cue" | default site.Params.main.externalLinks.cue -}}
{{- $tab := .Get "tab" | default site.Params.main.externalLinks.tab -}}
{{- $spacing := .Get "spacing" | default (not .Parent) -}}
{{ if not $error }}
{{- $output := partial "assets/button.html" (dict
"type" $type
@@ -133,7 +136,8 @@
"justify" $justify
"cue" $cue
"tab" $tab
"toast" $toast)
"toast" $toast
"spacing" $spacing)
-}}
{{- if .Parent -}}

View File

@@ -1,5 +1,5 @@
<!--
Displays a Bootstrap card that links to a page. Any inner text is used as description The shortcode supports the
Displays a Bootstrap card that links to a page. Any inner text is used as description. The shortcode supports the
following arguments:
"path" Optional path of the page. If omitted, specify the title, icon, thumbnail, and body as needed.
"title" Optional title of the card.
@@ -87,11 +87,15 @@
{{ $icon := .Get "icon" | default "" -}}
{{ $thumbnail := .Get "thumbnail" | default "" -}}
{{ if .Parent }}
{{ $class = (printf "h-100 %s" $class) }}
{{ end }}
{{ if not $error -}}
{{- $output := partial "assets/card.html" (dict
"path" $path
"title" $title
"class" (printf "h-100 %s" $class)
"class" $class
"gutter" $gutter
"color" $color
"padding" $padding

View File

@@ -4,7 +4,8 @@
"type" Optional type of the tab group, either "tabs", "pills", or "underline".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"fade" Optional flag to make tab panes fade in.
"class": Optional class attribute of the tab group, e.g. “nav-fill”.
"class" Optional class attribute of the tab group, e.g. “nav-fill”.
"wrap" Optional flag to enable word wrapping of tab titles, defaults to false.
-->
{{- $id := printf "nav-%d" .Ordinal -}}
@@ -37,6 +38,13 @@
{{ errorf "Invalid value for param 'fade': %s" $fadeParam -}}
{{- end -}}
{{ $wrapParam := "false" -}}
{{- $wrap := false -}}
{{ with .Get "wrap" }}{{ $wrapParam = . }}{{ end -}}
{{ if not (in $supportedFlags $wrapParam) -}}
{{ errorf "Invalid value for param 'wrap': %s" $wrapParam -}}
{{- end -}}
{{- if and (eq $type "tabs") $vertical -}}
{{- errorf "Tabs do not support vertical layout" -}}
{{- end -}}
@@ -68,7 +76,7 @@
{{- range $index, $item := $items -}}
{{- $header := partial "utilities/GetVal.html" $item -}}
{{- $itemDisabled := in $disabled $index -}}
<button class="nav-link text-nowrap{{ if eq $index $showID }} active{{ end }} {{ if $itemDisabled}} disabled {{end }}" id="{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#{{ $id }}-{{ $index }}"
<button class="nav-link{{ if not $wrap }} text-nowrap{{ end }}{{ if eq $index $showID }} active{{ end }}{{ if $itemDisabled}} disabled {{end }}" id="{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#{{ $id }}-{{ $index }}"
type="button" role="tab" aria-controls="{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
{{ $header }}
</button>

View File

@@ -97,7 +97,8 @@
"icon" $icon
"tooltip" $tooltip
"order" "first"
"class" (trim (printf "rounded-2 fw-semibold %s" $class) " "))
"class" (trim (printf "rounded-2 fw-semibold %s" $class) " ")
"spacing" $inline)
-}}
{{- if not $inline }}</div>{{ end -}}
{{- end -}}

View File

@@ -6,6 +6,7 @@
"href" Required address for the button or hyperlink.
"placement" Optional position of the tooltip: "top" (default), "bottom", "left", or "right".
"class" Optional class attribute of the tooltip's button element.
"spacing" Optional flag to add spacing to the inline tooltip, defaults to "true".
-->
{{ $error := false }}
@@ -43,8 +44,19 @@
{{- $class := .Get "class" | default "" -}}
{{- $spacing := .Get "spacing" | default true -}}
{{ if not $error }}
<div class="d-inline-flex">
{{- partial "assets/button.html" (dict "type" $type "title" $title "color" $color "tooltip" $tooltip "href" $href "placement" $placement "class" $class) -}}
{{- partial "assets/button.html" (dict
"type" $type
"title" $title
"color" $color
"tooltip" $tooltip
"href" $href
"placement" $placement
"class" $class
"spacing" $spacing)
-}}
</div>
{{ end }}

View File

@@ -1,5 +1,5 @@
{{ define "main" }}
<div class="container-xxl px-3 px-xxl-0">
<div class="container-xxl px-4 px-xxl-0">
<div class="row row-cols-1 row-cols-sm-3">
<div class="col col-md-2 d-none d-md-block"></div>
<div class="col col-sm-12 col-md-8">
@@ -34,7 +34,7 @@
<p class="text-body-secondary mt-5">{{ $year }}</p>
{{ $.Scratch.Set "lastYear" $year }}
{{ end }}
<a href="{{ (path.Join .Page.RelPermalink) | relLangURL }}">{{ if .Draft }}{{ T "draft" | upper }}: {{end}}{{ .Title | .Page.RenderString }}</a>
<a href="{{ (path.Join .Page.RelPermalink) | relLangURL }}">{{ if .Draft }}{{ T "draft" | upper }}: {{ end }}{{ .Title | .Page.RenderString }}</a>
</div>
</div>
{{ end }}

View File

@@ -4,12 +4,12 @@
command = "npm run build:example"
[build.environment]
DART_SASS_VERSION = "1.66.1"
HUGO_VERSION = "0.118.2"
DART_SASS_VERSION = "1.69.0"
HUGO_VERSION = "0.119.0"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "18.17.1"
NPM_VERSION = "9.6.7"
NODE_VERSION = "18.18.2"
NPM_VERSION = "9.8.1"
# toml-docs-end netlify
[[headers]]

725
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.20.0",
"version": "0.21.0-alpha5",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -20,7 +20,8 @@
"prestart": "npm run -s mod:vendor",
"start": "hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings",
"start:example": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings -s exampleSite",
"start:prod": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings -e production",
"start:prod": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings --minify -e production",
"start:example:prod": "npm run -s prestart && hugo server --bind=0.0.0.0 --disableFastRender --printI18nWarnings --minify -e production -s exampleSite",
"prebuild": "npm run clean:public && npm run -s mod:vendor",
"build": "hugo --gc --minify",
"build:cache": "npm run -s prebuild && hugo config | grep cachedir && hugo --gc --minify -e ci",
@@ -69,24 +70,24 @@
"@fullhuman/postcss-purgecss": "^5.0.0",
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
"@netlify/plugin-lighthouse": "^5.0.0",
"autoprefixer": "^10.4.15",
"autoprefixer": "^10.4.16",
"cssnano": "^6.0.1",
"cssnano-preset-advanced": "^6.0.1",
"eslint": "^8.48.0",
"eslint": "^8.51.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-n": "^16.0.2",
"eslint-plugin-n": "^16.2.0",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "^0.114.2",
"markdownlint-cli2": "^0.9.2",
"hugo-bin": "^0.115.0",
"markdownlint-cli2": "^0.10.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^10.1.0",
"purgecss-whitelister": "^2.4.0",
"replace-in-files-cli": "^2.2.0",
"rimraf": "^5.0.1",
"rimraf": "^5.0.5",
"shx": "^0.3.4",
"stylelint": "^15.10.3",
"stylelint": "^15.11.0",
"stylelint-config-standard-scss": "^11.0.0"
},
"optionalDependencies": {