Compare commits

...

72 Commits

Author SHA1 Message Date
Mark Dumay
55d73b3fbd Merge pull request #1015 from gethinode/develop
Support navbar buttons and spacing
2024-06-27 17:12:09 +02:00
Mark Dumay
741bff8a8a Fix default navbar alignment 2024-06-27 17:06:01 +02:00
Mark Dumay
f8dcebb14d Merge branch 'main' into develop 2024-06-27 16:53:13 +02:00
Mark Dumay
d054c3e07f Support navbar buttons and spacing 2024-06-27 16:52:48 +02:00
Mark Dumay
c962f93dda Merge pull request #1014 from gethinode/develop
Fix argument handling of card group
2024-06-27 06:49:18 +02:00
Mark Dumay
2bea049d20 Merge branch 'main' into develop 2024-06-27 06:34:33 +02:00
Mark Dumay
407a7b3703 Fix argument handling of card group 2024-06-27 06:34:00 +02:00
Mark Dumay
e57e8d32cb Merge pull request #1013 from gethinode/develop
Enable horizontally scrollable card groups
2024-06-27 06:31:17 +02:00
Mark Dumay
417475643c Merge branch 'main' into develop 2024-06-26 19:23:12 +02:00
Mark Dumay
99801eb90a Enable horizontally scrollable card groups 2024-06-26 19:22:38 +02:00
github-actions[bot]
28a061e4ee Merge pull request #1011 from gethinode/dependabot/npm_and_yarn/replace-in-files-cli-3.0.0
Bump replace-in-files-cli from 2.2.0 to 3.0.0
2024-06-26 14:04:10 +00:00
dependabot[bot]
be776f10a8 Bump replace-in-files-cli from 2.2.0 to 3.0.0
Bumps [replace-in-files-cli](https://github.com/sindresorhus/replace-in-files-cli) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/sindresorhus/replace-in-files-cli/releases)
- [Commits](https://github.com/sindresorhus/replace-in-files-cli/compare/v2.2.0...v3.0.0)

---
updated-dependencies:
- dependency-name: replace-in-files-cli
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-26 13:58:43 +00:00
github-actions[bot]
57bfea7b71 Merge pull request #1012 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.125.0
Bump hugo-bin from 0.124.0 to 0.125.0
2024-06-26 13:57:54 +00:00
dependabot[bot]
9126df161a Bump hugo-bin from 0.124.0 to 0.125.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.124.0 to 0.125.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.124.0...v0.125.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-26 13:53:59 +00:00
Mark Dumay
6ced4573b0 Merge pull request #1010 from gethinode/develop
Fix passing of icon rounded arg to card partial
2024-06-23 06:36:24 +02:00
Mark Dumay
be38c8eab7 Merge branch 'main' into develop 2024-06-23 06:20:41 +02:00
Mark Dumay
cab8e0e9f1 Bump package release 2024-06-23 06:02:30 +02:00
Mark Dumay
e1378b9f92 Fix passing of icon rounded arg to card partial 2024-06-23 06:02:00 +02:00
Mark Dumay
23d051e6bc Merge pull request #1009 from gethinode/develop
Support rounding of card icons
2024-06-22 18:59:40 +02:00
Mark Dumay
c3c1b4b246 Merge branch 'main' into develop 2024-06-22 18:52:53 +02:00
Mark Dumay
caa3a2a7c7 Support rounding of card icons 2024-06-22 18:52:27 +02:00
Mark Dumay
f235eb42b6 Merge pull request #1007 from gethinode/develop
Improve vector handling
2024-06-22 12:33:42 +02:00
Mark Dumay
7aae640999 Merge branch 'main' into develop 2024-06-22 12:26:10 +02:00
Mark Dumay
7c606ef48c Bump package release 2024-06-22 12:25:44 +02:00
Mark Dumay
cca70f538c Improve vector handling 2024-06-22 12:24:47 +02:00
Mark Dumay
ac8f0c3e95 Fix handling of missing vector image width 2024-06-22 10:53:59 +02:00
Mark Dumay
7c1a19f6a1 Merge pull request #1006 from gethinode/develop
Disable lighthouse plugin to address high severity vulnerabilities
2024-06-20 20:03:06 +02:00
Mark Dumay
41e02bf064 Merge branch 'main' into develop 2024-06-20 19:56:18 +02:00
Mark Dumay
d8fcae856b Disable lighthouse plugin to address high severity vulnerabilities 2024-06-20 19:55:34 +02:00
Mark Dumay
c4c7f55334 Merge pull request #1005 from gethinode/develop
Fix missing translation of git footer
2024-06-20 19:52:49 +02:00
Mark Dumay
76c10271f3 Merge branch 'main' into develop 2024-06-20 19:43:56 +02:00
Mark Dumay
88a271cf9d Update utils module 2024-06-20 19:43:07 +02:00
Mark Dumay
fb74835018 Fix missing translation of git footer 2024-06-20 19:32:32 +02:00
github-actions[bot]
c801ff0241 Merge pull request #1003 from gethinode/dependabot/npm_and_yarn/cssnano-7.0.3
Bump cssnano from 7.0.2 to 7.0.3
2024-06-19 13:57:42 +00:00
dependabot[bot]
dfc3cd706a Bump cssnano from 7.0.2 to 7.0.3
Bumps [cssnano](https://github.com/cssnano/cssnano) from 7.0.2 to 7.0.3.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.0.2...cssnano@7.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-19 13:51:18 +00:00
github-actions[bot]
95a1a3b860 Merge pull request #1002 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.3
Bump cssnano-preset-advanced from 7.0.2 to 7.0.3
2024-06-19 13:50:26 +00:00
dependabot[bot]
f5462ca5ba Bump cssnano-preset-advanced from 7.0.2 to 7.0.3
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 7.0.2 to 7.0.3.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@7.0.2...cssnano-preset-advanced@7.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-19 13:45:12 +00:00
Mark Dumay
f42722c526 Merge pull request #1000 from gethinode/develop
Add support for subfolder deployment to sidebar
2024-06-19 08:41:53 +02:00
Mark Dumay
4d02900162 Refine base path 2024-06-19 08:30:14 +02:00
Mark Dumay
3ca8bdd0a5 Merge branch 'main' into develop 2024-06-18 07:44:13 +02:00
Mark Dumay
371b054302 Add support for subfolder deployment to sidebar 2024-06-18 07:43:45 +02:00
Mark Dumay
055614e6ee Merge pull request #999 from gethinode/develop
Fix SEO thumbnail handling
2024-06-16 10:08:05 +02:00
Mark Dumay
7d712b13fe Merge branch 'main' into develop 2024-06-16 10:01:18 +02:00
Mark Dumay
5ee8383868 Fix SEO thumbnail handling 2024-06-16 10:00:31 +02:00
Mark Dumay
54f012f5be Merge pull request #998 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-06-16 08:14:19 +02:00
markdumay
d28a642283 fix: update Hugo module dependencies 2024-06-16 05:57:29 +00:00
Mark Dumay
91becdeeb5 Merge pull request #997 from gethinode/develop
Fix handling of external links in sidebar
2024-06-16 07:56:40 +02:00
Mark Dumay
b7c5b8a47e Bump package release 2024-06-16 07:45:31 +02:00
Mark Dumay
776aad8427 Fix #996 2024-06-16 07:44:26 +02:00
Mark Dumay
bcf9b8aa7c Merge pull request #993 from gethinode/develop
Use image helpers for SEO thumbnail
2024-06-12 08:07:19 +02:00
Mark Dumay
15d0161240 Merge branch 'main' into develop 2024-06-12 08:01:05 +02:00
Mark Dumay
998db85994 Use image helpers for SEO thumbnail 2024-06-12 08:00:46 +02:00
Mark Dumay
e6586b52cd Merge pull request #992 from gethinode/develop
Remove spacing from pagination buttons
2024-06-10 07:05:06 +02:00
Mark Dumay
937964a02b Merge branch 'main' into develop 2024-06-10 06:56:39 +02:00
Mark Dumay
9b4afdfb35 Merge pull request #985 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-06-10 06:56:15 +02:00
Mark Dumay
2121e663a0 Bump package release 2024-06-10 06:55:59 +02:00
Mark Dumay
46699664dc Remove spacing from pagination buttons 2024-06-10 06:55:00 +02:00
markdumay
98ec788fb3 fix: update Hugo module dependencies 2024-06-07 03:06:28 +00:00
github-actions[bot]
e248862905 Merge pull request #989 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.124.0
Bump hugo-bin from 0.123.3 to 0.124.0
2024-06-06 13:13:31 +00:00
dependabot[bot]
8ba8acf675 Bump hugo-bin from 0.123.3 to 0.124.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.123.3 to 0.124.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.123.3...v0.124.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 13:07:40 +00:00
github-actions[bot]
a7cf1ad918 Merge pull request #988 from gethinode/dependabot/npm_and_yarn/cssnano-7.0.2
Bump cssnano from 7.0.1 to 7.0.2
2024-06-05 14:12:55 +00:00
dependabot[bot]
492ce3e38b Bump cssnano from 7.0.1 to 7.0.2
Bumps [cssnano](https://github.com/cssnano/cssnano) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.0.1...cssnano@7.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-05 14:08:02 +00:00
github-actions[bot]
eaa5c217db Merge pull request #987 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.2
Bump cssnano-preset-advanced from 7.0.1 to 7.0.2
2024-06-05 14:07:17 +00:00
dependabot[bot]
410d681d23 Bump cssnano-preset-advanced from 7.0.1 to 7.0.2
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@7.0.1...cssnano-preset-advanced@7.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-05 14:02:55 +00:00
Mark Dumay
deaf9f0fec Merge pull request #983 from gethinode/develop
Fix external links in navbar
2024-06-04 09:12:15 +02:00
Mark Dumay
7ed3313c55 Merge branch 'main' into develop 2024-06-04 09:06:15 +02:00
Mark Dumay
1477ff7bb2 Bump package release 2024-06-04 09:05:47 +02:00
Mark Dumay
7e2f6606bf Fix external links in navbar 2024-06-04 09:05:11 +02:00
Mark Dumay
2acc8fc737 Merge pull request #982 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-06-04 06:19:46 +02:00
markdumay
96fe90ce9d fix: update Hugo module dependencies 2024-06-04 03:06:36 +00:00
github-actions[bot]
acf25e5375 Merge pull request #979 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.123.3
Bump hugo-bin from 0.123.2 to 0.123.3
2024-06-03 13:58:51 +00:00
dependabot[bot]
aa35e03692 Bump hugo-bin from 0.123.2 to 0.123.3
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.123.2 to 0.123.3.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.123.2...v0.123.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 13:51:57 +00:00
25 changed files with 630 additions and 2623 deletions

View File

@@ -39,6 +39,7 @@
@import "components/toc.scss"; @import "components/toc.scss";
@import "components/video.scss"; @import "components/video.scss";
@import "common/animation.scss"; @import "common/animation.scss";
@import "common/scrollbar.scss";
@import "common/styles.scss"; @import "common/styles.scss";
@import "layouts/reboot.scss"; @import "layouts/reboot.scss";
@import "layouts/type.scss"; @import "layouts/type.scss";

View File

@@ -37,6 +37,7 @@
@import "components/toc.scss"; @import "components/toc.scss";
@import "components/video.scss"; @import "components/video.scss";
@import "common/animation.scss"; @import "common/animation.scss";
@import "common/scrollbar.scss";
@import "common/styles.scss"; @import "common/styles.scss";
@import "layouts/reboot.scss"; @import "layouts/reboot.scss";
@import "layouts/type.scss"; @import "layouts/type.scss";

View File

@@ -0,0 +1,34 @@
@mixin scrollbar(
$foreground-color: var(--bs-primary),
$background-color: var(--bs-tertiary-bg),
$size: 10px
) {
// For Safari and Chrome (to force appearance in Chrome)
&::-webkit-scrollbar {
width: $size;
height: $size;
}
&::-webkit-scrollbar-thumb {
border-radius: calc($size / 2);
background: $foreground-color;
}
&::-webkit-scrollbar-track {
border-radius: calc($size / 2);
background: $background-color;
}
// Standard version (Firefox, only appears on scroll)
@supports (-moz-appearance:none) {
scrollbar-color: $foreground-color $background-color;
}
}
.scrollbar-horizontal
{
@include scrollbar;
overflow-x: scroll;
margin: auto;
}

View File

@@ -97,3 +97,56 @@
.card-button-link { .card-button-link {
text-decoration: underline if($enable-important-utilities, !important, null); text-decoration: underline if($enable-important-utilities, !important, null);
} }
// support horizontally scrollable card groups
.card-container-wrapper {
position: relative;
}
div.card-container-wrapper::after {
content: "";
position: absolute;
inset: 0;
height: calc(100% - 2rem);
background: linear-gradient(
90deg,
var(--bs-body-bg) 0%,
transparent 1.5rem,
transparent calc(100% - 1.5rem),
var(--bs-body-bg) 100%
);
pointer-events: none;
}
.card-container {
padding-left: 1.5rem;
padding-right: 1.5rem;
gap: 1.5rem;
margin-bottom: 2rem;
scroll-snap-type: x proximity;
}
.card-block-1 {
width: 80%;
scroll-snap-align: center;
}
.card-block-2 {
width: 40%;
scroll-snap-align: center;
}
.card-block-3 {
width: 27%;
scroll-snap-align: center;
}
.card-block-4 {
width: 20%;
scroll-snap-align: center;
}
.card-block-5 {
width: 16%;
scroll-snap-align: center;
}

View File

@@ -92,7 +92,8 @@ arguments:
type: bool type: bool
optional: true optional: true
comment: >- comment: >-
Flag to indicate a horizontal line should be added between items on small screens. Flag to indicate a horizontal line should be added between items on small
screens.
wrapper: wrapper:
type: string type: string
optional: true optional: true
@@ -102,7 +103,8 @@ arguments:
type: bool type: bool
optional: true optional: true
comment: >- comment: >-
Flag indicating if the number of columns should be responsive, defaults to `true`. Flag indicating if the number of columns should be responsive, defaults to
`true`.
buttonType: buttonType:
type: select type: select
optional: true optional: true
@@ -113,6 +115,13 @@ arguments:
values: values:
- link - link
- button - button
scroll:
type: bool
optional: true
comment: >-
Enables horizontal scrolling of the cards. By default, the card group
wraps any cards beyond the amount of defined columns to a new line. When
`scroll` is set to true, a horizontal scroll bar is added instead.
hook: hook:
type: string type: string
optional: true optional: true

View File

@@ -157,6 +157,12 @@ arguments:
optional: true optional: true
comment: >- comment: >-
Font Awesome icon, displayed on top or the left of the card. Font Awesome icon, displayed on top or the left of the card.
iconRounded:
type: bool
parent: cascade
optional: true
release: v0.24.8
comment: Stack the icon in a round container.
align: align:
type: select type: select
parent: cascade parent: cascade
@@ -169,6 +175,19 @@ arguments:
- start - start
- end - end
- center - center
scroll:
type: bool
parent: cascade
optional: true
group: partial
comment: >-
Enables horizontal scrolling of the cards. By default, the card group
wraps any cards beyond the amount of defined columns to a new line. When
`scroll` is set to true, a horizontal scroll bar is added instead.
wrapper:
type: string
optional: true
comment: Element class of the card wrapper.
style: style:
type: string type: string
parent: cascade parent: cascade

View File

@@ -136,7 +136,7 @@ As an example, the following shortcode displays a card group of three elements.
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}} {{< example lang="hugo" >}}
{{</* card-group padding="3" gutter="3" button=true buttonType="link" */>}} {{</* card-group padding="3" gutter="3" button=true buttonType="link" cols=2 scroll=true */>}}
{{</* card title="Bootstrap framework" icon="fab bootstrap" */>}} {{</* card title="Bootstrap framework" icon="fab bootstrap" */>}}
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source
Sass files. Sass files.

View File

@@ -103,11 +103,14 @@
"btn-sm", "btn-sm",
"btn-social", "btn-social",
"card", "card",
"card-block-2",
"card-body", "card-body",
"card-body-link", "card-body-link",
"card-body-margin", "card-body-margin",
"card-button", "card-button",
"card-button-link", "card-button-link",
"card-container",
"card-container-wrapper",
"card-emphasize", "card-emphasize",
"card-icon", "card-icon",
"card-img-bg", "card-img-bg",
@@ -134,13 +137,11 @@
"col-3", "col-3",
"col-4", "col-4",
"col-6", "col-6",
"col-8",
"col-9", "col-9",
"col-auto", "col-auto",
"col-lg-2", "col-lg-2",
"col-lg-4", "col-lg-4",
"col-lg-8", "col-lg-8",
"col-md-10",
"col-md-2", "col-md-2",
"col-md-3", "col-md-3",
"col-md-4", "col-md-4",
@@ -225,6 +226,8 @@
"flex-fill", "flex-fill",
"flex-grow-1", "flex-grow-1",
"flex-md-grow-0", "flex-md-grow-0",
"flex-nowrap",
"flex-row",
"font-monospace", "font-monospace",
"footer", "footer",
"form-control", "form-control",
@@ -381,6 +384,7 @@
"row-cols-md-3", "row-cols-md-3",
"row-cols-sm-2", "row-cols-sm-2",
"row-cols-sm-3", "row-cols-sm-3",
"scrollbar-horizontal",
"search", "search",
"search-input", "search-input",
"search-suggestions", "search-suggestions",

4
go.mod
View File

@@ -9,8 +9,8 @@ require (
github.com/gethinode/mod-fontawesome v1.9.0 // indirect github.com/gethinode/mod-fontawesome v1.9.0 // indirect
github.com/gethinode/mod-katex v1.1.0 // indirect github.com/gethinode/mod-katex v1.1.0 // indirect
github.com/gethinode/mod-leaflet v1.1.0 // indirect github.com/gethinode/mod-leaflet v1.1.0 // indirect
github.com/gethinode/mod-lottie v1.5.3 // indirect github.com/gethinode/mod-lottie v1.5.4 // indirect
github.com/gethinode/mod-utils/v2 v2.3.6 // indirect github.com/gethinode/mod-utils/v2 v2.3.10 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect
github.com/twbs/bootstrap v5.3.3+incompatible // indirect github.com/twbs/bootstrap v5.3.3+incompatible // indirect
) )

10
go.sum
View File

@@ -180,6 +180,8 @@ github.com/gethinode/mod-lottie v1.5.2 h1:UvrNAQeD/97Q5fbv3uKIY48fY3IWJeLy/v206G
github.com/gethinode/mod-lottie v1.5.2/go.mod h1:HM1pA85EiPO7RtNysw/a2ZzRqktO2WvB/KyWLOuynzg= github.com/gethinode/mod-lottie v1.5.2/go.mod h1:HM1pA85EiPO7RtNysw/a2ZzRqktO2WvB/KyWLOuynzg=
github.com/gethinode/mod-lottie v1.5.3 h1:fvCjCoZoCEhY2aou30oEsEo6N4tVSI0ijFyXS3wNib0= github.com/gethinode/mod-lottie v1.5.3 h1:fvCjCoZoCEhY2aou30oEsEo6N4tVSI0ijFyXS3wNib0=
github.com/gethinode/mod-lottie v1.5.3/go.mod h1:XHVMuPsuJIm9/Eb2ql4jsT49/BQqMlBiirQoty4uHAo= github.com/gethinode/mod-lottie v1.5.3/go.mod h1:XHVMuPsuJIm9/Eb2ql4jsT49/BQqMlBiirQoty4uHAo=
github.com/gethinode/mod-lottie v1.5.4 h1:+xbamSsjcnP2tyzGl0CA1enma7gkAp67wenmuP0XELY=
github.com/gethinode/mod-lottie v1.5.4/go.mod h1:gALqz48aYpoDLxJOI3LzIpdy0Eq/lOBNtlcOxABa9tg=
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY= github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE= github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE= github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
@@ -218,6 +220,14 @@ github.com/gethinode/mod-utils/v2 v2.3.5 h1:r8V330xQkHTjzAFNCde1Kpz6fgidzmMRW82e
github.com/gethinode/mod-utils/v2 v2.3.5/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY= github.com/gethinode/mod-utils/v2 v2.3.5/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.6 h1:Ta+WKc83sK9ZROKmUwS4pA32Qm0bQqoMmWHEOzDvZ5Y= github.com/gethinode/mod-utils/v2 v2.3.6 h1:Ta+WKc83sK9ZROKmUwS4pA32Qm0bQqoMmWHEOzDvZ5Y=
github.com/gethinode/mod-utils/v2 v2.3.6/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY= github.com/gethinode/mod-utils/v2 v2.3.6/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.7 h1:FFsUPO7NBp9Bhjovf0Ki5hnDGfeMKV/3RNz1Qpv7+oQ=
github.com/gethinode/mod-utils/v2 v2.3.7/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.8 h1:zAiDRCb3SsP9z6PUkCaiRLHOpqFhVf0xVhVOoTZNmAI=
github.com/gethinode/mod-utils/v2 v2.3.8/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.9 h1:Z9uAr6S0wunlkfKHa2D/U83fBV6Ivtf+7sjBAcrddrg=
github.com/gethinode/mod-utils/v2 v2.3.9/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.10 h1:+coUXdgAbLEE8Tvb3Rfk/1Nr6oDVreXI2sil0pa/n2Q=
github.com/gethinode/mod-utils/v2 v2.3.10/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo= github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU= github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg= github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=

View File

@@ -34,6 +34,8 @@
{{- $button := .button -}} {{- $button := .button -}}
{{- $buttonLabel := .buttonLabel -}} {{- $buttonLabel := .buttonLabel -}}
{{- $buttonType := .buttonType -}} {{- $buttonType := .buttonType -}}
{{- $iconRounded := .iconRounded }}
{{- $scroll := .scroll | default false }}
{{- $hook := .hook | default "assets/card.html" }} {{- $hook := .hook | default "assets/card.html" }}
<!-- Override arguments --> <!-- Override arguments -->
@@ -81,37 +83,34 @@
{{- $sizes := "100vw" }} {{- $sizes := "100vw" }}
{{- $colGrid := "" -}} {{- $colGrid := "" -}}
{{- if eq $cols "1" }} {{ if $scroll }}
{{ $colGrid = "row-cols-1" -}} {{- $colGrid = (printf "card-block-%d" $cols) -}}
{{- else if eq $cols "2" }} {{ else }}
{{ if $responsive }} {{ $colGrid = printf "row-cols-%s" $cols }}
{{ $colGrid = printf "row-cols-1 row-cols-%s-1 row-cols-%s-2" $breakpoint.prev $breakpoint.current }} {{- if eq $cols "1" }}
{{ else }} {{ $colGrid = "row-cols-1" -}}
{{ $colGrid = "row-cols-2" }} {{- else if eq $cols "2" }}
{{ if $responsive }}
{{ $colGrid = printf "row-cols-1 row-cols-%s-1 row-cols-%s-2" $breakpoint.prev $breakpoint.current }}
{{ end -}}
{{ $sizes = printf "(min-width: %s) 50vw, 100vw" $breakpoint.currentSize }}
{{- else if eq $cols "3" }}
{{ if $responsive }}
{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-3" $breakpoint.prev $breakpoint.current }}
{{ end -}}
{{ $sizes = printf "(min-width: %s) 33.3vw, (min-width: %s) 50vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{- else if eq $cols "4" }}
{{ if $responsive }}
{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-4" $breakpoint.prev $breakpoint.current }}
{{ end -}}
{{ $sizes = printf "(min-width: %s) 25vw, (min-width: %s) 50vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{- else if eq $cols "5" }}
{{ if $responsive }}
{{ $colGrid = printf "row-cols-1 row-cols-%s-3 row-cols-%s-5" $breakpoint.prev $breakpoint.current }}
{{ end -}}
{{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{ end -}} {{ end -}}
{{ $sizes = printf "(min-width: %s) 50vw, 100vw" $breakpoint.currentSize }} {{ 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 -}}
{{ $sizes = printf "(min-width: %s) 33.3vw, (min-width: %s) 50vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{- 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 -}}
{{ $sizes = printf "(min-width: %s) 25vw, (min-width: %s) 50vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{- 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 -}}
{{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{ end -}}
{{- if not $paginate -}} {{- if not $paginate -}}
{{- $list = first $max $list -}} {{- $list = first $max $list -}}
@@ -120,8 +119,8 @@
{{- if and (eq $cols "1") (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}} {{- if and (eq $cols "1") (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
<!-- Main code --> <!-- Main code -->
<div class="container-fluid {{ $wrapper }}"> <div class="container {{ $wrapper }} {{ if $scroll }}card-container-wrapper{{ end }}">
<div class="row {{ $colGrid }} g-{{ $gutter }}"> <div class="row g-{{ $gutter }} {{ if $scroll }}d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100{{ else }}{{ $colGrid }}{{ end }}">
{{ range $index, $element := $list }} {{ range $index, $element := $list }}
{{- $params := (dict {{- $params := (dict
"class" (printf "h-100 %s" $class) "class" (printf "h-100 %s" $class)
@@ -139,8 +138,9 @@
"button" $button "button" $button
"buttonLabel" $buttonLabel "buttonLabel" $buttonLabel
"buttonType" $buttonType "buttonType" $buttonType
"iconRounded" $iconRounded
) -}} ) -}}
{{- $params = merge $params $element }} {{- $params = merge $element $params }}
<div class="col"> <div class="col">
{{- partial $hook $params -}} {{- partial $hook $params -}}
@@ -151,7 +151,7 @@
</div> </div>
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{if $cards }}{{- print $cards | safeHTML }}{{ end }} {{ if $cards }}{{- print $cards | safeHTML }}{{ end }}
</div> </div>
{{ if $paginator }} {{ if $paginator }}

View File

@@ -11,6 +11,7 @@
<!-- Initialize arguments and default values --> <!-- Initialize arguments and default values -->
{{- $alt := .alt -}} {{- $alt := .alt -}}
{{- $wrapper := .wrapper -}}
{{- $class := .class -}} {{- $class := .class -}}
{{- $color := .color -}} {{- $color := .color -}}
{{- $description := .description -}} {{- $description := .description -}}
@@ -20,6 +21,7 @@
{{- $href := .href -}} {{- $href := .href -}}
{{- $icon := .icon -}} {{- $icon := .icon -}}
{{- $iconStyle := "" -}} {{- $iconStyle := "" -}}
{{- $iconRounded := .iconRounded | default false -}}
{{- $align := .align | default "start" -}} {{- $align := .align | default "start" -}}
{{- $style := .style | default "" -}} {{- $style := .style | default "" -}}
{{- $sizes := .sizes | default "100vw" -}} {{- $sizes := .sizes | default "100vw" -}}
@@ -125,22 +127,55 @@
{{- end -}} {{- end -}}
<!-- Main code --> <!-- Main code -->
{{ if ne $gutter "0" }}<div class="g-{{ $gutter }}">{{ end }} {{ if or (ne $gutter "0") ($wrapper) }}<div class="g-{{ $gutter }} {{ $wrapper }}">{{ end }}
{{ $stack := "fa-2x" }}
{{- if hasPrefix $orientation "horizontal" -}} {{- if hasPrefix $orientation "horizontal" -}}
{{ $col1 := "" }}
{{ $col2 := "" }}
{{ if $thumbnail }}
{{ if eq $orientation "horizontal-sm" }}
{{ $stack = "fa-1x" }}
{{ $col1 = "col-4 col-md-2" }}
{{ $col2 = "col-8 col-md-10" }}
{{ else }}
{{ $col1 = "col-4" }}
{{ $col2 = "col-8" }}
{{ end }}
{{ else if $icon }}
{{ if eq $orientation "horizontal-sm" }}
{{ $stack = "fa-1x" }}
{{ $col1 = "col-2" }}
{{ $col2 = "col-10" }}
{{ else }}
{{ $col1 = "col-4" }}
{{ $col2 = "col-8" }}
{{ end }}
{{ end }}
<!-- Render horizontal card --> <!-- Render horizontal card -->
<div class="card {{ $colorStyle }} {{ $class }}"> <div class="card {{ $colorStyle }} {{ $class }}">
<div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}"> <div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}">
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}"> {{- if $thumbnail -}}
{{- if $thumbnail -}} <div class="{{ $col1 }}">
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}} {{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
{{- else if $icon -}} </div>
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}"> {{- else if $icon -}}
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}} <div class="{{ $col1 }}">
<div class="card-icon {{ if $iconRounded }}fa-stack {{ $stack }} mx-auto{{ else }}fa-wrapper h-100 {{ end }} p-{{ $padding }} d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}">
{{ if $iconRounded }}
{{- partial "assets/icon.html" (dict "icon" "fas circle fa-stack-2x") -}}
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
{{ else }}
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
{{ end }}
</div> </div>
{{- end -}} </div>
</div> {{- end -}}
<div class="{{ if eq $orientation "horizontal-sm" }}col-8 col-md-10{{ else }}col-8{{ end }}"> <div class="{{ $col2 }}">
<div class="card-body d-flex p-{{ $padding }} flex-column h-100 flex-fill"> <div class="card-body d-flex p-{{ $padding }} flex-column h-100 flex-fill">
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }} {{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }}
<div class="flex-fill"> <div class="flex-fill">
@@ -173,8 +208,13 @@
{{- if $thumbnail -}} {{- if $thumbnail -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}} {{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}}
{{- else if $icon -}} {{- else if $icon -}}
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }}"> <div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }} {{ if $iconRounded }}fa-stack {{ $stack }}{{ end }} w-100">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}} {{ if $iconRounded }}
{{- partial "assets/icon.html" (dict "icon" (printf "fas circle fa-stack-2x %s")) -}}
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
{{ else }}
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
{{ end }}
</div> </div>
{{- end -}} {{- end -}}
<div class="card-body d-flex flex-column p-{{ $padding }}"> <div class="card-body d-flex flex-column p-{{ $padding }}">
@@ -204,4 +244,4 @@
</div> </div>
{{- end -}} {{- end -}}
{{ if ne $gutter "0" }}</div>{{ end }} {{ if or (ne $gutter "0") ($wrapper) }}</div>{{ end }}

View File

@@ -16,12 +16,8 @@
{{- $modes := .modes -}} {{- $modes := .modes -}}
{{- $plain := .plain | default false }} {{- $plain := .plain | default false }}
{{- $fallbackURL := "" -}}
{{- $anchor := "" -}}
{{- $imgset := "" -}}
{{- $isVector := false -}}
<!-- Split url into base and anchor when applicable (only relevant for vector images) --> <!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $anchor := "" -}}
{{- $segments := split $url "#" -}} {{- $segments := split $url "#" -}}
{{- if gt (len $segments) 2 -}} {{- if gt (len $segments) 2 -}}
{{- errorf "Invalid path or url: %q" $url -}} {{- errorf "Invalid path or url: %q" $url -}}
@@ -30,82 +26,18 @@
{{- $anchor = index $segments 1 -}} {{- $anchor = index $segments 1 -}}
{{- end -}} {{- end -}}
<!-- Identify image provider --> <!-- Obtain fallback URL and imageset definition -->
{{ $hook := "" }} {{ $target := partial "assets/helpers/image-dimension.html" (dict
{{ $account := "" }} "page" $page
{{ $container := "" }} "url" .url
{{ $rewrite := false }} "ratio" $ratio
{{ range $provider, $val := site.Params.images }} "plain" $plain
{{ if not $hook }} "imageset" true
{{ with index $val "host" }} ) }}
{{ if (findRE . (urls.Parse $url).Hostname) }} {{ $fallbackURL := index $target "target" }}
{{ $hook = $provider }} {{ $imgset := index $target "set" }}
{{ with index $val "account" }}{{ $account = . }}{{ end }} {{ $height := index $target "height" }}
{{ with index $val "rewrite" }}{{ $rewrite = . }}{{ end }} {{ $width := index $target "width" }}
{{ with index $val "container" }}{{ $container = . }}{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ if not $hook }}{{ $hook = "hugo" }}{{ end }}
<!-- Rewrite the origin URL if applicable -->
{{ if $rewrite }}
{{ $url = partial "assets/helpers/image-rewrite.html" (dict "url" $url "account" $account "container" $container "hook" $hook) }}
{{ end }}
<!-- Define image dimensions -->
{{ $dims := slice }}
{{- $res := "" -}}
{{- $img := "" -}}
{{ $transform := "" }}
{{- if hasSuffix $url "svg" -}}
{{- $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 -}}
{{ else }}
{{ $width := string (partial "utilities/GetWidth.html" (dict "path" $url "height" 500)) }}
{{ $dims = $dims | append (printf "%sx500" $width) }}
{{ end }}
{{ end }}
{{ else if $ratio }}
{{ $transform = "fill" }}
{{ $dims = partial "assets/helpers/GetDimension.html" (dict "ratio" $ratio) }}
{{ if not $dims }}{{ errorf "partial [assets/image.html] - Cannot find dimension data: %s" $ratio }}{{ end }}
{{ else if not $plain }}
{{ $transform = "fit" }}
{{- $res := partial "utilities/GetImage.html" (dict "url" $url "page" $page) -}}
{{ if and $res $res.resource }}
{{ $img = $res.resource }}
{{ if $res.mirror }}{{ $class = printf "%s mirrorred" $class }}{{ end }}
{{ $widths := partial "assets/helpers/GetDimension.html" (dict "ratio" "auto") }}
{{ range $width := $widths -}}
{{- $dims = $dims | append (printf "%dx%d" (int $width) (int (math.Round (mul (div (float $width) $img.Width) $img.Height)))) -}}
{{- end -}}
{{ end }}
{{ end }}
<!-- Derive image width and height -->
{{ $width := "" }}
{{ $height := "" }}
{{ if not $plain }}
{{ with $dims }}
{{ range $dim := (. | last 1) }}
{{ $width = (int (index (split $dim "x") 0)) }}
{{ $height = (int (index (split $dim "x") 1)) }}
{{ end }}
{{ end }}
{{ end }}
<!-- Generate image urls -->
{{ if or (hasSuffix $url "svg") $plain }}
{{- $fallbackURL = partial "utilities/GetStaticURL" (dict "url" $url) -}}
{{ else }}
{{- $fallbackURL = partial "assets/helpers/image-set.html" (dict "url" $url "img" $img "dims" ($dims | last 1) "transform" $transform "hook" $hook "format" "jpg" "includeWidth" false) -}}
{{- $imgset = partial "assets/helpers/image-set.html" (dict "url" $url "img" $img "dims" $dims "transform" $transform "hook" $hook) -}}
{{ end }}
<!-- Add color modes --> <!-- Add color modes -->
{{- range $none := $modes -}} {{- range $none := $modes -}}

View File

@@ -0,0 +1,113 @@
<!-- Initialize arguments -->
{{- $page := .page -}}
{{- $url := .url -}}
{{- $ratio := .ratio -}}
{{- $height := .height -}}
{{- $width := .width -}}
{{- $plain := .plain | default false }}
{{- $targetURL := "" -}}
{{- $set := "" -}}
{{- $imageset := .imageset | default false }}
<!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $segments := split $url "#" -}}
{{- if gt (len $segments) 2 -}}
{{- errorf "Invalid path or url: %q" $url -}}
{{- else if eq (len $segments) 2 }}
{{- $url = index $segments 0 -}}
{{- end -}}
<!-- Identify image provider -->
{{ $hook := "" }}
{{ $account := "" }}
{{ $container := "" }}
{{ $rewrite := false }}
{{ range $provider, $val := site.Params.images }}
{{ if not $hook }}
{{ with index $val "host" }}
{{ if (findRE . (urls.Parse $url).Hostname) }}
{{ $hook = $provider }}
{{ with index $val "account" }}{{ $account = . }}{{ end }}
{{ with index $val "rewrite" }}{{ $rewrite = . }}{{ end }}
{{ with index $val "container" }}{{ $container = . }}{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ if not $hook }}{{ $hook = "hugo" }}{{ end }}
<!-- Rewrite the origin URL if applicable -->
{{ if $rewrite }}
{{ $url = partial "assets/helpers/image-rewrite.html" (dict "url" $url "account" $account "container" $container "hook" $hook) }}
{{ end }}
<!-- Define image dimensions -->
{{ $dims := slice }}
{{- $res := "" -}}
{{- $img := "" -}}
{{ $transform := "" }}
{{- if hasSuffix $url "svg" -}}
{{- $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 -}}
{{ else }}
{{ $width := string (partial "utilities/GetWidth.html" (dict "path" $url "height" 500)) }}
{{ if $width }}
{{ $dims = $dims | append (printf "%sx500" $width) }}
{{ else }}
{{ $dims = $dims | append "500" }}
{{ end }}
{{ end }}
{{ end }}
{{ else if $ratio }}
{{ $transform = "fill" }}
{{ $dims = partial "assets/helpers/GetDimension.html" (dict "ratio" $ratio) }}
{{ if not $dims }}{{ errorf "partial [assets/image.html] - Cannot find dimension data: %s" $ratio }}{{ end }}
{{ else if (and $height $width) }}
{{ $transform = "fill" }}
{{ $dims = slice (printf "%dx%d" $width $height) }}
{{ else if not $plain }}
{{ $transform = "fit" }}
{{- $res := partial "utilities/GetImage.html" (dict "url" $url "page" $page) -}}
{{ if and $res $res.resource }}
{{ $img = $res.resource }}
{{ if $res.mirror }}{{ $class = printf "%s mirrorred" $class }}{{ end }}
{{ $widths := partial "assets/helpers/GetDimension.html" (dict "ratio" "auto") }}
{{ range $w := $widths -}}
{{ $height = int (math.Round (mul (div (float $w) $img.Width) $img.Height)) }}
{{- $dims = $dims | append (printf "%dx%d" (int $w) $height ) -}}
{{- end -}}
{{ end }}
{{ end }}
<!-- Derive image width and height -->
{{ if not $plain }}
{{ with $dims }}
{{ range $dim := (. | last 1) }}
{{ $width = (int (index (split $dim "x") 0)) }}
{{ $height = (int (index (split $dim "x") 1)) }}
{{ end }}
{{ end }}
{{ end }}
<!-- Generate image url -->
{{ if or (hasSuffix $url "svg") $plain }}
{{- $targetURL = partial "utilities/GetStaticURL" (dict "url" $url) -}}
{{ else }}
{{- $targetURL = partial "assets/helpers/image-set.html" (dict
"url" $url
"img" $img
"dims" ($dims | last 1)
"transform" $transform
"hook" $hook
"format" "jpg"
"includeWidth" false
)}}
{{ if $imageset }}
{{- $set = partial "assets/helpers/image-set.html" (dict "url" $url "img" $img "dims" $dims "transform" $transform "hook" $hook) -}}
{{ end }}
{{ end }}
{{ return (dict "target" $targetURL "set" $set "height" $height "width" $width) }}

