Compare commits

...

26 Commits

Author SHA1 Message Date
Mark Dumay
4c37191c81 Merge pull request #1590 from gethinode/develop
Develop
2025-09-21 14:44:41 +02:00
Mark Dumay
8197aa89cd Merge branch 'main' into develop 2025-09-21 14:37:18 +02:00
Mark Dumay
a00bab683f fix: bump hugo dependencies 2025-09-21 14:36:45 +02:00
Mark Dumay
29adfc629d feat: add justify argument to hero image 2025-09-21 14:36:02 +02:00
Mark Dumay
bf829f6abe fix: align panel illustration to end 2025-09-21 14:35:11 +02:00
Mark Dumay
f00a38cd4b Merge pull request #1589 from gethinode/develop
Develop
2025-09-20 07:38:53 +02:00
Mark Dumay
510cb7f941 fix: exclude clipboard from codeql scan
contains unspported Hugo template code
2025-09-20 07:27:01 +02:00
Mark Dumay
ad84ccb4b8 Merge branch 'main' into develop 2025-09-20 07:20:03 +02:00
Mark Dumay
81b8dc4ea7 fix: correct order of link icon on small devices 2025-09-20 07:18:42 +02:00
Mark Dumay
4881528343 fix: improve consistency of stack arguments 2025-09-20 07:17:56 +02:00
Mark Dumay
c3f4b6d8ea fix: support both body and body-style arguments in card partial 2025-09-20 07:15:46 +02:00
Mark Dumay
d853106bf3 fix: include href-force in stack partial 2025-09-20 07:14:14 +02:00
Mark Dumay
0c77f9c5a0 fix: include body style argument in articles bookshop content block 2025-09-20 07:13:38 +02:00
Mark Dumay
8cdad9c783 fix: correct horizontal stack rendering of articles content block 2025-09-20 07:13:02 +02:00
Mark Dumay
b3618c2fcc Merge pull request #1587 from gethinode/develop
Develop
2025-09-17 14:32:15 +02:00
Mark Dumay
60e5915de1 Merge branch 'main' into develop 2025-09-17 14:18:26 +02:00
Mark Dumay
48af98b7cf fix: include fluid argument in content blocks 2025-09-17 14:17:57 +02:00
Mark Dumay
dc04c46906 fix: include fluid argument in about content block 2025-09-17 14:15:36 +02:00
Mark Dumay
883d753c62 Merge pull request #1586 from gethinode/develop
feat: enhance more button configuration
2025-09-17 13:52:46 +02:00
Mark Dumay
221edc3d9c fix: update type definition 2025-09-17 13:43:50 +02:00
Mark Dumay
2fa27a699b Merge branch 'main' into develop 2025-09-17 13:15:12 +02:00
Mark Dumay
17c2c76ed9 feat: enhance more button configuration 2025-09-17 13:14:05 +02:00
Mark Dumay
fe05770e89 Merge pull request #1585 from gethinode/develop
fix: remove redundant markup template
2025-09-17 05:35:25 +02:00
Mark Dumay
856c264544 fix: remove redundant markup template 2025-09-17 05:29:08 +02:00
Mark Dumay
816455676a Merge pull request #1584 from hawkeye116477/main
Allow to set class for markdown header
2025-09-17 05:24:28 +02:00
hawkeye116477
7fde6a2d8e Allow to set class for markdown header
gethinode/hinode#1508
2025-09-16 21:05:11 +02:00
24 changed files with 95 additions and 56 deletions

View File

@@ -4,5 +4,6 @@ paths-ignore:
- '**/vendor' - '**/vendor'
- '**/critical/languageSelector.js' - '**/critical/languageSelector.js'
- '**/critical/color.js' - '**/critical/color.js'
- '**/clipboard.js'
- '**/navbar.js' - '**/navbar.js'
- '**/sharing.js' - '**/sharing.js'

View File

