Compare commits

...

38 Commits

Author SHA1 Message Date
Mark Dumay
967492de76 Merge pull request #931 from gethinode/develop
Fix button layout of type link in horizontal stack
2024-05-13 16:42:21 +02:00
Mark Dumay
2b876fbb2e Merge branch 'main' into develop 2024-05-13 16:08:50 +02:00
Mark Dumay
8a0b0df3ff Fix button layout of type link in horizontal stack 2024-05-13 16:08:25 +02:00
github-actions[bot]
20f4e959d6 Merge pull request #930 from gethinode/dependabot/npm_and_yarn/rimraf-5.0.7
Bump rimraf from 5.0.5 to 5.0.7
2024-05-13 13:50:19 +00:00
dependabot[bot]
a46317f1d2 Bump rimraf from 5.0.5 to 5.0.7
Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.5 to 5.0.7.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v5.0.5...v5.0.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 13:42:00 +00:00
Mark Dumay
d264c9154e Merge pull request #929 from gethinode/develop
Support configurable button type for cards
2024-05-12 14:31:03 +02:00
Mark Dumay
96dacd5838 Merge branch 'main' into develop 2024-05-12 11:49:04 +02:00
Mark Dumay
5a6f58a96d Support configurable button type for cards 2024-05-12 11:48:25 +02:00
Mark Dumay
05e57ff255 Always hide toc panel on larger screens 2024-05-10 16:30:13 +02:00
Mark Dumay
cd32208639 Merge pull request #925 from gethinode/develop
Refine section menu margins
2024-05-10 16:26:23 +02:00
Mark Dumay
ecfd56f2f8 Merge branch 'main' into develop 2024-05-10 16:19:23 +02:00
Mark Dumay
4bfba0c633 Bump package release 2024-05-10 16:18:52 +02:00
Mark Dumay
02251b0b03 Refine section menu margins 2024-05-10 16:18:20 +02:00
Mark Dumay
cf486aa9c7 Merge pull request #924 from gethinode/develop
Update Netlify build environment
2024-05-10 16:04:19 +02:00
Mark Dumay
1dafc6a881 Merge branch 'main' into develop 2024-05-10 15:57:28 +02:00
Mark Dumay
4c70245e4f Update netlify build env 2024-05-10 15:55:35 +02:00
Mark Dumay
b2a79c2732 Add header 2024-05-10 15:54:57 +02:00
Mark Dumay
8ad9f92752 Merge pull request #922 from gethinode/develop
Restrict external link validation to http(s) scheme only
2024-05-10 12:52:55 +02:00
Mark Dumay
3cf45385db Merge branch 'main' into develop 2024-05-10 12:05:26 +02:00
Mark Dumay
83c697a7ae Restrict external link validation to http(s) scheme only 2024-05-10 12:04:44 +02:00
github-actions[bot]
6b62c2c701 Merge pull request #921 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.122.8
Bump hugo-bin from 0.122.7 to 0.122.8
2024-05-09 13:12:15 +00:00
dependabot[bot]
428e10bc5a Bump hugo-bin from 0.122.7 to 0.122.8
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.122.7 to 0.122.8.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.122.7...v0.122.8)

---
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-09 13:07:57 +00:00
Mark Dumay
6deeeaf9d9 Merge pull request #920 from gethinode/develop
Fix card rounding
2024-05-08 20:00:19 +02:00
Mark Dumay
2c191482ab Merge branch 'main' into develop 2024-05-08 19:38:10 +02:00
Mark Dumay
cc934652cc Fix card rounding 2024-05-08 19:37:49 +02:00
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
25 changed files with 210 additions and 53 deletions

View File

@@ -41,3 +41,7 @@ a.btn {
background-repeat: no-repeat if($enable-important-utilities, !important, null);
background-size: $btn-close-width if($enable-important-utilities, !important, null);
}
.btn-link {
--bs-btn-padding-x: 0;
}

View File

