Compare commits

..

1 Commits

Author SHA1 Message Date
Mark Dumay
6761bedd51 refactor: support recursive argument init
work in progress
2025-09-02 07:18:23 +02:00
63 changed files with 716 additions and 634 deletions

View File

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

View File

@@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v5
- name: Set up Node.js
uses: actions/setup-node@v5
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: 'npm'
@@ -56,12 +56,12 @@ jobs:
uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
uses: actions/setup-go@v5
with:
go-version: ">1.0.0"
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v5
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

View File

@@ -17,7 +17,7 @@ jobs:
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v5
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: 'npm'

View File

@@ -28,7 +28,7 @@ jobs:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v5
uses: actions/setup-node@v4
with:
node-version: "lts/*"

View File

@@ -21,7 +21,6 @@
// Standard version (Firefox, only appears on scroll)
@supports (-moz-appearance:none) {
/* stylelint-disable-next-line no-invalid-position-declaration */
scrollbar-color: $foreground-color $background-color;
}
}

View File

@@ -151,17 +151,3 @@ $utilities: map-merge(
)
)
);
.width-100 {
width: 100%;
}
$utilities: (
"width": (
property: width,
responsive: true,
values: (
auto: auto
)
)
);

View File

@@ -104,27 +104,20 @@
margin: 0 .15rem;
}
.navbar-title, .navbar-title-center, .navbar-title-start {
.navbar-title {
display: inline-block;
white-space: normal;
text-align: center !important;
vertical-align: middle;
padding: 0 $spacer;
width: 100% !important;
}
.navbar-title, .navbar-title-center {
text-align: center !important;
}
.navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover {
border-bottom: solid 1px var(--bs-navbar-hover-color);
margin-bottom: -1px;
}
.navbar-brand {
margin-right: 0;
}
.navbar-contrast {
--bs-navbar-color: white !important;
--bs-navbar-hover-color: white !important;
@@ -132,7 +125,7 @@
--bs-navbar-active-color: white !important;
--bs-navbar-toggler-color: white;
.navbar-title, .navbar-brand, .mode-switch {
.navbar-title, .mode-switch {
--#{$prefix}border-color: white;
color: white !important;
@@ -184,7 +177,6 @@
.navbar .nav-item {
display: flex;
align-items: center;
white-space: nowrap;
}
.navbar-collapse .dropdown {
@@ -196,10 +188,6 @@
font-size: 1em;
}
.navbar .btn {
border-radius: #{$theme-border-radius};
}
.navbar-expanded .search-input {
margin-bottom: 1rem;
}
@@ -295,10 +283,13 @@
}
.navbar-container {
min-height: calc(2rem + 10px);
width: 100% !important;
}
.navbar-brand {
margin-right: 0;
}
@include media-breakpoint-up(#{$navbar-size}) {
:root {
--navbar-offset: #{$navbar-offset};

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -33,17 +33,16 @@
{{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }}
{{ $hero := partial "assets/hero.html" (dict
"page" page
"heading" (dict "content" $element.content "width" 8)
"background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" "horizontal"
"align" "start"
"width" 12
"content-style" "fs-6"
"page" page
"heading" (dict "title" $element.title "content" $element.content "width" 8 "size" 6)
"background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" "horizontal"
"align" "start"
"width" 12
)
}}

View File

@@ -23,7 +23,4 @@ blueprint:
subtle:
width:
justify:
data:
fluid:
theme:
cover:
data:

View File

@@ -42,9 +42,6 @@ blueprint:
border:
width:
justify:
fluid:
theme:
cover:
_structures:
messages:

View File

@@ -27,35 +27,20 @@
{{- $resolved_component = $flat_component_path -}}
{{- end -}}
<!-- TODO: use initialized component args instead of component_props -->
{{ $error := false }}
{{ $args := dict }}
{{- if $resolved_component -}}
{{ $args = partial "utilities/InitArgs.html" (dict "bookshop" $component_name "args" $component_props) }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" $resolved_component
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ end }}
{{ end }}
{{ if and $resolved_component (not $args.err) }}
{{- $id := index $component_props "id" -}}
{{- $cover := index $component_props "cover" -}}
{{- $background := index $component_props "background" -}}
{{- $backdrop := "" -}}
{{- $fluid := index $component_props "fluid" | default true -}}
{{- $wrapper := index $component_props "wrapper" -}}
{{- $style := index $component_props "wrapper" -}}
{{- $width := index $component_props "width" -}}
{{- $justify := index $component_props "justify" | default "start" -}}
{{- $paddingOuter := cond (ne $component_name "separator") (printf "px-xxl-0 px-%d py-0" $padding.x) "" -}}
{{- $padding := cond (ne $component_name "separator") (printf "px-%d %spy-%d" $padding.x (cond $fluid "px-xxl-0 " "") $padding.y) "" -}}
{{- $wrapper := $style }}
{{ with $background }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $wrapper) }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }}
{{ if reflect.IsMap $background }}
{{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }}
{{ end }}
@@ -88,21 +73,18 @@
{{- end -}}
{{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }}
{{ if $args.passthrough }}
{{ partial $resolved_component $component_props }}
{{ else }}
<div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ with $col }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ else }}
{{ partial $resolved_component $component_props }}
{{ end}}
</div>
{{ end }}
<div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ with $col }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ else }}
{{ partial $resolved_component $component_props }}
{{ end}}
</div>
</section>
{{ if not $fluid }}</div>{{ end }}
{{ "<!--bookshop-live end-->" | safeHTML }}
{{- else if (not $args.err) -}}
{{- else -}}
{{- $file_loc := slicestr $component_path 9 -}}
{{- $flat_file_loc := slicestr $flat_component_path 9 -}}
{{- partial "_bookshop/errors/err" (printf "Component \"%s\" does not exist.\n Create this component by placing a file in your bookshop at %s or %s" $component_name $file_loc $flat_file_loc) -}}

View File

@@ -88,8 +88,6 @@
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30
color = "body"
fixed = true

View File

@@ -69,24 +69,6 @@ arguments:
release: v0.27.0
button-label:
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
header:

View File

@@ -73,8 +73,6 @@ arguments:
group: partial
anchor:
release: v0.24.23
links:
release: v1.14.0
# deprecated arguments
header:
type: select

View File

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

View File

@@ -79,25 +79,6 @@ arguments:
comment: >-
Address of the logo image, defaults to the parameter `logo` set in the
`main` section of the site's parameter configuration.
logo-align:
type: select
optional: true
default: center
comment: Alignment of the logo when the navbar is in collapsed mode.
options:
values:
- start
- center
release: v1.15.0
logo-mode:
type: bool
default: false
optional: true
comment: >-
Flag indicating if the logo should support color modes. If set, the
navbar searches for images having a matching color-mode suffix
such as `-light` or `-dark`.
release: v1.15.0
# deprecated arguments
size:
type: select

View File

@@ -7,9 +7,3 @@ arguments:
optional: false
comment: Context of the current page.
group: partial
show-label:
type: bool
optional: true
default: true
comment: Indicates if the element should include a label.
release: v1.15.3

View File

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

View File

@@ -41,8 +41,6 @@
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30
color = "body"
fixed = true

View File