@@ -32,6 +32,7 @@ blueprint:
width: width:
justify: justify:
link-type: link-type:
fluid:
theme: theme:
cover: cover:
links: links:

View File

@@ -27,6 +27,8 @@ blueprint:
more: more:
title: title:
link: link:
link-type:
icon:
icon-rounded: icon-rounded:
icon-style: icon-style:
cols: cols:
@@ -42,10 +44,12 @@ blueprint:
bento: bento:
cover: cover:
header-style: header-style:
body-style:
footer-style: footer-style:
orientation: orientation:
class: class:
width: width:
justify: justify:
fluid:
theme: theme:
cover: cover:

View File

@@ -49,9 +49,13 @@
{{ $moreButton := site.Params.modules.bookshop.articles.moreButton | default false }} {{ $moreButton := site.Params.modules.bookshop.articles.moreButton | default false }}
{{ $moreTitle := T "more" (pluralize $args.input.section) }} {{ $moreTitle := T "more" (pluralize $args.input.section) }}
{{ $moreLink := $args.input.section }} {{ $moreLink := $args.input.section }}
{{ $moreType := "button" }}
{{ $moreIcon := "" }}
{{ with $args.more }} {{ with $args.more }}
{{ if .title }}{{ $moreTitle = .title }}{{ end }} {{ if .title }}{{ $moreTitle = .title }}{{ end }}
{{ if .link }}{{ $moreLink = .link }}{{ end }} {{ if .link }}{{ $moreLink = .link }}{{ end }}
{{ if index . "link-type" }}{{ $moreType = index . "link-type" }}{{ end }}
{{ if .icon }}{{ $moreIcon = .icon }}{{ end }}
{{ end }} {{ end }}
{{ $paginate := $args.paginate }} {{ $paginate := $args.paginate }}
@@ -76,15 +80,13 @@
{{ $partial := "assets/card-group.html" }} {{ $partial := "assets/card-group.html" }}
{{ $params := dict }} {{ $params := dict }}
{{- $params = merge $params (dict {{- $params = merge $params (dict
"page" page "page" page
"list" $pages "list" $pages
"limit" $args.limit "cols" $args.cols
"cols" $args.cols "limit" $args.limit
"icon-rounded" $args.iconRounded "padding" $args.padding
"icon-style" $args.iconStyle "href" (cond $moreButton $moreLink "")
"href" (cond $moreButton $moreLink "") "href-force" (gt $result.total (len $result.pages))
"href-title" (cond $moreButton $moreTitle "")
"href-force" (gt $result.total (len $result.pages))
)}} )}}
{{ if $args.scroll }} {{ if $args.scroll }}
@@ -94,22 +96,26 @@
"body-style" "title" "body-style" "title"
"footer-style" "none" "footer-style" "none"
"gutter" 1 "gutter" 1
"padding" 3
"ratio" "1x1" "ratio" "1x1"
"orientation" "horizontal-sm" "orientation" "horizontal-sm"
"styles" (cond $args.bento $styles "") "styles" (cond $args.bento $styles "")
) -}} ) -}}
{{ else }} {{ else }}
{{ $params = merge $params (dict {{ $params = merge $params (dict
"header-style" $args.headerStyle "header-style" $args.headerStyle
"footer-style" $args.footerStyle "body-style" $args.bodyStyle
"padding" $args.padding "footer-style" $args.footerStyle
"class" (or $args.class "border-0") "class" (or $args.class "border-0")
"align" "start" "align" "start"
"orientation" $args.orientation "orientation" $args.orientation
"hook" "assets/live-card.html" "href-title" (cond $moreButton $moreTitle "")
"pagination" $args.pagination "icon-rounded" $args.iconRounded
"paginate" $paginate "icon-style" $args.iconStyle
"hook" "assets/live-card.html"
"more-link-type" $moreType
"more-link-icon" $moreIcon
"pagination" $args.pagination
"paginate" $paginate
) -}} ) -}}
{{ end }} {{ end }}
{{ if gt (len $pages) 0 }} {{ if gt (len $pages) 0 }}