@@ -1,6 +1,10 @@
// add zoom animation with opacity change on card img hover
// source: https://stackoverflow.com/a/43816376
.card-img-bg {
background-color: var(--#{$prefix}secondary-bg);
}
.card-img-wrap {
overflow: hidden;
position: relative;
@@ -91,3 +95,7 @@
z-index: 2;
position: relative;
}
.card-button-link {
text-decoration: underline if($enable-important-utilities, !important, null);
}

View File

@@ -103,6 +103,16 @@ arguments:
optional: true
comment: >-
Flag indicating if the number of columns should be responsive, defaults to `true`.
buttonType:
type: select
optional: true
default: button
release: v0.23.18
comment: Type of the button elements.
options:
values:
- link
- button
hook:
type: string
optional: true

View File

@@ -206,11 +206,30 @@ arguments:
release: v0.23.2
comment: >-
Label of the link button, defaults to the card title.
buttonType:
type: select
parent: cascade
optional: true
default: button
comment: Type of the button element.
release: v0.23.18
options:
values:
- link
- button
hook:
type: string
optional: true
comment: Render hook for the image 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:
optional: true
comment: >-

View File

@@ -98,6 +98,14 @@ arguments:
- low
- auto
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:
type: string
optional: true

View File

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

View File

@@ -93,6 +93,7 @@
"btn-close",
"btn-group",
"btn-light",
"btn-link",
"btn-outline-primary",
"btn-outline-secondary",
"btn-primary",
@@ -104,8 +105,10 @@
"card-body-link",
"card-body-margin",
"card-button",
"card-button-link",
"card-emphasize",
"card-icon",
"card-img-bg",
"card-img-top",
"card-img-wrap",
"card-text",
@@ -181,10 +184,6 @@
"fa-2xs",
"fa-4x",
"fa-activity",
"fa-angle-left",
"fa-angle-right",
"fa-angles-left",
"fa-angles-right",
"fa-arrow-left",
"fa-arrow-right",
"fa-bootstrap",
@@ -331,10 +330,6 @@
"p-2",
"p-3",
"p-4",
"page-item",
"page-link",
"pagination",
"pagination-terse",
"pb-2",
"pb-3",
"pb-4",
@@ -351,7 +346,6 @@
"ps-1",
"ps-3",
"pt-1",
"pt-3",
"pt-5",
"pt-md-3",
"ptw-3",

8
go.mod
View File

@@ -4,13 +4,13 @@ go 1.19
require (
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-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-lottie v1.4.4 // indirect
github.com/gethinode/mod-utils/v2 v2.1.1 // indirect
github.com/gethinode/mod-lottie v1.4.6 // indirect
github.com/gethinode/mod-utils/v2 v2.2.2 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // 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.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.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/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
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.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.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/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
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.4 h1:Lv7J+lAMx++aK9h0L7vAgsjyOZgrjux4xPz4Tpza8n4=
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/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
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.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.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/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=

View File

@@ -86,11 +86,11 @@
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
"footer",
"form-control",
"fs-3",
"fs-5",
"fw-30",
"fw-bold",
"hstack",
"img-fluid",
@@ -120,6 +120,7 @@
"navbar",
"navbar-brand",
"navbar-collapse",
"navbar-container",
"navbar-expand-md",
"navbar-fixed-top",
"navbar-nav",

View File

@@ -53,7 +53,10 @@
{{- $clipboard := .clipboard -}}
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
{{- $isExternal := ne (urls.Parse (absURL $href)).Host (urls.Parse site.BaseURL).Host -}}
{{- $isExternal := false }}
{{ if in (slice "http" "https") ((urls.Parse (absURL $href)).Scheme) }}
{{ $isExternal = ne (urls.Parse (absURL $href)).Host (urls.Parse site.BaseURL).Host -}}
{{ end }}
{{- $target := "" -}}
{{- $rel := "" -}}
{{- $spacing := .spacing | default true -}}
@@ -81,8 +84,8 @@
{{- with $toast }} data-toast-target="{{ $toast }}"{{ end -}}
{{- with $clipboard }} data-clipboard="{{ $clipboard }}"{{ end -}}
{{- if eq $type "button" }} class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }} {{ $class -}}"
role="button" {{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{- else }} class="link-{{ $color }} position-relative {{ $class }}"{{ end -}}
{{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{- else }} class="btn btn-link link-{{ $color }} position-relative {{ $class }}"{{ end -}}
{{- with $tooltip }} data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end -}}
{{- with $collapse }} data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end -}}
{{- if eq $state "active" }} data-bs-toggle="button" aria-pressed="true"{{ end -}}
@@ -90,6 +93,7 @@
{{- range $key, $val := $attributes -}}
{{ printf " %s=\"%s\"" $key $val | safeHTMLAttr }}
{{- end -}}
role="button"
>
<div class="d-flex justify-content-{{ $justify }}">
<div class="my-auto">{{ $title | safeHTML }}</div>

View File

@@ -33,6 +33,7 @@
{{- $loading := .loading -}}
{{- $button := .button -}}
{{- $buttonLabel := .buttonLabel -}}
{{- $buttonType := .buttonType -}}
{{- $hook := .hook | default "assets/card.html" }}
<!-- Override arguments -->
@@ -78,12 +79,38 @@
{{- $responsive := .responsive | default true -}}
{{- $cols := string .cols | default "3" -}}
{{- $sizes := "100vw" }}
{{- $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 -}}
{{- 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 -}}
{{ $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 -}}
{{- if not $paginate -}}
@@ -102,6 +129,7 @@
"footer" $footer
"header" $header
"loading" $loading
"sizes" $sizes
"orientation" $orientation
"padding" $padding
"ratio" $ratio
@@ -110,6 +138,7 @@
"align" $align
"button" $button
"buttonLabel" $buttonLabel
"buttonType" $buttonType
) -}}
{{- $params = merge $params $element }}