@@ -221,7 +221,6 @@
"disabled",
"display-1",
"display-4",
"display-4pt-1",
"display-6",
"docs",
"docs-controls",
@@ -331,10 +330,8 @@
"g-4",
"gap-1",
"gap-2",
"gap-4",
"gap-5",
"gradient",
"grid",
"h-100",
"h1",
"h2",
@@ -433,7 +430,6 @@
"navbar-mode-selector",
"navbar-nav",
"navbar-nav-scroll",
"navbar-title-center",
"navbar-toggler",
"next",
"no-js",
@@ -602,13 +598,10 @@
"visually-hidden",
"vr",
"w-100",
"w-50",
"width-100",
"width-md-auto"
"w-50"
],
"ids": [
"abbr",
"about",
"accordion",
"accordion-0",
"accordion-0-heading-0",
@@ -620,15 +613,11 @@
"accordéon",
"alert",
"alerte",
"ander-project",
"animatie",
"animation",
"another-project",
"args",
"arguments",
"articles",
"articles-de-blog",
"autre-projet",
"background-type",
"badge",
"barre-de-navigation",
@@ -638,7 +627,6 @@
"body-docs-collapse-15",
"body-docs-collapse-16",
"body-file-collapse-1",
"bootstrap-elements",
"bouton",
"breadcrumb",
"btnTOCShowLess",
@@ -649,7 +637,6 @@
"callout",
"card",
"card-group",
"cards",
"carousel",
"carousel-0",
"carrousel",
@@ -662,38 +649,29 @@
"command-prompt",
"comment-nous-partageons-vos-informations",
"comment-utilisons-nous-les-cookies-",
"componenten",
"components",
"composents",
"container",
"content-blocks",
"cookie-policy",
"cookies-etc",
"cta",
"custom-activity",
"data-tables",
"derde-artikel",
"deuxième-article",
"docs",
"documentation",
"dropdown-nav-0",
"dropdown-panel-061524bba81f197181a032e904983272",
"dropdown-panel-0c0ddda05d377af1c0cee87f7c85da67",
"dropdown-panel-3c6a067cd80a10d3707200fc8fb84bb3",
"dropdown-panel-4b12c0f69625cb352e0aa7d846f960d8",
"dropdown-panel-6906624fe967e8dffbf4c3446a9e2385",
"dropdown-panel-7351d1dc85bcedcd74309f25472b7548",
"dropdown-panel-7784dd257dba6ab662963774a7bea03d",
"dropdown-panel-c62f4eeaa4277d5c14c486d5c8623ae1",
"dropdown-panel-cfcc43cbefc204c3c8c7487ef6347c27",
"dropdown-panel-d29649da522407a082335b726b32951c",
"eerste-artikel",
"dropdown-panel-0692e7e68c57d91164039f0f77cce9d8",
"dropdown-panel-0a5cb51ed9eea57f673dc25545175b8b",
"dropdown-panel-41fccc8aa490d4ea9d475a6d2d44be42",
"dropdown-panel-7aa9804adc5998a7a66cd8faf656c6f9",
"dropdown-panel-99dcbfb73d35cee704ca4ee9fb6a5e3c",
"dropdown-panel-b06517abb515d4c22a03ca07d577f3de",
"dropdown-panel-b434a05f655e7811ee71b4177747a1c0",
"dropdown-panel-ba696faaa3c3f34bebc3f1da67a7c8ad",
"dropdown-panel-d80f75f98e8a44fe4164fa76a6afd600",
"dropdown-panel-d8bdd6a5f6d88907f9d6e8b57d921196",
"elements-type",
"entity-relationship-diagram",
"example",
"examples",
"exemple",
"exemple-de-projet",
"fa-address-card",
"fa-face-frown",
"fa-folder",
@@ -706,17 +684,16 @@
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"faq",
"faq-b52462b6a4b2180e01ad67bc52618161",
"faq-b52462b6a4b2180e01ad67bc52618161-heading-faq-b52462b6a4b2180e01ad67bc52618161",
"faq-b52462b6a4b2180e01ad67bc52618161-item-0",
"faq-b52462b6a4b2180e01ad67bc52618161-item-1",
"faq-b52462b6a4b2180e01ad67bc52618161-item-2",
"faq-f38df4740b059c9b2b0e1b696e843ede",
"faq-f38df4740b059c9b2b0e1b696e843ede-heading-faq-f38df4740b059c9b2b0e1b696e843ede",
"faq-f38df4740b059c9b2b0e1b696e843ede-item-0",
"faq-f38df4740b059c9b2b0e1b696e843ede-item-1",
"faq-f38df4740b059c9b2b0e1b696e843ede-item-2",
"faq-1b8aefa895c57fc4fd5452748485b590",
"faq-1b8aefa895c57fc4fd5452748485b590-heading-faq-1b8aefa895c57fc4fd5452748485b590",
"faq-1b8aefa895c57fc4fd5452748485b590-item-0",
"faq-1b8aefa895c57fc4fd5452748485b590-item-1",
"faq-1b8aefa895c57fc4fd5452748485b590-item-2",
"faq-f18dc8d82722290aea32dc7f4423dea5",
"faq-f18dc8d82722290aea32dc7f4423dea5-heading-faq-f18dc8d82722290aea32dc7f4423dea5",
"faq-f18dc8d82722290aea32dc7f4423dea5-item-0",
"faq-f18dc8d82722290aea32dc7f4423dea5-item-1",
"faq-f18dc8d82722290aea32dc7f4423dea5-item-2",
"fas-1",
"fas-2",
"fas-3",
@@ -756,14 +733,13 @@
"fichier",
"fil-dariane",
"file",
"first-post",
"first-panel",
"flowchart",
"footer-docs-collapse-15",
"footer-docs-collapse-16",
"footer-file-collapse-1",
"formula-katex",
"formule-katex",
"fourth-post-excluded-from-search",
"gantt-diagram",
"gegevenstabellen",
"git-graph",
@@ -772,7 +748,6 @@
"gérer-les-préférences-des-cookies",
"heading",
"heading-type",
"hero",
"horizontal-cards-with-an-icon",
"horizontal-cards-with-an-image",
"how-do-we-use-cookies",
@@ -781,7 +756,6 @@
"illustration-type",
"image",
"imagekitio",
"images-locales-et-distantes",
"imgix",
"indicateur-de-chargement",
"infobulle",
@@ -798,7 +772,6 @@
"liens-vers-des-tiers-et-utilisation-de-vos-informations",
"link",
"links-type",
"local-and-remote-images",
"lottie-animation-0",
"manage-cookie-preferences",
"map",
@@ -815,16 +788,16 @@
"nav-0-btn-1",
"nav-0-btn-2",
"nav-nav-0",
"nav-panel-061524bba81f197181a032e904983272",
"nav-panel-0c0ddda05d377af1c0cee87f7c85da67",
"nav-panel-3c6a067cd80a10d3707200fc8fb84bb3",
"nav-panel-4b12c0f69625cb352e0aa7d846f960d8",
"nav-panel-6906624fe967e8dffbf4c3446a9e2385",
"nav-panel-7351d1dc85bcedcd74309f25472b7548",
"nav-panel-7784dd257dba6ab662963774a7bea03d",
"nav-panel-c62f4eeaa4277d5c14c486d5c8623ae1",
"nav-panel-cfcc43cbefc204c3c8c7487ef6347c27",
"nav-panel-d29649da522407a082335b726b32951c",
"nav-panel-0692e7e68c57d91164039f0f77cce9d8",
"nav-panel-0a5cb51ed9eea57f673dc25545175b8b",
"nav-panel-41fccc8aa490d4ea9d475a6d2d44be42",
"nav-panel-7aa9804adc5998a7a66cd8faf656c6f9",
"nav-panel-99dcbfb73d35cee704ca4ee9fb6a5e3c",
"nav-panel-b06517abb515d4c22a03ca07d577f3de",
"nav-panel-b434a05f655e7811ee71b4177747a1c0",
"nav-panel-ba696faaa3c3f34bebc3f1da67a7c8ad",
"nav-panel-d80f75f98e8a44fe4164fa76a6afd600",
"nav-panel-d8bdd6a5f6d88907f9d6e8b57d921196",
"navbar",
"navbar-0-collapse",
"navbar-mode",
@@ -832,91 +805,81 @@
"navbar-sample-collapse",
"navigation",
"notification",
"over-mij",
"overview",
"panel-061524bba81f197181a032e904983272-0",
"panel-061524bba81f197181a032e904983272-1",
"panel-061524bba81f197181a032e904983272-2",
"panel-061524bba81f197181a032e904983272-btn-0",
"panel-061524bba81f197181a032e904983272-btn-1",
"panel-061524bba81f197181a032e904983272-btn-2",
"panel-0c0ddda05d377af1c0cee87f7c85da67-0",
"panel-0c0ddda05d377af1c0cee87f7c85da67-1",
"panel-0c0ddda05d377af1c0cee87f7c85da67-2",
"panel-0c0ddda05d377af1c0cee87f7c85da67-btn-0",
"panel-0c0ddda05d377af1c0cee87f7c85da67-btn-1",
"panel-0c0ddda05d377af1c0cee87f7c85da67-btn-2",
"panel-3c6a067cd80a10d3707200fc8fb84bb3-0",
"panel-3c6a067cd80a10d3707200fc8fb84bb3-1",
"panel-3c6a067cd80a10d3707200fc8fb84bb3-2",
"panel-3c6a067cd80a10d3707200fc8fb84bb3-btn-0",
"panel-3c6a067cd80a10d3707200fc8fb84bb3-btn-1",
"panel-3c6a067cd80a10d3707200fc8fb84bb3-btn-2",
"panel-4b12c0f69625cb352e0aa7d846f960d8-0",
"panel-4b12c0f69625cb352e0aa7d846f960d8-1",
"panel-4b12c0f69625cb352e0aa7d846f960d8-2",
"panel-4b12c0f69625cb352e0aa7d846f960d8-btn-0",
"panel-4b12c0f69625cb352e0aa7d846f960d8-btn-1",
"panel-4b12c0f69625cb352e0aa7d846f960d8-btn-2",
"panel-6906624fe967e8dffbf4c3446a9e2385-0",
"panel-6906624fe967e8dffbf4c3446a9e2385-1",
"panel-6906624fe967e8dffbf4c3446a9e2385-2",
"panel-6906624fe967e8dffbf4c3446a9e2385-btn-0",
"panel-6906624fe967e8dffbf4c3446a9e2385-btn-1",
"panel-6906624fe967e8dffbf4c3446a9e2385-btn-2",
"panel-7351d1dc85bcedcd74309f25472b7548-0",
"panel-7351d1dc85bcedcd74309f25472b7548-1",
"panel-7351d1dc85bcedcd74309f25472b7548-2",
"panel-7351d1dc85bcedcd74309f25472b7548-btn-0",
"panel-7351d1dc85bcedcd74309f25472b7548-btn-1",
"panel-7351d1dc85bcedcd74309f25472b7548-btn-2",
"panel-7784dd257dba6ab662963774a7bea03d-0",
"panel-7784dd257dba6ab662963774a7bea03d-1",
"panel-7784dd257dba6ab662963774a7bea03d-2",
"panel-7784dd257dba6ab662963774a7bea03d-btn-0",
"panel-7784dd257dba6ab662963774a7bea03d-btn-1",
"panel-7784dd257dba6ab662963774a7bea03d-btn-2",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-0",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-1",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-2",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-btn-0",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-btn-1",
"panel-c62f4eeaa4277d5c14c486d5c8623ae1-btn-2",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-0",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-1",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-2",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-btn-0",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-btn-1",
"panel-cfcc43cbefc204c3c8c7487ef6347c27-btn-2",
"panel-d29649da522407a082335b726b32951c-0",
"panel-d29649da522407a082335b726b32951c-1",
"panel-d29649da522407a082335b726b32951c-2",
"panel-d29649da522407a082335b726b32951c-btn-0",
"panel-d29649da522407a082335b726b32951c-btn-1",
"panel-d29649da522407a082335b726b32951c-btn-2",
"panels",
"panel-0692e7e68c57d91164039f0f77cce9d8-0",
"panel-0692e7e68c57d91164039f0f77cce9d8-1",
"panel-0692e7e68c57d91164039f0f77cce9d8-2",
"panel-0692e7e68c57d91164039f0f77cce9d8-btn-0",
"panel-0692e7e68c57d91164039f0f77cce9d8-btn-1",
"panel-0692e7e68c57d91164039f0f77cce9d8-btn-2",
"panel-0a5cb51ed9eea57f673dc25545175b8b-0",
"panel-0a5cb51ed9eea57f673dc25545175b8b-1",
"panel-0a5cb51ed9eea57f673dc25545175b8b-2",
"panel-0a5cb51ed9eea57f673dc25545175b8b-btn-0",
"panel-0a5cb51ed9eea57f673dc25545175b8b-btn-1",
"panel-0a5cb51ed9eea57f673dc25545175b8b-btn-2",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-0",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-1",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-2",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-btn-0",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-btn-1",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-btn-2",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-0",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-1",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-2",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-btn-0",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-btn-1",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-btn-2",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-0",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-1",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-2",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-btn-0",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-btn-1",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-btn-2",
"panel-b06517abb515d4c22a03ca07d577f3de-0",
"panel-b06517abb515d4c22a03ca07d577f3de-1",
"panel-b06517abb515d4c22a03ca07d577f3de-2",
"panel-b06517abb515d4c22a03ca07d577f3de-btn-0",
"panel-b06517abb515d4c22a03ca07d577f3de-btn-1",
"panel-b06517abb515d4c22a03ca07d577f3de-btn-2",
"panel-b434a05f655e7811ee71b4177747a1c0-0",
"panel-b434a05f655e7811ee71b4177747a1c0-1",
"panel-b434a05f655e7811ee71b4177747a1c0-2",
"panel-b434a05f655e7811ee71b4177747a1c0-btn-0",
"panel-b434a05f655e7811ee71b4177747a1c0-btn-1",
"panel-b434a05f655e7811ee71b4177747a1c0-btn-2",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-0",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-1",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-2",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-btn-0",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-btn-1",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-btn-2",
"panel-d80f75f98e8a44fe4164fa76a6afd600-0",
"panel-d80f75f98e8a44fe4164fa76a6afd600-1",
"panel-d80f75f98e8a44fe4164fa76a6afd600-2",
"panel-d80f75f98e8a44fe4164fa76a6afd600-btn-0",
"panel-d80f75f98e8a44fe4164fa76a6afd600-btn-1",
"panel-d80f75f98e8a44fe4164fa76a6afd600-btn-2",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-0",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-1",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-2",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-btn-0",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-btn-1",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-btn-2",
"persona",
"pie-chart",
"pills",
"politique-de-confidentialité",
"politique-de-cookies",
"premier-article",
"privacy-policy",
"projecten",
"projects",
"projets",
"publication",
"quadrant-chart",
"quatrième-article-exclu-de-la-recherche",
"que-sont-les-cookies-",
"release",
"releases",
"requirement-chart",
"réduire",
"sample-project",
"second-post",
"second-panel",
"security",
"separator",
"sequence-diagram",
"shortcode-with-controls-and-frontmatter",
"spinner",
@@ -928,8 +891,8 @@
"sécurité",
"table",
"tabs",
"third-panel",
"third-party-links--use-of-your-information",
"third-post",
"timeline",
"title",
"toast",
@@ -941,26 +904,19 @@
"toc-collapse",
"toc-collapse-items",
"tooltip",
"troisième-article",
"tweede-artikel",
"types-de-cookies-que-nous-utilisons",
"types-of-cookies-we-use",
"underline",
"user-journey",
"video",
"video-message",
"video-type",
"vidéo",
"vierde-artikel",
"voorbeeldproject",
"vos-droits",
"welcome-to-hinode",
"welkom-bij-hinode",
"what-are-cookies",
"xy-chart",
"your-rights",
"à-propos",
"éléments-bootstrap"
"your-rights"
]
}
}

