Compare commits

...

542 Commits

Author SHA1 Message Date
Mark Dumay
dd052250f6 Merge pull request #660 from gethinode/develop
Add support for absolute paths
2023-12-16 08:12:10 +01:00
mark
1223a22d7e Bump package version 2023-12-16 08:03:31 +01:00
mark
b6f034f8e3 Add support for absolute paths 2023-12-16 08:03:07 +01:00
mark
ca01b67396 Mount data folder 2023-12-16 07:53:12 +01:00
Mark Dumay
eb3a2b0bb1 Merge pull request #659 from gethinode/main
Sync with main
2023-12-16 07:42:47 +01:00
Mark Dumay
41711fb527 Merge pull request #658 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-12-16 07:32:09 +01:00
markdumay
6e7a9a8796 fix: update Hugo module dependencies 2023-12-16 06:25:10 +00:00
github-actions[bot]
92838c0572 Merge pull request #657 from gethinode/dependabot/npm_and_yarn/cssnano-6.0.2
Bump cssnano from 6.0.1 to 6.0.2
2023-12-15 13:37:12 +00:00
dependabot[bot]
3f71da19ee Bump cssnano from 6.0.1 to 6.0.2
Bumps [cssnano](https://github.com/cssnano/cssnano) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@6.0.1...cssnano@6.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 13:30:07 +00:00
github-actions[bot]
43a6dd2b79 Merge pull request #655 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-6.0.2
Bump cssnano-preset-advanced from 6.0.1 to 6.0.2
2023-12-15 13:29:26 +00:00
dependabot[bot]
806fac97db Bump cssnano-preset-advanced from 6.0.1 to 6.0.2
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@6.0.1...cssnano-preset-advanced@6.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 13:24:01 +00:00
github-actions[bot]
9fd07827db Merge pull request #656 from gethinode/dependabot/npm_and_yarn/eslint-plugin-import-2.29.1
Bump eslint-plugin-import from 2.29.0 to 2.29.1
2023-12-15 13:23:20 +00:00
dependabot[bot]
28cdcec7ee Bump eslint-plugin-import from 2.29.0 to 2.29.1
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.29.0 to 2.29.1.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.29.0...v2.29.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 13:18:05 +00:00
github-actions[bot]
cb2e946435 Merge pull request #654 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.4.0
Bump eslint-plugin-n from 16.3.1 to 16.4.0
2023-12-11 13:57:51 +00:00
dependabot[bot]
2e7bb50d43 Bump eslint-plugin-n from 16.3.1 to 16.4.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.3.1 to 16.4.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.3.1...16.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 13:52:03 +00:00
github-actions[bot]
3d7875ba18 Merge pull request #653 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.117.1
Bump hugo-bin from 0.117.0 to 0.117.1
2023-12-08 13:20:14 +00:00
dependabot[bot]
29ab88d581 Bump hugo-bin from 0.117.0 to 0.117.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.117.0 to 0.117.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.117.0...v0.117.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 13:14:49 +00:00
Mark Dumay
d93bbe4fe3 Merge pull request #652 from gethinode/develop
Update Netlify build environment
2023-12-07 06:20:19 +01:00
mark
3a2d062e22 Update netlify env 2023-12-07 06:01:29 +01:00
mark
c3ef897a71 Bump package version 2023-12-07 05:58:21 +01:00
Mark Dumay
73964e6be4 Merge pull request #651 from gethinode/main
Sync with main
2023-12-07 05:50:40 +01:00
Mark Dumay
520c000d3b Merge pull request #648 from gethinode/nested
Fix nesting behavior
2023-12-07 05:42:43 +01:00
Mark Dumay
e3c1db7b88 Merge branch 'main' into nested 2023-12-07 05:27:09 +01:00
github-actions[bot]
9ba3218f61 Merge pull request #650 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.117.0
Bump hugo-bin from 0.116.4 to 0.117.0
2023-12-06 14:03:21 +00:00
dependabot[bot]
a912d65608 Bump hugo-bin from 0.116.4 to 0.117.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.116.4 to 0.117.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.116.4...v0.117.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-12-06 13:57:08 +00:00
github-actions[bot]
ffd6bb9c46 Merge pull request #649 from gethinode/dependabot/npm_and_yarn/postcss-cli-11.0.0
Bump postcss-cli from 10.1.0 to 11.0.0
2023-12-06 13:55:58 +00:00
dependabot[bot]
6a238c3a11 Bump postcss-cli from 10.1.0 to 11.0.0
Bumps [postcss-cli](https://github.com/postcss/postcss-cli) from 10.1.0 to 11.0.0.
- [Release notes](https://github.com/postcss/postcss-cli/releases)
- [Changelog](https://github.com/postcss/postcss-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-cli/compare/10.1.0...11.0.0)

---
updated-dependencies:
- dependency-name: postcss-cli
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 13:50:57 +00:00
Mark Dumay
3210d72068 Merge branch 'main' into nested 2023-12-06 11:18:25 +01:00
mark
add57592cd Fix default nested behavior 2023-12-06 06:30:04 +01:00
Mark Dumay
584131c8c4 Merge pull request #647 from florianloewen/fix-clipboard-typos
Fix German translations for clipboard interactions
2023-12-05 06:41:39 +01:00
Florian Loewen
9e8a1b4e3d Update German translations for clipboard interactions 2023-12-05 00:32:16 +01:00
github-actions[bot]
61efc2de16 Merge pull request #646 from gethinode/dependabot/npm_and_yarn/eslint-8.55.0
Bump eslint from 8.54.0 to 8.55.0
2023-12-04 14:05:19 +00:00
dependabot[bot]
ce1f688b38 Bump eslint from 8.54.0 to 8.55.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.54.0 to 8.55.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.54.0...v8.55.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-12-04 13:58:36 +00:00
mark
088464bf13 Improve nested behavior 2023-11-25 08:28:28 +01:00
Mark Dumay
936ca3ffc2 Merge pull request #643 from gethinode/develop
Fix flexsearch index
2023-11-24 16:24:01 +01:00
mark
4f6320f7cf Bump package release 2023-11-24 16:15:29 +01:00
mark
ccf3169381 Update build stats 2023-11-24 16:15:21 +01:00
Mark Dumay
54d66d2b02 Merge pull request #642 from gethinode/main
Sync with main
2023-11-24 16:12:12 +01:00
Mark Dumay
25aeb94364 Merge pull request #641 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-11-24 16:03:58 +01:00
markdumay
5657ef5b40 fix: update Hugo module dependencies 2023-11-24 14:32:59 +00:00
Mark Dumay
c8818d104f Merge pull request #640 from gethinode/develop
Add option to exclude pages from search index
2023-11-23 12:15:40 +01:00
mark
ed239034bf Bump package version 2023-11-23 10:53:54 +01:00
mark
774f936d3b Add example to exclude page from search index 2023-11-23 10:53:15 +01:00
Mark Dumay
905c28886a Merge pull request #639 from gethinode/main
Sync with main
2023-11-23 10:46:46 +01:00
Mark Dumay
ad430074f7 Merge pull request #637 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-11-23 10:33:34 +01:00
Mark Dumay
6449f01185 Merge branch 'main' into hugo-mod-dependencies 2023-11-23 07:46:15 +01:00
github-actions[bot]
0c3488472c Merge pull request #634 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.11.0
Bump markdownlint-cli2 from 0.10.0 to 0.11.0
2023-11-23 06:36:39 +00:00
Mark Dumay
ee7990ec1e Merge branch 'main' into dependabot/npm_and_yarn/markdownlint-cli2-0.11.0 2023-11-23 07:30:55 +01:00
Mark Dumay
b892b48388 Merge pull request #638 from gethinode/develop
Fix linting issues
2023-11-23 07:30:43 +01:00
Mark Dumay
340213e4ff Merge branch 'main' into develop 2023-11-23 07:22:06 +01:00
mark
989f2eed4c Fix linting issues 2023-11-23 07:21:16 +01:00
markdumay
4fadb7a6ab fix: update Hugo module dependencies 2023-11-23 03:16:45 +00:00
dependabot[bot]
8f1fd120eb Bump markdownlint-cli2 from 0.10.0 to 0.11.0
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.10.0 to 0.11.0.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.10.0...v0.11.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-11-20 13:16:20 +00:00
github-actions[bot]
f2fc3b60a4 Merge pull request #635 from gethinode/dependabot/npm_and_yarn/eslint-8.54.0
Bump eslint from 8.53.0 to 8.54.0
2023-11-20 13:15:34 +00:00
dependabot[bot]
c0735f71ef Bump eslint from 8.53.0 to 8.54.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.53.0 to 8.54.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.53.0...v8.54.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-11-20 13:09:54 +00:00
Mark Dumay
858f9b3430 Merge pull request #632 from gethinode/develop
Make tags page sidebar aware
2023-11-14 14:47:27 +01:00
Mark Dumay
402a7a85b8 Merge branch 'main' into develop 2023-11-14 13:54:26 +01:00
mark
97fbc6087c Make tags page sidebar aware 2023-11-14 13:53:37 +01:00
Mark Dumay
cc4a4766a9 Merge pull request #631 from gethinode/develop
Make page breakpoint configurable
2023-11-14 13:01:08 +01:00
Mark Dumay
6821ac2b60 Merge branch 'main' into develop 2023-11-14 12:10:40 +01:00
mark
06e10655ec Bump package release 2023-11-14 12:10:07 +01:00
mark
d32fdfa987 Make page breakpoint configurable 2023-11-14 12:09:16 +01:00
mark
9e97f063e5 Update build stats 2023-11-14 12:06:41 +01:00
mark
627f174ae4 Fix duplicate rendering of section body 2023-11-14 12:06:26 +01:00
Mark Dumay
c349c28f08 Merge pull request #630 from gethinode/develop
Improve list overview of subsections
2023-11-13 12:49:40 +01:00
Mark Dumay
e73f96ffe9 Merge branch 'main' into develop 2023-11-13 11:53:02 +01:00
mark
bd4ab51aff Improve list overview of subsections 2023-11-13 11:52:15 +01:00
Mark Dumay
81823c35ec Merge pull request #629 from gethinode/develop
Fix variable scope error
2023-11-12 17:55:05 +01:00
Mark Dumay
c567949205 Merge branch 'main' into develop 2023-11-12 15:32:19 +01:00
mark
def136cb1b Fix variable scope error 2023-11-12 15:31:55 +01:00
Mark Dumay
889dc2e5ef Merge pull request #628 from gethinode/develop
Fix spacing of timeline icons
2023-11-11 17:01:08 +01:00
Mark Dumay
371323f929 Merge branch 'main' into develop 2023-11-11 16:56:03 +01:00
mark
1694702d11 Fix spacing of timeline icons 2023-11-11 16:55:36 +01:00
Mark Dumay
048f50ddc4 Merge pull request #627 from gethinode/develop
Add check for vector image availability
2023-11-10 19:34:22 +01:00
Mark Dumay
488cfc576b Merge branch 'main' into develop 2023-11-10 18:25:39 +01:00
mark
1d8e564acf Update package version 2023-11-10 18:25:02 +01:00
mark
6e94bc279b Add check for vector image availability 2023-11-10 18:24:31 +01:00
github-actions[bot]
90ee15cccf Merge pull request #626 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.3.1
Bump eslint-plugin-n from 16.3.0 to 16.3.1
2023-11-10 13:46:56 +00:00
dependabot[bot]
751ff334ac Bump eslint-plugin-n from 16.3.0 to 16.3.1
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.3.0 to 16.3.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.3.0...16.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-10 13:41:17 +00:00
Mark Dumay
c200af1ad2 Merge pull request #625 from gethinode/develop
Add fetch priority support for images
2023-11-10 07:10:18 +01:00
Mark Dumay
5232afa812 Merge branch 'main' into develop 2023-11-10 06:57:17 +01:00
mark
ad8e2f51d7 Add fetch priority support for images
The priority provides a hint to the browser on how it should prioritize the fetch of an image relative to other
images. The implementation is experimental and currently only supported by Chrome, Edge, and Opera.

Hinode sets a high priority for the thumbnail image. On list pages, this image is included in the featured section. For single pages, the thumbnail is included in the page header. Carousel images that are not active will receive a low fetch priority. All other images are unchanged.

See https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/fetchpriority#browser_compatibility for browser compatibility.
2023-11-10 06:56:30 +01:00
Mark Dumay
ff708cf580 Merge pull request #624 from gethinode/develop
Fix styles of embedded youtube videos
2023-11-09 18:31:19 +01:00
Mark Dumay
f93ee9f01b Merge branch 'main' into develop 2023-11-09 18:18:22 +01:00
mark
611320e661 Bump package release 2023-11-09 18:17:47 +01:00
mark
8a56d82cb9 Fix styles of embedded youtube videos 2023-11-09 18:16:59 +01:00
Mark Dumay
c052086388 Merge pull request #623 from gethinode/develop
Add language to download title if applicable
2023-11-09 17:27:37 +01:00
Mark Dumay
d4bfbf925a Merge branch 'main' into develop 2023-11-09 17:02:28 +01:00
mark
b6b7e7be4f Add language to download title if applicable 2023-11-09 16:59:18 +01:00
github-actions[bot]
61ef48798b Merge pull request #622 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.116.4
Bump hugo-bin from 0.116.3 to 0.116.4
2023-11-09 13:32:04 +00:00
dependabot[bot]
d65382e80d Bump hugo-bin from 0.116.3 to 0.116.4
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.116.3 to 0.116.4.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.116.3...v0.116.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-09 13:24:53 +00:00
Mark Dumay
e97d3e6fe9 Merge pull request #621 from gethinode/develop
Fix incorrect class init of thumbnails
2023-11-07 16:28:01 +01:00
Mark Dumay
5cb189d545 Merge branch 'main' into develop 2023-11-07 16:14:38 +01:00
mark
7897fe5f00 Bump package release 2023-11-07 16:13:45 +01:00
mark
6c4e0e8992 Fix incorrect class init 2023-11-07 16:13:10 +01:00
Mark Dumay
3c6a533236 Merge pull request #620 from gethinode/develop
Fix empty class attributes
2023-11-07 15:53:21 +01:00
Mark Dumay
69a9108655 Merge branch 'main' into develop 2023-11-07 15:42:02 +01:00
mark
4fdc7bb7d3 Bump release version and adjust optional dependencies 2023-11-07 15:41:05 +01:00
mark
170bd7034a Update build stats 2023-11-07 15:40:42 +01:00
mark
2bc99753d6 Fix empty class attributes 2023-11-07 15:31:54 +01:00
Mark Dumay
3ae1671b46 Merge pull request #619 from gethinode/develop
Improve configurability of single pages
2023-11-07 14:54:33 +01:00
Mark Dumay
4b9f137d41 Merge branch 'main' into develop 2023-11-07 14:44:37 +01:00
mark
651f733622 Update build environment 2023-11-07 14:43:09 +01:00
github-actions[bot]
a2b0c2c05f Merge pull request #618 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.3.0
Bump eslint-plugin-n from 16.2.0 to 16.3.0
2023-11-07 13:38:06 +00:00
mark
21476927ef Update build stats 2023-11-07 14:27:25 +01:00
mark
8c86081271 Support configurable thumbnail ratio 2023-11-07 14:27:17 +01:00
mark
fe5e94d277 Add download option to sharing buttons 2023-11-07 14:26:57 +01:00
mark
585db8094e Support related content 2023-11-07 14:26:22 +01:00
mark
4bcc536d42 Suppress empty more button 2023-11-07 14:26:00 +01:00
mark
b22c2e5ca5 Make metadata of single page header configurable 2023-11-07 14:25:43 +01:00
mark
715b714781 Make rendering of single page content configurable 2023-11-07 14:24:13 +01:00
mark
1d4b95a827 Refactor TOC for single pages 2023-11-07 14:22:38 +01:00
dependabot[bot]
0530a01445 Bump eslint-plugin-n from 16.2.0 to 16.3.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.2.0 to 16.3.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.2.0...16.3.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-11-07 13:22:19 +00:00
mark
2a29eba66e Bump package release 2023-11-07 14:10:10 +01:00
mark
e93b66f4b8 Update build stats 2023-11-07 06:29:33 +01:00
mark
44bb9d7f12 Add message when no tags are found 2023-11-07 06:29:27 +01:00
Mark Dumay
4f58f20b94 Merge pull request #616 from gethinode/develop
Use EXIF values to rotate and flip images
2023-11-06 15:02:18 +01:00
Mark Dumay
cd047ea6fe Merge branch 'main' into develop 2023-11-06 14:51:15 +01:00
github-actions[bot]
7d6526f291 Merge pull request #615 from gethinode/dependabot/npm_and_yarn/eslint-8.53.0
Bump eslint from 8.52.0 to 8.53.0
2023-11-06 13:50:20 +00:00
mark
ede17bdae8 Bump package release 2023-11-06 14:48:19 +01:00
mark
876315613e Use EXIF values to rotate and flip images 2023-11-06 14:47:45 +01:00
dependabot[bot]
b2c5efb4bd Bump eslint from 8.52.0 to 8.53.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.52.0 to 8.53.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.52.0...v8.53.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-11-06 13:43:25 +00:00
Mark Dumay
74047866e5 Merge pull request #613 from gethinode/main
Sync with main
2023-11-06 09:30:00 +01:00
Mark Dumay
6fb25c2111 Merge pull request #612 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-11-06 09:20:55 +01:00
markdumay
db3fc0014e fix: update Hugo module dependencies 2023-11-06 08:07:37 +00:00
Mark Dumay
7105f8e719 Merge pull request #610 from gethinode/develop
Improve tag handling
2023-11-06 07:38:54 +01:00
Mark Dumay
96ab7df306 Merge branch 'main' into develop 2023-11-05 12:39:02 +01:00
mark
1a964adabb Preserve original tag name 2023-11-05 12:38:13 +01:00
mark
9f4adc0777 Keep article count on small screens 2023-11-05 12:38:02 +01:00
Mark Dumay
da1edce3aa Merge pull request #608 from gethinode/develop
Bump package release
2023-11-05 07:29:29 +01:00
Mark Dumay
863012256f Merge branch 'main' into develop 2023-11-05 07:19:13 +01:00
mark
faecbf7f45 Bump package release 2023-11-05 07:18:32 +01:00
Mark Dumay
49581b6749 Merge pull request #607 from gethinode/develop
Adjust thumbnail margins
2023-11-05 06:51:09 +01:00
Mark Dumay
d795d506dd Merge branch 'main' into develop 2023-11-05 06:41:17 +01:00
mark
6348b8ed3f Add bottom margin to cover images 2023-11-05 06:32:43 +01:00
github-actions[bot]
aa2ec54189 Merge pull request #603 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-11.1.0
Bump stylelint-config-standard-scss from 11.0.0 to 11.1.0
2023-11-03 13:39:12 +00:00
dependabot[bot]
a8fdd78b21 Bump stylelint-config-standard-scss from 11.0.0 to 11.1.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 11.0.0 to 11.1.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v11.0.0...v11.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 13:27:12 +00:00
mark
e1170b8a95 Update minimum version requirement
Depends on Hugo #11510
2023-11-03 11:16:58 +01:00
mark
400ef7d2c5 Update minimum version requirement
Depends on Hugo #11510
2023-11-03 10:41:30 +01:00
Mark Dumay
02fec2c512 Merge pull request #602 from gethinode/develop
Fix KaTeX script in production environment
2023-11-03 07:39:35 +01:00
Mark Dumay
8f4ec5e8d6 Merge branch 'main' into develop 2023-11-03 07:28:07 +01:00
mark
e16e10a8e8 Fix KaTeX script in production environment
Adjust js minification settings to keep variable names.
The built in minifier causes a reference error to an
undefined variable name.
2023-11-03 07:27:34 +01:00
Mark Dumay
15764b7642 Merge pull request #601 from gethinode/develop
Add callout nav
2023-11-03 06:53:26 +01:00
Mark Dumay
a4247c6c6a Merge branch 'main' into develop 2023-11-03 06:12:28 +01:00
mark
1fcfc7c874 Fix linting issues 2023-11-03 06:11:40 +01:00
mark
0a885188a8 Add callout nav 2023-11-03 06:06:30 +01:00
github-actions[bot]
213a78c864 Merge pull request #600 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.116.3
Bump hugo-bin from 0.116.2 to 0.116.3
2023-11-02 13:27:16 +00:00
dependabot[bot]
767d0d0efe Bump hugo-bin from 0.116.2 to 0.116.3
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.116.2 to 0.116.3.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.116.2...v0.116.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-02 13:20:38 +00:00
github-actions[bot]
51ac0e4c33 Merge pull request #599 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.116.2
Bump hugo-bin from 0.116.1 to 0.116.2
2023-11-01 13:14:45 +00:00
dependabot[bot]
f3d1f2a84b Bump hugo-bin from 0.116.1 to 0.116.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.116.1 to 0.116.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.116.1...v0.116.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 13:07:10 +00:00
Mark Dumay
856fcdd9f2 Merge pull request #597 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-11-01 10:32:37 +01:00
markdumay
3aaef99bb3 fix: update Hugo module dependencies 2023-11-01 03:16:35 +00:00
Mark Dumay
fed96e723f Merge pull request #596 from gethinode/develop
Make section menu responsive
2023-10-31 14:19:17 +01:00
mark
58ba3c1838 Add breadcrumb to tags page 2023-10-31 14:01:47 +01:00
mark
d6b233da3e Align padding 2023-10-31 13:46:46 +01:00
Mark Dumay
8bf7668cc5 Merge branch 'main' into develop 2023-10-31 12:43:41 +01:00
mark
632badddb5 Make section menu responsive 2023-10-31 12:42:58 +01:00
Mark Dumay
c2e1cd370a Merge pull request #595 from gethinode/develop
Address Hugo v0.120.0 deprecation warnings
2023-10-31 11:39:32 +01:00
mark
4ac787bef0 Adapt IsServer check revised in hugo v0.120.0 2023-10-31 11:00:01 +01:00
mark
678b9502ff Adapt new Google Analytics ID config 2023-10-31 10:54:51 +01:00
mark
e2222be7b8 Bump dependencies 2023-10-31 10:53:59 +01:00
Mark Dumay
4c5c2eef73 Merge pull request #594 from gethinode/main
Sync with main
2023-10-31 07:37:59 +01:00
Mark Dumay
064baae07d Merge pull request #593 from gethinode/list
Bump package release
2023-10-30 20:06:13 +01:00
Mark Dumay
a3a0f0fe6c Merge branch 'main' into list 2023-10-30 18:59:27 +01:00
mark
c5dd3c39d9 Bump package release 2023-10-30 18:58:46 +01:00
Mark Dumay
7bb0853525 Merge pull request #592 from gethinode/list
Support layout types for list pages
2023-10-30 18:56:34 +01:00
Mark Dumay
25928bf38a Merge branch 'main' into list 2023-10-30 17:00:47 +01:00
Mark Dumay
09e516db93 Merge pull request #591 from gethinode/develop
Fix section title and modal search
2023-10-30 17:00:17 +01:00
mark
0bf26224df Support layout types for list pages 2023-10-30 16:59:42 +01:00
mark
347704fc8e Remove obsolete debugging statement 2023-10-30 16:58:05 +01:00
Mark Dumay
829795f3fe Merge branch 'main' into develop 2023-10-30 16:42:50 +01:00
mark
5f25b5458e Fix section title of current page 2023-10-30 16:41:40 +01:00
mark
d3e80198a8 Fix purge settings of modal search 2023-10-30 15:31:13 +01:00
Mark Dumay
5afb2936b8 Merge pull request #590 from gethinode/develop
Add horizontal navigation styling parameters
2023-10-30 14:40:59 +01:00
Mark Dumay
2da3f2a2b8 Merge branch 'main' into develop 2023-10-30 14:32:09 +01:00
mark
acebdc610f Bump package release 2023-10-30 14:31:30 +01:00
mark
490df18d60 Add horizontal navigation styling parameters 2023-10-30 14:31:08 +01:00
Mark Dumay
9f963bdd2d Merge pull request #589 from gethinode/develop
Fix thumbnail titles and sidebar toggler positioning
2023-10-30 13:26:57 +01:00
Mark Dumay
104d19e203 Merge branch 'main' into develop 2023-10-30 13:16:56 +01:00
mark
261981ca23 Bump package release 2023-10-30 13:15:26 +01:00
mark
1acc469ba2 Fix thumbnail title 2023-10-30 13:14:51 +01:00
mark
64287d42b8 Fix positioning of sidebar toggler 2023-10-30 11:40:10 +01:00
Mark Dumay
bcf22f193c Merge pull request #588 from gethinode/develop
Fix alignment of featured image in full cover mode
2023-10-30 11:22:58 +01:00
mark
6272f08d3a Fix typo 2023-10-30 11:15:23 +01:00
Mark Dumay
14cf7a3f6f Merge branch 'main' into develop 2023-10-30 11:08:56 +01:00
mark
51a92ecbe7 Update build stats 2023-10-30 11:08:26 +01:00
mark
567235ff3c Fix alignment of featured image in full cover mode 2023-10-30 11:08:01 +01:00
Mark Dumay
3a7f30474d Merge pull request #587 from gethinode/develop
Support lazy loading of images
2023-10-30 11:06:16 +01:00
Mark Dumay
2f8a7c412e Merge branch 'main' into develop 2023-10-30 10:55:41 +01:00
mark
f338da681b Support lazy loading of images 2023-10-30 10:52:08 +01:00
Mark Dumay
80a2a2da3b Merge pull request #586 from gethinode/develop
Fix positioning of footer in list pages
2023-10-30 09:27:25 +01:00
Mark Dumay
1b660ebd80 Merge branch 'main' into develop 2023-10-30 09:11:55 +01:00
mark
43b9854190 Fix positioning of footer in list pages 2023-10-30 09:11:01 +01:00
Mark Dumay
3779237f6a Merge pull request #585 from gethinode/develop
Add support for horizontal navbar
2023-10-29 15:49:22 +01:00
Mark Dumay
e94d9b3b1a Merge branch 'main' into develop 2023-10-29 15:06:10 +01:00
mark
8ec4bcfa5e Add support for horizontal navbar 2023-10-29 15:05:42 +01:00
Mark Dumay
962835fc80 Merge pull request #584 from gethinode/develop
Fix search background placeholder
2023-10-29 14:20:04 +01:00
Mark Dumay
cdd7e63e46 Merge branch 'main' into develop 2023-10-29 14:10:25 +01:00
mark
1ae4678cdb Bump package release 2023-10-23 18:36:56 +02:00
mark
ec6dcbe049 Fix search background placeholder 2023-10-23 18:36:34 +02:00
Mark Dumay
58e609c6f3 Merge pull request #581 from gethinode/develop
Improve modal search
2023-10-23 18:08:01 +02:00
Mark Dumay
128e52266f Merge branch 'main' into develop 2023-10-23 17:46:56 +02:00
github-actions[bot]
576e50822f Merge pull request #582 from gethinode/dependabot/npm_and_yarn/eslint-8.52.0
Bump eslint from 8.51.0 to 8.52.0
2023-10-23 13:49:16 +00:00
dependabot[bot]
5ff61d44d7 Bump eslint from 8.51.0 to 8.52.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.51.0 to 8.52.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.51.0...v8.52.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-23 13:41:48 +00:00
github-actions[bot]
7b1b2ecb42 Merge pull request #583 from gethinode/dependabot/npm_and_yarn/eslint-plugin-import-2.29.0
Bump eslint-plugin-import from 2.28.1 to 2.29.0
2023-10-23 13:40:43 +00:00
dependabot[bot]
70b09a5265 Bump eslint-plugin-import from 2.28.1 to 2.29.0
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.28.1 to 2.29.0.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.28.1...v2.29.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 13:33:16 +00:00
Mark Dumay
54ec23c85a Merge branch 'main' into develop 2023-10-23 13:44:21 +02:00
mark
d97b88bcdd Bump package release 2023-10-23 13:43:50 +02:00
mark
6f5c7626c8 Improve modal search 2023-10-23 13:43:12 +02:00
Mark Dumay
0e1525ca7f Merge pull request #580 from gethinode/develop
Refactor image partial
2023-10-23 11:45:43 +02:00
Mark Dumay
f6b520fb30 Merge branch 'main' into develop 2023-10-23 11:35:41 +02:00
mark
a1849663cf Refactor image partial 2023-10-23 11:35:12 +02:00
Mark Dumay
d4d0b075ed Merge pull request #579 from gethinode/develop
Fix accessibility of featured thumbnail
2023-10-23 11:34:52 +02:00
Mark Dumay
e90bb990e8 Merge branch 'main' into develop 2023-10-23 11:25:53 +02:00
mark
a9808cab34 Fix accessibility of featured thumbnail 2023-10-23 11:25:06 +02:00
Mark Dumay
a40bb78a07 Merge pull request #578 from gethinode/develop
Improve brand logo accessibility
2023-10-23 11:24:10 +02:00
Mark Dumay
8111ee0c76 Merge branch 'main' into develop 2023-10-23 11:16:04 +02:00
Mark Dumay
7191b57318 Merge pull request #577 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-10-23 11:15:41 +02:00
mark
f44670d2ca Improve brand logo accessibility 2023-10-23 11:14:52 +02:00
markdumay
9671f0c2eb fix: update Hugo module dependencies 2023-10-23 03:16:26 +00:00
Mark Dumay
6ad6eef347 Merge pull request #576 from gethinode/develop
Fix buttons
2023-10-22 15:27:55 +02:00
Mark Dumay
43ed4d411e Merge branch 'main' into develop 2023-10-22 15:20:11 +02:00
mark
7c8d5453cc Update dependencies 2023-10-22 15:19:24 +02:00
mark
f4a40367f6 Fix close button image 2023-10-22 15:19:12 +02:00
mark
e786ef279a Fix close button aria labels 2023-10-22 14:39:24 +02:00
mark
a6684e1bb5 Fix close button aria label 2023-10-22 14:28:51 +02:00
Mark Dumay
4fbe389245 Merge pull request #575 from gethinode/develop
Improve layout
2023-10-22 13:42:32 +02:00
Mark Dumay
04b0af5d58 Merge branch 'main' into develop 2023-10-22 12:55:37 +02:00
mark
7f797af3eb Sort actions by weight 2023-10-22 12:52:33 +02:00
mark
4a3a0fb0bb Fix gap between CTA buttons 2023-10-22 12:39:33 +02:00
mark
f9e9eec611 Fix vertical centering of button icon 2023-10-22 12:38:10 +02:00
mark
cb71742a91 Fix spacing between button rows 2023-10-22 12:32:13 +02:00
mark
638c7054d0 Bump package release 2023-10-22 08:43:14 +02:00
mark
fb21633f8c Fix support of floating numbers 2023-10-22 08:42:45 +02:00
mark
9bb7cf1825 Set dimensions of vector image in light/dark mode 2023-10-22 08:42:18 +02:00
Mark Dumay
e00ad4498b Merge pull request #574 from gethinode/develop
Fix section menu initialization
2023-10-21 15:14:40 +02:00
Mark Dumay
a0f7e62616 Merge branch 'main' into develop 2023-10-21 14:56:17 +02:00
mark
11653015ab Fix section menu initialization 2023-10-21 14:55:38 +02:00
mark
e6a37cab0f Fix typos 2023-10-21 14:53:39 +02:00
Mark Dumay
7fcc6713a4 Merge pull request #573 from gethinode/develop
Fix alignment of 404 message
2023-10-21 08:19:52 +02:00
Mark Dumay
5694938b81 Merge branch 'main' into develop 2023-10-21 07:53:05 +02:00
mark
b6d3c17a87 Bump package release 2023-10-21 07:52:33 +02:00
mark
40ba175409 Fix alignment of 404 message 2023-10-21 07:51:37 +02:00
Mark Dumay
bcc98d507b Merge pull request #571 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-10-21 06:16:48 +02:00
Mark Dumay
ce1c32c930 Merge branch 'main' into hugo-mod-dependencies 2023-10-21 05:58:14 +02:00
Mark Dumay
08d462f698 Merge pull request #572 from gethinode/develop
Refine base layout
2023-10-21 05:57:20 +02:00
Mark Dumay
d32e615837 Merge branch 'main' into develop 2023-10-21 05:49:58 +02:00
mark
83368cdf3a Bump package version 2023-10-21 05:49:14 +02:00
mark
45525a6e3c Set explicit default values 2023-10-21 05:48:33 +02:00
mark
75a082c8df Update build stats 2023-10-21 05:48:24 +02:00
mark
d3d4d99fe4 Set explicit default values 2023-10-21 05:48:19 +02:00
mark
f05764d4a8 Update build stats 2023-10-21 05:48:08 +02:00
mark
a7822fcd55 Refine base layout 2023-10-21 05:48:00 +02:00
mark
f0a0d2022a Enable wrapper for button 2023-10-20 14:53:13 +02:00
markdumay
2ccc85926e fix: update Hugo module dependencies 2023-10-20 03:15:48 +00:00
Mark Dumay
b9699ab8bc Merge pull request #570 from gethinode/develop
Support content view templates for single pages
2023-10-18 15:20:09 +02:00
Mark Dumay
02ca7271fc Merge branch 'main' into develop 2023-10-18 15:09:50 +02:00
mark
9dbe4bc8a1 Support content view templates for single pages 2023-10-18 15:09:14 +02:00
Mark Dumay
2ca20096a0 Merge pull request #569 from gethinode/develop
Use redirect for more button when applicable
2023-10-18 13:35:29 +02:00
Mark Dumay
1d7e8e3adb Merge branch 'main' into develop 2023-10-18 13:18:13 +02:00
mark
88c897e09c Use redirect for more button when applicable 2023-10-18 13:17:28 +02:00
Mark Dumay
f1a1ec128f Merge pull request #568 from gethinode/develop
Refactor link partial and shortcode
2023-10-18 13:15:05 +02:00
Mark Dumay
b0bc03f251 Merge branch 'main' into develop 2023-10-18 13:08:35 +02:00
mark
0f57e9ad1d Bump package release 2023-10-18 13:07:39 +02:00
mark
8b27c8986b Refactor link partial and shortcode 2023-10-18 13:06:57 +02:00
mark
1210117922 Standardize padding 2023-10-18 13:00:49 +02:00
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
Mark Dumay
b4f7163913 Merge pull request #518 from gethinode/develop
Bump package version
2023-09-07 06:39:09 +02:00
Mark Dumay
6ef4738619 Merge branch 'main' into develop 2023-09-07 06:28:24 +02:00
mark
333e4c3e07 Bump package version 2023-09-07 06:27:53 +02:00
Mark Dumay
705900dd27 Merge pull request #517 from gethinode/develop
Add Netlify plugins
2023-09-06 16:28:59 +02:00
Mark Dumay
363b6293af Merge branch 'main' into develop 2023-09-06 16:12:53 +02:00
mark
97ef22d3fb Bump package version 2023-09-06 16:10:12 +02:00
mark
f7fa573347 Configure plugins 2023-09-06 16:09:36 +02:00
Mark Dumay
971b61fe8a Merge pull request #516 from gethinode/develop
Fix base settings
2023-09-06 10:36:39 +02:00
mark
303a611913 Restore base settings 2023-09-06 10:28:34 +02:00
Mark Dumay
066a9f1722 Merge pull request #515 from gethinode/main
Sync with main
2023-09-06 10:27:23 +02:00
Mark Dumay
ac5cddf448 Merge pull request #512 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-06 10:15:39 +02:00
Mark Dumay
d6bea30b24 Merge branch 'main' into hugo-mod-dependencies 2023-09-06 08:09:48 +02:00
Mark Dumay
ac05154eec Merge pull request #514 from markdumay/dart
Add support for Dart Sass
2023-09-06 08:08:56 +02:00
Mark Dumay
ff579b0cfc Merge branch 'main' into dart 2023-09-06 07:43:30 +02:00
Mark Dumay
13ede1b2a4 Add Dart Sass installation 2023-09-06 07:42:50 +02:00
Mark Dumay
51c7706af2 Add Dart Installation 2023-09-06 07:41:39 +02:00
Mark Dumay
5a3c2c298b Merge branch 'main' into dart 2023-09-06 07:25:17 +02:00
mark
608e8609c6 Fix linting issues 2023-09-06 07:21:08 +02:00
mark
60edf6d444 Optimize stylesheet processing 2023-09-06 07:16:50 +02:00
mark
28c79f30a2 Address Dart Sass warnings and variable handling 2023-09-06 07:15:03 +02:00
mark
89fcd7413f Update dependencies 2023-09-06 07:11:20 +02:00
markdumay
5741027a54 fix: update Hugo module dependencies 2023-09-06 03:15:29 +00:00
github-actions[bot]
6598ca5335 Merge pull request #509 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-11.0.0
Bump stylelint-config-standard-scss from 10.0.0 to 11.0.0
2023-09-04 13:19:24 +00:00
dependabot[bot]
5024bac01e Bump stylelint-config-standard-scss from 10.0.0 to 11.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 10.0.0 to 11.0.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v10.0.0...v11.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:14:00 +00:00
mark
499a481baa Set default transpiler 2023-09-03 13:05:17 +02:00
mark
7d4ab6ff58 Support configurable transpiler 2023-09-03 13:02:47 +02:00
mark
9c93d5e336 Adjust package version 2023-09-03 09:00:57 +02:00
mark
19af20457e Add dart-sass installation to build command 2023-09-03 08:49:22 +02:00
mark
1cdc165b1c Update base URL 2023-09-03 08:40:30 +02:00
Mark Dumay
ede8fe8066 Merge pull request #507 from gethinode/develop
Fix issues with table and link
2023-09-02 16:26:15 +02:00
mark
51046d9646 Bump package version 2023-09-02 15:44:31 +02:00
mark
f2fd933f50 Update build stats 2023-09-02 15:43:08 +02:00
mark
8d16d50171 Increase min required version of Hugo 2023-09-02 15:42:49 +02:00
mark
3e3e2486ee Remove workaround for incorrect raw content 2023-09-02 15:42:17 +02:00
Mark Dumay
780707d821 Merge branch 'main' into develop 2023-09-02 15:31:43 +02:00
mark
8ac0f752ba Fix class init of link shortcode 2023-09-02 09:36:54 +02:00
mark
180641a72b Refine table colors in dark mode 2023-09-02 09:06:07 +02:00
Mark Dumay
75126f27ed Merge pull request #503 from gethinode/develop
Improve cards and card-group
2023-09-01 16:40:46 +02:00
Mark Dumay
df683a3022 Merge branch 'main' into develop 2023-09-01 16:27:17 +02:00
mark
61373259e9 Bump package version 2023-09-01 16:26:19 +02:00
mark
481dffd8b6 Update build stats 2023-09-01 16:26:08 +02:00
mark
80a957d261 Refine project cards layout 2023-09-01 16:26:01 +02:00
mark
9df3b0f163 Adjust card-group gutter 2023-09-01 16:25:34 +02:00
mark
284cc53308 Add card-body-margin to example section config 2023-09-01 16:12:20 +02:00
mark
4c7075fdb8 Improve handling of inner content 2023-09-01 16:08:21 +02:00
mark
5d5a21ca4e Add gutter support 2023-09-01 16:07:24 +02:00
mark
9e6f14ed47 Add wrapper example 2023-09-01 16:07:05 +02:00
mark
c61c770c3e Document wrapper example value 2023-09-01 14:45:38 +02:00
mark
9595892444 Add gutter argument 2023-09-01 14:45:10 +02:00
mark
8c7867e14a Document cols arg 2023-09-01 14:44:26 +02:00
mark
a58b0dae6b Refine default wrapper value 2023-09-01 14:44:06 +02:00
mark
4385ef9f87 Add configurable gutter 2023-09-01 14:43:20 +02:00
mark
8f9ed014f2 Add bottom margin adjustment 2023-09-01 14:38:45 +02:00
mark
2f0ce05789 Refactor cols init 2023-09-01 13:17:18 +02:00
mark
6d700e6819 Adjust gutter behavior 2023-09-01 13:16:44 +02:00
mark
46c5ec3b44 Document auto-behavior 2023-09-01 13:16:08 +02:00
mark
de8d450a05 Add responsive argument 2023-09-01 13:05:28 +02:00
Mark Dumay
56f74e03ba Merge pull request #502 from aefly/french-translation
Update 'bootstrap-elements.md' with latest hinode version
2023-09-01 12:33:51 +02:00
aefly
0ce037675b Fix exemple - > example 2023-09-01 03:51:56 +02:00
aefly
aa472e6ffa Update 'bootstap-elements.md' with latest hinode version 2023-09-01 03:48:03 +02:00
github-actions[bot]
f05b45af02 Merge pull request #500 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.114.2
Bump hugo-bin from 0.113.0 to 0.114.2
2023-08-31 14:06:54 +00:00
dependabot[bot]
69b4f6a4ca Bump hugo-bin from 0.113.0 to 0.114.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.113.0 to 0.114.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.113.0...v0.114.2)

---
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-08-31 14:01:00 +00:00
Mark Dumay
484d540ecb Merge pull request #499 from gethinode/develop
Improve cards
2023-08-31 14:41:27 +02:00
Mark Dumay
bb542efaa8 Merge branch 'main' into develop 2023-08-31 14:27:36 +02:00
Mark Dumay
49ac691b3e Merge pull request #498 from gethinode/develop
Improve argument handling
2023-08-31 14:25:41 +02:00
mark
95d757f826 Discard empty title 2023-08-31 14:24:27 +02:00
mark
c1fc156d75 Remove bottom margin 2023-08-31 14:24:03 +02:00
mark
35a5a25150 Add wrapper arg 2023-08-31 14:23:20 +02:00
Mark Dumay
9547ba316e Merge branch 'main' into develop 2023-08-31 13:35:41 +02:00
mark
0d48dec518 Improve initialization of default value 2023-08-31 13:34:23 +02:00
mark
f4852a4bdb Fix arg handling 2023-08-31 13:32:01 +02:00
mark
a7d515e76a Improve handling of nil args 2023-08-31 12:48:42 +02:00
Mark Dumay
37f6acc984 Merge pull request #497 from gethinode/develop
Improve contrast for accented tables
2023-08-31 12:14:56 +02:00
Mark Dumay
c87bd75334 Merge branch 'main' into develop 2023-08-31 11:56:20 +02:00
mark
77ffbb49a7 Improve contrast for accented tables 2023-08-31 11:55:51 +02:00
Mark Dumay
64533e5dbc Merge pull request #494 from aefly/french-translation
Add French slugs
2023-08-31 11:35:14 +02:00
Mark Dumay
d42b980496 Merge branch 'main' into french-translation 2023-08-31 11:25:50 +02:00
Mark Dumay
2b84def4d8 Merge pull request #496 from gethinode/develop
Fix #495
2023-08-31 11:24:37 +02:00
Mark Dumay
7ba75a04ad Merge branch 'main' into develop 2023-08-31 11:14:21 +02:00
mark
98b88a74ae Fix #495 2023-08-31 11:13:52 +02:00
aefly
31d98ef263 Merge branch 'gethinode:main' into french-translation 2023-08-31 10:09:58 +02:00
aefly
3f34ae2ab0 Add 'composents' slug 2023-08-31 10:07:02 +02:00
aefly
d8b52d8772 Add 'elements-bootstrap' slug 2023-08-31 10:06:39 +02:00
Mark Dumay
103fa52511 Merge pull request #492 from gethinode/develop
Bump package version
2023-08-31 07:31:06 +02:00
mark
cdb0a8e685 Bump package version 2023-08-31 07:20:51 +02:00
mark
6b217d6c02 Update build stats 2023-08-31 07:20:29 +02:00
Mark Dumay
490b0a32b2 Merge pull request #491 from gethinode/main
Sync with main
2023-08-31 07:17:49 +02:00
Mark Dumay
c0684f4486 Merge pull request #490 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-08-31 07:10:49 +02:00
markdumay
988c8dcb08 fix: update Hugo module dependencies 2023-08-31 05:02:09 +00:00
Mark Dumay
a1251de4e8 Merge pull request #489 from gethinode/main
Sync with main
2023-08-31 06:26:50 +02:00
Mark Dumay
a64e4f1d0d Merge pull request #455 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-08-31 06:19:54 +02:00
markdumay
72f13a2b66 fix: update Hugo module dependencies 2023-08-31 04:14:03 +00:00
Mark Dumay
a587119310 Merge pull request #488 from aefly/french-translation
Update French Translation
2023-08-31 05:13:38 +02:00
aefly
12e29f944a Update 'components.md' 2023-08-30 22:25:12 +02:00
aefly
19861ce3d4 Update 'bootstrap-elements.md' 2023-08-30 22:21:56 +02:00
aefly
d8647e4f16 Merge branch 'french-translation' of https://github.com/aefly/hinode into french-translation 2023-08-30 22:10:25 +02:00
aefly
60e9abecfe Update 'components.md'
Added 'slug' for French Translation.
2023-08-30 22:10:14 +02:00
aefly
1b45d2b564 Update 'bootstrap-elements.md'
Updated /fr/about to /en/about to illustrate the cross-language links. Added 'slug' for French Translation.
2023-08-30 22:09:35 +02:00
Mark Dumay
25d62a4755 Merge pull request #485 from gethinode/main
Sync with main
2023-08-30 13:58:15 +02:00
146 changed files with 6070 additions and 7386 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 }}
@@ -58,6 +58,17 @@ jobs:
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install Dart Sass
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo snap install dart-sass
elif [ "$RUNNER_OS" == "macOS" ]; then
brew install sass/sass/sass
elif [ "$RUNNER_OS" == "Windows" ]; then
choco install sass
fi
shell: bash
# [24/AUG/23] Adjusted from npm ci for non-macOS to prevent EBADPLATFORM error due to fsevents
- name: Perform clean install of npm
run: |

View File

@@ -3,5 +3,6 @@ assets/scss/components/_syntax-dark.scss
assets/scss/components/_syntax-light.scss
assets/scss/vendor
assets/scss/theme/fonts.scss
assets/scss/app-dart.scss
assets/scss/app.scss
node_modules

View File

@@ -9,32 +9,32 @@
<!-- Badges -->
<p align="center">
<a href="https://gohugo.io" alt="Hugo website">
<img src="https://img.shields.io/badge/generator-hugo-brightgreen">
<a href="https://gohugo.io">
<img src="https://img.shields.io/badge/generator-hugo-brightgreen" alt="Hugo website">
</a>
<a href="https://gethinode.com" alt="Hinode theme">
<img src="https://img.shields.io/badge/theme-hinode-blue">
<a href="https://gethinode.com">
<img src="https://img.shields.io/badge/theme-hinode-blue" alt="Hinode theme">
</a>
<a href="https://www.npmjs.com/package/%40gethinode/hinode" alt="npm package">
<img src="https://img.shields.io/npm/v/%40gethinode/hinode">
<a href="https://www.npmjs.com/package/%40gethinode/hinode">
<img src="https://img.shields.io/npm/v/%40gethinode/hinode" alt="npm package">
</a>
<a href="https://app.netlify.com/sites/gethinode-demo/deploys" alt="Netlify Status">
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67">
<a href="https://app.netlify.com/sites/gethinode-demo/deploys">
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67" alt="Netlify Status">
</a>
<a href="https://stats.uptimerobot.com/xyGVYhLJmV" alt="UptimeRobot Status">
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb">
<a href="https://stats.uptimerobot.com/xyGVYhLJmV">
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb" alt="UptimeRobot Status">
</a>
<a href="https://github.com/gethinode/hinode/commits/main" alt="Last commit">
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg">
<a href="https://github.com/gethinode/hinode/commits/main">
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg" alt="Last commit">
</a>
<a href="https://github.com/gethinode/hinode/issues" alt="Issues">
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg">
<a href="https://github.com/gethinode/hinode/issues">
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg" alt="Issues">
</a>
<a href="https://github.com/gethinode/hinode/pulls" alt="Pulls">
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg">
<a href="https://github.com/gethinode/hinode/pulls">
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg" alt="Pulls">
</a>
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE" alt="License">
<img src="https://img.shields.io/github/license/gethinode/hinode">
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/gethinode/hinode" alt="License">
</a>
</p>

View File

@@ -11,8 +11,8 @@
{{- end -}}
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
{{- if (and (not .Site.IsServer) (not $pc.Disable)) -}}
{{ with .Site.GoogleAnalytics -}}
{{- if (and (not hugo.IsServer) (not $pc.Disable)) -}}
{{ with .Site.Config.Services.GoogleAnalytics.ID -}}
{{ if hasPrefix . "G-"}}
{{ template "__ga_js_set_doNotTrack" $ }}

59
assets/scss/app-dart.scss Normal file
View File

@@ -0,0 +1,59 @@
@use "sass:meta";
// Define template variables
@use "hugo:vars" as h; // note: modified for dart-sass
// Include default variable overrides
@import "common/variables-dart.scss"; // note: modified for dart-sass
@import "theme/variables.scss";
@import "common/icons.scss";
// Import Bootstrap configuration (mounted by core Bootstrap module)
@import "bootstrap-dart.scss"; // note: modified for dart-sass
// Include dark mode overrides
@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";
@import "components/button.scss";
@import "components/card.scss";
@import "components/carousel.scss";
@import "components/clipboard.scss";
@import "components/command.scss";
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/nav.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";
@import "components/persona.scss";
@import "components/popover.scss";
@import "components/sidebar.scss";
@import "components/syntax-dart.scss"; // note: modified for dart-sass
@import "components/table.scss";
@import "components/timeline.scss";
@import "components/toc.scss";
@import "components/video.scss";
@import "common/animation.scss";
@import "common/styles.scss";
@import "layouts/reboot.scss";
@import "layouts/type.scss";
@import "common/export.scss";
@import "helpers/colored-links.scss";
@import "helpers/display.scss";
// note: modified for dart-sass
@if h.$import-fonts {
@include meta.load-css(theme/fonts);
}
// Import theme placeholder
@import "theme/theme.scss";
// Import Bootstrap utilities API (mounted by core Bootstrap module)
@import "modules/bootstrap/utilities/api";

View File

@@ -3,6 +3,7 @@
// Include default variable overrides
@import "common/variables.scss";
@import "theme/variables.scss";
@import "common/icons.scss";
// Import Bootstrap configuration (mounted by core Bootstrap module)
@@ -12,10 +13,11 @@
@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";
@import "components/buttons.scss";
@import "components/button.scss";
@import "components/card.scss";
@import "components/carousel.scss";
@import "components/clipboard.scss";
@@ -23,6 +25,7 @@
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/nav.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";
@@ -30,9 +33,10 @@
@import "components/popover.scss";
@import "components/sidebar.scss";
@import "components/syntax.scss";
@import "components/table.scss";
@import "components/timeline.scss";
@import "components/toc.scss";
@import "components/vimeo.scss";
@import "components/video.scss";
@import "common/animation.scss";
@import "common/styles.scss";
@import "layouts/reboot.scss";

View File

@@ -15,6 +15,34 @@ a:active {
min-height: 100vh;
}
.fullcover {
--navbar-height: #{$navbar-height};
min-height: calc(100vh - var(--navbar-height));
}
.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

@@ -0,0 +1,47 @@
// Bootstrap variables overrides for theme
$enable-negative-margins: true;
$enable-important-utilities: true !default;
// Remove the border from the focused navigation toggler
$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;
$font-weight-normal: 300 !default;
$font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default;
strong {
font-weight: 600 if($enable-important-utilities, !important, null);
}
$navbar-height: h.$navbar-height;
$navbar-offset: h.$navbar-offset;
$primary: h.$primary;
$secondary: h.$secondary;
$success: h.$success;
$info: h.$info;
$warning: h.$warning;
$danger: h.$danger;
$light: h.$light;
$dark: h.$dark;
$black: #000 !default;
$btn-toggle-color: $black !default;
$carousel-dark-indicator-active-bg: #fff !default;
$carousel-dark-caption-color: #fff !default;
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
$primary-text-emphasis-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
$secondary-text-emphasis-dark: mix(white, h.$secondary, h.$dark-mode-tint) !default;
$link-color-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
$primary-bg-subtle-dark: mix(black, h.$primary, h.$dark-mode-shade) !default;
$primary-border-subtle-dark: mix(black, h.$primary, calc(h.$dark-mode-shade / 2)) !default;
$dropdown-transition: opacity .15s ease-in-out !default;
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
$dropdown-horizontal-padding-y: calc(1rem + 2px);

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;
@@ -22,8 +23,8 @@ strong {
$black: #000 !default;
$btn-toggle-color: $black !default;
$carousel-dark-indicator-active-bg: #ffffff !default;
$carousel-dark-caption-color: #ffffff !default;
$carousel-dark-indicator-active-bg: #fff !default;
$carousel-dark-caption-color: #fff !default;
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
// scss-docs-start color-mode
@@ -33,3 +34,9 @@ $link-color-dark: mix(white, $primary, $dark-mode-tint) !defau
$primary-bg-subtle-dark: mix(black, $primary, $dark-mode-shade) !default;
$primary-border-subtle-dark: mix(black, $primary, $dark-mode-shade / 2) !default;
// scss-docs-end color-mode
// scss-docs-start horizontal-nav
$dropdown-transition: opacity .15s ease-in-out !default;
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
$dropdown-horizontal-padding-y: calc(1rem + 2px);
// scss-docs-end horizontal-nav

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

@@ -28,3 +28,16 @@
background-color: transparent;
color: var(--bs-primary) if($enable-important-utilities, !important, null);
}
a.btn {
margin-top: $spacer * .25;
margin-bottom: $spacer * .25;
}
.btn-close {
background-color: transparent if($enable-important-utilities, !important, null);
background-image: var(--#{$prefix}btn-close-bg) if($enable-important-utilities, !important, null);
background-position: center if($enable-important-utilities, !important, null);
background-repeat: no-repeat if($enable-important-utilities, !important, null);
background-size: $btn-close-width if($enable-important-utilities, !important, null);
}

View File

@@ -15,6 +15,10 @@
width: 100%;
}
.card-icon {
color: $secondary;
}
.card-zoom::after .card-img-wrap img {
content: "";
position: absolute;
@@ -48,6 +52,10 @@
color: $body-color if($enable-important-utilities, !important, null);
}
.card-body-margin {
margin-bottom: $spacer * 1.5; // equals mb-4
}
@if $enable-dark-mode {
@include color-mode(dark) {
.card-body-link {

View File

@@ -14,3 +14,8 @@
height: 100%;
object-fit: cover;
}
.mirrorred {
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
}

View File

@@ -0,0 +1,103 @@
.nav-tabs > .nav-link.active {
border-bottom-color: var(--bs-body-bg) !important;
border-bottom-style: solid !important;
z-index: 1;
}
.nav-callout {
--#{$prefix}nav-callout-bg: var(--#{$prefix}light);
--#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle);
--#{$prefix}nav-callout-gap: #{$nav-underline-gap};
column-gap: var(--#{$prefix}nav-callout-gap) !important;
}
.nav-callout > .tab-content {
background-color: var(--#{$prefix}nav-callout-bg);
padding: 2 * $spacer;
margin-top: 0 !important;
}
.nav-callout > .nav-link {
display: flex;
text-align: start;
vertical-align: text-top;
border-radius: 0;
padding: 0 0 (4 * $spacer) 0;
border-bottom: none;
}
.nav-callout > .nav-link.active {
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-bg) 50%, transparent 0);
background-size: 50% (3 * $spacer);
background-repeat: no-repeat;
background-position: 50% bottom;
font-weight: 600;
color: var(--bs-nav-underline-link-active-color);
}
.nav-callout .accordion-button {
background-color: var(--#{$prefix}nav-callout-bg) !important;
border: solid;
border-color: var(--#{$prefix}border-color);
border-radius: var(--#{$prefix}accordion-inner-border-radius) !important;
margin-bottom: 0;
&:focus {
border-bottom: none !important;
box-shadow: none;
}
&:not(.collapsed) {
box-shadow: none;
}
}
.nav-callout > .accordion-item {
margin-top: 2 * $spacer;
margin-bottom: 2 * $spacer;
border: none;
}
.nav-callout .accordion-button[aria-expanded="false"] {
border-bottom: solid !important;
border-color: var(--#{$prefix}border-color) !important;
border-radius: var(--#{$prefix}accordion-inner-border-radius);
}
.nav-callout .accordion-button[aria-expanded="true"] {
border-color: var(--#{$prefix}border-color) !important;
border-bottom: none !important;
border-radius: var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius) 0 0 !important;
padding-bottom: 3 * $spacer;
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-active-bg) 50%, transparent 0);
background-size: 10% (2.5 * $spacer);
background-repeat: no-repeat;
background-position: 10% bottom;
}
.nav-callout .accordion-collapse {
background-color: var(--#{$prefix}nav-callout-active-bg) !important;
border-radius: 0 0 var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius);
border-top: none !important;
border-left: solid;
border-right: solid;
border-bottom: solid;
border-color: var(--#{$prefix}border-color);
}
@if $enable-dark-mode {
@include color-mode(dark) {
.nav-callout {
--#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg);
}
.nav-callout .accordion-button[aria-expanded="true"] {
background-image: linear-gradient(to top right, shade-color($primary, 70%) 50%, transparent 0);
}
.nav-callout .accordion-collapse {
background-color: shade-color($primary, 70%) !important;
}
}
}

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);
}
@@ -119,3 +119,73 @@
}
// stylelint-enable annotation-no-unknown
:root {
--dropdown-horizontal-bg: var(--#{$prefix}light);
}
@if $enable-dark-mode {
@include color-mode(dark) {
--dropdown-horizontal-bg: var(--#{$prefix}tertiary-bg);
}
}
.dropdown-horizontal {
@each $breakpoint in map-keys($grid-breakpoints) {
$next: breakpoint-next($breakpoint, $grid-breakpoints);
$infix: breakpoint-infix($next, $grid-breakpoints);
@include media-breakpoint-up($next) {
&#{$infix} {
position: static !important;
}
&#{$infix} > .dropdown-menu {
opacity: 0;
display: block;
visibility: hidden;
background-color: var(--dropdown-horizontal-bg) if($enable-important-utilities, !important, null);
width: 100%;
height: auto;
text-align: center;
border-radius: 0;
border: 0;
margin-top: $dropdown-horizontal-margin-top;
padding-top: $dropdown-horizontal-padding-y;
padding-bottom: $dropdown-horizontal-padding-y;
box-shadow: 0.125rem 0.25rem rgba(0, 0, 0, .075);
@include transition($dropdown-transition);
}
&#{$infix} > .dropdown-menu.show {
visibility: visible;
opacity: 1;
}
&#{$infix} > .dropdown-menu > li {
display: inline-block;
padding-left: $spacer;
padding-right: $spacer;
}
&#{$infix} > .dropdown-menu > li > a {
padding-left: .25 * $spacer;
padding-right: .25 * $spacer;
&.active,
&:hover,
&:focus {
color: var(--bs-body-color);
border-bottom: solid 1px var(--bs-navbar-hover-color);
margin-bottom: -1px;
background-color: transparent;
}
}
&#{$infix} > .nav-link.show {
background-color: var(--dropdown-horizontal-bg) if($enable-important-utilities, !important, null);
}
}
}
}

