Compare commits

...

13 Commits

Author SHA1 Message Date
Mark Dumay
7641184189 Merge pull request #919 from gethinode/develop
Add configurable background color for transparent card images
2024-05-08 15:06:09 +02:00
Mark Dumay
fae0dff78b Merge branch 'main' into develop 2024-05-08 14:56:14 +02:00
Mark Dumay
d0b7922ebb Merge pull request #917 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-05-08 14:55:37 +02:00
Mark Dumay
6433ba14aa Merge branch 'main' into develop 2024-05-08 12:57:01 +02:00
Mark Dumay
bf8cbee305 Bump package release 2024-05-08 12:56:45 +02:00
Mark Dumay
af24d3ed3d Add configurable background color for transparent card images 2024-05-08 12:56:17 +02:00
markdumay
942323218c fix: update Hugo module dependencies 2024-05-07 03:06:29 +00:00
github-actions[bot]
d1baf26c08 Merge pull request #916 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.122.7
Bump hugo-bin from 0.122.5 to 0.122.7
2024-05-06 13:44:37 +00:00
dependabot[bot]
8aa288d9aa Bump hugo-bin from 0.122.5 to 0.122.7
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.122.5 to 0.122.7.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.122.5...v0.122.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 13:38:33 +00:00
Mark Dumay
9c71856e49 Merge pull request #915 from gethinode/develop
Improve image set rendering
2024-05-06 09:25:09 +02:00
Mark Dumay
9300a794b1 Improve image set rendering 2024-05-06 08:14:15 +02:00
Mark Dumay
6d57058d9e Merge pull request #913 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-05-05 09:59:41 +02:00
markdumay
b6e5b24514 fix: update Hugo module dependencies 2024-05-05 07:54:06 +00:00
12 changed files with 98 additions and 33 deletions

View File