6
go.mod
View File

@@ -4,7 +4,7 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.13.0+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.5 // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4 // indirect
github.com/gethinode/mod-bootstrap v1.3.4 // indirect
github.com/gethinode/mod-csp v1.0.8 // indirect
github.com/gethinode/mod-flexsearch/v3 v3.0.0 // indirect
@@ -15,7 +15,7 @@ require (
github.com/gethinode/mod-lottie v1.6.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-utils/v4 v4.17.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect
github.com/gethinode/mod-utils/v4 v4.14.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64 // indirect
github.com/twbs/bootstrap v5.3.8+incompatible // indirect
)

14
go.sum
View File

@@ -12,8 +12,6 @@ github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 h1:/Z66xKILl1SNGQePHZCnxo6vFgED7
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4 h1:k233xdD3ydE6iN8QB+c37//rSsFVtLIo5OUNRN4E3bc=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.5 h1:RmqeSUQMPyi31YC6SaFNE2ubfFy13qVj5/lo+MCT+u8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.5/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/gethinode/mod-bootstrap v1.0.1 h1:NDZar+UEL42YHCvzzO+jVgqkZU5INA12BpjX3y6U4I4=
github.com/gethinode/mod-bootstrap v1.0.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU=
@@ -508,16 +506,6 @@ github.com/gethinode/mod-utils/v4 v4.13.0 h1:VKAA+wKy4saayXfgJuVBRfhNVWQWmxOjO8L
github.com/gethinode/mod-utils/v4 v4.13.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.14.0 h1:CF5dy+HWg22L306bWVhClWK9b1NVinEqtb4Qr2vcl9A=
github.com/gethinode/mod-utils/v4 v4.14.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.15.0 h1:Zocy3qEVluYcx9te7bN6Serwp49kjhuH+eIvcCYpeC8=
github.com/gethinode/mod-utils/v4 v4.15.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.15.1 h1:zsn6pYxMePLqsNaX+V8qND5tAbbp/CiscgZrnFAxc2s=
github.com/gethinode/mod-utils/v4 v4.15.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.16.0 h1:yroLCeQyE/xU46YIKS81ZtFsOONTmVudrv2qW7IBH5Q=
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/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/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=
@@ -542,8 +530,6 @@ github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a h1:CF/f62uf
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64 h1:8gn/7ZfERwknYk63DskhEfkwwpoXubGrzLv5LuSq6hc=
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 h1:55phPhe6fDjfjG0jX4+br3nLORKgjgx8abZUdI0YJRA=
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=