View File

@@ -19,9 +19,13 @@
{{- $class := .class -}} {{- $class := .class -}}
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}} {{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}} {{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
{{- $baseURL := $page.Scratch.Get "baseURL" -}} {{- $baseURL := $page.Scratch.Get "baseURL" | default "/" -}}
{{- $menuURL := "" -}}
{{- $menuURL := urls.JoinPath $baseURL ((or $menu.PageRef $menu.URL) | relLangURL) -}} {{ if or (strings.HasPrefix $menu.PageRef "http") (strings.HasPrefix $menu.URL "http") }}
{{ $menuURL = or $menu.PageRef $menu.URL }}
{{ else }}
{{- $menuURL = urls.JoinPath $baseURL ((or $menu.PageRef $menu.URL) | relLangURL) -}}
{{ end }}
{{- $pageURL := $page.RelPermalink -}} {{- $pageURL := $page.RelPermalink -}}
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}} {{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
{{- $isAlias := $menu.Params.alias -}} {{- $isAlias := $menu.Params.alias -}}
@@ -66,20 +70,29 @@
<!-- Main code --> <!-- Main code -->
{{ if not $error }} {{ if not $error }}
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}" {{ if $menu.Params.button }}
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }} {{ partial "assets/button.html" (dict
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }} "title" $menu.Name
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}> "icon" $menu.Pre
"href" $menuURL
"size" "sm"
)}}
{{ else }}
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}>
{{- with $menu.Pre }} {{- with $menu.Pre }}
{{ if hasPrefix . "<i" }} {{ if hasPrefix . "<i" }}
{{ . | safeHTML }} {{ . | safeHTML }}
{{ else }} {{ else }}
{{ partial "assets/icon.html" (dict "icon" (string .) )}} {{ partial "assets/icon.html" (dict "icon" (string .) )}}
{{ end }} {{ end }}
{{ end -}} {{ end -}}
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span> <span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
{{- with $menu.Post }}{{ . }}{{ end -}} {{- with $menu.Post }}{{ . }}{{ end -}}
{{- if not $isIcon }}&nbsp;{{ $suffix }}{{ end -}} {{- if not $isIcon }}&nbsp;{{ $suffix }}{{ end -}}
</a> </a>
{{ end }}
{{ end }} {{ end }}