View File

@@ -0,0 +1,49 @@
// stylelint-disable annotation-no-unknown
@import "syntax-light";
.bg,
.chroma,
.chroma .err {
// set to transparent background to avoid rendering issues with example shortcode
background-color: transparent if($enable-important-utilities, !important, null);
}
.chroma {
display: flex;
}
.chroma code {
flex: 1;
}
.syntax-highlight {
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
overflow-x: auto;
}
@if $enable-dark-mode {
[data-bs-theme="dark"] {
@include meta.load-css(syntax-dark);
.bg,
.chroma,
.chroma .err {
// set to transparent background to avoid rendering issues with example shortcode
background-color: transparent if($enable-important-utilities, !important, null);
}
.syntax-highlight {
background-color: var(--bs-tertiary-bg) if($enable-important-utilities, !important, null);
overflow-x: auto;
}
.bg,
.chroma,
.chroma .ge,
.chroma .gl,
.chroma .gs {
color: #c9d1d9 if($enable-important-utilities, !important, null);
}
}
}
// stylelint-enable annotation-no-unknown

View File

@@ -0,0 +1,13 @@
@if $enable-dark-mode {
@include color-mode(dark) {
.table-striped, .table-striped-columns {
--bs-table-striped-bg: var(--bs-tertiary-bg);
--bs-table-striped-color: var(--bs-body-color);
}
.table-hover {
--bs-table-hover-bg: var(--bs-tertiary-bg);
--bs-table-striped-color: var(--bs-body-color);
}
}
}

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 {
@@ -90,3 +94,7 @@
}
}
}
.section-menu > .nav-link.active, .section-menu > .nav-link:hover {
color: var(--bs-primary);
}