View File

@@ -0,0 +1,17 @@
{{ $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,14 +1,13 @@
{{ $class := .Attributes.class }}
{{ $text := chomp .Text }}
{{ if site.Params.main.titleCase }}{{ $text = (title ($text | htmlUnescape)) | htmlEscape }}{{ end }}
{{ if and site.Params.navigation.anchor $text }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading {{ with $class }}{{ . }}{{ end }}">
<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 }}" {{ with $class }} class="{{ . }}"{{ end }}>{{ $text | safeHTML }}</h{{ .Level }}>
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ $text | safeHTML }}</h{{ .Level }}>
{{ end }}

View File

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

View File

@@ -6,38 +6,17 @@
{{ $error := false }}
{{- define "_partials/inline/card-icons.html" -}}
{{ $links := .links }}
<span class="text-body-secondary">
{{- range $index, $item := $links -}}
{{ partial "assets/button.html" (dict
"href" $item.url
"icon" (printf "%s fa-fw" $item.icon)
"class" "btn-social p-0"
"label" $item.title
"spacing" false
) }}
{{- end -}}
</span>
{{- end -}}
{{/* Inline partial to render the card's body */}}
{{- define "_partials/inline/card-body.html" -}}
{{- $title := .title -}}
{{- $href := .href -}}
{{- $color := .color -}}
{{- $description := .description -}}
{{- $links := .links -}}
{{- $button := .button -}}
{{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
{{ if or $title $links }}
<p class="card-title fs-lg-5 fs-6">
{{- with $title }}{{ . }}{{ end }}
{{ with $links }}{{ partial "inline/card-icons.html" (dict "links" .) }}{{ end -}}
</p>
{{ end -}}
<p class="card-title fs-lg-5 fs-6">{{ $title }}</p>
{{ with $description }}
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
{{ . | safeHTML }}
@@ -46,12 +25,7 @@
</a>
{{- else -}}
<div>
{{ if or $title $links }}
<p class="card-title fs-lg-5 fs-6">
{{- with $title }}{{ . }}{{ end }}
{{ with $links }}{{ partial "inline/card-icons.html" (dict "links" .) }}{{ end -}}
</p>
{{ end -}}
{{ with $title }}<p class="card-title fs-lg-5 fs-6">{{ . }}</p>{{ end -}}
{{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
</div>
{{- end -}}
@@ -180,8 +154,8 @@
{{ end }}
{{- if eq $args.orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
{{- if or (eq $args.bodyStyle "title") (eq $args.body "title") }}{{ $description = "" }}{{ end -}}
{{- if or (eq $args.bodyStyle "none") (eq $args.body "none") }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
{{- if eq $args.body "title" }}{{ $description = "" }}{{ end -}}
{{- if eq $args.body "none" }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
{{- $thumbnailArgs := dict
@@ -254,7 +228,7 @@
"href" $href
"color" $args.color
"description" $description
"links" $args.links
"button" $args.button
) -}}
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
{{ if and $href $args.button }}
@@ -301,13 +275,7 @@
<div class="card-body p-0 d-flex flex-column{{ if $thumbnail }} p-{{ $args.padding }}{{ end }}{{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
{{ if $args.overlay }}<div class="flex-grow-1"></div>{{ end }}
{{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.headerStyle "color" $args.color) -}}{{ end }}
{{- partial "inline/card-body.html" (dict
"title" $title
"href" $href
"color" $args.color
"description" $description
"links" $args.links
) -}}
{{- partial "inline/card-body.html" (dict "title" $title "href" $href "color" $args.color "description" $description) -}}
{{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) -}}{{ end }}
</div>
{{ if $args.button }}

View File

@@ -50,18 +50,17 @@
{{ end }}
{{ partial "assets/hero.html" (dict
"page" $args.page
"heading" (merge $heading (dict "size" 6))
"background" $args.background
"illustration" $illustration
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" $args.orientation
"width" (or $args.width 12)
"use-title" true
"size" 6
"content-style" "text-muted fs-5"
"page" $args.page
"heading" (merge $heading (dict "size" 6))
"background" $args.background
"illustration" $illustration
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" $args.orientation
"width" (or $args.width 12)
"use-title" true
"size" 6
)
}}
{{ end }}

View File

@@ -112,16 +112,13 @@
{{ end }}
{{ $title := partial "assets/section-title.html" (dict
"heading" $heading
"use-title" $args.useTitle
"links" $args.links
"link-type" (or $args.linkType $args.type)
"class" "hero-title"
"arrangement" $arrangement
"justify" $args.justify
"heading-style" $args.headingStyle
"content-style" $args.contentStyle
"heading" $heading
"use-title" $args.useTitle
"links" $args.links
"link-type" (or $args.linkType $args.type)
"class" "hero-title"
"arrangement" $arrangement
"justify" $args.justify
) }}
{{ if eq $args.orientation "stacked" }}

View File

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

View File

@@ -78,29 +78,9 @@
{{- end -}}
{{ $logo := "" }}
{{ $mode := index site.Params.navigation "logo-mode" | default false }}
{{ if (not (in $args.default "logo-mode")) }}
{{ $mode = $args.logoMode }}
{{ end }}
{{ $align := index site.Params.navigation "logo-align" | default "center" }}
{{ if (not (in $args.default "logo-align")) }}
{{ $align = $args.logoAlign }}
{{ end }}
{{ if not $args.title }}
{{ with $args.logo | default site.Params.navigation.logo }}
{{ $height := index site.Params.navigation "logo-height" | default 30 }}
{{ $class := cond (eq $align "start") "my-auto" "m-auto" }}
{{ $logo = partial "assets/image.html" (dict
"src" .
"loading" "eager"
"title" $title
"image-height" $height
"mode" $mode
"class" (printf "h-100 %s" $class)
) }}
{{ end }}
{{ with $args.logo | default site.Params.navigation.logo }}
{{ $height := index site.Params.navigation "logo-height" | default 30 }}
{{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" $height) }}
{{ end }}
{{- $class := $args.class -}}
@@ -127,29 +107,26 @@
{{ end }}
>
<div class="container-xxl p-0">
<div class="d-flex navbar-container">
{{/* Insert sidebar toggler or placeholder when applicable */}}
{{ $sidebar := $page.Scratch.Get "sidebar" }}
{{- if or $sidebar (eq $align "center") -}}
<div class="d-flex align-items-center">
{{- if $sidebar -}}
<button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas"
data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
</button>
{{- else if eq $align "center" -}}
{{/* Insert invisible sidebar toggler to center logo correctly on smaller screens */}}
<button class="navbar-toggler collapsed p-0 mx-auto invisible fw-30" type="button">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
</button>
{{- end -}}
</div>
{{ end }}
<div class="d-flex navbar-container justify-content-center">
{{/* Insert sidebar toggler when applicable */}}
<div class="d-flex align-items-center">
{{- if $page.Scratch.Get "sidebar" -}}
<button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas"
data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
</button>
{{- else -}}
{{/* Insert invisible sidebar toggler to center logo correctly on smaller screens */}}
<button class="navbar-toggler collapsed p-0 mx-auto invisible fw-30" type="button">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
</button>
{{- end -}}
</div>
{{/* Insert the brand logo or name */}}
<div class="width-100 width-{{ $args.breakpoint }}-auto {{ if not $logo }}my-auto {{ end }} {{ if eq $align "center" }}text-center{{ end }}">
<div class="{{ if $logo }}mx-auto{{ else }}flex-grow-1 flex-{{ $args.breakpoint }}-grow-0{{ end }}">
<a class="navbar-brand" href="{{ site.Home.RelPermalink }}" aria-label="{{ T "home" }}">
{{- with $logo -}}{{ . }}{{- else -}}<div class="p-0 navbar-title-{{ $align }} fw-bold h-100">{{ $title }}</div>{{- end -}}
{{- with $logo -}}{{ . }}{{- else -}}<div class="navbar-title fw-bold h-100">{{ $title }}</div>{{- end -}}
</a>
</div>

View File

@@ -19,10 +19,10 @@
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local arguments */}}
{{- $size := (or $args.heading.size site.Params.style.title.size) | default 4 -}}
{{- $arrangement := (or $args.arrangement site.Params.style.title.arrangement) | default "above" -}}
{{- $headingStyle := (or $args.headingStyle site.Params.style.title.headingStyle) | default "display" -}}
{{- $contentStyle := (or $args.contentStyle site.Params.style.title.contentStyle) | default "lead text-muted" -}}
{{- $size := (or $args.heading.size site.Params.modules.bookshop.title.size) | default 4 -}}
{{- $arrangement := (or $args.arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}}
{{- $headingStyle := (or $args.headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}}
{{- $contentStyle := (or $args.contentStyle site.Params.modules.bookshop.title.contentStyle) | default "lead text-muted" -}}
{{- $preheading := $args.heading.preheading }}
{{- $title := $args.heading.title }}
{{- $width := $args.heading.width | default 12 -}}

View File

@@ -45,7 +45,7 @@
{{- end -}}
<div class="py-3 text-body-secondary hstack gap-1">
{{ if $args.showLabel }}{{ T "shareLink" " " }}{{ end }}
{{ T "shareLink" " " }}
{{- range $index, $item := $list -}}
{{- $url := $item.url -}}
{{- $url = replace $url "{url}" $page.Permalink -}}
@@ -71,10 +71,9 @@
{{- end -}}
{{ if $page.Site.Params.sharing.webshare }}
{{ $attr := dict "data-sharing-title" $page.Title "data-sharing-description" $page.Description "data-sharing-url" $page.Permalink }}
{{ $icon := index $page.Site.Params.sharing "webshare-icon" | default "fas share-nodes"}}
{{ partial "assets/button.html" (dict
"href" ""
"icon" (printf "%s fa-fw" $icon)
"icon" "fas share-nodes fa-fw"
"class" "btn-social p-0"
"attributes" $attr
"label" (T "shareLink" (T "shareSystem"))

View File

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

View File

@@ -0,0 +1,238 @@
<!--
Copyright © 2024 - 2025 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.
-->
{{ define "_partials/inline/default.html" }}
{{ $config := split .config "." }}
{{ $default := .default }}
{{ return or (index site.Params $config) $default }}
{{ end }}
{{ define "_partials/inline/alias-type.html" }}
{{ $type := .type }}
{{ $custom := .types }}
{{ $references := .references }}
{{ $aliases := dict "path" "string" "select" "string" "url" "string" "dict" "[]map[string]interface {}" "slice" "[]interface {}" }}
{{ $reserved := slice "bool" "int" "int64" "float" "float64" "string" "dict" "slice" }}
{{ $input := slice }}
{{ if not $type }}
{{ errorf "expected type argument: %s" page.File }}
{{ else }}
{{ $input = slice | append $type }}
{{ end }}
{{ $extra := slice }}
{{ range $element := $input }}
{{ $alias := index $aliases $element }}
{{ if $alias }}{{ $extra = $extra | append slice $alias }}{{ end }}
{{ if not (in $reserved $element) }}
{{ $def := index $references $element }}
{{ if $def }}
{{ $extra = $extra | append slice $def._reflect }}
{{ end }}
{{ end }}
{{ if $extra }}{{ $input = $input | append $extra }}{{ end }}
{{ end }}
{{ return $input }}
{{ end }}
{{/* Initialize arguments */}}
{{ $structure := .structure }}
{{ $bookshop := .bookshop }}
{{ $child := .child }}
{{ $named := .named | default true }}
{{ $args := .args | default dict }}
{{ $group := .group }}
{{/* Initialize local variables */}}
{{ $error := false }}
{{ $errmsg := slice }}
{{ $warnmsg := slice }}
{{ $params := dict }}
{{ $types := dict }}
{{ $default := slice }}
{{/* Validate partial arguments */}}
{{ if and (not $structure) (not $bookshop) }}
{{- $errmsg = $errmsg | append (printf "partial [utilities/InitArgs.html] - Missing value for param 'structure' or 'bookshop'") -}}
{{ $error = true }}
{{ end }}
{{/* Initialize type structure */}}
{{ if hasPrefix $structure "bookshop-" }}{{ $bookshop = strings.TrimPrefix "bookshop-" $structure }}{{ $structure = "" }}{{ end }}
{{ if not $error }}
{{ $types = partial "utilities/InitTypes.html" (dict "structure" $structure "bookshop" $bookshop "child" $child ) }}
{{ if $types.errmsg }}{{ $errmsg = $errmsg | append $types.errmsg }}{{ $error = $types.err }}{{ end }}
{{ if $types.warnmsg }}{{ $warnmsg = $warnmsg | append $types.warnmsg }}{{ end }}
{{ end }}
{{ $namedargs := dict }}
{{ if not $named }}
{{ range $index, $val := $args }}
{{ $found := false }}
{{ range $k, $v := $types.types }}
{{ if eq $index $v.position }}
{{ $namedargs = merge $namedargs (dict $k $val) }}
{{ $found = true }}
{{ break }}
{{ end }}
{{ end }}
{{ if not $found }}
{{ $errmsg = $errmsg | append (printf "[%s] unsupported argument at index %d (value: '%s')" (or $structure $bookshop) $index $val) }}
{{ end }}
{{ end }}
{{ else }}
{{ $namedargs = $args }}
{{ end }}
{{/* Validate passed arguments and initialize their default value when applicable */}}
{{ if not $error }}
{{ range $key, $val := $namedargs }}
{{ $def := index $types.types $key }}
{{ if not $def }}
{{ if eq (printf "%T" $key) "string" }}
{{ $errmsg = $errmsg | append (printf "[%s] unsupported argument '%s'" (or $structure $bookshop) $key) }}
{{ else if eq (printf "%T" $key) "int" }}
{{ $errmsg = $errmsg | append (printf "[%s] unsupported argument at index %d (value: '%s')" (or $structure $bookshop) $key $val) }}
{{ else }}
{{ $errmsg = $errmsg | append (printf "[%s] unsupported argument value '%v'" (or $structure $bookshop) $val) }}
{{ end }}
{{ $error = true }}
{{ break }}
{{ else }}
{{/* initialize default value */}}
{{ if and (eq $val nil) (or $def.config $def.default) }}
{{ $val = (partial "inline/default.html" (dict "config" $def.config "default" $def.default)) }}
{{ $default = $default | append $key }}
{{ end }}
{{/* validate type */}}
{{ $expected := partial "inline/alias-type.html" (dict "type" $def.type "types" $types.types "references" $types.udt) }}
{{ $actual := printf "%T" $val }}
{{/* cast supported types from/to string */}}
{{ if and (in $expected "bool") (in (slice "true" "false") $val) }}
{{ $actual = "bool" }}
{{ $val = cond (eq $val "true") true false }}
{{ else if and (in $expected "int") (findRE `^-?\d+$` $val) }}
{{ $actual = "int" }}
{{ $val = int $val }}
{{ else if and (in $expected "float") (findRE `^(?:[1-9]\d*|0)?(?:\.\d+)?$` $val) }}
{{ $actual = "float" }}
{{ $val = float $val }}
{{ else if and (in $expected "string") (in (slice "bool" "int" "int64" "float" "float64") $actual) }}
{{ $actual = "string" }}
{{ $val = string $val }}
{{ end }}
{{ if and $val (not (in $expected $actual)) }}
{{ $errmsg = $errmsg | append (printf "[%s] argument '%s': expected type '%s', got '%s' with value '%v'" (or $structure $bookshop) (string $key) (delimit $expected ", ") $actual $val) }}
{{ $error = true }}
{{ break }}
{{ end }}
{{/* validate permitted values */}}
{{ if and (reflect.IsMap $def.options) $def.options.values (eq $actual "string") }}
{{ if and $val (not (in $def.options.values $val)) }}
{{ $errmsg = $errmsg | append (printf "[%s] argument '%s': unexpected value '%s'" (or $structure $bookshop) (string $key) $val) }}
{{ $error = true }}
{{ break }}
{{ end }}
{{ else if and (reflect.IsMap $def.options) (or $def.options.min $def.options.max) (in (slice "int" "float" "float64") $actual) }}
{{ if or
(and $def.options.min (lt $val $def.options.min))
(and $def.options.max (gt $val $def.options.max))
}}
{{ $min := (string (or $def.options.min "-")) }}
{{ $max := (string (or $def.options.max "-")) }}
{{ $errmsg = $errmsg | append (printf "[%s] argument '%s': value '%s' out of range [%s, %s]" (or $structure $bookshop) (string $key) (string $val) $min $max) }}
{{ $error = true }}
{{ break }}
{{ end }}
{{ end }}
{{/* validate if argument is deprecated */}}
{{ with $def.deprecated }}
{{ $warn := printf "[%s] argument '%s': deprecated in v%s" (or $structure $bookshop) $key (strings.TrimPrefix "v" .) }}
{{ with $def.alternative }}
{{ $warn = printf "%s, use '%s' instead" $warn . }}
{{ end }}
{{ $warnmsg = $warnmsg | append $warn }}
{{ end }}
{{ end }}
{{/* append the argument to the return set */}}
{{ if not $error }}
{{ $params = merge $params (dict $key $val) }}
{{ end }}
{{ end }}
{{ end }}
{{ if not $error }}
{{/* validate required arguments */}}
{{ $max := len $namedargs }}
{{ $expected := 0 }}
{{ range $key, $val := $types.types }}
{{ $skip := false }}
{{ $groups := slice | append $val.group }}
{{ if and $group $val.group }}
{{ $skip = not (in $groups $group )}}
{{ end }}
{{ if and (not $skip) (not $val.optional) }}
{{ if not (isset $namedargs $key) }}
{{ $errmsg = $errmsg | append (printf "[%s] argument '%s': expected value" (or $structure $bookshop) $key) }}
{{ $error = true }}
{{ end }}
{{ end }}
{{ end }}
{{ if lt $max $expected }}
{{ $errmsg = $errmsg | append (printf "[%s] expected '%d' args, got '%d'" (or $structure $bookshop) $expected $max) }}
{{ $error = true }}
{{ end }}
{{/* add missing keys with default values (nested one level deep) or empty slice */}}
{{ range $key, $val := $types.types }}
{{ if (not (isset $params $key)) }}
{{ $udt := index $types.udt $key }}
{{ if or (isset $val "config") (isset $val "default") }}
{{ $params = merge $params (dict
$key (partial "inline/default.html" (dict "config" $val.config "default" $val.default))
) }}
{{ $default = $default | append $key }}
{{ else if $udt }}
{{ if eq $udt._reflect "[]interface {}" }}
{{ $params = merge $params (dict $key slice) }}
{{ else }}
{{ $nested := dict }}
{{ range $k, $v := $udt }}
{{ if and (reflect.IsMap $v) (or $v.config $v.default) }}
{{ $nested = merge $nested (dict
$k (partial "inline/default.html" (dict "config" $val.config "default" $val.default))
)}}
{{ end }}
{{ end }}
{{ $params = merge $params (dict $key $nested) }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{/* add the key-value pair using camel case to support chaining of the identifier */}}
{{/* see https://gohugo.io/configuration/params/#article */}}
{{ range $key, $val := $params }}
{{ if strings.Contains $key "-" }}
{{ $camelKey := partial "utilities/camelize.html" $key }}
{{ $params = merge $params (dict $camelKey $val) }}
{{ end }}
{{ end }}
{{ end }}
{{ $params = merge $params (dict "err" $error "errmsg" $errmsg "warnmsg" $warnmsg "default" $default) }}
{{ return $params }}

View File

@@ -0,0 +1,144 @@
<!--
Copyright © 2025 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.
-->
{{/* Inline partial to retrieve the type definition of the provided key (without recursion) */}}
{{ define "_partials/inline/type-definition.html" }}
{{ $key := .key }}
{{ $val := .val }}
{{ $arguments := .arguments }}
{{ $types := .types }}
{{ $def := index $arguments $key }}
{{ $udt := "" }}
{{ $reflect := "" }}
{{ $reserved := slice "bool" "int" "int64" "float" "float64" "string" "dict" "slice" }}
{{ $errorMsg := slice }}
{{ if and $def $def.type }}
{{ $aliases := slice | append $def.type }}
{{ range $alias := $aliases }}
{{ with index $types $alias }}
<!-- Reduce child elements to slice of argument names -->
{{ $args := slice }}
{{ $reflect = printf "%T" . }}
{{ if reflect.IsMap . }}
{{ range $k, $_ := . }}
{{ $args = $args | append $k }}
{{ end }}
{{ else if reflect.IsSlice . }}
{{ with index . 0 }}
{{ range $k, $_ := . }}
{{ $args = $args | append $k }}
{{ end }}
{{ end }}
{{ end }}
<!-- Retrieve type definition for each argument -->
{{ $definitions := dict }}
{{ $definitions := merge $definitions (dict "_reflect" $reflect) }}
{{ range $args }}
{{ $type := partial "inline/type-definition.html" (dict "key" . "arguments" $arguments "types" $types) }}
{{ if and $type $type.definition }}
{{ $definitions = merge $definitions (dict . $type.definition) }}
{{ else }}
{{- $errorMsg = $errorMsg | append (printf "partial [utilities/InitTypes.html] - Missing type for '%s.%s'" $key . ) -}}
{{ end }}
{{ end }}
{{ $udt = dict $alias $definitions }}
{{ end }}
{{ end }}
{{ end }}
{{ $merged := or $def dict }}
{{ if reflect.IsMap $val }}{{ $merged = merge $merged $val }}{{ end }}
{{ if not $merged.type }}
{{- $errorMsg = $errorMsg | append (printf "partial [utilities/InitTypes.html] - Missing type for '%s'" $key ) -}}
{{ end }}
{{ return (dict "definition" $merged "udt" $udt "errmsg" $errorMsg) }}
{{ end }}
{{/* Initalize arguments and local variables */}}
{{ $error := false }}
{{ $errmsg := slice }}
{{ $warnmsg := slice }}
{{ $params := dict }}
{{ $definitions := dict }}
{{ $udt := dict }}
{{ $structure := .structure }}
{{ $bookshop := .bookshop }}
{{ $group := .group }}
{{ $child := .child }}
{{ $level := .level | default 0 }}
{{ if gt $level 5 }}
{{ errorf "recursion detected: %s / %s" $structure $bookshop }}
{{ return }}
{{ end }}
{{ if and (not $structure) (not $bookshop) }}
{{- $errmsg = $errmsg | append (printf "partial [utilities/InitTypes.html] - Missing value for param 'structure' or 'bookshop'") -}}
{{ $error = true }}
{{ end }}
{{/* Initalize the type structure */}}
{{ if not $error }}
{{ $args := dict }}
{{ $arguments := index (index site.Data.structures "_arguments") "arguments" }}
{{ $types := index (index site.Data.structures "_types") "types" }}
{{/* Initalize the regular or bookshop argument structure */}}
{{ if $structure }}
{{ if index site.Data.structures $structure}}
{{ $args = (index site.Data.structures $structure).arguments | default dict }}
{{ else }}
{{ $args = (index $types $structure) | default dict }}
{{ end }}
{{ else }}
{{ $args = index (index (index site.Data.structures.components $bookshop) (printf "%s.bookshop" $bookshop)) "blueprint" | default dict }}
{{ $args = merge $args (dict "_bookshop_name" nil "_ordinal" nil "id" nil) }}
{{ end }}
{{/* Merge any child arguments */}}
{{ if $child }}
{{ $extra_def := (index site.Data.structures $child).arguments }}
{{ if not $extra_def }}
{{- $errmsg = $errmsg | append (printf "partial [utilities/InitTypes.html] - Missing definitions: %s" $child) -}}
{{ $error = true }}
{{ else }}
{{ range $key, $val := $extra_def }}
{{ if and $val $val.parent }}
{{ $newval := dict }}
{{ range $k, $v := $val }}
{{ if ne $k "default" }}{{ $newval = merge $newval (dict $k $v) }}{{ end }}
{{ end}}
{{ $args = merge $args (dict $key $newval) }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{/* Initialize the arguments and their type definitions recursively */}}
{{ range $key, $v := $args }}
{{ $type := partial "inline/type-definition.html" (dict "key" $key "val" $v "args" $args "arguments" $arguments "types" $types "structure" $structure) }}
{{ $errmsg = $errmsg | append $type.errmsg }}
{{ if and $type $type.definition $type.definition.type }}
{{ $definitions = merge $definitions (dict $key $type.definition) }}
{{ with $type.udt }}
{{ $udt = merge $udt . }}
{{ end }}
{{ else }}
{{- $errmsg = $errmsg | append (printf "partial [utilities/InitTypes.html] - Missing type for '%s' in '%s'" $key (or $structure $bookshop) ) -}}
{{ $error = true }}
{{ end }}
{{ end }}
{{ end }}
{{ $params = merge $params (dict "types" $definitions "udt" $udt "err" $error "errmsg" $errmsg "warnmsg" $warnmsg) }}
{{ return $params }}

View File

@@ -29,6 +29,5 @@
"parent" $args.parent
"render-type" $args.renderType
"header-level" $args.headerLevel
"_default" $args.default
) -}}
{{- end -}}

View File

@@ -57,7 +57,6 @@
"tab" $args.tab
"toast-id" (or $args.toastId $args.toast)
"spacing" $spacing
"_default" $args.default
) -}}
{{ with $args.wrapper }}

View File

@@ -78,6 +78,5 @@
"link-type" $buttonType
"icon-rounded" $iconRounded
"scroll" $scroll
"_default" $args.default
)
-}}

View File

@@ -94,7 +94,6 @@
"alt" $alt
"button" $button
"link-type" $linkType
"_default" $args.default
) -}}
{{/* Pass output to parent or current stream */}}