View File

@@ -164,6 +164,11 @@
{{- $contrast := false -}} {{- $contrast := false -}}
{{- if in (slice "primary" "secondary" "success" "danger") $color }}{{ $contrast = true }}{{ end -}} {{- if in (slice "primary" "secondary" "success" "danger") $color }}{{ $contrast = true }}{{ end -}}
{{- $flex := false }}
{{ if gt (where $menus "Params.spacing" true | len) 0 }}
{{ $flex = true }}
{{ end }}
<!-- Main code --> <!-- Main code -->
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}"> <div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
{{- partial "assets/page-alert.html" (dict "page" $page) -}} {{- partial "assets/page-alert.html" (dict "page" $page) -}}
@@ -225,23 +230,27 @@
{{- if and $search (not $searchModal) }}{{ 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) --> <!-- Render top-menu items (maximum depth of 2) -->
<ul class="navbar-nav ms-auto"> <ul class="navbar-nav {{ if $flex }}d-flex w-100{{ else }}ms-auto{{ end }}">
{{- range $menu := $menus -}} {{- range $menu := $menus -}}
<li class="nav-item{{ if .HasChildren }} dropdown{{ if $horizontal }} dropdown-horizontal-{{ $size }}{{ end }}{{ end }}"> {{ if $menu.Params.spacing }}
{{- partial "assets/navbar-item.html" (dict "menu" $menu "page" $page) -}} <li class="nav-item flex-grow-1"></li>
{{- if .HasChildren -}} {{ else }}
<ul class="dropdown-menu"> <li class="nav-item {{ if .HasChildren }} dropdown{{ if $horizontal }} dropdown-horizontal-{{ $size }}{{ end }}{{ end }}">
{{- range .Children -}} {{- partial "assets/navbar-item.html" (dict "menu" $menu "page" $page) -}}
<li>{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}</li> {{- if .HasChildren -}}
{{- end -}} <ul class="dropdown-menu">
</ul> {{- range .Children -}}
{{- end -}} <li>{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}</li>
</li> {{- end -}}
</ul>
{{- end -}}
</li>
{{- end -}}
{{- end -}} {{- end -}}
<!-- Insert divider if applicable --> <!-- Insert divider if applicable -->
{{- if and $menus (or $enableLanguage $enableVersions) -}} {{- if and $menus (or $enableLanguage $enableVersions) -}}
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $size }}-block"> <li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $size }}-block me-auto">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div> <div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li> </li>
<li><hr class="dropdown-divider-bg"></li> <li><hr class="dropdown-divider-bg"></li>
@@ -256,7 +265,7 @@
<!-- Insert language switcher if applicable --> <!-- Insert language switcher if applicable -->
{{- if $enableLanguage -}} {{- if $enableLanguage -}}
{{- $currentLang := $page.Language.Lang -}} {{- $currentLang := $page.Language.Lang -}}
<li class="nav-item dropdown"> <li class="nav-item dropdown me-auto">
<a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false"> <a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}&nbsp;{{ T "languageSwitcherLabel" }} {{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}&nbsp;{{ T "languageSwitcherLabel" }}
</a> </a>
@@ -284,7 +293,7 @@
<!-- Insert modal search button --> <!-- Insert modal search button -->
{{- if $searchModal }} {{- if $searchModal }}
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $size }}-block"> <li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $size }}-block me-auto">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div> <div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li> </li>
<li><hr class="dropdown-divider-bg"></li> <li><hr class="dropdown-divider-bg"></li>