View File

@@ -34,5 +34,6 @@ blueprint:
width: width:
justify: justify:
align: align:
fluid:
theme: theme:
cover: cover:

View File

@@ -37,9 +37,9 @@ blueprint:
icon: icon:
force: force:
align: align:
fluid:
padding: padding:
order: order:
width: width:
fluid:
theme: theme:
cover: cover:

View File

@@ -26,5 +26,6 @@ blueprint:
items: items:
- title: - title:
description: description:
fluid:
theme: theme:
cover: cover:

View File

@@ -35,6 +35,7 @@ blueprint:
align: align:
order: order:
overlay-mode: overlay-mode:
fluid:
theme: theme:
cover: cover:
orientation: orientation:

View File

@@ -33,5 +33,6 @@ blueprint:
class: class:
width: width:
justify: justify:
fluid:
theme: theme:
cover: cover:

View File

@@ -36,7 +36,7 @@
"page" page "page" page
"heading" (dict "content" $element.content "width" 8) "heading" (dict "content" $element.content "width" 8)
"background" $args.background "background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode) "illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode "justify" "end")
"order" $args.order "order" $args.order
"link-type" $args.linkType "link-type" $args.linkType
"links" $args.links "links" $args.links

View File

@@ -24,5 +24,6 @@ blueprint:
width: width:
justify: justify:
data: data:
fluid:
theme: theme:
cover: cover:

View File

@@ -42,6 +42,7 @@ blueprint:
border: border:
width: width:
justify: justify:
fluid:
theme: theme:
cover: cover:

View File

@@ -69,6 +69,24 @@ arguments:
release: v0.27.0 release: v0.27.0
button-label: button-label:
release: v1.0.0 release: v1.0.0
more-link-type:
type: select
optional: true
default: button
comment: Style of the more button or link.
options:
values:
- button
- link
release: v1.16.0
more-link-icon:
type: string
optional: true
comment: >-
Icon to include. You can use shorthand notation such as `fas sort` to
include a Font Awesome icon. The argument also supports files with an
`.svg` or `.json` extension.
release: v1.16.0
# deprecated arguments # deprecated arguments
header: header:

View File

@@ -25,6 +25,7 @@ arguments:
default: px-4 px-xxl-0 py-4 default: px-4 px-xxl-0 py-4
width: width:
default: 8 default: 8
fluid:
theme: theme:
hook: hook:
default: assets/hero-image.html default: assets/hero-image.html

View File

@@ -29,13 +29,16 @@ arguments:
optional: true optional: true
comment: Array of pages or structured content to be rendered as cards. comment: Array of pages or structured content to be rendered as cards.
group: partial group: partial
limit:
max: max:
type: int type: int
optional: true optional: true
comment: Maximum number of cards to display. comment: Maximum number of elements to display.
group: partial group: partial
options: options:
min: 1 min: 1
deprecated: v1.16.2
alternative: limit
cols: cols:
type: select type: select
optional: true optional: true
@@ -57,6 +60,9 @@ arguments:
Address for the button or hyperlink. If set, a button is added if the Address for the button or hyperlink. If set, a button is added if the
list exceeds the maximum number of cards to display. list exceeds the maximum number of cards to display.
group: partial group: partial
href-force:
release: v1.16.2
group: partial
hrefTitle: hrefTitle:
type: string type: string
optional: true optional: true
@@ -87,4 +93,5 @@ arguments:
comment: >- comment: >-
Styles to apply to the individual cards. Supported elements are `ratio`, Styles to apply to the individual cards. Supported elements are `ratio`,
`orientation`, `portrait`, and `width`. `orientation`, `portrait`, and `width`.
padding:
release: v1.16.2

2
go.mod
View File