View File

@@ -43,6 +43,5 @@
"anchor" $args.anchor
"loading" $args.loading
"page" .Page
"_default" $args.default
) -}}
{{- end -}}

View File

@@ -32,7 +32,7 @@
"caption" $args.caption
"ratio" $ratio
"portrait" $portrait
"loading" $args.loading
"loading" $args.loading
) }}
{{ $current := .Parent.Scratch.Get "inner" }}

View File

@@ -36,6 +36,5 @@
"class" $args.class
"page" .Page
"position" .Position
"_default" $args.default
) }}
{{- end -}}

View File

@@ -46,7 +46,6 @@
"body" $body
"show" $args.show
"disabled" $args.disabled
"_default" $args.default
)
-}}
@@ -75,7 +74,6 @@
"show" $args.show
"disabled" $args.disabled
"navitem-type" "accordion"
"_default" $args.default
)
-}}

View File

@@ -43,7 +43,6 @@
"class" $args.class
"pane" $args.pane
"width" $args.width
"_default" $args.default
)
-}}
{{- end -}}

View File

@@ -41,10 +41,8 @@
"mode" $args.mode
"menus" $args.menus
"logo" $args.logo
"logo-mode" $args.logoMode
"title" $args.title
"class" $args.class
"_default" $args.default
)
-}}
{{ end -}}