View File

@@ -21,22 +21,30 @@
{{- with .First }} {{- with .First }}
{{- if ne $currentPageNumber .PageNumber }} {{- if ne $currentPageNumber .PageNumber }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-left") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-left" "spacing" false) }}</span>
</a>
</li> </li>
{{- else }} {{- else }}
<li class="page-item disabled"> <li class="page-item disabled">
<a aria-disabled="true" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-left") }}</span></a> <a aria-disabled="true" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button" tabindex="-1">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-left" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- with .Prev }} {{- with .Prev }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-left") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-left" "spacing" false) }}</span>
</a>
</li> </li>
{{- else }} {{- else }}
<li class="page-item disabled"> <li class="page-item disabled">
<a aria-disabled="true" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-left") }}</span></a> <a aria-disabled="true" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button" tabindex="-1">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-left" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
@@ -61,22 +69,30 @@
{{- with .Next }} {{- with .Next }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-right") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-right" "spacing" false) }}</span>
</a>
</li> </li>
{{- else }} {{- else }}
<li class="page-item disabled"> <li class="page-item disabled">
<a aria-disabled="true" aria-label="{{ T "paginationNext" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-right") }}</span></a> <a aria-disabled="true" aria-label="{{ T "paginationNext" }}" class="page-link" role="button" tabindex="-1">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-right" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
{{- with .Last }} {{- with .Last }}
{{- if ne $currentPageNumber .PageNumber }} {{- if ne $currentPageNumber .PageNumber }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationLast" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-right") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationLast" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-right" "spacing" false) }}</span>
</a>
</li> </li>
{{- else }} {{- else }}
<li class="page-item disabled"> <li class="page-item disabled">
<a aria-disabled="true" aria-label="{{ T "paginationLast" }}" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-right") }}</span></a> <a aria-disabled="true" aria-label="{{ T "paginationLast" }}" class="page-link" role="button" tabindex="-1">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-right" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
{{- end }} {{- end }}
@@ -90,14 +106,18 @@
{{- with .First }} {{- with .First }}
{{- if ne $currentPageNumber .PageNumber }} {{- if ne $currentPageNumber .PageNumber }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-left") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationFirst" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-left" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- with .Prev }} {{- with .Prev }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-left") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationPrevious" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-left" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
@@ -122,14 +142,18 @@
{{- with .Next }} {{- with .Next }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-right") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationNext" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angle-right" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
{{- with .Last }} {{- with .Last }}
{{- if ne $currentPageNumber .PageNumber }} {{- if ne $currentPageNumber .PageNumber }}
<li class="page-item"> <li class="page-item">
<a href="{{ .URL }}" aria-label="{{ T "paginationLast" }}" class="page-link" role="button"><span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-right") }}</span></a> <a href="{{ .URL }}" aria-label="{{ T "paginationLast" }}" class="page-link" role="button">
<span aria-hidden="true">{{ partial "assets/icon.html" (dict "icon" "fas angles-right" "spacing" false) }}</span>
</a>
</li> </li>
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@@ -26,8 +26,8 @@
{{- $group := .group -}} {{- $group := .group -}}
{{- $data := .menu -}} {{- $data := .menu -}}
{{- $doc_slug := urls.JoinPath $baseURL ($group.title | urlize) -}} {{- $doc_slug := urls.JoinPath $baseURL ($group.title | urlize) -}}
{{- $href := or $group.link (partial "utilities/GetStaticURL" (dict "url" $doc_slug)) -}} {{- $href := or $group.link $doc_slug -}}
{{- $collapsed := strings.HasPrefix $page.RelPermalink $href -}} {{- $collapsed := strings.HasPrefix $page.RelPermalink $href -}}
<li class="mb-1"> <li class="mb-1">
@@ -75,9 +75,13 @@
{{ $href := "" }} {{ $href := "" }}
{{ with .href }} {{ with .href }}
{{- $href = (partial "utilities/GetStaticURL" (dict "url" (urls.JoinPath $baseURL .))) -}} {{ if hasPrefix . "http" }}
{{ $href = . }}
{{ else }}
{{- $href = urls.JoinPath $baseURL . -}}
{{ end }}
{{ else }} {{ else }}
{{- $href = partial "utilities/GetStaticURL" (dict "url" (urls.JoinPath $baseURL ($title | urlize))) -}} {{- $href = urls.JoinPath $baseURL ($title | urlize) -}}
{{ end }} {{ end }}
{{- $active := eq (strings.TrimSuffix "/" $page.RelPermalink) (strings.TrimSuffix "/" $href) -}} {{- $active := eq (strings.TrimSuffix "/" $page.RelPermalink) (strings.TrimSuffix "/" $href) -}}
@@ -117,7 +121,8 @@
<nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation"> <nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation">
{{- $sectionBreak := false -}} {{- $sectionBreak := false -}}
{{- $level := 0 -}} {{- $level := 0 -}}
{{- $baseURL := relLangURL (path.Join $section $version) }} {{ $baseURL := $page.Scratch.Get "baseURL" | default "/" -}}
{{ $baseURL = urls.JoinPath "/" (strings.TrimPrefix $baseURL (urls.JoinPath $section $version | relLangURL)) }}
<ul class="list-unstyled ps-0"> <ul class="list-unstyled ps-0">
{{- range $index, $item := $data -}} {{- range $index, $item := $data -}}

View File

@@ -14,16 +14,9 @@
{{ $.Scratch.Set "description" $description -}} {{ $.Scratch.Set "description" $description -}}
{{- $thumbnail := (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) -}} {{- $thumbnail := (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) -}}
{{ with $thumbnail -}} {{ if $thumbnail -}}
{{- $res := partial "utilities/GetImage.html" (dict "url" .) -}} {{ $imgURL := index (partial "assets/helpers/image-dimension.html" (dict "url" $thumbnail "width" 1280 "height" 640 "page" .)) "target" }}
{{- $img := "" -}} {{ $.Scratch.Set "thumbnail" ($imgURL | absURL) -}}
{{ with $res }}{{ $img = $res.resource }}{{ end }}
{{ with $img -}}
{{ $dim := "1280x640" -}}
{{ $scaled := (.Fill (printf "%s jpg" $dim)) -}}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink ".jpg" (printf "-%s.jpg" $dim)) -}}
{{ $.Scratch.Set "thumbnail" ($scaled.Permalink | absURL) -}}
{{ end -}}
{{ else -}} {{ else -}}
{{ with .Site.Params.schema.image.url -}} {{ with .Site.Params.schema.image.url -}}
{{ $.Scratch.Set "thumbnail" (. | absURL) -}} {{ $.Scratch.Set "thumbnail" (. | absURL) -}}