@@ -15,7 +15,7 @@ require (
github.com/gethinode/mod-lottie v1.6.1 // indirect github.com/gethinode/mod-lottie v1.6.1 // indirect
github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect
github.com/gethinode/mod-utils/v4 v4.16.1 // indirect github.com/gethinode/mod-utils/v4 v4.18.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect
github.com/twbs/bootstrap v5.3.8+incompatible // indirect github.com/twbs/bootstrap v5.3.8+incompatible // indirect
) )

4
go.sum
View File

@@ -516,6 +516,10 @@ github.com/gethinode/mod-utils/v4 v4.16.0 h1:yroLCeQyE/xU46YIKS81ZtFsOONTmVudrv2
github.com/gethinode/mod-utils/v4 v4.16.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4= github.com/gethinode/mod-utils/v4 v4.16.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.16.1 h1:HjV6TONU7ZbXC2xZIPRupjKOUORddtQH8bb4dnULY1U= github.com/gethinode/mod-utils/v4 v4.16.1 h1:HjV6TONU7ZbXC2xZIPRupjKOUORddtQH8bb4dnULY1U=
github.com/gethinode/mod-utils/v4 v4.16.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4= github.com/gethinode/mod-utils/v4 v4.16.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.17.0 h1:nDyXpZ0mCtf3ZML8G6bjeYJsI7Ne/Ze8rEWEa9zh6CI=
github.com/gethinode/mod-utils/v4 v4.17.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.18.0 h1:CLxuPCbsQBGVgAM1x5nmh6V0HJoOcltIfKG9sthpsTk=
github.com/gethinode/mod-utils/v4 v4.18.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
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

@@ -1,17 +0,0 @@
{{ $text := chomp .Text }}
{{ if site.Params.main.titleCase }}{{ $text = title $text }}{{ end }}
{{ if eq page.RelPermalink "/en/privacy/" }}
{{ warnf "title: %s" (.Text | safeHTML) }}
{{ end }}
{{ if and site.Params.navigation.anchor $text }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading">
{{- $text | safeHTML -}}
<a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}">
{{- partial "assets/icon.html" (dict "icon" "fas link anchor") }}
</a>
</h{{ .Level }}>
{{ else }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ $text | safeHTML }}</h{{ .Level }}>
{{ end }}

View File

@@ -1,13 +1,14 @@
{{ $class := .Attributes.class }}
{{ $text := chomp .Text }} {{ $text := chomp .Text }}
{{ if site.Params.main.titleCase }}{{ $text = (title ($text | htmlUnescape)) | htmlEscape }}{{ end }} {{ if site.Params.main.titleCase }}{{ $text = (title ($text | htmlUnescape)) | htmlEscape }}{{ end }}
{{ if and site.Params.navigation.anchor $text }} {{ if and site.Params.navigation.anchor $text }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading"> <h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading {{ with $class }}{{ . }}{{ end }}">
{{- $text | safeHTML -}} {{- $text | safeHTML -}}
<a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}"> <a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}">
{{- partial "assets/icon.html" (dict "icon" "fas link anchor") }} {{- partial "assets/icon.html" (dict "icon" "fas link anchor") }}
</a> </a>
</h{{ .Level }}> </h{{ .Level }}>
{{ else }} {{ else }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ $text | safeHTML }}</h{{ .Level }}> <h{{ .Level }} id="{{ .Anchor | safeURL }}" {{ with $class }} class="{{ . }}"{{ end }}>{{ $text | safeHTML }}</h{{ .Level }}>
{{ end }} {{ end }}

View File