View File

@@ -39,6 +39,5 @@
"href" $args.href
"content" $content
"thumbnail" $args.thumbnail
"_default" $args.default
) -}}
{{- end -}}

View File

@@ -30,6 +30,5 @@
"pagingOptionPageSelect" $args.pagingOptionPageSelect
"searchable" $args.searchable
"wrap" $args.wrap
"_default" $args.default
) }}
{{ end }}

View File

@@ -32,5 +32,5 @@
{{/* Main code */}}
{{ if not $error }}
{{ partial "assets/timeline.html" (dict "page" $page "data" $args.data "background" $args.background "_default" $args.default) }}
{{ partial "assets/timeline.html" (dict "page" $page "data" $args.data "background" $args.background) }}
{{ end }}

View File

@@ -33,9 +33,8 @@
{{ if not $error -}}
{{ partial "assets/toast.html" (dict
"id" $id
"title" (or $args.title $args.header)
"message" $message
"class" $args.class
"_default" $args.default
"title" (or $args.title $args.header)
"message" $message
"class" $args.class
) }}
{{ end -}}

View File

@@ -29,6 +29,5 @@
"title" $args.title
"autoplay" $args.autoplay
"autotitle" $args.autotitle
"_default" $args.default
) }}
{{ end -}}

View File

@@ -28,6 +28,5 @@
"title" (or $args.title "Vimeo Video")
"autoplay" $args.autoplay
"autotitle" $args.autotitle
"_default" $args.default
) }}
{{ end -}}