@@ -1,6 +1,10 @@
// add zoom animation with opacity change on card img hover // add zoom animation with opacity change on card img hover
// source: https://stackoverflow.com/a/43816376 // source: https://stackoverflow.com/a/43816376
.card-img {
background-color: var(--#{$prefix}secondary-bg);
}
.card-img-wrap { .card-img-wrap {
overflow: hidden; overflow: hidden;
position: relative; position: relative;

View File

@@ -211,6 +211,14 @@ arguments:
optional: true optional: true
comment: Render hook for the image partial. comment: Render hook for the image partial.
group: partial group: partial
sizes:
type: string
default: 100vw
optional: true
comment: >-
One or more strings separated by commas, indicating the source sizes of an
image set.
group: partial
body: body:
optional: true optional: true
comment: >- comment: >-

View File

@@ -98,6 +98,14 @@ arguments:
- low - low
- auto - auto
group: partial group: partial
sizes:
type: string
default: 100vw
optional: true
comment: >-
One or more strings separated by commas, indicating the source sizes of an
image set.
group: partial
title: title:
type: string type: string
optional: true optional: true

View File

@@ -106,6 +106,7 @@
"card-button", "card-button",
"card-emphasize", "card-emphasize",
"card-icon", "card-icon",
"card-img",
"card-img-top", "card-img-top",
"card-img-wrap", "card-img-wrap",
"card-text", "card-text",
@@ -181,10 +182,6 @@
"fa-2xs", "fa-2xs",
"fa-4x", "fa-4x",
"fa-activity", "fa-activity",
"fa-angle-left",
"fa-angle-right",
"fa-angles-left",
"fa-angles-right",
"fa-arrow-left", "fa-arrow-left",
"fa-arrow-right", "fa-arrow-right",
"fa-bootstrap", "fa-bootstrap",
@@ -331,10 +328,6 @@
"p-2", "p-2",
"p-3", "p-3",
"p-4", "p-4",
"page-item",
"page-link",
"pagination",
"pagination-terse",
"pb-2", "pb-2",
"pb-3", "pb-3",
"pb-4", "pb-4",
@@ -351,7 +344,6 @@
"ps-1", "ps-1",
"ps-3", "ps-3",
"pt-1", "pt-1",
"pt-3",
"pt-5", "pt-5",
"pt-md-3", "pt-md-3",
"ptw-3", "ptw-3",

8
go.mod
View File

@@ -4,13 +4,13 @@ go 1.19
require ( require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/gethinode/mod-bootstrap v1.2.5 // indirect github.com/gethinode/mod-bootstrap v1.2.8 // indirect
github.com/gethinode/mod-flexsearch v1.11.3 // indirect github.com/gethinode/mod-flexsearch v1.11.3 // indirect
github.com/gethinode/mod-fontawesome v1.8.2 // indirect github.com/gethinode/mod-fontawesome v1.8.2 // indirect
github.com/gethinode/mod-katex v1.0.8 // indirect github.com/gethinode/mod-katex v1.0.9 // indirect
github.com/gethinode/mod-leaflet v1.0.1 // indirect github.com/gethinode/mod-leaflet v1.0.1 // indirect
github.com/gethinode/mod-lottie v1.4.4 // indirect github.com/gethinode/mod-lottie v1.4.6 // indirect
github.com/gethinode/mod-utils/v2 v2.1.1 // indirect github.com/gethinode/mod-utils/v2 v2.2.2 // 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

@@ -16,6 +16,10 @@ github.com/gethinode/mod-bootstrap v1.2.4 h1:4CFNpwpRKiZlMVWg9u5+ijSb924j4yM3G1p
github.com/gethinode/mod-bootstrap v1.2.4/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ= github.com/gethinode/mod-bootstrap v1.2.4/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.2.5 h1:h6yAlkMZA34wJU3pLFpLxp1ynEBte/YTY4kGEQtMGPE= github.com/gethinode/mod-bootstrap v1.2.5 h1:h6yAlkMZA34wJU3pLFpLxp1ynEBte/YTY4kGEQtMGPE=
github.com/gethinode/mod-bootstrap v1.2.5/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ= github.com/gethinode/mod-bootstrap v1.2.5/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.2.6 h1:joKKVqWzPgitPbUFlU4oIRj72YXsEHkVun3TPf4ZZ2Q=
github.com/gethinode/mod-bootstrap v1.2.6/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.2.8 h1:kIKSO6qqE8xA0KQC5s6kkEv5UDc8oT17HalGIwB+dSc=
github.com/gethinode/mod-bootstrap v1.2.8/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA= 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.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4= github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
@@ -114,6 +118,8 @@ github.com/gethinode/mod-katex v1.0.7 h1:FTEhvi3r+O5lPeOxB7OsanFZuAB14yC5fIk3Dqh
github.com/gethinode/mod-katex v1.0.7/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.0.7/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.8 h1:tFGFz/JIEogCz4wvUsUncrOsOupPxsjP+TwU/3NxIjY= github.com/gethinode/mod-katex v1.0.8 h1:tFGFz/JIEogCz4wvUsUncrOsOupPxsjP+TwU/3NxIjY=
github.com/gethinode/mod-katex v1.0.8/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.0.8/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.9 h1:cCJoR28tZwkDvXps17o9Jwfe3aQQAZ3Rxk0jCNRQdbU=
github.com/gethinode/mod-katex v1.0.9/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk= 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.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc= github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
@@ -152,6 +158,8 @@ github.com/gethinode/mod-lottie v1.4.3 h1:IKZO8a4yQyPKUwZ6POsZRIH/B++yEzXDe5HxrF
github.com/gethinode/mod-lottie v1.4.3/go.mod h1:nt4wLnDFIhjBGRMuQJJ2bH80VREpbcsBUsdO6uWXjLs= github.com/gethinode/mod-lottie v1.4.3/go.mod h1:nt4wLnDFIhjBGRMuQJJ2bH80VREpbcsBUsdO6uWXjLs=
github.com/gethinode/mod-lottie v1.4.4 h1:Lv7J+lAMx++aK9h0L7vAgsjyOZgrjux4xPz4Tpza8n4= github.com/gethinode/mod-lottie v1.4.4 h1:Lv7J+lAMx++aK9h0L7vAgsjyOZgrjux4xPz4Tpza8n4=
github.com/gethinode/mod-lottie v1.4.4/go.mod h1:7tsZjlFgMlj2iWBIS9uOtHHsCrfx9W7S8OsBrZeSVGU= github.com/gethinode/mod-lottie v1.4.4/go.mod h1:7tsZjlFgMlj2iWBIS9uOtHHsCrfx9W7S8OsBrZeSVGU=
github.com/gethinode/mod-lottie v1.4.6 h1:L6zvfbq+FQUWTG3X/wWFCvb91WOxJuIkJUlZOd+QJ1Q=
github.com/gethinode/mod-lottie v1.4.6/go.mod h1:1/+7U/Q5IuaqkzTrvXK1CnPE7ANnTRsG5k+KaXQUQwE=
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=
@@ -174,6 +182,8 @@ github.com/gethinode/mod-utils/v2 v2.1.0 h1:5I0IN/AX5qPFYx7tjWXk59GBevTJzixxZUGj
github.com/gethinode/mod-utils/v2 v2.1.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY= github.com/gethinode/mod-utils/v2 v2.1.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.1.1 h1:aLBcS9Zbx+dqnu5oBsTM01AkkN5nwwifgbV4D0qiHnM= github.com/gethinode/mod-utils/v2 v2.1.1 h1:aLBcS9Zbx+dqnu5oBsTM01AkkN5nwwifgbV4D0qiHnM=
github.com/gethinode/mod-utils/v2 v2.1.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY= github.com/gethinode/mod-utils/v2 v2.1.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.2.2 h1:ZRxWIJKmZIDYsoMS3WhxxC+BWJrkd1dcZ8rz/cLZExc=
github.com/gethinode/mod-utils/v2 v2.2.2/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

@@ -78,12 +78,38 @@
{{- $responsive := .responsive | default true -}} {{- $responsive := .responsive | default true -}}
{{- $cols := string .cols | default "3" -}} {{- $cols := string .cols | default "3" -}}
{{- $sizes := "100vw" }}
{{- $colGrid := "" -}} {{- $colGrid := "" -}}
{{- if eq $cols "1" }}{{ $colGrid = "row-cols-1" -}} {{- if eq $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 -}} {{ $colGrid = "row-cols-1" -}}
{{- 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 "2" }}
{{- 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 -}} {{ if $responsive }}
{{- 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 -}} {{ $colGrid = printf "row-cols-1 row-cols-%s-1 row-cols-%s-2" $breakpoint.prev $breakpoint.current }}
{{ else }}
{{ $colGrid = "row-cols-2" }}
{{ 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 }}
{{ 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 -}} {{ end -}}
{{- if not $paginate -}} {{- if not $paginate -}}
@@ -102,6 +128,7 @@
"footer" $footer "footer" $footer
"header" $header "header" $header
"loading" $loading "loading" $loading
"sizes" $sizes
"orientation" $orientation "orientation" $orientation
"padding" $padding "padding" $padding
"ratio" $ratio "ratio" $ratio

View File

@@ -22,6 +22,7 @@
{{- $iconStyle := "" -}} {{- $iconStyle := "" -}}
{{- $align := .align | default "start" -}} {{- $align := .align | default "start" -}}
{{- $style := .style | default "" -}} {{- $style := .style | default "" -}}
{{- $sizes := .sizes | default "100vw" -}}
{{- $loading := .loading -}} {{- $loading := .loading -}}
{{- $orientation := .orientation | default "stacked" -}} {{- $orientation := .orientation | default "stacked" -}}
{{- $padding := (string .padding) | default "auto" -}} {{- $padding := (string .padding) | default "auto" -}}
@@ -131,7 +132,7 @@
<div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}"> <div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}">
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}"> <div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}">
{{- if $thumbnail -}} {{- if $thumbnail -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "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" "title" $title "loading" $loading) -}}
{{- else if $icon -}} {{- else if $icon -}}
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}"> <div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}} {{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
@@ -157,7 +158,7 @@
<!-- Render stacked / default card --> <!-- Render stacked / default card -->
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}"> <div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
{{- if $thumbnail -}} {{- if $thumbnail -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "wrapper" "card-img-wrap" "class" "card-img-top" "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" "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 }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}} {{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}

View File

@@ -35,6 +35,8 @@
{{- $lazy := eq $loading "lazy" -}} {{- $lazy := eq $loading "lazy" -}}
{{- $priority := .priority -}} {{- $priority := .priority -}}
{{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}} {{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}}
{{- $sizes := .sizes | default "100vw" -}}
{{- define "partials/image-portrait.html" -}} {{- define "partials/image-portrait.html" -}}
{{- $dimensions := slice }} {{- $dimensions := slice }}
@@ -168,6 +170,7 @@
{{- $modes := .modes -}} {{- $modes := .modes -}}
{{- $lazy := .lazy -}} {{- $lazy := .lazy -}}
{{- $page := .page -}} {{- $page := .page -}}
{{- $sizes := .sizes -}}
{{- $priority := .priority -}} {{- $priority := .priority -}}
{{- $isVector := false -}} {{- $isVector := false -}}
@@ -235,7 +238,7 @@
src="{{ $fallbackURL }}" src="{{ $fallbackURL }}"
{{ if $lazy }}loading="lazy"{{ end }} {{ if $lazy }}loading="lazy"{{ end }}
{{ with $priority }}fetchpriority="{{ . }}"{{ end }} {{ with $priority }}fetchpriority="{{ . }}"{{ end }}
{{ with $imgset -}}srcset="{{ . }}" sizes="100vw"{{- end }} {{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
{{ with $height }}height="{{ . }}"{{ end }} {{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }} {{ with $width }}width="{{ . }}"{{ end }}
{{ with $title }}alt="{{ . }}"{{ end }}> {{ with $title }}alt="{{ . }}"{{ end }}>
@@ -263,6 +266,7 @@
"figclass" $figclass "figclass" $figclass
"lazy" $lazy "lazy" $lazy
"priority" $priority "priority" $priority
"sizes" $sizes
"page" $page) "page" $page)
-}} -}}