View File

@@ -0,0 +1,5 @@
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
{{ $lastmodstr | i18n "lastModified" -}}
{{ with .GitInfo }}
&bull;&nbsp;<a href="{{ site.Params.docs.github | default site.Params.schema.github }}/commit/{{ .Hash }}">{{ .Subject }} ({{ .AbbreviatedHash }})</a>
{{ end -}}

View File

@@ -29,6 +29,8 @@
{{- $subtle := .Get "subtle" | default false -}} {{- $subtle := .Get "subtle" | default false -}}
{{- $button := .Get "button" | default false -}} {{- $button := .Get "button" | default false -}}
{{- $buttonType := .Get "buttonType" | default "" -}} {{- $buttonType := .Get "buttonType" | default "" -}}
{{- $iconRounded := .Get "iconRounded" | default false -}}
{{- $scroll := .Get "scroll" | default false -}}
{{ $inner := .Scratch.Get "inner" }} {{ $inner := .Scratch.Get "inner" }}
{{ $input := trim .Inner " \r\n" }} {{ $input := trim .Inner " \r\n" }}
@@ -58,5 +60,7 @@
"subtle" $subtle "subtle" $subtle
"button" $button "button" $button
"buttonType" $buttonType "buttonType" $buttonType
"iconRounded" $iconRounded
"scroll" $scroll
) )
-}} -}}