View File

@@ -22,6 +22,7 @@
{{- $iconStyle := "" -}}
{{- $align := .align | default "start" -}}
{{- $style := .style | default "" -}}
{{- $sizes := .sizes | default "100vw" -}}
{{- $loading := .loading -}}
{{- $orientation := .orientation | default "stacked" -}}
{{- $padding := (string .padding) | default "auto" -}}
@@ -31,6 +32,7 @@
{{- $subtle := .subtle -}}
{{- $button := .button -}}
{{- $buttonLabel := .buttonLabel -}}
{{- $buttonType := .buttonType -}}
{{- $colorStyle := "" -}}
{{ if $color }}
{{ if $subtle }}
@@ -131,7 +133,7 @@
<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 }}">
{{- 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-bg" "title" $title "loading" $loading) -}}
{{- else if $icon -}}
<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)) -}}
@@ -147,7 +149,19 @@
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
{{ if $button }}
{{ $label := (or $buttonLabel $title) | default (T "readMore") }}
<div class="d-flex align-items-end">{{ partial "assets/button.html" (dict "title" $label "icon" "fas chevron-right" "href" $href "outline" true "size" "sm" "class" "card-button mb-n4") }}</div>
{{ $buttonClass := "card-button mb-n4" }}
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link mb-n4" }}{{ end }}
<div class="d-flex align-items-end">
{{ partial "assets/button.html" (dict
"title" $label
"icon" "fas chevron-right"
"href" $href
"outline" true
"size" "sm"
"class" $buttonClass
"type" $buttonType
)}}
</div>
{{ end }}
</div>
</div>
@@ -157,7 +171,7 @@
<!-- Render stacked / default card -->
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
{{- 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-bg" "title" (or $alt $title) "loading" $loading) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
@@ -173,7 +187,17 @@
<div class="row p-{{ $padding }}" >
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $orientation "horizontal" }}col-4{{ end }}"></div>
<div class="col d-flex align-items-end {{ if eq $orientation "horizontal-sm" }}px-2{{ else if eq $orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
{{ partial "assets/button.html" (dict "title" $label "href" $href "outline" true "size" "sm" "class" "card-button") }}
{{ $buttonClass := "card-button" }}
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link" }}{{ end }}
{{ partial "assets/button.html" (dict
"title" $label
"href" $href
"outline" true
"size" "sm"
"class" "card-button"
"class" $buttonClass
"type" $buttonType
)}}
</div>
</div>
{{ end }}

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{- $download := partial "utilities/GetTargetPath.html" (dict "path" .download "page" page) -}}
{{- $title := .title }}
{{- $color := .color | default "primary" -}}

View File

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

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{- $page := .page }}
{{- $section := .section }}
{{- if not $section }}{{ errorf "partial [assets/section-list.html] - Missing value for param 'section'" }}{{ end -}}

View File

@@ -14,6 +14,7 @@
<!-- Initialize arguments -->
{{- $page := .page -}}
{{- $breakpoint := .page.Scratch.Get "breakpoint" -}}
{{ $items := $page.Parent.Sections }}
{{ if not $page.Parent.Section }}
{{ $items = $page.Sections }}
@@ -21,7 +22,7 @@
<!-- Main code -->
{{- if and (not $error) (gt (len $items) 0) }}
<div class="d-grid gap-2 mx-auto d-md-none">
<div class="d-grid gap-2 mx-auto d-{{ $breakpoint.prev }}-none">
{{ partial "assets/button.html" (dict
"title" (T "sectionMenu")
"color" "secondary"
@@ -36,7 +37,7 @@
-}}
</div>
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll d-{{ $breakpoint.prev }}-none" id="toc-collapse">
<div class="toc toc-panel section-menu text-body p-2 fs-6">
{{- range $items }}
{{ $active := eq $page.RelPermalink .RelPermalink }}
@@ -45,7 +46,9 @@
</div>
</div>
<nav class="navbar navbar-expand navbar-services p-0 fs-5 d-none d-md-block">
<div class="d-{{ $breakpoint.prev }}-none mb-5"></div>
<nav class="navbar navbar-expand navbar-services p-0 fs-5 d-none d-{{ $breakpoint.prev }}-block mb-5">
<div class="container-fluid p-0 pb-3">
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $page := .page }}
{{ $input := .input }}
{{ $args := .args }}

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $headings := .headings | default slice }}
{{- range .Fragments.Headings }}
{{- range .Headings }}

View File