View File

@@ -3,6 +3,7 @@
{{- $orientation := .orientation | default "stacked" -}} {{- $orientation := .orientation | default "stacked" -}}
{{- $actions := .actions -}} {{- $actions := .actions -}}
{{- $width := .width | default 6 }} {{- $width := .width | default 6 }}
{{ $sizes := "100vw" }}
{{- if or (lt $width 1) (gt $width 12) -}} {{- if or (lt $width 1) (gt $width 12) -}}
{{- $width = 6 -}} {{- $width = 6 -}}
{{- warnf "partial [list/featured.html] - Invalid column width: %d" $width -}} {{- warnf "partial [list/featured.html] - Invalid column width: %d" $width -}}
@@ -19,6 +20,11 @@
{{- end -}} {{- end -}}
{{- $breadcrumb := and (not $page.IsHome) site.Params.navigation.breadcrumb -}} {{- $breadcrumb := and (not $page.IsHome) site.Params.navigation.breadcrumb -}}
{{- define "partials/list/featured-sizes.html" }}
{{ $sizes := printf "(min-width: 768px) %dvw, 50vw" (int (math.Round (div (mul .width 100) 12))) }}
{{ return $sizes }}
{{ end }}
{{- define "partials/list/featured-body.html" }} {{- define "partials/list/featured-body.html" }}
{{- $page := .page -}} {{- $page := .page -}}
{{- $headings := .headings -}} {{- $headings := .headings -}}
@@ -44,6 +50,7 @@
{{- define "partials/list/featured-illustration.html" }} {{- define "partials/list/featured-illustration.html" }}
{{- $page := .page -}} {{- $page := .page -}}
{{- $style := printf "img-wrap mx-auto mx-md-0 %s" .style -}} {{- $style := printf "img-wrap mx-auto mx-md-0 %s" .style -}}
{{ $sizes := .sizes }}
{{ if $page.Params.icon }} {{ if $page.Params.icon }}
{{- $icon := (or (and (reflect.IsMap $page.Params.Icon) $page.Params.Icon.url) $page.Params.Icon) -}} {{- $icon := (or (and (reflect.IsMap $page.Params.Icon) $page.Params.Icon.url) $page.Params.Icon) -}}
@@ -56,7 +63,7 @@
{{ else }} {{ else }}
{{- $thumbnail := (or (and (reflect.IsMap $page.Params.Thumbnail) $page.Params.Thumbnail.url) $page.Params.Thumbnail) -}} {{- $thumbnail := (or (and (reflect.IsMap $page.Params.Thumbnail) $page.Params.Thumbnail.url) $page.Params.Thumbnail) -}}
{{- if $thumbnail }} {{- if $thumbnail }}
{{ partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "wrapper" $style "class" "rounded" "title" $page.Site.Title "priority" "high") }} {{ partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "sizes" $sizes "wrapper" $style "class" "rounded" "title" $page.Site.Title "priority" "high") }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{- end -}} {{- end -}}
@@ -70,7 +77,8 @@
{{ if eq $orientation "stacked" }} {{ if eq $orientation "stacked" }}
<div class="row justify-content-center flex-fill"> <div class="row justify-content-center flex-fill">
<div class="col-12 col-md-{{ $width }} m-auto text-center"> <div class="col-12 col-md-{{ $width }} m-auto text-center">
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "style" "pb-4") }} {{ $sizes = partial "partials/list/featured-sizes.html" (dict "width" $width) }}
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "sizes" $sizes "style" "pb-4") }}
{{ partial "partials/list/featured-body.html" (dict "page" $page "headings" $headings "orientation" $orientation "actions" $actions) }} {{ partial "partials/list/featured-body.html" (dict "page" $page "headings" $headings "orientation" $orientation "actions" $actions) }}
</div> </div>
</div> </div>
@@ -79,8 +87,11 @@
<div class="col col-12 col-md-{{ $width }} order-1 order-md-0 my-md-auto"> <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) }} {{ partial "partials/list/featured-body.html" (dict "page" $page "headings" $headings "orientation" $orientation "actions" $actions "align" $align) }}
</div> </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"> {{ $newWidth := $width }}
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "style" "pb-4 pb-md-0") }} {{ if gt $width 6 }}{{ $newWidth = sub 12 $width }}{{ end }}
{{ $sizes = partial "partials/list/featured-sizes.html" (dict "width" $newWidth) }}
<div class="col col-12 col-md-{{ $newWidth }} order-0 order-md-1 text-center my-md-auto align-self-end">
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "sizes" $sizes "style" "pb-4 pb-md-0") }}
</div> </div>
</div> </div>
{{ end }} {{ end }}