View File

@@ -1,3 +1,19 @@
.youtube-embedded {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}
.youtube-embedded > iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border:0;
}
// Adapted from https://github.com/gohugoio/hugo/tpl/tplimpl/embedded/templates/shortcodes/vimeo_simple.html
.__h_video {
position: relative;

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

@@ -0,0 +1,2 @@
// Placeholder to quickly add your own theme variable overrides
// The file is included at the beginning of the build pipeline

View File

@@ -6,7 +6,6 @@ enableGitInfo = true
# toml-docs-end main
# additional settings
# googleAnalytics = "G-xxxxxxxxxx"
baseURL = "https://example.com/"
canonifyURLs = false
enableEmoji = true
@@ -73,6 +72,8 @@ home = ["HTML", "RSS", "REDIR"]
disableInlineCSS = true
[services.twitter]
disableInlineCSS = true
[services.googleAnalytics]
# ID = "G-xxxxxxxxxx"
[outputFormats]
[outputFormats.XML]
@@ -83,10 +84,16 @@ home = ["HTML", "RSS", "REDIR"]
permalinkable = false
name = "xml"
[minify]
[minify.tdewolff.js]
keepVarNames = true
precision = 0
version = 2022
[module]
[module.hugoVersion]
extended = true
min = "0.110.0"
min = "0.120.0"
max = ""
[[module.mounts]]
source = "archetypes"
@@ -97,6 +104,9 @@ home = ["HTML", "RSS", "REDIR"]
[[module.mounts]]
source = "content"
target = "content"
[[module.mounts]]
source = "data"
target = "data"
[[module.mounts]]
source = "i18n"
target = "i18n"
@@ -120,4 +130,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

@@ -6,17 +6,24 @@
modes = ["light", "dark"]
canonifyAssetsURLs = false
endorse = true
footerBelowFold = false
loading = "lazy"
breakpoint = "md"
[main.externalLinks]
cue = false
tab = false
[main.build]
transpiler = "libsass"
# toml-docs-end main
# 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
@@ -43,6 +50,11 @@
fullCover = false
centerHeadline = false
style = ""
[home.feature]
orientation = "horizontal"
color = "primary"
width = 4
align = "start"
# toml-docs-end home
# toml-docs-start navigation
@@ -51,8 +63,10 @@
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
offset = "3.8em"
horizontal = false
offset = "5.5rem"
search = true
searchModal = false
breadcrumb = true
toc = true
sidebar = true
@@ -116,7 +130,7 @@
# header = "full"
# footer = "none"
# orientation = "stacked"
# style = "border-0 card-zoom"
# style = "border-0 card-zoom card-body-margin"
# homepage = 3
# separator = true
# toml-docs-end sections
@@ -143,6 +157,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

@@ -14,11 +14,13 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
...whitelister([
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_command.scss',
'./assets/scss/components/_nav.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/components/_syntax-dark.scss',
'./assets/scss/components/_syntax-light.scss',
'./assets/scss/components/_table.scss',
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',
@@ -26,6 +28,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
'./_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/_modal.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',

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

@@ -5,7 +5,6 @@ paginate = 9
enableGitInfo = true
# additional settings
googleAnalytics = "G-T85PPZ36GN"
baseURL = "https://demo.gethinode.com/"
canonifyURLs = false
enableEmoji = true
@@ -63,6 +62,8 @@ home = ["HTML", "RSS", "REDIR"]
disableInlineCSS = true
[services.twitter]
disableInlineCSS = true
[services.googleAnalytics]
ID = "G-T85PPZ36GN"
[outputFormats]
[outputFormats.XML]
@@ -73,6 +74,12 @@ home = ["HTML", "RSS", "REDIR"]
permalinkable = false
name = "xml"
[minify]
[minify.tdewolff.js]
keepVarNames = true
precision = 0
version = 2022
[module]
replacements = 'github.com/gethinode/hinode -> ../..'
[[module.imports]]

View File

@@ -4,15 +4,22 @@
enableDarkMode = true
modes = ["light", "dark"]
canonifyAssetsURLs = false
footerBelowFold = false
loading = "lazy"
breakpoint = "md"
[main.externalLinks]
cue = true
tab = true
[main.build]
transpiler = "dartsass"
[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
@@ -34,14 +41,21 @@
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"
horizontal = false
offset = "5.5rem"
search = true
searchModal = false
breadcrumb = true
toc = true
sidebar = true
@@ -98,7 +112,7 @@
header = "full"
footer = "none"
orientation = "stacked"
style = "border-0 card-zoom"
style = "border-0 card-zoom card-body-margin"
homepage = 3
separator = true
[sections.projects]
@@ -113,7 +127,7 @@
padding = "3"
header = "none"
footer = "tags"
orientation = "horizontal"
orientation = "horizontal-sm"
style = "border-1 card-emphasize"
homepage = 3
separator = false

View File

@@ -0,0 +1,46 @@
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/_nav.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/components/_syntax-dark.scss',
'./assets/scss/components/_syntax-light.scss',
'./assets/scss/components/_table.scss',
'./assets/scss/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/_modal.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

@@ -135,7 +135,7 @@ As an example, the following shortcode displays a card group of three elements.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card-group padding="3" */>}}
{{</* card-group padding="3" gutter="3" */>}}
{{</* card title="Bootstrap framework" icon="fab bootstrap" */>}}
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source
Sass files.
@@ -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 -->
@@ -293,9 +294,9 @@ As an example, the following shortcodes render links in different formats.
- {{</* link url="projects/another-project" /*/>}}
- {{</* link url="/projects/another-project" /*/>}}
- {{</* link url="../projects/another-project" case=false /*/>}}
- {{</* link "/about/" /*/>}}
- {{</* link "/fr/about/" /*/>}}
- {{</* link "/fr/about" >}}About (French){{< /link */>}}
- {{</* link "about" /*/>}}
- {{</* link "/fr/a-propos/" /*/>}}
- {{</* link "/fr/a-propos" >}}About (French){{< /link */>}}
- {{</* link "#image" /*/>}}
- {{</* link "components/#map" /*/>}}

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,9 +1,10 @@
---
author: Mark Dumay
title: Fourth post
title: Fourth post (excluded from search)
date: 2023-01-01
description: This is my fourth blog post.
description: This is my fourth blog post. It is excluded from the search index.
tags: ["blog"]
searchExclude: true
thumbnail:
url: img/flowers.jpg
author: Arvee Marie

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

@@ -32,8 +32,3 @@ Les fonctionnalités supplémentaires incluent:
- 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.

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Éléments Bootstrap
slug: elements-bootstrap
date: 2023-08-12
description: Utilisez des shortcodes pour ajouter facilement des éléments Bootstrap courants.
tags: ["bootstrap", "shortcode"]
@@ -14,6 +15,16 @@ thumbnail:
Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap courants. Consultez la [documentation officielle]({{< param "links.hinode_docs" >}}) pour plus de détails.
## Abbr
À titre d'exemple, le shortcode suivant affiche le texte complet d'une abréviation lorsque survolé.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* abbr "CI/CD" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Accordéon
À titre d'exemple, le shortcode suivant affiche un accordéon avec trois éléments, dont le premier élément est déplié.
@@ -124,7 +135,7 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card-group padding="3" */>}}
{{</* card-group padding="3" gutter="3" */>}}
{{</* card title="Framework Bootstrap" icon="fab bootstrap" */>}}
Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site
avec les fichiers source Sass.
@@ -284,15 +295,25 @@ Utilisez le shortcode `file` pour afficher et mettre en évidence le contenu com
- {{</* link url="projects/another-project" /*/>}}
- {{</* link url="/projects/another-project" /*/>}}
- {{</* link url="../projects/another-project" case=false /*/>}}
- {{</* link "/about/" /*/>}}
- {{</* link "/fr/about/" /*/>}}
- {{</* link "/fr/about" >}}About (French){{< /link */>}}
- {{</* link "about" /*/>}}
- {{</* link "/en/about/" /*/>}}
- {{</* link "/en/about" >}}About (Anglais){{< /link */>}}
- {{</* link "#image" /*/>}}
- {{</* link "components/#map" /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Mark
Utilisez le shortcode `mark` pour mettre en évidence le texte. Le contenu interne est utilisé en tant qu'entrée.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
Utilisez le shortcode `mark` pour {{</* mark >}}mettre en évidence{{< /mark */>}} un texte spécifique.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Navigation
À titre d'exemple, le shortcode suivant affiche un groupe d'onglets avec des onglets alignés verticalement.
@@ -346,6 +367,26 @@ Chargement...
{{< /example>}}
<!-- markdownlint-enable MD037 -->
## Sub
À titre d'exemple, le shortcode suivant affiche du texte en indice.
<!-- markdownlint-disable MD037 -->
{{< example >}}
H{{</* sub 2 */>}}O est un liquide.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Sup
À titre d'exemple, le shortcode suivant affiche du texte en exposant.
<!-- markdownlint-disable MD037 -->
{{< example >}}
2{{</* sup 10 */>}} équivaut à 1024.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Chronologie
À titre d'exemple, le shortcode suivant affiche une chronologie avec le fichier `data/timeline-fr.yml` en tant que données.
@@ -363,11 +404,11 @@ Chargement...
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button toast="toast-example-1" */>}}
Affiche la notifiaction #1
Affiche la notification #1
{{</* /button */>}}
{{</* button toast="toast-example-2" */>}}
Affiche la notifiaction #1
Affiche la notification #1
{{</* /button */>}}
{{</* toast id="toast-example-1" header="Premier titre" */>}}

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Components
title: Composents
slug: composents
date: 2023-07-21
description: Utilisez des shortcodes pour ajouter des composants prédéfinis alimentés par des bibliothèques externes.
tags: ["bootstrap", "shortcode"]
@@ -10,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