@@ -3,6 +3,7 @@
{{- $orientation := .orientation | default "stacked" -}}
{{- $actions := .actions -}}
{{- $width := .width | default 6 }}
{{ $sizes := "100vw" }}
{{- if or (lt $width 1) (gt $width 12) -}}
{{- $width = 6 -}}
{{- warnf "partial [list/featured.html] - Invalid column width: %d" $width -}}
@@ -19,6 +20,11 @@
{{- end -}}
{{- $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" }}
{{- $page := .page -}}
{{- $headings := .headings -}}
@@ -44,6 +50,7 @@
{{- define "partials/list/featured-illustration.html" }}
{{- $page := .page -}}
{{- $style := printf "img-wrap mx-auto mx-md-0 %s" .style -}}
{{ $sizes := .sizes }}
{{ if $page.Params.icon }}
{{- $icon := (or (and (reflect.IsMap $page.Params.Icon) $page.Params.Icon.url) $page.Params.Icon) -}}
@@ -56,7 +63,7 @@
{{ 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" "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 -}}
@@ -70,7 +77,8 @@
{{ 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") }}
{{ $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) }}
</div>
</div>
@@ -79,8 +87,11 @@
<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") }}
{{ $newWidth := $width }}
{{ 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>
{{ end }}

View File

@@ -28,6 +28,7 @@
{{- $style := .Get "style" | default "" -}}
{{- $subtle := .Get "subtle" | default false -}}
{{- $button := .Get "button" | default false -}}
{{- $buttonType := .Get "buttonType" | default "" -}}
{{ $inner := .Scratch.Get "inner" }}
{{ $input := trim .Inner " \r\n" }}
@@ -56,5 +57,6 @@
"style" $style
"subtle" $subtle
"button" $button
"buttonType" $buttonType
)
-}}

View File

@@ -33,6 +33,7 @@
{{- $thumbnail := .Get "thumbnail" -}}
{{- $title := .Get "title" -}}
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
{{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}}
<!-- Override arguments -->
{{ if $path }}
@@ -70,6 +71,7 @@
"loading" $loading
"alt" $alt
"button" $button
"buttonType" $buttonType
) -}}
<!-- Pass output to parent or current stream -->

View File

@@ -4,12 +4,12 @@
command = "npm run build:example"
[build.environment]
DART_SASS_VERSION = "1.72.0"
HUGO_VERSION = "0.124.0"
DART_SASS_VERSION = "1.77.0"
HUGO_VERSION = "0.125.7"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "18.19.1"
NPM_VERSION = "10.2.4"
NODE_VERSION = "18.20.2"
NPM_VERSION = "10.5.0"
# toml-docs-end netlify
[[headers]]

22
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@gethinode/hinode",
"version": "0.23.12",
"version": "0.23.19",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.23.12",
"version": "0.23.19",
"license": "MIT",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0",
@@ -20,14 +20,14 @@
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "0.122.5",
"hugo-bin": "0.122.8",
"markdownlint-cli2": "^0.13.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.0",
"purgecss-whitelister": "^2.4.0",
"replace-in-files-cli": "^2.2.0",
"rimraf": "^5.0.5",
"rimraf": "^5.0.7",
"shx": "^0.3.4",
"stylelint": "^16.5.0",
"stylelint-config-standard-scss": "^13.1.0"
@@ -4386,9 +4386,9 @@
"dev": true
},
"node_modules/hugo-bin": {
"version": "0.122.5",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.122.5.tgz",
"integrity": "sha512-Iuua9s1aGQb8kWeAjklfryEPLF/4jsSbRHehRe3vyS3Mgb7iuZjKI9p8yn6ha5LatVJREHn4qznZ2D5IPGSCUA==",
"version": "0.122.8",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.122.8.tgz",
"integrity": "sha512-sdTfsr6awEchbTVzxV4XiajRsKirEf2au59PiNv4SJzygewDK6CPg5kmzcnjNnjnXWROGvtkBQWzLIUrbaxIOQ==",
"dev": true,
"funding": [
{
@@ -8124,9 +8124,9 @@
}
},
"node_modules/rimraf": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz",
"integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==",
"version": "5.0.7",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz",
"integrity": "sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==",
"dev": true,
"dependencies": {
"glob": "^10.3.7"
@@ -8135,7 +8135,7 @@
"rimraf": "dist/esm/bin.mjs"
},
"engines": {
"node": ">=14"
"node": ">=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.23.12",
"version": "0.23.19",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -78,14 +78,14 @@
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "0.122.5",
"hugo-bin": "0.122.8",
"markdownlint-cli2": "^0.13.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.0",
"purgecss-whitelister": "^2.4.0",
"replace-in-files-cli": "^2.2.0",
"rimraf": "^5.0.5",
"rimraf": "^5.0.7",
"shx": "^0.3.4",
"stylelint": "^16.5.0",
"stylelint-config-standard-scss": "^13.1.0"