12
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.23.12", "version": "0.23.14",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.23.12", "version": "0.23.14",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0", "@fullhuman/postcss-purgecss": "^6.0.0",
@@ -20,7 +20,7 @@
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2", "eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"hugo-bin": "0.122.5", "hugo-bin": "0.122.7",
"markdownlint-cli2": "^0.13.0", "markdownlint-cli2": "^0.13.0",
"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",
@@ -4386,9 +4386,9 @@
"dev": true "dev": true
}, },
"node_modules/hugo-bin": { "node_modules/hugo-bin": {
"version": "0.122.5", "version": "0.122.7",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.122.5.tgz", "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.122.7.tgz",
"integrity": "sha512-Iuua9s1aGQb8kWeAjklfryEPLF/4jsSbRHehRe3vyS3Mgb7iuZjKI9p8yn6ha5LatVJREHn4qznZ2D5IPGSCUA==", "integrity": "sha512-C7FtWyDm6OgEabxCX9tMCvBFd4dA59XC9R+SMDxwEu2HvzyX13ikTi4mQmr3Gl5f90PD7PaRW02tkRMhIYFglQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.23.12", "version": "0.23.14",
"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",
@@ -78,7 +78,7 @@
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2", "eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"hugo-bin": "0.122.5", "hugo-bin": "0.122.7",
"markdownlint-cli2": "^0.13.0", "markdownlint-cli2": "^0.13.0",
"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",