@@ -3,9 +3,4 @@ module github.com/gethinode/hinode-test
go 1.19
require (
github.com/gethinode/mod-bootstrap v1.1.1 // indirect
github.com/gethinode/mod-flexsearch v1.4.0 // indirect
github.com/gethinode/mod-fontawesome v1.2.5 // indirect
github.com/gethinode/mod-katex v1.0.2 // indirect
github.com/gethinode/mod-leaflet v0.3.4 // indirect
)

View File

@@ -1,17 +1,65 @@
github.com/gethinode/mod-bootstrap v1.1.1 h1:Tx4M5hGVOFrEaxnUONDAm6N9xuRi5UphKlT7F26HujU=
github.com/gethinode/mod-bootstrap v1.1.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.0 h1:JkTcImU3qpi25WgKvUxUYiMoiXtrxrG+Wf/utRB5UbU=
github.com/gethinode/mod-bootstrap v1.2.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.1 h1:z54dgsbhShhlri+X77Z+yLrg0wz/f8C8ojA/wnlhsJc=
github.com/gethinode/mod-bootstrap v1.2.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.2 h1:Q8E04OKWr9owk7nhQ/NBukUgSFhsECxZsOLEaf5oeiQ=
github.com/gethinode/mod-bootstrap v1.2.2/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-flexsearch v1.2.0 h1:SSMpWzK9SMbi9QRYfil9PJZLLWWLHWzlTc69UxtSWAA=
github.com/gethinode/mod-flexsearch v1.2.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2J5oVeejrU=
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-flexsearch v1.6.0 h1:Rjx+GLOByFLmaWD9hZXwmuKN8A89te6BZAIq2c9QBKg=
github.com/gethinode/mod-flexsearch v1.6.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.7.0 h1:VFTf6iUyT9b47jTDAxh8nVHU1eUBrdxlykaC90lTfqk=
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-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=
github.com/gethinode/mod-fontawesome v1.2.5/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.0 h1:oudeDBlAKu8vqYxumWuq5SG5F5itm33NgTrBLgvPulQ=
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-fontawesome v1.5.1 h1:C7goQY4HrEua/lpjC++laydNKBuYo1+307ngn5tyXeM=
github.com/gethinode/mod-fontawesome v1.5.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.6.1 h1:iqOgDGdw7Bs4hnzjF/8JsUn10omyKQZTglLqNenT1K0=
github.com/gethinode/mod-fontawesome v1.6.1/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-katex v1.0.4 h1:NozgWPFnHhx1W+E9DnwMTRpvxPbdqdANEtwp9N3/mj8=
github.com/gethinode/mod-katex v1.0.4/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