View File

@@ -21,6 +21,7 @@
{{- $gutter := partial "utilities/GetArgParent" (dict "page" . "arg" "gutter") | default "0" -}} {{- $gutter := partial "utilities/GetArgParent" (dict "page" . "arg" "gutter") | default "0" -}}
{{- $header := partial "utilities/GetArgParent" (dict "page" . "arg" "header") | default "full" -}} {{- $header := partial "utilities/GetArgParent" (dict "page" . "arg" "header") | default "full" -}}
{{- $icon := .Get "icon" -}} {{- $icon := .Get "icon" -}}
{{- $iconRounded := partial "utilities/GetArgParent" (dict "page" . "arg" "iconRounded") | default false -}}
{{- $align := partial "utilities/GetArgParent" (dict "page" . "arg" "align") | default "start" -}} {{- $align := partial "utilities/GetArgParent" (dict "page" . "arg" "align") | default "start" -}}
{{- $style := partial "utilities/GetArgParent" (dict "page" . "arg" "style") | default "" -}} {{- $style := partial "utilities/GetArgParent" (dict "page" . "arg" "style") | default "" -}}
{{- $subtle := partial "utilities/GetArgParent" (dict "page" . "arg" "subtle") | default false -}} {{- $subtle := partial "utilities/GetArgParent" (dict "page" . "arg" "subtle") | default false -}}
@@ -34,6 +35,9 @@
{{- $title := .Get "title" -}} {{- $title := .Get "title" -}}
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}} {{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
{{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}} {{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}}
{{- $cols := partial "utilities/GetArgParent" (dict "page" . "arg" "cols") | default 3 -}}
{{- $scroll := partial "utilities/GetArgParent" (dict "page" . "arg" "scroll") | default false -}}
{{- $wrapper := "" -}}
<!-- Override arguments --> <!-- Override arguments -->
{{ if $path }} {{ if $path }}
@@ -48,6 +52,11 @@
{{ $class = (printf "h-100 %s" $class) }} {{ $class = (printf "h-100 %s" $class) }}
{{ end }} {{ end }}
{{ if $scroll }}
{{ $wrapper = printf "card-block-%d p-0" $cols }}
{{ end }}
<!-- Main code --> <!-- Main code -->
{{ if not $error -}} {{ if not $error -}}
<!-- Render card --> <!-- Render card -->
@@ -64,9 +73,12 @@
"description" $description "description" $description
"ratio" $ratio "ratio" $ratio
"icon" $icon "icon" $icon
"iconRounded" $iconRounded
"align" $align "align" $align
"style" $style "style" $style
"subtle" $subtle "subtle" $subtle
"scroll" $scroll
"wrapper" $wrapper
"thumbnail" $thumbnail "thumbnail" $thumbnail
"loading" $loading "loading" $loading
"alt" $alt "alt" $alt

View File

@@ -82,8 +82,8 @@
# Redirected in exampleSite/config/_default/hugo.toml # Redirected in exampleSite/config/_default/hugo.toml
# srcdir = "" # srcdir = ""
[[plugins]] # [[plugins]]
package = "@netlify/plugin-lighthouse" # package = "@netlify/plugin-lighthouse"
# [plugins.inputs] # [plugins.inputs]
# output_path = "reports/lighthouse.html" # output_path = "reports/lighthouse.html"
# toml-docs-end plugins # toml-docs-end plugins

2566
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.24.0", "version": "0.24.10",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator", "description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [ "keywords": [
"hugo", "hugo",
@@ -69,14 +69,13 @@
"dependencies": { "dependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0", "@fullhuman/postcss-purgecss": "^6.0.0",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"cssnano": "^7.0.1", "cssnano": "^7.0.3",
"cssnano-preset-advanced": "^7.0.1", "cssnano-preset-advanced": "^7.0.3",
"hugo-bin": "0.123.2", "hugo-bin": "0.125.0",
"purgecss-whitelister": "^2.4.0" "purgecss-whitelister": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0", "@gethinode/netlify-plugin-dartsass": "^0.3.0",
"@netlify/plugin-lighthouse": "^6.0.0",
"eslint": "^8.57.0", "eslint": "^8.57.0",
"eslint-config-standard": "^17.1.0", "eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
@@ -86,7 +85,7 @@
"netlify-plugin-hugo-cache-resources": "^0.2.1", "netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.0", "postcss-cli": "^11.0.0",
"replace-in-files-cli": "^2.2.0", "replace-in-files-cli": "^3.0.0",
"rimraf": "^5.0.7", "rimraf": "^5.0.7",
"shx": "^0.3.4", "shx": "^0.3.4",
"stylelint": "^16.6.1", "stylelint": "^16.6.1",
@@ -94,7 +93,6 @@
}, },
"optionalDependencies": { "optionalDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0", "@gethinode/netlify-plugin-dartsass": "^0.3.0",
"@netlify/plugin-lighthouse": "*",
"fsevents": "*", "fsevents": "*",
"netlify-plugin-hugo-cache-resources": "^0.2.1" "netlify-plugin-hugo-cache-resources": "^0.2.1"
}, },