@@ -171,7 +171,7 @@
{{- $cardWrapper = printf "card-block card-block-%d" (int $size) -}} {{- $cardWrapper = printf "card-block card-block-%d" (int $size) -}}
{{- end -}} {{- end -}}
{{/*add col-$width */}} {{/* add col-$width */}}
<div class="{{ with $cardWrapper }}{{ . }}{{ else }}col{{ end }}"> <div class="{{ with $cardWrapper }}{{ . }}{{ else }}col{{ end }}">
{{- if $args.spacer -}}<div class="spacer"></div>{{ end -}} {{- if $args.spacer -}}<div class="spacer"></div>{{ end -}}
{{- partial $args.hook $params -}} {{- partial $args.hook $params -}}
@@ -197,9 +197,14 @@
{{- $href = printf "%s/" $href -}} {{- $href = printf "%s/" $href -}}
{{- end -}} {{- end -}}
<div class="mt-{{ $padding.y }} w-100"> <div class="mt-{{ $padding.y }} w-100">
<a class="btn btn-outline-primary" href="{{ $href | safeURL }}" role="button"> {{ partial "assets/button.html" (dict
{{ $args.hrefTitle }} "href" $href
</a> "title" $args.hrefTitle
"color" "primary"
"outline" true
"link-type" $args.moreLinkType
"icon" $args.moreLinkIcon
) }}
</div> </div>
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

View File

@@ -180,8 +180,8 @@
{{ end }} {{ end }}
{{- if eq $args.orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}} {{- if eq $args.orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
{{- if eq $args.body "title" }}{{ $description = "" }}{{ end -}} {{- if or (eq $args.bodyStyle "title") (eq $args.body "title") }}{{ $description = "" }}{{ end -}}
{{- if eq $args.body "none" }}{{ $title = "" }}{{ $description = "" }}{{ end -}} {{- if or (eq $args.bodyStyle "none") (eq $args.body "none") }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }} {{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{- $thumbnailArgs := dict {{- $thumbnailArgs := dict

View File

@@ -75,6 +75,7 @@
{{ else }} {{ else }}
{{ $imageJustify = $align }} {{ $imageJustify = $align }}
{{ end }} {{ end }}
{{ with $args.illustration.justify }}{{ $imageJustify = . }}{{ end }}
{{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }} {{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}

View File

@@ -99,5 +99,5 @@
</div> </div>
<div class="d-{{ $breakpoint.current }}-none pt-{{ $padding.y }}"> <div class="d-{{ $breakpoint.current }}-none pt-{{ $padding.y }}">
{{ partial "links-content.html" (dict "links" $args.links "justify" $args.justify "type" $args.linkType "li" true) }} {{ partial "links-content.html" (dict "links" $args.links "justify" $args.justify "type" $args.linkType "li" false) }}
</div> </div>

View File

@@ -24,26 +24,27 @@
{{ $params := dict {{ $params := dict
"page" $args.page "page" $args.page
"list" $args.list "list" $args.list
"max" $args.max "limit" (or $args.limit $args.max)
"class" "border-0 card-zoom" "class" "border-0 card-zoom"
"header-style" "none" "header-style" "none"
"body-style" "title" "body-style" "title"
"footer-style" "none" "footer-style" "none"
"href" $args.href "href" $args.href
"href-title" $args.hrefTitle "href-force" $args.hrefForce
"link-type" (or $args.linkType $args.buttonType) "href-title" $args.hrefTitle
"link-type" (or $args.linkType $args.buttonType)
}} }}
{{- partial "assets/card-group.html" (merge $params {{- partial "assets/card-group.html" (merge $params
(dict (dict
"cols" $args.cols "cols" $args.cols
"gutter" $args.gutter "gutter" $args.gutter
"padding" 3 "padding" $args.padding
"orientation" "stacked" "orientation" "stacked"
"scroll" true "scroll" true
"bento" true "bento" true
"spacer" $args.animated "spacer" $args.animated
"portrait" true "portrait" false
"valign" (cond $args.animated "" "end") "valign" (cond $args.animated "" "end")
"styles" $args.styles "styles" $args.styles
"wrapper" "card-stack p-0 my-3 d-none d-md-block" "wrapper" "card-stack p-0 my-3 d-none d-md-block"