View File

@@ -28,6 +28,5 @@
"title" (or $args.title "YouTube Video")
"autoplay" $args.autoplay
"autotitle" $args.autotitle
"_default" $args.default
) }}
{{ end -}}

View File

@@ -1,9 +1,3 @@
{{/* Initialize global variables */}}
{{- $size := site.Params.style.title.size | default 4 -}}
{{- $headingStyle := site.Params.style.title.headingStyle | default "display" -}}
{{- $contentStyle := site.Params.style.title.contentStyle | default "lead text-muted" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{- $metadata := "full" -}}
@@ -27,8 +21,7 @@
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" (dict "page" .) }}{{ end -}}
{{/* Display title and metadata */}}
{{ with $title }}<h1 id="{{ anchorize . }}" class="{{ $headingStyle }}-{{ $size }} pt-1">{{ . }}</h1>{{ end }}
{{ with $title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
{{ if ne $metadata "none" }}
<small class="text-body-secondary text-uppercase">
{{ if .Date }}
@@ -71,9 +64,7 @@
{{ partial "assets/sharing.html" (dict "page" .) }}
{{/* Display description */}}
{{ with .Description }}
<div class="{{ $contentStyle }} py-{{ $padding.y }}">{{ . | page.RenderString | safeHTML }}</div>
{{ end }}
<p class="lead mb-5 mt-3">{{ .Description }}</p>
{{/* Display TOC dropdown on smaller screens */}}
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}

199
package-lock.json generated
View File

@@ -13,7 +13,7 @@
"autoprefixer": "^10.4.21",
"cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.147.0",
"hugo-bin": "0.146.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
@@ -25,19 +25,19 @@
"commitizen": "^4.3.1",
"cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.35.0",
"eslint": "^9.34.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^4.0.0",
"replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.8",
"semantic-release": "^24.2.7",
"shx": "^0.4.0",
"stylelint": "^16.24.0",
"stylelint-config-standard-scss": "^16.0.0"
"stylelint": "^16.23.1",
"stylelint-config-standard-scss": "^15.0.1"
},
"optionalDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
@@ -631,11 +631,10 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
"integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"eslint-visitor-keys": "^3.4.3"
},
@@ -721,9 +720,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.35.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.35.0.tgz",
"integrity": "sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==",
"version": "9.34.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz",
"integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3518,14 +3517,14 @@
}
},
"node_modules/cacheable": {
"version": "1.10.4",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.4.tgz",
"integrity": "sha512-Gd7ccIUkZ9TE2odLQVS+PDjIvQCdJKUlLdJRVvZu0aipj07Qfx+XIej7hhDrKGGoIxV5m5fT/kOJNJPQhQneRg==",
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.3.tgz",
"integrity": "sha512-M6p10iJ/VT0wT7TLIGUnm958oVrU2cUK8pQAVU21Zu7h8rbk/PeRtRWrvHJBql97Bhzk3g1N6+2VKC+Rjxna9Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"hookified": "^1.11.0",
"keyv": "^5.5.0"
"hookified": "^1.10.0",
"keyv": "^5.4.0"
}
},
"node_modules/cacheable-lookup": {
@@ -3556,9 +3555,9 @@
}
},
"node_modules/cacheable/node_modules/keyv": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.0.tgz",
"integrity": "sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==",
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.4.0.tgz",
"integrity": "sha512-TMckyVjEoacG5IteUpUrOBsFORtheqziVyyY2dLUwg1jwTb8u48LX4TgmtogkNl9Y9unaEJ1luj10fGyjMGFOQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5480,19 +5479,19 @@
}
},
"node_modules/eslint": {
"version": "9.35.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.35.0.tgz",
"integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==",
"version": "9.34.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz",
"integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.21.0",
"@eslint/config-helpers": "^0.3.1",
"@eslint/core": "^0.15.2",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "9.35.0",
"@eslint/js": "9.34.0",
"@eslint/plugin-kit": "^0.3.5",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
@@ -7153,22 +7152,22 @@
}
},
"node_modules/hook-std": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-4.0.0.tgz",
"integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz",
"integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=20"
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/hookified": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.12.0.tgz",
"integrity": "sha512-hMr1Y9TCLshScrBbV2QxJ9BROddxZ12MX9KsCtuGGy/3SmmN5H1PllKerrVlSotur9dlE8hmUKAOSa3WDzsZmQ==",
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.11.0.tgz",
"integrity": "sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==",
"dev": true,
"license": "MIT"
},
@@ -7238,9 +7237,9 @@
}
},
"node_modules/hugo-bin": {
"version": "0.147.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.147.0.tgz",
"integrity": "sha512-8ZO/uEVbYUQzTaPGmB0Www53GeKq6A2oyQs1+0wyV9BR5jWQt7HPpl5U4sCioRTsTF73UQVQMTzIPdg9Iaw4Vw==",
"version": "0.146.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.146.0.tgz",
"integrity": "sha512-R7c7SEhxNekWIny2HF5uU5Xk0Veg8BsahuyLURojvascGLCjyOAUDmghKnWB8DDVXSUmeDQYW8XdypNvbEC/Vg==",
"funding": [
{
"type": "github",
@@ -8706,9 +8705,9 @@
}
},
"node_modules/mdn-data": {
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.24.0.tgz",
"integrity": "sha512-i97fklrJl03tL1tdRVw0ZfLLvuDsdb6wxL+TrJ+PKkCbLrp2PCu2+OYdCKychIUm19nSM/35S6qz7pJpnXttoA==",
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz",
"integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==",
"dev": true,
"license": "CC0-1.0"
},
@@ -14440,23 +14439,22 @@
}
},
"node_modules/replace-in-files-cli": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/replace-in-files-cli/-/replace-in-files-cli-4.0.0.tgz",
"integrity": "sha512-b6Nzz19x+huwKe1pqjovWj/JGFwVvi+XbY1YPuWzlD+3Ihb1BPgoNfPweFvbjmSmj60bPLABgJX0HUQVhzEVsA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/replace-in-files-cli/-/replace-in-files-cli-3.0.0.tgz",
"integrity": "sha512-A2VjOaPF8yjiaRjuIlvX3PB0uRMQ3DpnKG4yg38wjPrqR0OSzD00ubOZqqwAunoT5emKjEZPvdkm6JRVJrBmlQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"escape-string-regexp": "^5.0.0",
"globby": "^14.1.0",
"globby": "^14.0.1",
"meow": "^13.2.0",
"normalize-path": "^3.0.0",
"write-file-atomic": "^6.0.0"
"write-file-atomic": "^5.0.1"
},
"bin": {
"replace-in-files": "cli.js"
},
"engines": {
"node": ">=20"
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -14474,33 +14472,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/replace-in-files-cli/node_modules/signal-exit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/replace-in-files-cli/node_modules/write-file-atomic": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz",
"integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==",
"dev": true,
"license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
"signal-exit": "^4.0.1"
},
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -14879,9 +14850,9 @@
}
},
"node_modules/semantic-release": {
"version": "24.2.8",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.8.tgz",
"integrity": "sha512-uvoLiKEB/AvvA3SCPE78cd90nVJXn220kkEA6sNGzDpas4s7pe4OgYWvhfR0lvWBdBH/T0RFCI6U+GvcT2CypQ==",
"version": "24.2.7",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.7.tgz",
"integrity": "sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14899,7 +14870,7 @@
"find-versions": "^6.0.0",
"get-stream": "^6.0.0",
"git-log-parser": "^1.2.0",
"hook-std": "^4.0.0",
"hook-std": "^3.0.0",
"hosted-git-info": "^8.0.0",
"import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
@@ -16176,9 +16147,9 @@
}
},
"node_modules/stylelint": {
"version": "16.24.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.24.0.tgz",
"integrity": "sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ==",
"version": "16.23.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.23.1.tgz",
"integrity": "sha512-dNvDTsKV1U2YtiUDfe9d2gp902veFeo3ecCWdGlmLm2WFrAV0+L5LoOj/qHSBABQwMsZPJwfC4bf39mQm1S5zw==",
"dev": true,
"funding": [
{
@@ -16205,7 +16176,7 @@
"debug": "^4.4.1",
"fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^10.1.4",
"file-entry-cache": "^10.1.3",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
@@ -16239,9 +16210,9 @@
}
},
"node_modules/stylelint-config-recommended": {
"version": "17.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-17.0.0.tgz",
"integrity": "sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==",
"version": "16.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz",
"integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==",
"dev": true,
"funding": [
{
@@ -16258,26 +16229,26 @@
"node": ">=18.12.0"
},
"peerDependencies": {
"stylelint": "^16.23.0"
"stylelint": "^16.16.0"
}
},
"node_modules/stylelint-config-recommended-scss": {
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-16.0.1.tgz",
"integrity": "sha512-wfpU6kmTUwPEHMACYdpt5wLM/aS44+sqE8yk82LkOkA7yVpAuTZDwd3m9762d0mRnNCn0JMUx4XfDVDmbb8hTA==",
"version": "15.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-15.0.1.tgz",
"integrity": "sha512-V24bxkNkFGggqPVJlP9iXaBabwSGEG7QTz+PyxrRtjPkcF+/NsWtB3tKYvFYEmczRkWiIEfuFMhGpJFj9Fxe6Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"postcss-scss": "^4.0.9",
"stylelint-config-recommended": "^17.0.0",
"stylelint-scss": "^6.12.1"
"stylelint-config-recommended": "^16.0.0",
"stylelint-scss": "^6.12.0"
},
"engines": {
"node": ">=20"
},
"peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^16.23.1"
"stylelint": "^16.16.0"
},
"peerDependenciesMeta": {
"postcss": {
@@ -16286,9 +16257,9 @@
}
},
"node_modules/stylelint-config-standard": {
"version": "39.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-39.0.0.tgz",
"integrity": "sha512-JabShWORb8Bmc1A47ZyJstran60P3yUdI1zWMpGYPeFiC6xzHXJMkpKAd8EjIhq3HPUplIWWMDJ/xu0AiPd+kA==",
"version": "38.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-38.0.0.tgz",
"integrity": "sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==",
"dev": true,
"funding": [
{
@@ -16302,31 +16273,31 @@
],
"license": "MIT",
"dependencies": {
"stylelint-config-recommended": "^17.0.0"
"stylelint-config-recommended": "^16.0.0"
},
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
"stylelint": "^16.23.0"
"stylelint": "^16.18.0"
}
},
"node_modules/stylelint-config-standard-scss": {
"version": "16.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-16.0.0.tgz",
"integrity": "sha512-/FHECLUu+med/e6OaPFpprG86ShC4SYT7Tzb2PTVdDjJsehhFBOioSlWqYFqJxmGPIwO3AMBxNo+kY3dxrbczA==",
"version": "15.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-15.0.1.tgz",
"integrity": "sha512-8pmmfutrMlPHukLp+Th9asmk21tBXMVGxskZCzkRVWt1d8Z0SrXjUUQ3vn9KcBj1bJRd5msk6yfEFM0UYHBRdg==",
"dev": true,
"license": "MIT",
"dependencies": {
"stylelint-config-recommended-scss": "^16.0.1",
"stylelint-config-standard": "^39.0.0"
"stylelint-config-recommended-scss": "^15.0.1",
"stylelint-config-standard": "^38.0.0"
},
"engines": {
"node": ">=20"
},
"peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^16.23.1"
"stylelint": "^16.18.0"
},
"peerDependenciesMeta": {
"postcss": {
@@ -16335,9 +16306,9 @@
}
},
"node_modules/stylelint-scss": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.1.tgz",
"integrity": "sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA==",
"version": "6.12.0",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.0.tgz",
"integrity": "sha512-U7CKhi1YNkM1pXUXl/GMUXi8xKdhl4Ayxdyceie1nZ1XNIdaUgMV6OArpooWcDzEggwgYD0HP/xIgVJo9a655w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16410,25 +16381,25 @@
"dev": true
},
"node_modules/stylelint/node_modules/file-entry-cache": {
"version": "10.1.4",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.4.tgz",
"integrity": "sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==",
"version": "10.1.3",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.3.tgz",
"integrity": "sha512-D+w75Ub8T55yor7fPgN06rkCAUbAYw2vpxJmmjv/GDAcvCnv9g7IvHhIZoxzRZThrXPFI2maeY24pPbtyYU7Lg==",
"dev": true,
"license": "MIT",
"dependencies": {
"flat-cache": "^6.1.13"
"flat-cache": "^6.1.12"
}
},
"node_modules/stylelint/node_modules/flat-cache": {
"version": "6.1.13",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.13.tgz",
"integrity": "sha512-gmtS2PaUjSPa4zjObEIn4WWliKyZzYljgxODBfxugpK6q6HU9ClXzgCJ+nlcPKY9Bt090ypTOLIFWkV0jbKFjw==",
"version": "6.1.12",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.12.tgz",
"integrity": "sha512-U+HqqpZPPXP5d24bWuRzjGqVqUcw64k4nZAbruniDwdRg0H10tvN7H6ku1tjhA4rg5B9GS3siEvwO2qjJJ6f8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"cacheable": "^1.10.4",
"cacheable": "^1.10.3",
"flatted": "^3.3.3",
"hookified": "^1.11.0"
"hookified": "^1.10.0"
}
},
"node_modules/stylelint/node_modules/globby": {

View File

@@ -75,7 +75,7 @@
"autoprefixer": "^10.4.21",
"cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.147.0",
"hugo-bin": "0.146.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
@@ -87,19 +87,19 @@
"commitizen": "^4.3.1",
"cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.35.0",
"eslint": "^9.34.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^4.0.0",
"replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.8",
"semantic-release": "^24.2.7",
"shx": "^0.4.0",
"stylelint": "^16.24.0",
"stylelint-config-standard-scss": "^16.0.0"
"stylelint": "^16.23.1",
"stylelint-config-standard-scss": "^15.0.1"
},
"optionalDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",