@@ -54,21 +54,21 @@
"alert",
"alert-danger",
"alert-dismissible",
"align-content-center",
"align-items-center",
"align-items-end",
"align-items-start",
"align-middle",
"align-self-center",
"align-self-end",
"anchor",
"badge",
"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",
@@ -94,7 +94,9 @@
"card",
"card-body",
"card-body-link",
"card-body-margin",
"card-emphasize",
"card-icon",
"card-img-top",
"card-img-wrap",
"card-text",
@@ -117,13 +119,16 @@
"col-6",
"col-8",
"col-9",
"col-auto",
"col-lg-2",
"col-lg-4",
"col-lg-8",
"col-md-10",
"col-md-2",
"col-md-3",
"col-md-4",
"col-md-8",
"col-md-9",
"col-md-auto",
"col-sm-12",
"col-sm-3",
@@ -133,6 +138,7 @@
"container",
"container-fluid",
"container-xxl",
"custom",
"d-block",
"d-flex",
"d-grid",
@@ -163,6 +169,7 @@
"fa-2x",
"fa-2xs",
"fa-4x",
"fa-activity",
"fa-arrow-left",
"fa-arrow-right",
"fa-bootstrap",
@@ -196,25 +203,23 @@
"fab",
"fade",
"fas",
"feature",
"figure-caption",
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
"flex-wrap",
"font-monospace",
"footer",
"form-control",
"fs-3",
"fs-5",
"fw-30",
"fw-bold",
"fw-semibold",
"g-0",
"g-3",
"g-4",
"gap-1",
"gap-2",
"gap-3",
"gradient",
"h-100",
"h1",
@@ -243,11 +248,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",
@@ -265,10 +271,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",
@@ -279,18 +287,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",
@@ -298,7 +305,9 @@
"p-4",
"pb-2",
"pb-3",
"pb-4",
"pb-5",
"pb-md-0",
"pe-3",
"position-absolute",
"position-fixed",
@@ -308,8 +317,8 @@
"ps-1",
"ps-3",
"ps-xl-3",
"pt-3",
"px-3",
"pt-5",
"pt-md-3",
"px-4",
"px-xxl-0",
"py-1",
@@ -327,15 +336,17 @@
"row",
"row-cols-1",
"row-cols-2",
"row-cols-lg-3",
"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",
"shadow",
"show",
"sidebar-overflow",
"slide",
"small",
"spinner-border",
@@ -362,10 +373,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",
@@ -416,10 +429,16 @@
"accordion-0-item-0",
"accordion-0-item-1",
"accordion-0-item-2",
"accordéon",
"alert",
"alerte",
"animation",
"badge",
"barre-de-navigation",
"blog",
"body-docs-collapse-15",
"body-file-collapse-1",
"bouton",
"breadcrumb",
"btn-webshare",
"button",
@@ -428,19 +447,34 @@
"card-group",
"carousel",
"carousel-0",
"carrousel",
"carte",
"chronologie",
"collapse",
"collapse-1",
"command-prompt",
"docs",
"documentation",
"example",
"exemple",
"fichier",
"fil-dariane",
"file",
"footer-docs-collapse-15",
"footer-file-collapse-1",
"formula-katex",
"formule-katex",
"groupe-de-boutons",
"groupe-de-cartes",
"icon",
"image",
"indicateur-de-chargement",
"infobulle",
"invite-de-commandes",
"leaflet-map-0",
"lien",
"link",
"lottie-animation-0",
"map",
"mark",
"nav",
@@ -454,7 +488,14 @@
"navbar",
"navbar-0-collapse",
"navbar-sample-collapse",
"navigation",
"notification",
"projecten",
"projects",
"projets",
"publication",
"release",
"réduire",
"spinner",
"sub",
"sup",

File diff suppressed because one or more lines are too long

14
go.mod
View File

@@ -3,9 +3,13 @@ module github.com/gethinode/hinode
go 1.19
require (
github.com/gethinode/mod-bootstrap v1.1.1 // indirect
github.com/gethinode/mod-flexsearch v1.4.0 // indirect
github.com/gethinode/mod-fontawesome v1.2.5 // indirect
github.com/gethinode/mod-katex v1.0.2 // indirect
github.com/gethinode/mod-leaflet v0.3.4 // indirect
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/gethinode/mod-bootstrap v1.2.2 // indirect
github.com/gethinode/mod-flexsearch v1.7.1 // indirect
github.com/gethinode/mod-fontawesome v1.6.1 // indirect
github.com/gethinode/mod-katex v1.0.4 // indirect
github.com/gethinode/mod-leaflet v0.3.5 // indirect
github.com/gethinode/mod-lottie v1.3.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 // indirect
github.com/twbs/bootstrap v5.3.2+incompatible // indirect
)

54
go.sum
View File

@@ -1,9 +1,17 @@
github.com/airbnb/lottie-web v5.12.2+incompatible h1:Ldogtlhiucf7mMsgisyxSBY0qunV44+lpa9Icy2KoQc=
github.com/airbnb/lottie-web v5.12.2+incompatible/go.mod h1:nTss557UK9FGnp8QYlCMO29tjUHwbdAHG/DprbGfHGE=
github.com/gethinode/mod-bootstrap v1.0.1 h1:NDZar+UEL42YHCvzzO+jVgqkZU5INA12BpjX3y6U4I4=
github.com/gethinode/mod-bootstrap v1.0.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU=
github.com/gethinode/mod-bootstrap v1.1.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.1 h1:Tx4M5hGVOFrEaxnUONDAm6N9xuRi5UphKlT7F26HujU=
github.com/gethinode/mod-bootstrap v1.1.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.0 h1:JkTcImU3qpi25WgKvUxUYiMoiXtrxrG+Wf/utRB5UbU=
github.com/gethinode/mod-bootstrap v1.2.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.1 h1:z54dgsbhShhlri+X77Z+yLrg0wz/f8C8ojA/wnlhsJc=
github.com/gethinode/mod-bootstrap v1.2.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.2 h1:Q8E04OKWr9owk7nhQ/NBukUgSFhsECxZsOLEaf5oeiQ=
github.com/gethinode/mod-bootstrap v1.2.2/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
@@ -22,6 +30,16 @@ 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-flexsearch v1.6.0 h1:Rjx+GLOByFLmaWD9hZXwmuKN8A89te6BZAIq2c9QBKg=
github.com/gethinode/mod-flexsearch v1.6.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.7.0 h1:VFTf6iUyT9b47jTDAxh8nVHU1eUBrdxlykaC90lTfqk=
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-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=
@@ -38,12 +56,30 @@ github.com/gethinode/mod-fontawesome v1.2.4 h1:SqE3CQ+boaBIhrVh3MPu4nz0uoHPfEH5t
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=
github.com/gethinode/mod-fontawesome v1.2.5/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.0 h1:oudeDBlAKu8vqYxumWuq5SG5F5itm33NgTrBLgvPulQ=
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-fontawesome v1.5.1 h1:C7goQY4HrEua/lpjC++laydNKBuYo1+307ngn5tyXeM=
github.com/gethinode/mod-fontawesome v1.5.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.6.1 h1:iqOgDGdw7Bs4hnzjF/8JsUn10omyKQZTglLqNenT1K0=
github.com/gethinode/mod-fontawesome v1.6.1/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-katex v1.0.4 h1:NozgWPFnHhx1W+E9DnwMTRpvxPbdqdANEtwp9N3/mj8=
github.com/gethinode/mod-katex v1.0.4/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
@@ -52,3 +88,21 @@ 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=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

View File

@@ -8,7 +8,6 @@
"footer",
"form",
"head",
"hr",
"html",
"img",
"input",
@@ -29,11 +28,10 @@
],
"classes": [
"active",
"align-content-center",
"align-items-center",
"align-self-center",
"align-self-end",
"bg-body",
"bg-info",
"bg-opacity-10",
"bg-primary",
"bottom-0",
@@ -43,34 +41,27 @@
"btn",
"btn-close",
"btn-primary",
"btn-social",
"col",
"col-12",
"col-lg-2",
"col-lg-4",
"col-6",
"col-md-2",
"col-md-3",
"col-md-4",
"col-md-8",
"col-md-auto",
"col-md-9",
"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",
@@ -84,45 +75,35 @@
"fa-circle-half-stroke",
"fa-ellipsis",
"fa-face-frown",
"fa-facebook",
"fa-fw",
"fa-github",
"fa-link",
"fa-linkedin",
"fa-medium",
"fa-moon",
"fa-share-nodes",
"fa-sun",
"fa-whatsapp",
"fa-x-twitter",
"fab",
"fas",
"feature",
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
"flex-wrap",
"footer",
"form-control",
"fs-3",
"fw-30",
"fs-5",
"fw-bold",
"gap-2",
"h-100",
"hstack",
"img-fluid",
"img-wrap",
"invisible",
"is-search",
"justify-content-center",
"lead",
"justify-content-end",
"justify-content-start",
"link-bg-footer",
"link-secondary",
"main-content",
"main-nav-toggler",
"mb-3",
"mb-4",
"mb-5",
"me-auto",
"middle-bar",
"min-vh-100",
@@ -131,58 +112,56 @@
"mt-3",
"mt-5",
"mx-auto",
"mx-md-2",
"mx-md-0",
"my-auto",
"my-md-auto",
"nav-item",
"nav-link",
"navbar",
"navbar-brand",
"navbar-collapse",
"navbar-expand-md",
"navbar-fixed-top",
"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-3",
"py-5",
"py-md-1",
"rounded",
"row",
"row-cols-1",
"row-cols-2",
"row-cols-md-2",
"row-cols-sm-3",
"row-cols-sm-4",
"search",
"search-input",
"search-suggestions",
"shadow",
"svg-inline--fa",
"switch-mode-collapsed",
"text-body-secondary",
"text-center",
"text-decoration-none",
"text-end",
"text-muted",
"text-secondary",
"text-sm-start",
"text-uppercase",
"text-start",
"theme-icon",
"theme-icon-active",
"toast",
@@ -190,18 +169,14 @@
"toast-container",
"toast-header",
"toggler-icon",
"top-bar",
"vr",
"w-100"
"top-bar"
],
"ids": [
"-theme",
"-theme-collapsed",
"btn-webshare",
"navbar-0-collapse",
"toast-container",
"toast-copied-code-message",
"toast-message-email-4"
"toast-copied-code-message"
]
}
}

View File

@@ -30,9 +30,9 @@
- id: shareSystem
translation: "Betriebssystem"
- id: copyToClipboard
translation: "In Zwischenablage kopieren"
translation: "In die Zwischenablage kopieren"
- id: copiedToClipboard
translation: "Der Text befindet sich in die Zwischenablage"
translation: "befindet sich in der Zwischenablage"
- id: link
translation: "Link zur Webseite"
- id: code
@@ -65,6 +65,8 @@
translation: "Startseite"
- id: languageSwitcherLabel
translation: "Sprache"
- id: close
translation: "Schließen"
# Table of contents
- id: toc

View File

@@ -25,6 +25,20 @@
translation: "Articles"
- id: more
translation: "More {{ . }}"
- id: emptyList
translation: "No articles found"
- id: emptyTags
translation: "No tags found"
# Languages
- id: lang_de
translation: "German"
- id: lang_en
translation: "English"
- id: lang_nl
translation: "Dutch"
- id: lang_fr
translation: "French"
# Sharing
- id: shareLink
@@ -39,6 +53,8 @@
translation: "Link"
- id: code
translation: "Code"
- id: download
translation: "Download article"
# Pagination
- id: paginationNav
@@ -67,12 +83,16 @@
translation: "Home"
- id: languageSwitcherLabel
translation: "Language"
- id: close
translation: "Close"
# Table of contents
- id: toc
translation: "On this page"
- id: seeAlso
translation: "See also"
- id: sectionMenu
translation: "Select a topic"
# Sidebar
- id: toggleSidebar

View File

@@ -67,6 +67,8 @@
translation: "Accueil"
- id: languageSwitcherLabel
translation: "Langage"
- id: close
translation: "Fermer"
# Table of contents
- id: toc

View File

@@ -23,6 +23,20 @@
translation: "Artikelen"
- id: more
translation: "Meer {{ . }}"
- id: emptyList
translation: "Geen artikelen gevonden"
- id: emptyTags
translation: "Geen tags gevonden"
# Languages
- id: lang_de
translation: "Duits"
- id: lang_en
translation: "Engels"
- id: lang_nl
translation: "Nederlands"
- id: lang_fr
translation: "Frans"
# Sharing
- id: shareLink
@@ -37,6 +51,8 @@
translation: "Link"
- id: code
translation: "Code"
- id: download
translation: "Download artikel"
# Pagination
- id: paginationNav
@@ -65,12 +81,16 @@
translation: "Home"
- id: languageSwitcherLabel
translation: "Taal"
- id: close
translation: "Sluiten"
# Table of contents
- id: toc
translation: "Inhoudsopgave"
- id: seeAlso
translation: "Zie ook"
- id: sectionMenu
translation: "Selecteer een onderwerp"
# Sidebar
- id: toggleSidebar

View File

@@ -1,6 +1,7 @@
{{ define "main"}}
<div class="container-xxl flex-fill d-flex align-content-center flex-wrap feature">
<div class="w-100 text-center">
<div class="d-flex flex-fill">
<div class="container-xxl my-auto">
<div class="text-center">
<span class="text-secondary fw-bold">
{{ partial "assets/icon.html" (dict "icon" "fa face-frown fa-10x") }}
<p class="display-1 mt-3 fw-bold">404</p>
@@ -10,4 +11,5 @@
<p>{{ T "pageNotFound" $home | safeHTML }}</p>
</div>
</div>
</div>
{{ end }}

View File

@@ -1,88 +1,4 @@
{{- $section := .Section }}
{{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}}
{{- $.Scratch.Set "version" $version -}}
{{ with partial "utilities/GetMenu" (dict "page" . "version" $version) }}{{ $.Scratch.Set "sidebar" . }}{{ end }}
{{- if and site.Params.docs.checkVersion $version -}}
{{- if ne $version "latest" -}}
{{- if partial "utilities/IsOlder" (dict "current" $version) -}}
{{- $.Scratch.Set "pageAlertMsg" (T "newerVersionAlert" site.Title) -}}
{{- $.Scratch.Set "pageAlertURL" (or site.Params.docs.latestURL site.baseURL) -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- 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 -}}
<!doctype html>
<html lang="{{ .Site.Language.Lang }}" class="no-js">
<head>
{{ block "head" . }}{{ end -}}
</head>
<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>
{{ if and .IsHome .Site.Params.home.fullCover -}}
<div class="">
{{ 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/toast-container.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
{{- define "partials/optional-scripts.html" -}}
{{- $modules := site.Params.modules.optional | intersect .Params.modules -}}
{{- range $index, $mod := $modules -}}
{{- $filename := printf "js/%s.bundle.js" $mod -}}
@@ -94,7 +10,86 @@
{{- end -}}
{{- end -}}
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "page" .) }}
{{ $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) -}}
{{- $.Scratch.Set "pageAlertMsg" (T "newerVersionAlert" site.Title) -}}
{{- $.Scratch.Set "pageAlertURL" (or site.Params.docs.latestURL site.baseURL) -}}
{{- end -}}
{{- 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 -}}
{{- $fullCover := or (or (and .IsHome .Site.Params.home.fullCover) .Page.Params.fullCover) .Site.Params.main.footerBelowFold }}
{{- $.Scratch.Set "fullCover" $fullCover -}}
{{- /* Define section headings */ -}}
{{- $loading := "" -}}
{{- if $fullCover }}{{ $loading = .Site.Params.main.loading }}{{ end -}}
{{ $sections := partial "utilities/GetSections.html" (dict "page" . "loading" $loading) }}
{{- $.Scratch.Set "sections" $sections -}}
{{- /* Define main breakpoint */ -}}
{{- $.Scratch.Set "breakpoint" (partial "utilities/GetBreakpoint.html") }}
<!doctype html>
<html lang="{{ .Site.Language.Lang }}" class="no-js">
<head>
{{ block "head" . }}{{ end -}}
</head>
<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">
<div class="d-flex flex-column {{ if $fullCover }} fullscreen{{ end }}{{ if .IsHome }} {{ .Site.Params.home.style }}{{ end }}">
{{- partial "assets/navbar.html" (dict
"page" .
"fixed" (string site.Params.navigation.fixed)
"color" site.Params.navigation.color
"style" (default "light" site.Params.navigation.style)
"size" (default "md" site.Params.navigation.size))
-}}
<div class="main-content">
{{ block "featured" . }}{{ end -}}
</div>
{{ if .Site.Params.main.footerBelowFold }}
{{ block "main" . }}{{ end -}}
{{ end }}
</div>
{{ if not .Site.Params.main.footerBelowFold }}
{{ block "main" . }}{{ end -}}
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}
{{ end }}
</div>
{{ if .Site.Params.main.footerBelowFold }}
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}
{{ end }}
{{- partial "footer/toast-container.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
{{- partial "partials/optional-scripts.html" . -}}
</body>
</html>

View File

@@ -1,15 +1,30 @@
{{- define "featured" }}
{{ .Render "list/header" }}
{{ end }}
{{- define "main" -}}
<!-- Ignore empty content, see https://github.com/gohugoio/hugo/issues/11406 -->
{{- $content := "" -}}
{{- if .Content }}{{ $content = partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}{{ end -}}
{{- partial "assets/section-list.html" (dict
"page" .
"section" .Type
"home" false
"nested" .Params.Nested
"title" (or .Title .Type)
"description" .Description
"content" $content
"paginate" true)
-}}
{{- $page := . -}}
{{- $sections := $.Scratch.Get "sections" -}}
{{- $fullCover := $.Scratch.Get "fullCover" -}}
{{- $layout := $page.Params.layout -}}
<div class="container-xxl p-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 -}}
{{ .Render "list/body" }}
{{ .Render "list/footer" }}
</div>
{{/* Display generated sections */}}
{{ range $sections }}
{{ .content | safeHTML }}
{{ end }}
{{/* Fill remaining space to push page footer to viewport bottom */}}
<div class="container-fluid flex-fill"></div>
{{- end -}}

View File

@@ -0,0 +1,27 @@
{{- $sections := $.Scratch.Get "sections" -}}
{{- $fullCover := $.Scratch.Get "fullCover" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{- $layout := .Params.layout -}}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col-12 col-{{ $breakpoint.current }}-9">
{{ if not .IsHome }}
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ end }}
{{ if (.Params.menu) }}
{{- partial "assets/section-menu.html" . -}}
{{- end -}}
{{- $loading := "" -}}
{{- if or (eq $layout "featured") .IsHome -}}
{{- if $fullCover }}{{ $loading = site.Params.main.loading }}{{ end }}
{{ end }}
{{- $content := partial "utilities/ProcessContent" (dict "page" . "raw" .RawContent "loading" $loading) -}}
{{- $content | safeHTML -}}
{{ if and (and $sections (eq (len $sections) 1)) (not $content) }}
<p class="pt-4">{{- T "emptyList" }}.</p>
{{ end }}
</div>
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
{{/* Empty in default layout */}}
</div>
</div>

View File

@@ -0,0 +1 @@
{{/* Adds a custom footer directly below the list body */}}

View File

@@ -0,0 +1,35 @@
{{- $sections := $.Scratch.Get "sections" -}}
{{- $headings := slice }}
{{ if .Params.sectionMenu }}
{{ range $sections }}
{{ $headings = $headings | append .title }}
{{ end }}
{{ end }}
{{- $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" -}}
{{- $actions := .Params.actions -}}
{{- $layout := .Params.layout -}}
{{ if .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) -}}
{{ end }}
{{/* Display featured section */}}
{{- if or (eq $layout "featured") .IsHome -}}
{{- partial "list/featured.html" (dict
"page" .
"headings" $headings
"actions" $actions
"orientation" $orientation
"width" $width
"justify" $justify
"align" $align)
-}}
{{- end -}}

View File

@@ -1,119 +1,15 @@
{{- define "partials/header.html" -}}
{{ if site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" . }}{{ end -}}
{{ if in (slice "docs" "minimal") .Layout }}
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ partial "assets/sharing.html" . }}
<p class="lead mb-5">{{ .Description }}</p>
{{ else }}
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
{{ $datestr := (partial "utilities/date.html" (dict "date" .Date "format" "long")) -}}
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
<small class="text-body-secondary text-uppercase">
{{ $datestr | i18n "postedOnDate" -}}
{{ if ne $datestr $lastmodstr -}}&nbsp;({{ $lastmodstr | i18n "lastModified" }}){{ end }} &bull;
{{ .ReadingTime | lang.FormatNumber 0 }}&nbsp;{{ i18n "minutesShort" }} {{ i18n "read" }} &bull;
{{ .WordCount | lang.FormatNumber 0 }}&nbsp;{{ i18n "words" }}
</small>
{{- define "partials/single-main.html" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" . }}{{ end -}}
{{- if gt (len (.GetTerms "tags")) 0 -}}
<div class="mt-3">
<div class="d-none-dark">
<div class="hstack gap-3">
{{ range (.GetTerms "tags") -}}
{{- $url := (path.Join .Page.RelPermalink) | relLangURL -}}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "light" "size" "sm") }}
{{ end -}}
</div>
</div>
{{ .Render "single/header" }}
<div class="d-none-light">
<div class="hstack gap-3">
{{ range (.GetTerms "tags") -}}
{{- $url := (path.Join .Page.RelPermalink) | relLangURL -}}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "primary" "size" "sm" "outline" "true") }}
{{ end -}}
</div>
</div>
</div>
{{- end -}}
{{ partial "assets/sharing.html" . }}
<p class="lead mb-5 mt-3">{{ .Description }}</p>
{{ end }}
{{ end -}}
{{ define "partials/body.html" -}}
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
<div class="d-md-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
{{- end -}}
{{ .Render "single/body" }}
{{ if not (in (slice "docs" "minimal") .Layout) }}
{{- $thumbnail := "" -}}
{{- $credits := "" -}}
{{- if reflect.IsMap .Params.Thumbnail -}}
{{- $thumbnail = .Params.Thumbnail.url -}}
{{- $author := "" -}}
{{- if and .Params.Thumbnail.authorURL "text" .Params.Thumbnail.author }}
{{- $author = partial "utilities/link" (dict "destination" .Params.Thumbnail.authorURL "text" .Params.Thumbnail.author) -}}
{{- else if .Params.Thumbnail.author }}
{{- $author = .Params.Thumbnail.author -}}
{{- end -}}
{{- $origin := "" -}}
{{- if and .Params.Thumbnail.originURL "text" .Params.Thumbnail.origin }}
{{- $origin = partial "utilities/link" (dict "destination" .Params.Thumbnail.originURL "text" .Params.Thumbnail.origin) -}}
{{- else if .Params.Thumbnail.origin }}
{{- $origin = .Params.Thumbnail.origin -}}
{{- end }}
{{- if and $author $origin }}
{{ $credits = printf (T "photoFull") $author $origin }}
{{ else if $author }}
{{ $credits = T "photoShort" $author }}
{{ end }}
{{ else }}
{{- $thumbnail = .Params.Thumbnail -}}
{{ if or .Params.photoCredits .Params.photoSource }}
{{ warnf "DEPRECATED: frontmatter variables `photoCredits` and `photoSource` have been deprecated in release v0.18: %s" .RelPermalink }}
{{ end }}
{{- if and .Params.photoCredits .Params.PhotoSource }}{{ $credits = printf (T "photoFull") .Params.photoCredits .Params.PhotoSource }}{{ end -}}
{{- end -}}
{{ if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "21x9" "outerClass" "img-wrap" "innerClass" "rounded" "title" .Params.title "caption" $credits) -}}
{{ end -}}
{{ end }}
<!-- Ignore empty content, see https://github.com/gohugoio/hugo/issues/11406 -->
{{- if .Content }}{{ partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}{{ end -}}
{{ end -}}
{{ define "partials/footer.html" -}}
{{ if eq .Layout "docs" }}
<div class="mt-5 small">
{{ partial "utilities/git.html" . }}
</div>
{{ else if ne .Layout "minimal" }}
<div class="row row-cols-2 mt-5 mb-3">
<div class="col">
{{ with .NextInSection -}}
{{ $next := . -}}
{{ with .OutputFormats.Get "html" -}}
<a class="next" href="{{ $next.RelPermalink }}">
{{- partial "assets/icon.html" (dict "icon" "fas arrow-left") }}&nbsp;{{ $next.Title }}</a>
{{- end -}}
{{ end -}}
</div>
<div class="col text-end">
{{ 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>
{{- end -}}
{{ end -}}
</div>
</div>
{{ end }}
{{ .Render "single/footer" }}
{{- if and .Site.Params.comments.enabled .Params.showComments | default true -}}
<hr>
{{ partial "assets/comments.html" . }}
@@ -123,50 +19,48 @@
{{ define "main" -}}
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{- $sidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $sidebar -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ $sidebar := "" }}
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $hasSidebar }}{{ $sidebar = partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}{{ end }}
{{ $toc := .Render "single/panel-toc" }}
{{ with $sidebar -}}
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper .Section }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="{{ T "close" }}"></button>
</div>
<div class="offcanvas-body">
{{ partial "assets/sidebar" (dict "page" . "menu" $menu "version" $version) }}
{{ . | safeHTML }}
</div>
</div>
{{ end }}
<div class="container-xxl px-3 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) }}
<div class="container-xxl flex-fill p-4 px-xxl-0">
{{ if $hasSidebar -}}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">
{{ $sidebar | safeHTML }}
</div>
<div class="col col-md-9 col-lg-8 mb-5 p-4">
{{ partial "partials/header.html" . }}
{{ partial "partials/body.html" . }}
{{ partial "partials/footer.html" . }}
</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" . -}}
{{ end -}}
<div class="col-12 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-8 mb-5 p-4">
{{ partial "partials/single-main.html" . }}
</div>
<div class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5">
{{ $toc | safeHTML }}
</div>
</div>
{{ else }}
<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>
<div class="col col-sm-12 col-md-8">
{{ partial "partials/header.html" . }}
{{ partial "partials/body.html" . }}
{{ partial "partials/footer.html" . }}
</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" . -}}
{{ end -}}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9">
{{ partial "partials/single-main.html" . }}
</div>
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
{{ $toc | safeHTML }}
</div>
</div>
{{ end -}}
</div>
{{ end -}}

View File

@@ -0,0 +1,3 @@
{{- partial "single/thumbnail.html" (dict "page" . "class" "mb-5") -}}
{{ partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}

View File

@@ -0,0 +1,20 @@
<div class="row row-cols-2 mt-5 mb-3">
<div class="col">
{{ with .NextInSection -}}
{{ if .OutputFormats.Get "html" -}}
<a class="next" href="{{ .RelPermalink }}">
{{- partial "assets/icon.html" (dict "icon" "fas arrow-left" "spacing" false) }}&nbsp;{{ .LinkTitle }}
</a>
{{- end -}}
{{ end -}}
</div>
<div class="col text-end">
{{ with .PrevInSection -}}
{{ if .OutputFormats.Get "html" -}}
<a class="previous" href="{{ .RelPermalink }}">
{{ .LinkTitle }}&nbsp;{{- partial "assets/icon.html" (dict "icon" "fas arrow-right" "spacing" false) }}
</a>
{{- end -}}
{{ end -}}
</div>
</div>

View File

@@ -0,0 +1,52 @@
{{- $metadata := "full" -}}
{{ if isset .Params "metadata" }}
{{ $metadata = .Params.metadata }}
{{ else }}
{{- with (index site.Params.pages .Type ) -}}
{{ if isset . "metadata" }}{{ $metadata = (index . "metadata") }}{{ end }}
{{- end -}}
{{ end }}
{{- $supportedStates := slice "full" "original" "none" -}}
{{- if not (in $supportedStates $metadata) -}}
{{- errorf "layout [_default/single/header.html] - Invalid value for param 'metadata': %s" $metadata -}}
{{- end -}}
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ if ne $metadata "none" }}
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
{{ $datestr := (partial "utilities/date.html" (dict "date" .Date "format" "long")) -}}
<small class="text-body-secondary text-uppercase">
{{ $datestr | i18n "postedOnDate" -}}
{{ if eq $metadata "full" }}
{{ if ne $datestr $lastmodstr -}}&nbsp;({{ $lastmodstr | i18n "lastModified" }}){{ end }}
{{ end }}
&bull;
{{ .ReadingTime | lang.FormatNumber 0 }}&nbsp;{{ i18n "minutesShort" }} {{ i18n "read" }} &bull;
{{ .WordCount | lang.FormatNumber 0 }}&nbsp;{{ i18n "words" }}
</small>
{{ end }}
{{- if gt (len (.GetTerms "tags")) 0 -}}
<div class="mt-3">
<div class="d-none-dark">
<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") }}
{{ end -}}
</div>
</div>
<div class="d-none-light">
<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") }}
{{ end -}}
</div>
</div>
</div>
{{- end -}}
{{ partial "assets/sharing.html" . }}
<p class="lead mb-5 mt-3">{{ .Description }}</p>

View File

@@ -0,0 +1,42 @@
{{- $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 -}}
{{- $toc := .Site.Params.navigation.toc -}}
{{ if $toc }}
{{ if isset .Params "includeToc" }}
{{ $toc = .Params.includeToc }}
{{ else }}
{{- with (index site.Params.pages .Type) -}}
{{ if isset . "includetoc" }}
{{ $toc = index . "includetoc" }}
{{ if ne (printf "%T" $toc) "bool" }}
{{ errorf "Expected bool value in site parameters: pages.%s.includeToc" $.Type }}
{{ end }}
{{ end }}
{{- end -}}
{{ end }}
{{ end }}
<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 }}
{{ $title := (T "download" ) }}
{{ $lang := strings.TrimPrefix "." (path.Ext (path.BaseName .)) }}
{{ if and $lang (ne (string site.LanguageCode) $lang) }}
{{ range site.Languages }}
{{ if eq .LanguageCode $lang }}
{{ $title = printf "%s (%s)" (T "download") (T (printf "lang_%s" .LanguageCode)) }}
{{ end }}
{{ end }}
{{ end }}
<div class="mb-5 text-center">
{{ $attr := dict "download" (path.Base .) }}
{{ partial "assets/button.html" (dict "href" . "title" $title "color" "primary" "outline" "true" "icon" "fas download" "size" "sm" "attributes" $attr) }}
</div>
{{ end }}
{{ if $toc }}
{{ partial "assets/toc.html" (dict "page" . "download" $download) }}
{{ end -}}
</div>

View File

@@ -0,0 +1 @@
{{ partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}

View File

@@ -0,0 +1,3 @@
<div class="mt-5 small">
{{ partial "utilities/git.html" . }}
</div>

View File

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

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

@@ -0,0 +1 @@
{{ partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}

View File

@@ -0,0 +1 @@
{{/* Intentionally left blank to suppress page navigation */}}

View File

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

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,8 +160,8 @@
{{- end -}}
>
<div class="d-flex justify-content-{{ $justify }}">
<div class="my-auto">{{ $title }}</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 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 "spacing" false) }}</div>{{ end }}
</div>
{{- with $badge }}
@@ -167,4 +170,4 @@
{{ with $label }}<span class="visually-hidden">{{ . }}</span>{{ end }}
</span>
{{- end -}}
</a>
</a>{{ if $spacing }}&nbsp;{{- end }}

View File

@@ -10,6 +10,7 @@
"cards" Optional string of rendered cards.
"max" Required maximum number of cards to display.
"cols" Required number of columns for the grid, must be a value between 1 and 5.
"gutter" Gutter between columns in a group, either "0", "1", "2", "3", "4" (default), or "5".
"title" Optional title of the card group.
"paginate" Optional flag indicating if pagination should be added to the card group, if the list exceeds the
maximum number of cards to display.
@@ -17,6 +18,8 @@
maximum number of cards to display.
"hrefTitle" Optional title of the button or hyperlink as companion to href.
"separator" Optional flag to indicate a horizontal line should be added between items on small screens.
"wrapper" Optional class attributes of the wrapper element, e.g. "p-4 px-xxl-0".
"responsive" Optional flag if the number of columns should be responsive, defaults to "true".
In addition, the following arguments are passed to the individual cards.
"class" Optional class attribute of the card element, e.g. “w-50”.
@@ -28,9 +31,12 @@
"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 -}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- if not (in (slice "*hugolib.pageState" "*hugolib.pageForShortcode") (printf "%T" $page)) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'page': %T" $page -}}
@@ -61,7 +67,7 @@
{{ range $index, $element := $pages }}
{{ $params := dict }}
<!-- regular page -->
{{- if $element.RelPermalink -}}
{{- if and $element.RelPermalink $element.File -}}
{{- $params = merge $params (dict "path" $element.File.Path) -}}
<!-- headless page -->
{{- else -}}
@@ -89,15 +95,31 @@
{{- end -}}
{{- $max = math.Min $max $count -}}
{{- $cols := .cols -}}
{{- if or (lt $cols 1) (gt $cols 5) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'cols': %d" $cols -}}
{{- $responsive := .responsive | default true -}}
{{- with .responsive -}}
{{- if ne (printf "%T" .) "bool" -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'responsive'" -}}
{{- end -}}
{{- end -}}
{{- $cols := string .cols | default "3" -}}
{{- $supportedCols := slice "0" "1" "2" "3" "4" "5" "auto" -}}
{{- if not (in $supportedCols $cols) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'cols': %s" $cols -}}
{{- end -}}
{{- $colGrid := "" -}}
{{- if eq $cols "1" }}{{ $colGrid = "row-cols-1" -}}
{{- else if eq $cols "2" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-1 row-cols-%s-2" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-2" }}{{ end -}}
{{- else if eq $cols "3" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-3" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-3" }}{{ end -}}
{{- else if eq $cols "4" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-4" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-4" }}{{ end -}}
{{- else if eq $cols "5" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-3 row-cols-%s-5" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-5" }}{{ end -}}
{{ end -}}
{{- $gutter := .gutter | default "4" -}}
{{- $supportedGutters := slice "0" "1" "2" "3" "4" "5" -}}
{{- if not (in $supportedGutters $gutter) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'gutter': %s" $gutter -}}
{{- end -}}
{{- $colGrid := "row-cols-1" -}}
{{- if eq $cols 2 }}{{ $colGrid = "row-cols-1 row-cols-sm-1 row-cols-md-2" -}}
{{- else if eq $cols 3 }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-3" -}}
{{- else if eq $cols 4 }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-4" -}}
{{- else if eq $cols 5 }}{{ $colGrid = "row-cols-1 row-cols-sm-3 row-cols-md-5" }}{{ end -}}
{{- if not $paginate -}}
{{- $list = first $max $list -}}
@@ -120,11 +142,21 @@
{{- $header := .header -}}
{{- $footer := .footer -}}
{{- $orientation := .orientation -}}
{{- $ratio := .ratio -}}
{{- $wrapper := .wrapper | default "p-0" -}}
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'loading': %s" $loading -}}
{{ end -}}
{{- end -}}
{{- if and (eq $cols 1) (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
<div class="container-fluid p-4 px-xxl-0 ">
<div class="row {{ $colGrid }}">
<div class="container-fluid {{ $wrapper }}">
<div class="row {{ $colGrid }} g-{{ $gutter }}">
{{ range $index, $element := $list }}
{{- $params := (dict
"class" (printf "h-100 %s" $class)
@@ -133,10 +165,12 @@
"header" $header
"footer" $footer
"orientation" $orientation
"ratio" $ratio
"loading" $loading
) -}}
{{- $params = merge $params $element }}
<div class="col pt-3 pb-3">
<div class="col">
{{- partial "assets/card.html" $params -}}
</div>
{{- if and (lt $index (sub $max 1)) $separator -}}
@@ -153,7 +187,7 @@
<div class="pt-3">{{ partial "assets/pagination.html" (dict "page" $page "format" "terse") }}</div>
{{- end -}}
{{ else }}
{{ if gt $count $max }}
{{ if and (gt $count $max) $moreTitle }}
<a class="btn btn-outline-primary" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
{{ end }}
{{ end }}

View File

@@ -11,12 +11,15 @@
"warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". By default, no
color is specified.
"padding": Optional padding of the content, either "0", "1", "2", "3", "4", "5", or "auto" (default).
"gutter" Gutter between columns in a group, either "0" (default), "1", "2", "3", "4", or "5".
"header" Optional header components of the card, displayed in small caps. Supported values are "full"
(default), "publication", "tags", and "none".
"footer" Optional footer components of the card, displayed in small caps. Supported values are "full",
"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",
@@ -33,12 +36,12 @@
{{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
<p class="card-title fs-5 fw-bold">{{ $title }}</p>
{{ with $description }}<p class="card-text mb-4 {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">{{ . }}</p>{{ end -}}
{{ with $description }}<p class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">{{ . }}</p>{{ end -}}
</a>
{{- else -}}
<div>
<p class="card-title fs-5 fw-bold">{{ $title }}</p>
{{ with $description }}<p class="card-text mb-4">{{ . }}</p>{{ end -}}
{{ with $title }}<p class="card-title fs-5 fw-bold">{{ . }}</p>{{ end -}}
{{ with $description }}<p class="card-text">{{ . }}</p>{{ end -}}
</div>
{{- end -}}
{{- end -}}
@@ -87,6 +90,7 @@
{{- $href := .href -}}
{{- $description := .description -}}
{{- $thumbnail := .thumbnail -}}
{{- $ratio := .ratio -}}
{{- $icon := .icon -}}
{{- $color := "" -}}
@@ -128,6 +132,12 @@
{{- errorf "partial [assets/card.html] - Invalid value for param 'padding': %s" $padding -}}
{{- end -}}
{{- $gutter := .gutter | default "0" -}}
{{ $supportedGutters:= slice "0" "1" "2" "3" "4" "5" -}}
{{ if not (in $supportedGutters $gutter) -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'gutter': %s" $gutter -}}
{{ end -}}
{{- $orientation := "stacked" -}}
{{- with .orientation }}{{ $orientation = . }}{{ end -}}
{{- $supportedOrientations := slice "stacked" "horizontal" "horizontal-sm" "none" -}}
@@ -136,15 +146,24 @@
{{- end -}}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'loading': %s" $loading -}}
{{ end -}}
{{- end -}}
{{ if ne $gutter "0" }}<div class="g-{{ $gutter }}">{{ end }}
{{- if hasPrefix $orientation "horizontal" -}}
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
<div class="row g-0 row-cols-1 h-100">
<div class="col-4{{ if eq $orientation "horizontal-sm" }} col-md-2{{ end }}">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "outerClass" "h-100 card-img-wrap" "innerClass" "rounded-start card-img-h100" "title" $title) -}}
{{- 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 "loading" $loading) -}}
{{- 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>
@@ -162,10 +181,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) "loading" $loading) -}}
{{- 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 }}">
@@ -175,3 +194,4 @@
</div>
</div>
{{- end -}}
{{ if ne $gutter "0" }}</div>{{ end }}

View File

@@ -5,8 +5,16 @@
{{- $ratio := .ratio -}}
{{- $portrait := .portrait -}}
<div class="carousel-item{{ if $active }} active{{ end }}">
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "innerClass" "d-block w-100" "portrait" $portrait) }}
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/carousel-item.html] - Invalid value for param 'loading': %s" $loading -}}
{{ end -}}
{{- end -}}
<div class="carousel-item{{ if $active }} active{{ end }}" {{ if not $active }} fetchpriority="low"{{ end }}>
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "innerClass" "d-block w-100" "portrait" $portrait "loading" $loading) }}
<div class="carousel-caption gradient"></div>
{{ with $caption }}
<div class="carousel-caption d-none d-md-block">

View File

@@ -21,6 +21,14 @@
applicable to vector graphics.
"portrait": Optional flag to adjust the ratio from landscape to portrait. The image itself is not rotated, only
the crop area is adjusted. Not applicable to vector graphics.
"loading": Optional loading behavior of the image, either "eager" (default) or "lazy". The loading of lazily
loaded images is deferred until the image is within scrolling range of the viewport. This should
reduce the initial loading time of the website. It is recommended to lazily load only those images
that are below the page fold.
"priority": Optional fetch priority of the image, either "high", "low", or "auto" (default). The priority
provides a hint to the browser on how it should prioritize the fetch of the image relative to other
images. The implementation is experimental and currently only supported by Chrome, Edge, and Opera.
(https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/fetchpriority#browser_compatibility).
"outerClass": Optional class attribute of the outer div element, e.g. "img-wrap".
"innerClass": Optional class attribute of the inner img element, e.g. "rounded".
"title": Optional alternate text of the image.
@@ -40,9 +48,7 @@
{{- $url := .url -}}
{{- $mode := false -}}
{{- with .mode -}}
{{ $mode = . -}}
{{- end -}}
{{- with .mode }}{{ $mode = . }}{{ end -}}
{{- $outerClass := .outerClass -}}
{{- $innerClass := .innerClass -}}
{{- $title := .title -}}
@@ -53,6 +59,23 @@
{{- $modes := site.Params.main.modes | default (slice "light" "dark") -}}
{{- $page := .page -}}
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/image.html] - Invalid value for param 'loading'" -}}
{{ end -}}
{{- end -}}
{{- $lazy := eq $loading "lazy" -}}
{{- $priority := .priority -}}
{{- $validPriorities := slice "high" "low" "auto" -}}
{{- if $priority -}}
{{ if not (in $validPriorities $priority) -}}
{{- errorf "partial [assets/image.html] - Invalid value for param 'priority'" -}}
{{ end -}}
{{- end -}}
{{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}}
{{- define "partials/image-portrait.html" -}}
{{- $dimensions := slice }}
@@ -68,12 +91,14 @@
{{- $portraits = $portraits | append (printf "%sx%s" (index $p 1) (index $p 0)) -}}
{{- end -}}
{{- end -}}
{{- $ret := "" }}
{{- if reflect.IsSlice $dim -}}
{{ $ret = $portraits -}}
{{- else if gt (len $portraits) 0 -}}
{{- $ret = index $portraits 0 -}}
{{- end -}}
{{- return $ret -}}
{{- end -}}
@@ -87,29 +112,23 @@
{{- $fallback := "" -}}
{{- with $img -}}
{{- if eq $ratio "4x3" -}}
{{- $dim = "1400x1050" }}
{{- else if eq $ratio "3x2" -}}
{{- $dim = "1400x933" }}
{{- else if eq $ratio "1x1" -}}
{{- $dim = "1400x1400" }}
{{- else if eq $ratio "16x9" -}}
{{- $dim = "1400x788" -}}
{{- else if eq $ratio "21x9" -}}
{{- $dim = "1400x600" -}}
{{- if eq $ratio "4x3" -}}{{- $dim = "1400x1050" }}
{{- else if eq $ratio "3x2" -}}{{- $dim = "1400x933" }}
{{- else if eq $ratio "1x1" -}}{{- $dim = "1400x1400" }}
{{- else if eq $ratio "16x9" -}}{{- $dim = "1400x788" -}}
{{- else if eq $ratio "21x9" -}}{{- $dim = "1400x600" -}}
{{- else -}}
{{- $dim = printf "%sx%d" $width (int (math.Round (mul (div (float $width) $img.Width) $img.Height))) -}}
{{- end -}}
{{- if $portrait -}}
{{- $dim = partial "partials/image-portrait.html" (dict "dim" $dim) -}}
{{- end -}}
{{- if $portrait -}}{{- $dim = partial "partials/image-portrait.html" (dict "dim" $dim) -}}{{- end -}}
{{- if $ratio -}}
{{- $fallback = ($img.Fill (printf "%s jpg" $dim)) -}}
{{- else -}}
{{- $fallback = ($img.Fit (printf "%s jpg" $dim)) -}}
{{- end -}}
{{- $clean := path.Ext $img.RelPermalink -}}
{{- $ext := path.Ext $img.RelPermalink -}}
{{- $fallback = $fallback | resources.Copy (replace $img.RelPermalink $clean (printf "-%s%s" $dim $ext)) -}}
@@ -158,6 +177,7 @@
{{- else -}}
{{- $scaled = $img.Fit (printf "%s webp" $dim) -}}
{{- end -}}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean (printf "-%s.webp" $dim)) -}}
{{- if $absoluteURL -}}
{{- $imgset = printf "%s, %s %sw" $imgset $scaled.Permalink (index $widths $index) -}}
@@ -165,6 +185,7 @@
{{- $imgset = printf "%s, %s %sw" $imgset $scaled.RelPermalink (index $widths $index) -}}
{{- end -}}
{{- end -}}
{{- $imgset = strings.TrimPrefix ", " $imgset -}}
{{- end -}}
@@ -186,7 +207,9 @@
{{- $imgset := "" -}}
{{- $mode := .mode -}}
{{- $modes := .modes -}}
{{- $lazy := .lazy -}}
{{- $page := .page -}}
{{- $priority := .priority -}}
{{- $isVector := false -}}
{{- $segments := split $url "#" -}}
@@ -200,8 +223,19 @@
{{- if hasSuffix $url "svg" -}}
{{- $fallbackURL = $url -}}
{{- $isVector = true -}}
{{- $res := partial "utilities/GetResource.html" (dict "url" $url "page" $page) -}}
{{ if not $res }}
{{- if not (fileExists (path.Join "/static" $url)) -}}
{{ warnf "Cannot find vector image resource: %q" $url -}}
{{ end }}
{{ end }}
{{- else -}}
{{- $img := partial "utilities/GetImage.html" (dict "url" $url "page" $page) -}}
{{- $res := partial "utilities/GetImage.html" (dict "url" $url "page" $page) -}}
{{- $img := "" -}}
{{ with $res }}
{{ $img = $res.resource }}
{{ if $res.mirror }}{{ $innerClass = printf "%s mirrorred" $innerClass }}{{ end }}
{{ end }}
{{- if $img -}}
{{- $fallback := partial "partials/image-default.html" (dict "img" $img "ratio" $ratio "portrait" $portrait) -}}
{{- if $absoluteURL -}}
@@ -219,18 +253,33 @@
{{- end -}}
{{- end -}}
{{- $width := "" -}}
{{- $height := "" -}}
{{- $input := (split (path.BaseName $fallbackURL) "-") | collections.Reverse -}}
{{ if $isVector }}
{{- $height = "500" -}}
{{ $width = string (partial "utilities/GetWidth.html" (dict "path" $fallbackURL "height" 500)) }}
{{- else 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 }}
{{- if $caption -}}
<figure {{ with $outerClass }}class="{{ . }}"{{ end }}>
{{ end }}
<div class="{{ if not $caption }}{{ $outerClass }}{{ end }}">
{{- if not $anchor -}}
<img class="img-fluid {{ $innerClass }}"
{{ with $imgset -}}
srcset="{{ . }}"
sizes="100vw"
{{- end }}
src="{{ $fallbackURL }}"
alt="{{ $title }}">
{{ if $lazy }}loading="lazy"{{ end }}
{{ with $priority }}fetchpriority="{{ . }}"{{ end }}
{{ with $imgset -}}srcset="{{ . }}" sizes="100vw"{{- end }}
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }}
{{ with $title }}alt="{{ . }}"{{ end }}>
{{- else }}
<svg class="{{ $innerClass }}">
<use href="{{ $fallbackURL }}#{{ $anchor }}"></use>
@@ -243,7 +292,21 @@
{{- end -}}
{{- end -}}
<!-- Initiate the regular or color-mode image -->
{{ $params := dict }}
{{- $params = merge $params (dict
"ratio" $ratio
"portrait" $portrait
"outerClass" $outerClass
"innerClass" $innerClass
"title" $title
"caption" $caption
"lazy" $lazy
"priority" $priority
"page" $page)
-}}
{{- if $mode -}}
{{- $ext := path.Ext $url -}}
{{- $base := strings.TrimSuffix $ext $url -}}
@@ -253,28 +316,14 @@
{{- range $suffix := $modes -}}
{{- $image := printf "%s-%s%s" $base $suffix $ext -}}
{{- partial "partials/image-definition.html" (dict
"ratio" $ratio
"portrait" $portrait
{{- $params = merge $params (dict
"url" $image
"outerClass" $outerClass
"innerClass" $innerClass
"title" $title
"caption" $caption
"mode" $suffix
"modes" $modes
"page" $page)
"modes" $modes)
-}}
{{- partial "partials/image-definition.html" $params -}}
{{- end -}}
{{- else -}}
{{- partial "partials/image-definition.html" (dict
"ratio" $ratio
"portrait" $portrait
"url" $url
"outerClass" $outerClass
"innerClass" $innerClass
"title" $title
"caption" $caption
"page" $page)
-}}
{{ else }}
{{- $params = merge $params (dict "url" $url) -}}
{{- partial "partials/image-definition.html" $params -}}
{{- end -}}

View File

@@ -28,7 +28,9 @@
{{- $thumbnail := .thumbnail -}}
{{- $style := .style -}}
{{- $mode := .mode -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "outerClass" $style "mode" $mode) -}}
{{- $title := .title -}}
{{- $loading := .loading -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "outerClass" $style "mode" $mode "loading" $loading) -}}
{{- end -}}
{{- $page := .page -}}
@@ -49,6 +51,14 @@
{{ $vertical := false }}
{{ $type := "pills" }}
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/list.html] - Invalid value for param 'loading': %s" $loading -}}
{{ end -}}
{{- end -}}
<div class="d-none d-md-block p-0">
{{- range $index, $item := $list -}}
{{- $odd := eq (mod $index 2) 1 -}}
@@ -61,7 +71,7 @@
{{- $style = "reveal fade-bottom-n5 rotate-n5 ps-3" -}}
{{- if $odd }}{{ $style = "reveal fade-bottom-5 rotate-5 pe-3" }}{{ end }}
{{ end }}
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "style" $style "mode" $item.Params.colormode) }}
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "style" $style "mode" $item.Params.colormode "loading" $loading) }}
</div>
<div class="col-6{{ if $odd }} order-first{{ end }} psw-lg-5 p-5">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
@@ -78,7 +88,7 @@
<div class="container d-flex flex-column">
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
<div class="col-12 text-center">
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "mode" $item.Params.colormode) }}
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "mode" $item.Params.colormode "loading" $loading) }}
</div>
<div class="col-12 p-3">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (partial "utilities/GetDescription.html" $item)) }}

View File

@@ -10,6 +10,8 @@
"body" The body content of the nav-item, supports Markdown and HTML (if enabled).
"show" Optional flag to indicate the item should be shown as expanded (only one can be shown at a time).
"disabled" Optional flag to indicate the item should be in a disabled state.
"type" Optional type of the item to render, supports "accordion" as alternative format. Defaults to
"tab-pane".
-->
{{- $id := .id -}}
@@ -21,9 +23,33 @@
{{- $body := .body -}}
{{- $show := .show -}}
{{- $disabled := .disabled -}}
{{- $type := .type -}}
{{- $illustration := .illustration -}}
{{ if eq $type "accordion" }}
<div class="accordion-item{{ if $show }} show{{ end }}{{ with $class }} {{ . }}{{ end }}">
{{- with $header -}}
<h2 class="accordion-header m-0" id="accordion-{{ $parentID }}-heading-{{ $id }}">
<button class="accordion-button collapsed {{ if $disabled }} text-secondary{{ end }}" type="button" data-bs-toggle="collapse" data-bs-target="#accordion-{{ $parentID }}-item-{{ $id }}" aria-expanded="false" aria-controls="accordion-{{ $parentID }}-item-{{ $id }}"{{ if $disabled }} disabled{{ end }}>
{{ if $illustration }}
<div class="row">
<div class="col-3 col-sm-2 my-auto">{{ $illustration | safeHTML }}</div>
<div class="col-9 col-sm-10 fs-6 fs-sm-5 my-auto">{{ . }}</div>
</div>
{{ else }}
{{ . }}
{{ end }}
</button>
</h2>
{{- end -}}
<div id="accordion-{{ $parentID }}-item-{{ $id }}" class="accordion-collapse collapse{{ with $class }} {{ . }}{{ end }}" aria-labelledby="{{ $parentID }}-heading-{{ $id }}" data-bs-parent="#accordion-{{ $parentID }}">
<div class="accordion-body">{{- $body | safeHTML -}}</div>
</div>
</div>
{{ else }}
<div class="tab-pane{{ if $show }} active {{ if $fade }}show{{ end }}{{ end }} {{ if $fade}}fade{{ end }}{{ with $class }} {{ . }}{{ end }}" id="{{ $parentID }}-{{ $id }}"
role="tabpanel" aria-labelledby="{{ $parentID }}-btn-{{ $id }}" tabindex="0" data-header="{{ $header }}" {{ if $show }}data-show-id="{{ $id }}"{{ end }}
data-has-content="{{ gt (len $body) 0 }}" {{ if $disabled }} data-disabled-id="{{ $id }}"{{ end }}>
{{ $body }}
</div>
{{ end }}

View File

@@ -4,11 +4,12 @@
"page" Required context of the current page.
"list" Required array of pages.
"title" Optional title of the tab group.
"type" Optional type of the tab group, either "tabs", "pills" (default), or "underline".
"type" Optional type of the tab group, either "tabs", "pills" (default), "underline" or "callout".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"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" -}}
@@ -68,7 +70,7 @@
{{ $type := "pills" }}
{{ with .type }}
{{ $type = . -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" "callout" -}}
{{ if $type }}
{{ if not (in $supportedNavTypes $type) -}}
{{ errorf "partial [assets/nav.html] - Invalid value for param 'type': %s" $type -}}
@@ -76,19 +78,49 @@
{{ end -}}
{{ end -}}
<div class="{{ if eq $width 50 }}col-sm-12 col-md-10 col-lg-8 col-xl-6{{ else }}col-12{{ end }} mx-auto pt-5 pb-5">
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/nav.html] - Invalid value for param 'loading': %s" $loading -}}
{{ end -}}
{{- end -}}
<div class="{{ if eq $width 50 }}col-sm-12 col-md-10 col-lg-8 col-xl-6{{ else }}col-12{{ end }} mx-auto">
{{ if $vertical }}<div class="d-flex align-items-start">{{ end }}
{{ if eq $type "callout" }}
<div class="d-lg-none">
<div id="accordion-{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }} nav-callout">
{{- range $index, $item := $list -}}
{{ partial "assets/nav-item" (dict
"id" $index
"parentID" $id
"fade" false
"header" $item.Title
"class" $class
"body" (or $item.Description $item.Content)
"show" false
"disabled" false
"type" "accordion"
"illustration" (partial "utilities/GetIllustration.html" (dict "item" $item "size" "col-12"))
)
}}
{{ end -}}
</div>
</div>
<div class="d-none d-lg-block">
{{ end }}
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
{{- 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>
{{ end -}}
</div>
<div class="tab-content {{ if eq $type "tabs" }}border border-top-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{ range $index, $item := $list }}
{{ $header := $item.Title }}
{{ $body := $item.Content }}
@@ -102,12 +134,24 @@
"color" $color
"content" (partial "utilities/GetDescription.html" $item)
"thumbnail" $thumbnail
"loading" $loading
) -}}
{{- else -}}
{{ $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) }}
{{ if $illustration }}
<div class="row">
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
</div>
{{ else }}
{{- (or $item.Description $item.Content) -}}
{{ end }}
{{- end -}}
</div>
{{ end }}
</div>
</div>
{{ if eq $type "callout" }}</div>{{ end }}
{{ if $vertical }}</div>{{ end }}
</div>

View File

@@ -14,7 +14,7 @@
"logo" Optional address of the logo image, defaults to the parameter "logo" set in the "main" section of
the site's parameter configuration.
"title" Optional brand title, displayed when the logo is not set. Defaults to the site's title.
"class": Optional class attribute of the navbar container.
"class" Optional class attribute of the navbar container.
-->
<!-- Inline partial to render the color mode switcher -->
@@ -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>
@@ -68,7 +68,7 @@
{{- range $index, $item := $list -}}
{{- $active := eq $item.label $version -}}
{{- $disabled := false -}}
{{- if site.IsServer }}
{{- if hugo.IsServer }}
{{- $disabled = and $item.redirect (gt (len $item.redirect) 0) -}}
{{- end -}}
{{ if $item.url }}
@@ -154,6 +154,7 @@
{{- 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 -}}
@@ -173,6 +174,8 @@
{{- $enableLanguage := or $page.IsTranslated site.IsMultiLingual -}}
{{- $horizontal := default false site.Params.navigation.horizontal -}}
{{- $logo := site.Params.navigation.logo -}}
{{- $logoLight := "" -}}
{{- $logoDark := "" -}}
@@ -221,36 +224,38 @@
<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">
<div class="d-flex align-items-center">
{{- if $page.Scratch.Get "sidebar" -}}
<button class="navbar-toggler fw-30 collapsed p-0 mx-auto" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
<button class="navbar-toggler collapsed p-0 mx-auto" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw") -}}
</button>
{{- else -}}
<!-- Insert invisible sidebar toggler to center logo correctly on smaller screens -->
<button class="navbar-toggler fw-30 collapsed p-0 mx-auto invisible" type="button">
<button class="navbar-toggler collapsed p-0 mx-auto invisible" type="button">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw") -}}
</button>
{{- end -}}
</div>
<!-- Insert the brand logo or name -->
<a class="navbar-brand mx-auto" href="{{ site.Home.RelPermalink }}">
<a class="navbar-brand mx-auto" href="{{ site.Home.RelPermalink }}" aria-label="{{ T "home" }}">
{{- if (and $logoLight $logoDark) -}}
<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">
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logoLight "height" 30) }}
<img src="{{if $absoluteURL }}{{ absURL $logoLight }}{{ else }}{{ $logoLight }}{{ end }}" class="d-none-dark" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
<img src="{{if $absoluteURL }}{{ absURL $logoDark }}{{ else }}{{ $logoDark }}{{ end }}" class="d-none-light" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
{{- 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 -}}
</a>
<!-- Insert main navigation toggler -->
<div class="d-flex fw-30">
<div class="d-flex">
<button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}-collapse"
aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<span class="toggler-icon top-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
@@ -261,15 +266,15 @@
<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">
{{- range $menu := $menus -}}
<li class="nav-item{{ if .HasChildren }} dropdown{{ end }}">
<li class="nav-item{{ if .HasChildren }} dropdown{{ if $horizontal }} dropdown-horizontal-{{ $size }}{{ end }}{{ end }}">
{{- partial "assets/navbar-item.html" (dict "menu" $menu "page" $page) -}}
{{- if .HasChildren -}}
<ul class="dropdown-menu dropdown-menu-end">
<ul class="dropdown-menu">
{{- range .Children -}}
<li>{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}</li>
{{- end -}}
@@ -286,15 +291,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 +321,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="{{ T "close" }}"></button>
</div>
<div class="modal-body p-2 search-background">
<div class="search-suggestions" data-no-results="{{ T "ui_no_results" }}"></div>
</div>
</div>
</div>
</div>
{{ end -}}

View File

@@ -10,6 +10,6 @@
{{- if $pageAlertMsg -}}
<div id="page-alert" class="alert alert-primary alert-no-decoration fade show d-flex align-items-center small m-0 py-1" data-page-alert-version="{{ $version }}">
<a href="{{ with $pageAlertURL }}{{ . }}{{ else }}#!{{ end }}" class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert"></button>
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ T "close" }}"></button>
</div>
{{- end -}}

View File

@@ -56,12 +56,20 @@
{{- $class := .class -}}
{{- $loading := .loading -}}
{{- $validSettings := slice "lazy" "eager" -}}
{{- if $loading -}}
{{ if not (in $validSettings $loading) -}}
{{- errorf "partial [assets/persona.html] - Invalid value for param 'loading': %s" $loading -}}
{{ end -}}
{{- end -}}
<div class="d-none d-md-block">
<div class="persona position-relative row mt-5 align-middle p-3">
<div class="col-2">
<div class="position-absolute top-50 start-0 translate-middle-y col-4 ps-3">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "innerClass" "rounded-5") -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "ratio" "1x1" "innerClass" "rounded-5" "loading" $loading) -}}
{{ end }}
</div>
</div>
@@ -81,7 +89,7 @@
<div class="col-12">
<div class="position-absolute top-25 start-50 translate-middle col-6">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "innerClass" "rounded-5") -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "ratio" "1x1" "innerClass" "rounded-5" "loading" $loading) -}}
{{ end }}
</div>
</div>

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 $title }}<p id="{{ anchorize . }}" class="display-4 py-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ with $description }} <p class="lead mb-5">{{ . }}</p>{{ end }}
{{- 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>
{{ $content }}

View File

@@ -1,7 +1,7 @@
{{- $page := .page }}
{{- $section := .section }}
{{- if not $section }}{{ errorf "partial [assets/section-list.html] - Missing value for param 'section'" }}{{ end -}}
{{- $home := .home }}
{{- $home := .home | default false }}
{{ if ne (printf "%T" $home) "bool" }}
{{ errorf "partial [assets/section-list.html] - Invalid value for param 'home'"}}
{{ end }}
@@ -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,13 +34,17 @@
{{- $type := "pills" -}}
{{- $vertical := "false" -}}
{{- $width := 100 -}}
{{- $ratio := "" -}}
{{- $wrap := false -}}
{{- $loading := .loading -}}
{{- $wrapper := .wrapper | default "p-4 px-xxl-0 pb-5" -}}
{{- with (index site.Params.sections $section) -}}
{{- with index . "title" }}{{ $title = or $.title . }}{{ end -}}
{{- with index . "sectionHeader" }}{{ $sectionHeader = . }}{{ end -}}
{{- with index . "sort" }}{{ $sort = . }}{{ end -}}
{{- if (index . "reverse") }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
{{- if $home }}{{- if (isset . "nested") }}{{ $nested = (index . "nested") }}{{ end -}}{{ end -}}
{{- if (isset . "nested") }}{{ $nested = (index . "nested") }}{{ end -}}
{{- if (index . "separator") }}{{ $separator = true }}{{ else }}{{ $separator = false }}{{ end -}}
{{- with index . "orientation" }}{{ $orientation = . }}{{ end -}}
{{- with index . "cols" }}{{ $cols = . }}{{ end -}}
@@ -54,19 +60,47 @@
{{- 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 isset $page.Params "nested" }}
{{ $nested = $page.Params.nested }}
{{ end }}
{{ if ne (printf "%T" $nested) "bool" }}
{{ errorf "partial [assets/section-list.html] - Invalid value for param 'nested'"}}
{{ end }}
{{ $list := "" }}
{{ if $nested }}
{{ $list = where site.RegularPages "Type" "in" $section }}
{{ $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 eq $kind "related" }}
{{ if $page.Keywords}}
{{ $keywords := keyVals "tags" $page.Keywords }}
{{ $opts := dict "namedSlices" (slice $keywords) }}
{{ $list = site.RegularPages.Related $opts }}
{{ end }}
{{ else if $home }}
{{ $sectionPage := site.GetPage "section" $section }}
{{ $list = $sectionPage.RegularPages }}
{{ if $nested }}
{{ $list = $sectionPage.RegularPagesRecursive }}
{{ else }}
{{ $list = $page.RegularPages }}
{{ $list = $sectionPage.Pages }}
{{ end }}
{{ else }}
{{ if $nested }}
{{ $list = $page.RegularPagesRecursive }}
{{ else }}
{{ $list = $page.Pages }}
{{ end }}
{{ end }}
{{ $max := (len $list) -}}
@@ -83,28 +117,35 @@
{{- end -}}
{{ if gt $max 0 }}
{{- if $home -}}
{{- if or $home (eq $kind "related") -}}
{{- $paginate = false -}}
{{- $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
"class" $style
"color" $color
"loading" $loading
)
-}}
{{- $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 {{ $wrapper }}">
{{- partial "assets/section-header.html" $params -}}
{{ if eq $layout "card" }}
@@ -131,6 +172,7 @@
"type" $type
"vertical" $vertical
"width" $width
"wrap" $wrap
)
-}}
{{- else -}}

View File

@@ -0,0 +1,44 @@
{{- $page := . -}}
{{ $items := $page.Parent.Sections }}
{{ if not $page.Parent.Section }}
{{ $items = $page.Sections }}
{{ end }}
{{- if gt (len $items) 0 }}
<div class="d-grid gap-2 mx-auto d-md-none">
{{ partial "assets/button.html" (dict
"title" (T "sectionMenu")
"color" "secondary"
"outline" "true"
"class" "toc-button"
"icon" "fas sort"
"justify" "between"
"collapse" "toc-collapse"
"order" "last")
-}}
</div>
<p>
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<div class="toc toc-panel section-menu text-body p-2 fs-6">
{{- range $items }}
{{ $active := eq $page.RelPermalink .RelPermalink }}
<a class="nav-link{{ if $active }} active{{ end }}" href="{{ .RelPermalink }}">{{ .Title }}</a>
{{- end }}
</div>
</div>
</p>
<nav class="navbar navbar-expand navbar-services p-0 fs-5 d-none d-md-block">
<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

@@ -1,12 +1,29 @@
{{- if .Site.Params.sharing.enabled -}}
{{- if or .Params.sharing (not (isset .Params "sharing")) -}}
{{- $sharing := true -}}
{{ if isset .Params "sharing" }}
{{ $sharing = .Params.sharing }}
{{ else }}
{{- with (index site.Params.pages .Type ) -}}
{{ if isset . "sharing" }}
{{ $sharing = (index . "sharing") }}
{{ end }}
{{- end -}}
{{ end }}
{{- if $sharing -}}
{{- $page := . -}}
{{- $order := "asc" -}}
{{- $list := .Site.Params.sharing.providers -}}
{{- if .Site.Params.sharing.reverse }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
{{- $sort := .Site.Params.sharing.sort | default "weight" -}}
{{- $list = sort $list $sort $order -}}
<div class="py-3 text-body-secondary hstack gap-2">
{{- $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 -}}
<div class="py-3 text-body-secondary hstack gap-1">
{{ T "shareLink" "" }}
{{- range $index, $item := $list -}}
{{- $url := $item.url -}}
@@ -21,11 +38,15 @@
{{- $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 -}}
{{ with $download }}
{{ $attr := dict "download" (path.Base .) }}
{{ partial "assets/button.html" (dict "href" . "icon" "fas download fa-fw" "class" "btn-social p-0" "attributes" $attr "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

@@ -25,7 +25,7 @@
<div id="{{ $id }}" class="toast{{ with $class }} {{ . }}{{ end }}" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
{{ with $header }}<strong class="me-auto">{{ . }}</strong>{{ end }}
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="{{ T "close" }}"></button>
</div>
<div class="toast-body">{{ $message }}</div>
</div>

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,7 @@
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" .TableOfContents) -}}
{{ if (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">
{{- $page := .page -}}
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
{{ if gt $items 1 -}}
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
{{ .TableOfContents }}
</div>
{{ $page.TableOfContents }}
{{ 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 -}}
@@ -17,18 +25,18 @@
{{- $js = $bundle | resources.ExecuteAsTemplate $filename $page -}}
{{- end -}}
{{- if and (not site.IsServer) $header -}}
{{- if and (not hugo.IsServer) $header -}}
{{- $pc := site.Config.Privacy.GoogleAnalytics -}}
{{- if and (not $pc.Disable) (hasPrefix site.GoogleAnalytics "G-") }}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.GoogleAnalytics }}"></script>
{{- if and (not $pc.Disable) (hasPrefix site.Config.Services.GoogleAnalytics.ID "G-") }}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.Config.Services.GoogleAnalytics.ID }}"></script>
{{- end }}
{{- end -}}
{{- 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,16 +7,18 @@
{{ 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="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>
{{ end }}
</div>
<div class="col text-sm-start text-center col-sm-6 col-md-4">
</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" }}
@@ -27,7 +29,7 @@
</a>
{{ end -}}
</div>
<div class="col col-md-2 d-none d-md-block"></div>
</div>
</div>
</div>
{{ end }}

View File

@@ -3,7 +3,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{ hugo.Generator}}
{{ partial "head/stylesheet.html" -}}
{{ partialCached "head/stylesheet-core.html" . -}}
{{- $modules := site.Params.modules.optional | intersect .Page.Params.modules -}}
{{- range $index, $mod := $modules -}}
{{- $source := printf "scss/%s.scss" $mod -}}

View File

@@ -12,7 +12,9 @@
{{- $thumbnail := (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) -}}
{{ with $thumbnail -}}
{{ $img := partial "utilities/GetImage.html" (dict "url" .) -}}
{{- $res := partial "utilities/GetImage.html" (dict "url" .) -}}
{{- $img := "" -}}
{{ with $res }}{{ $img = $res.resource }}{{ end }}
{{ with $img -}}
{{ $dim := "1280x640" -}}
{{ $scaled := (.Fill (printf "%s jpg" $dim)) -}}

View File

@@ -0,0 +1,3 @@
{{/* Wrapper for the stylesheet partial with default arguments. */}}
{{/* Added to avoid interference with the argument of partialCached. */}}
{{ partial "head/stylesheet.html" -}}

View File

@@ -1,5 +1,14 @@
{{- $transpiler := site.Params.main.build.transpiler | default "libsass" -}}
{{- $supportedTranspilers := slice "libsass" "dartsass" -}}
{{- if not (in $supportedTranspilers $transpiler) -}}
{{- errorf "partial [head/stylesheet.html] - Invalid value for param 'transpiler': %s" $transpiler -}}
{{- end -}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $source := .source | default "scss/app.scss" -}}
{{- $source := .source }}
{{- if not $source -}}
{{- if eq $transpiler "dartsass" }}{{ $source = "scss/app-dart.scss" }}{{ else }}{{ $source = "scss/app.scss" }}{{ end -}}
{{- end -}}
{{- $target := .target | default "css/main.css" -}}
{{- $page := .page -}}
{{- $core := .core | default true -}}
@@ -21,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)
@@ -29,6 +39,7 @@
"danger" (default "#dc3545" site.Params.style.danger)
"light" (default "#f8f9fa" site.Params.style.light)
"dark" (default "#212529" site.Params.style.dark)
"navbar-height" (site.Params.navigation.offset | default "4em")
"navbar-offset" $navbarOffset
"enable-dark-mode" (printf "%t" ((default true site.Params.main.enableDarkMode)))
"import-fonts" (printf "%t" (not (hasPrefix (lower site.Params.style.themeFontPath) "http")))
@@ -36,22 +47,24 @@
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)
-}}
{{- $options := (dict "transpiler" "libsass" "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
{{- $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) -}}
{{- 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" -}}
{{- $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 -}}
{{- $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,94 @@
{{- $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 }}
{{- $actions = sort $actions "weight" "asc" -}}
<div class="hstack{{ if gt (len $actions) 1 }} gap-1{{ 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" $page.Site.Title "priority" "high") }}
{{ 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 p-4 px-xxl-0 {{ if site.Params.home.fullCover }} fullcover{{ 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="row row-cols-1 row-cols-md-2 justify-content-{{ $justify }} flex-fill">
<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 align-self-end">
{{ 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

@@ -0,0 +1,39 @@
{{- $page := .page -}}
{{- $class := printf "img-wrap" -}}
{{- with .class }}{{ $class = printf "img-wrap %s" . }}{{ end -}}
{{- $ratio := .ratio | default "21x9" -}}
{{- $thumbnail := "" -}}
{{- $credits := "" -}}
{{- if reflect.IsMap $page.Params.Thumbnail -}}
{{- $thumbnail = $page.Params.Thumbnail.url -}}
{{- $author := "" -}}
{{- if and $page.Params.Thumbnail.authorURL "text" $page.Params.Thumbnail.author }}
{{- $author = partial "utilities/link" (dict "destination" $page.Params.Thumbnail.authorURL "text" $page.Params.Thumbnail.author) -}}
{{- else if $page.Params.Thumbnail.author }}
{{- $author = $page.Params.Thumbnail.author -}}
{{- end -}}
{{- $origin := "" -}}
{{- if and $page.Params.Thumbnail.originURL "text" $page.Params.Thumbnail.origin }}
{{- $origin = partial "utilities/link" (dict "destination" $page.Params.Thumbnail.originURL "text" $page.Params.Thumbnail.origin) -}}
{{- else if $page.Params.Thumbnail.origin }}
{{- $origin = $page.Params.Thumbnail.origin -}}
{{- end }}
{{- if and $author $origin }}
{{ $credits = printf (T "photoFull") $author $origin }}
{{ else if $author }}
{{ $credits = T "photoShort" $author }}
{{ end }}
{{ else }}
{{- $thumbnail = $page.Params.Thumbnail -}}
{{ if or $page.Params.photoCredits $page.Params.photoSource }}
{{ warnf "DEPRECATED: frontmatter variables `photoCredits` and `photoSource` have been deprecated in release v0.18: %s" $page.RelPermalink }}
{{ end }}
{{- if and $page.Params.photoCredits $page.Params.PhotoSource }}{{ $credits = printf (T "photoFull") $page.Params.photoCredits $page.Params.PhotoSource }}{{ end -}}
{{- end -}}
{{ if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" $ratio "outerClass" $class "innerClass" "rounded" "title" $page.Params.title "caption" $credits "priority" "high") -}}
{{ end -}}

View File

@@ -7,7 +7,8 @@
{{ $page := .page -}}
{{ $arg := .arg -}}
{{ $merge := .merge -}}
{{ $val := $page.Get $arg }}
{{ $val := "" }}
{{ with $page.Get $arg }}{{ $val = . }}{{ end }}
{{- with $page.Parent -}}
{{ with .Get $arg }}

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