From 4eff17025fbe8dc855ee6536c5307e452b09df97 Mon Sep 17 00:00:00 2001 From: Mark Dumay <61946753+markdumay@users.noreply.github.com> Date: Thu, 22 Jan 2026 14:42:04 +0100 Subject: [PATCH 1/4] docs: correct label of List bookshop component --- component-library/components/list/list.bookshop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/component-library/components/list/list.bookshop.yml b/component-library/components/list/list.bookshop.yml index 7a33225b..1786bb27 100644 --- a/component-library/components/list/list.bookshop.yml +++ b/component-library/components/list/list.bookshop.yml @@ -2,7 +2,7 @@ spec: structures: - content_blocks - label: Liar + label: List description: List section icon: post tags: [] From 79da03de5c3ced31decdf1ee932745da2eb4bf0c Mon Sep 17 00:00:00 2001 From: Mark Dumay <61946753+markdumay@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:30:03 +0100 Subject: [PATCH 2/4] refactor(components): convert component library to Hugo module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Convert component-library to standalone Hugo module with config.toml and go.mod - Replace filesystem mounts with module imports using local path replacement in main hugo.toml - Move all bookshop-specific mounts to component-library/config.toml for better encapsulation - Update component arguments with clear paths for improved Bookshop live editing compatibility - Remove obsolete component.html and partial.html helper files - Add section.yml structure definition for bookshop section rendering - Update all component templates and schemas to work with new module structure - Update example site configuration and content to use new module system - Regenerate hugo_stats.json from updated components and build - Update i18n translations as needed for component changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 --- .../components/about/about.bookshop.yml | 2 +- .../components/about/about.hugo.html | 62 +++-- .../components/approach/approach.bookshop.yml | 6 +- .../components/approach/approach.hugo.html | 132 +++++----- .../components/articles/articles.bookshop.yml | 14 +- .../components/articles/articles.hugo.html | 190 +++++++------- .../components/cards/cards.bookshop.yml | 6 +- .../components/cards/cards.hugo.html | 106 ++++---- .../components/cta/cta.bookshop.yml | 2 +- .../components/cta/cta.hugo.html | 79 +++--- .../components/faq/faq.hugo.html | 83 ++++--- .../components/featured/featured.bookshop.yml | 2 +- .../components/featured/featured.hugo.html | 61 +++-- .../components/hero/hero.hugo.html | 64 ++--- .../components/list/list.bookshop.yml | 4 +- .../components/list/list.hugo.html | 149 +++++------ .../components/menu/menu.hugo.html | 68 ++--- .../components/panels/panels.hugo.html | 101 ++++---- .../components/releases/releases.hugo.html | 53 ++-- .../components/separator/separator.hugo.html | 17 +- .../components/team/team.bookshop.yml | 10 +- .../components/team/team.hugo.html | 160 ++++++------ .../testimonials/testimonials.bookshop.yml | 1 + .../testimonials/testimonials.hugo.html | 206 ++++++++------- .../video-message/video-message.bookshop.yml | 10 +- .../video-message/video-message.hugo.html | 204 ++++++++------- component-library/config.toml | 25 ++ component-library/go.mod | 3 + component-library/helpers/component.html | 93 ------- component-library/helpers/partial.html | 23 -- component-library/shared/hugo/page.hugo.html | 2 - config/_default/hugo.toml | 30 +-- data/structures/section.yml | 28 +++ data/structures/testimonial.yml | 5 +- exampleSite/config/_default/hugo.toml | 3 +- exampleSite/content/en/blocks/about.md | 4 +- exampleSite/content/en/blocks/approach.md | 4 +- exampleSite/content/en/blocks/articles.md | 4 +- exampleSite/content/en/blocks/cards.md | 20 +- exampleSite/content/en/blocks/cta.md | 4 +- exampleSite/content/en/blocks/faq.md | 4 +- exampleSite/content/en/blocks/featured.md | 4 +- exampleSite/content/en/blocks/list.md | 4 +- exampleSite/content/en/blocks/panels.md | 20 +- exampleSite/content/en/blocks/releases.md | 4 +- exampleSite/content/en/blocks/team.md | 4 +- exampleSite/content/en/blocks/testimonials.md | 13 +- .../content/en/blocks/video-message.md | 4 +- exampleSite/go.mod | 1 + exampleSite/go.sum | 2 + exampleSite/hugo_stats.json | 206 ++++++++++----- go.mod | 4 +- go.sum | 10 + hugo_stats.json | 234 +++++++++++++++++- layouts/_partials/assets/card.html | 4 +- layouts/_partials/assets/contact.html | 5 +- layouts/_partials/assets/hero.html | 28 ++- layouts/_partials/assets/testimonial.html | 11 +- layouts/_partials/utilities/section.html | 72 ++++++ layouts/_shortcodes/example-bookshop.html | 14 +- 60 files changed, 1587 insertions(+), 1101 deletions(-) create mode 100644 component-library/config.toml create mode 100644 component-library/go.mod delete mode 100644 component-library/helpers/component.html delete mode 100644 component-library/helpers/partial.html create mode 100644 data/structures/section.yml create mode 100644 layouts/_partials/utilities/section.html diff --git a/component-library/components/about/about.bookshop.yml b/component-library/components/about/about.bookshop.yml index 90ea419b..55114741 100644 --- a/component-library/components/about/about.bookshop.yml +++ b/component-library/components/about/about.bookshop.yml @@ -32,7 +32,7 @@ blueprint: order: width: justify: - link-type: + link_type: fluid: theme: cover: diff --git a/component-library/components/about/about.hugo.html b/component-library/components/about/about.hugo.html index 5f2d8d5d..2ba8794a 100644 --- a/component-library/components/about/about.hugo.html +++ b/component-library/components/about/about.hugo.html @@ -1,33 +1,41 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. + + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components */}} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "about" "args" .) }} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/about/about.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{- end -}} +{{ $raw := partial "assets/hero.html" (dict + "page" page + "heading" (merge (dict "width" 8) .heading) + "illustration" (merge (dict "ratio" "auto") .illustration) + "order" .order + "link-type" (or .link_type (index . "link-type")) + "links" .links + "orientation" "horizontal" + "width" (.width | default 8) + ) +}} -{{/* Main code */}} -{{ if not $args.error }} - {{ partial "assets/hero.html" (dict - "page" page - "heading" (merge (dict "width" 8) $args.heading) - "background" $args.background - "illustration" (merge (dict "ratio" "auto") $args.illustration) - "order" $args.order - "link-type" $args.linkType - "links" $args.links - "orientation" "horizontal" - "width" (or $args.width 8) - ) - }} -{{- end -}} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "about" + "id" .id + "raw" $raw + "background" .background + "width" 12 + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} diff --git a/component-library/components/approach/approach.bookshop.yml b/component-library/components/approach/approach.bookshop.yml index b6aa2ed2..91f150a1 100644 --- a/component-library/components/approach/approach.bookshop.yml +++ b/component-library/components/approach/approach.bookshop.yml @@ -16,9 +16,9 @@ blueprint: align: width: cols: - icon-rounded: - icon-style: - link-type: + icon_rounded: + icon_style: + link_type: padding: background: backdrop: diff --git a/component-library/components/approach/approach.hugo.html b/component-library/components/approach/approach.hugo.html index c796698b..118b191a 100644 --- a/component-library/components/approach/approach.hugo.html +++ b/component-library/components/approach/approach.hugo.html @@ -1,7 +1,12 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. + + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components */}} {{/* @@ -9,28 +14,14 @@ the section title and the card group. */}} -{{ $error := false }} - -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "approach" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/approach/approach.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} - {{ $error = $args.err }} -{{ end }} - {{/* Initialize global arguments */}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} {{- $padding := partial "utilities/GetPadding.html" -}} {{/* Initialize local variables */}} +{{ $raw := "" }} {{ $list := slice }} -{{ range $args.elements }} +{{ range .elements }} {{ $list = $list | append (dict "title" .title @@ -43,53 +34,68 @@ ) }} {{ end}} -{{/* Main code */}} -{{ if not $error }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} +{{- $raw = printf "%s%s" $raw (partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y))) +-}} - {{/* Add featured illustration */}} - {{ with .illustration }} - {{ partial "assets/featured-illustration.html" (dict - "page" page - "image" .image - "ratio" (or .ratio "21x9") - "anchor" .anchor - "title" page.Title - "wrapper" "mb-5 col-12 col-md-8 mx-auto" - "mode" .mode - ) }} - {{ end }} +{{/* Add featured illustration */}} +{{ with .illustration }} + {{ $raw = printf "%s%s" $raw (partial "assets/featured-illustration.html" (dict + "page" page + "image" .image + "ratio" (or .ratio "21x9") + "anchor" .anchor + "title" page.Title + "wrapper" "mb-5 col-12 col-md-8 mx-auto" + "mode" .mode + )) }} +{{ end }} - {{/* Init base arguments for card group */}} - {{ $params := dict - "page" page - "list" $list - "class" (printf "border-0 card-icon-primary %s" (or $args.class "")) - "cols" $args.cols - "gutter" "4" - "padding" $args.padding - "header-style" "none" - "footer-style" "none" - "icon-rounded" $args.iconRounded - "icon-style" (or $args.iconStyle "fa-2x") - "link-type" $args.linkType - "align" $args.align - "hook" "assets/live-card.html" - }} +{{/* Init base arguments for card group */}} +{{ $params := dict + "page" page + "list" $list + "class" (printf "border-0 card-icon-primary %s" (or .class "")) + "cols" .cols + "gutter" "4" + "padding" .padding + "header-style" "none" + "footer-style" "none" + "icon-rounded" .icon_rounded + "icon-style" (or .icon_style "fa-2x") + "link-type" .link_type + "align" .align + "hook" "assets/live-card.html" +}} - {{/* Layout for small screens */}} - {{- partial "assets/card-group.html" (merge $params (dict - "orientation" ($args.orientation | default "horizontal-sm") - "wrapper" (printf "d-%s-none" $breakpoint.prev) - )) -}} +{{/* Layout for small screens */}} +{{- $raw = printf "%s%s" $raw (partial "assets/card-group.html" (merge $params (dict + "orientation" (.orientation | default "horizontal-sm") + "wrapper" (printf "d-%s-none" $breakpoint.prev) +))) -}} - {{/* Layout for regular screens */}} - {{- partial "assets/card-group.html" (merge $params (dict - "orientation" ($args.orientation | default "stacked") - "wrapper" (printf "d-none d-%s-block" $breakpoint.prev) - )) -}} -{{ end }} +{{/* Layout for regular screens */}} +{{- $raw = printf "%s%s" $raw (partial "assets/card-group.html" (merge $params (dict + "orientation" (.orientation | default "stacked") + "wrapper" (printf "d-none d-%s-block" $breakpoint.prev) +))) -}} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "approach" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} \ No newline at end of file diff --git a/component-library/components/articles/articles.bookshop.yml b/component-library/components/articles/articles.bookshop.yml index d67db592..5286dd38 100644 --- a/component-library/components/articles/articles.bookshop.yml +++ b/component-library/components/articles/articles.bookshop.yml @@ -15,7 +15,7 @@ blueprint: content: align: width: - hide-empty: + hide_empty: input: section: nested: @@ -27,10 +27,10 @@ blueprint: more: title: link: - link-type: + link_type: icon: - icon-rounded: - icon-style: + icon_rounded: + icon_style: cols: padding: limit: @@ -50,9 +50,9 @@ blueprint: portrait: width: cover: - header-style: - body-style: - footer-style: + header_style: + body_style: + footer_style: orientation: class: width: diff --git a/component-library/components/articles/articles.hugo.html b/component-library/components/articles/articles.hugo.html index 65ba5185..0718258d 100644 --- a/component-library/components/articles/articles.hugo.html +++ b/component-library/components/articles/articles.hugo.html @@ -1,40 +1,38 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} - -{{ $error := false }} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "articles" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/articles/articles.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} - {{ $error = $args.err }} -{{ end }} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Initialize global arguments */}} {{- $padding := partial "utilities/GetPadding.html" -}} {{/* Initialize local variables */}} +{{ $raw := "" }} {{ $pages := slice }} -{{ $result := partial "assets/live-pages.html" (dict - "page" $args.page - "section" $args.input.section - "nested" $args.input.nested - "keywords" $args.input.keywords - "categories" $args.input.categories - "tags" $args.input.tags - "sort" $args.input.sort - "reverse" $args.input.reverse -)}} -{{ $pages = $result.pages }} +{{ $section := "" }} +{{ $categories := "" }} +{{ $result := dict "total" 0 }} +{{ with .input }} + {{ $section = .section }} + {{ $categories = .categories }} + {{ $result = partial "assets/live-pages.html" (dict + "page" $.page + "section" .section + "nested" .nested + "keywords" .keywords + "categories" .categories + "tags" .tags + "sort" .sort + "reverse" .reverse + )}} + {{ $pages = $result.pages }} +{{ end }} {{ $styles := slice @@ -45,25 +43,25 @@ (dict "ratio" "1x1" "orientation" "stacked" "portrait" false "width" "3") }} -{{ if gt (len $args.styles) 0 }} - {{ $styles = $args.styles }} +{{ if gt (len (or .styles slice)) 0 }} + {{ $styles = .styles }} {{ end }} {{ $moreButton := site.Params.modules.bookshop.articles.moreButton | default false }} -{{ $title := or $args.input.section $args.input.categories (T "article") }} +{{ $title := or $section $categories (T "article") }} +{{ $moreLink := $section }} {{ $moreTitle := T "more" (pluralize $title) }} -{{ $moreLink := $args.input.section }} {{ $moreType := "button" }} {{ $moreIcon := "" }} -{{ with $args.more }} +{{ with .more }} {{ if .title }}{{ $moreTitle = .title }}{{ end }} {{ if .link }}{{ $moreLink = .link }}{{ end }} - {{ if index . "link-type" }}{{ $moreType = index . "link-type" }}{{ end }} + {{ if or (.link_type) (index . "link-type") }}{{ $moreType = (.link_type) (index . "link-type") }}{{ end }} {{ if .icon }}{{ $moreIcon = .icon }}{{ end }} {{ end }} -{{ $paginate := $args.paginate }} +{{ $paginate := .paginate }} {{ if and $paginate page.IsPage }} {{ partial "utilities/LogWarn.html" (dict "partial" "component-library/components/articles/articles.hugo.html" @@ -74,60 +72,76 @@ {{ end }} {{/* Main code */}} -{{ if not $error }} - {{ if or (gt (len $pages) 0) (not $args.hideEmpty) }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} +{{ if or (gt (len $pages) 0) (not .hide_empty) }} + {{- $raw = printf "%s%s" $raw (partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y))) + -}} - {{ $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)) - )}} + {{ $partial := "assets/card-group.html" }} + {{ $params := dict }} + {{- $params = merge $params (dict + "page" page + "list" $pages + "cols" .cols + "limit" .limit + "padding" .padding + "href" (cond $moreButton $moreLink "") + "href-force" (gt $result.total (len $result.pages)) + )}} + + {{ if .scroll }} + {{ $partial = "assets/stack.html" }} + {{ $params = merge $params (dict + "header-style" "none" + "body-style" "title" + "footer-style" "none" + "gutter" 1 + "ratio" "1x1" + "orientation" "horizontal-sm" + "animated" .animated + "styles" (cond .bento $styles "") + ) -}} + {{ else }} + {{ $params = merge $params (dict + "header-style" (or .header_style (index . "header-style")) + "body-style" (or .body_style (index . "body-style")) + "footer-style" (or .footer_style (index . "footer-style")) + "class" (or .class "border-0") + "align" "start" + "orientation" .orientation + "href-title" (cond $moreButton $moreTitle "") + "icon-rounded" .icon_rounded + "icon-style" .icon_style + "hook" "assets/live-card.html" + "more-link-type" $moreType + "more-link-icon" $moreIcon + "pagination" .pagination + "paginate" $paginate + ) -}} + {{ end }} + {{ if gt (len $pages) 0 }} + {{ $raw = printf "%s%s" $raw (partial $partial $params) }} + {{ else }} + {{ $raw = printf "%s%s" $raw (printf `

%s.

` $padding.y (T "emptyList")) }} + {{ end }} - {{ if $args.scroll }} - {{ $partial = "assets/stack.html" }} - {{ $params = merge $params (dict - "header-style" "none" - "body-style" "title" - "footer-style" "none" - "gutter" 1 - "ratio" "1x1" - "orientation" "horizontal-sm" - "animated" $args.animated - "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 - ) -}} - {{ end }} - {{ if gt (len $pages) 0 }} - {{ partial $partial $params }} - {{ else }} -

{{- T "emptyList" }}.

- {{ end }} + {{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "articles" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} {{ end }} -{{ end }} \ No newline at end of file +{{ end }} diff --git a/component-library/components/cards/cards.bookshop.yml b/component-library/components/cards/cards.bookshop.yml index 80177ed8..39696678 100644 --- a/component-library/components/cards/cards.bookshop.yml +++ b/component-library/components/cards/cards.bookshop.yml @@ -16,9 +16,9 @@ blueprint: align: width: cols: - icon-rounded: - icon-style: - link-type: + icon_rounded: + icon_style: + link_type: padding: background: backdrop: diff --git a/component-library/components/cards/cards.hugo.html b/component-library/components/cards/cards.hugo.html index 2f9d7e13..95258d43 100644 --- a/component-library/components/cards/cards.hugo.html +++ b/component-library/components/cards/cards.hugo.html @@ -1,31 +1,22 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} - -{{ $error := false }} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "cards" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/cards/cards.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} - {{ $error = $args.err }} -{{ end }} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Initialize global arguments */}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} {{- $padding := partial "utilities/GetPadding.html" -}} {{/* Initialize local variables */}} +{{ $raw := "" }} {{ $list := slice }} -{{ range $args.elements }} +{{ range .elements }} {{ $list = $list | append (dict "title" .title @@ -39,40 +30,55 @@ {{ end}} {{/* Main code */}} -{{ if not $error }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} +{{- $raw = printf "%s%s" $raw (partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y))) +-}} - {{/* Init base arguments for card group */}} - {{ $params := dict - "page" page - "list" $list - "class" (printf "border-0 card-icon-primary %s" (or $args.class "")) - "cols" $args.cols - "gutter" "4" - "padding" $args.padding - "header-style" "none" - "footer-style" "none" - "icon-rounded" $args.iconRounded - "icon-style" (or $args.iconStyle "fa-2x") - "link-type" $args.linkType - "align" $args.align - "hook" "assets/live-card.html" - }} +{{/* Init base arguments for card group */}} +{{ $params := dict + "page" page + "list" $list + "class" (printf "border-0 card-icon-primary %s" (or .class "")) + "cols" .cols + "gutter" "4" + "padding" .padding + "header-style" "none" + "footer-style" "none" + "icon-rounded" (or .icon_rounded (index . "icon-rounded")) + "icon-style" (or .icon_style (index . "icon-style") "fa-2x") + "link-type" (or .link_type (index . "link-type")) + "align" .align + "hook" "assets/live-card.html" +}} - {{/* Layout for small screens */}} - {{- partial "assets/card-group.html" (merge $params (dict - "orientation" ($args.orientation | default "horizontal-sm") - "wrapper" (printf "d-%s-none" $breakpoint.prev) - )) -}} +{{/* Layout for small screens */}} +{{- $raw = printf "%s%s" $raw (partial "assets/card-group.html" (merge $params (dict + "orientation" (.orientation | default "horizontal-sm") + "wrapper" (printf "d-%s-none" $breakpoint.prev) +))) -}} - {{/* Layout for regular screens */}} - {{- partial "assets/card-group.html" (merge $params (dict - "orientation" ($args.orientation | default "stacked") - "wrapper" (printf "d-none d-%s-block" $breakpoint.prev) - )) -}} -{{ end }} +{{/* Layout for regular screens */}} +{{- $raw = printf "%s%s" $raw (partial "assets/card-group.html" (merge $params (dict + "orientation" (.orientation | default "stacked") + "wrapper" (printf "d-none d-%s-block" $breakpoint.prev) +))) -}} +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "cards" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} \ No newline at end of file diff --git a/component-library/components/cta/cta.bookshop.yml b/component-library/components/cta/cta.bookshop.yml index 75fc17a7..b395e154 100644 --- a/component-library/components/cta/cta.bookshop.yml +++ b/component-library/components/cta/cta.bookshop.yml @@ -18,7 +18,7 @@ blueprint: width: size: contact: - caption-url: + caption_url: illustration: image: icon: diff --git a/component-library/components/cta/cta.hugo.html b/component-library/components/cta/cta.hugo.html index 52826cd1..88a71f7f 100644 --- a/component-library/components/cta/cta.hugo.html +++ b/component-library/components/cta/cta.hugo.html @@ -1,43 +1,52 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "cta" "args" .) }} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/cta/cta.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{- end -}} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Main code */}} -{{ if not $args.error }} - {{ $links := slice }} - {{ if and (reflect.IsSlice .links) (gt (len .links) 0) }} - {{ $links = .links }} - {{ else }} - {{ with site.Params.modules.bookshop.cta.defaultURL }} - {{ $links = $links | append (dict "title" (T "contactAction") "url" . "icon" "fas chevron-right") }} - {{ end }} +{{ $links := slice }} +{{ if and (reflect.IsSlice .links) (gt (len .links) 0) }} + {{ $links = .links }} +{{ else }} + {{ with site.Params.modules.bookshop.cta.defaultURL }} + {{ $links = $links | append (dict "title" (T "contactAction") "url" . "icon" "fas chevron-right") }} {{ end }} - - {{ partial "assets/contact.html" (dict - "page" page - "orientation" "horizontal" - "heading" $args.heading - "contact" $args.contact - "caption-url" $args.captionUrl - "illustration" $args.illustration - "class" "contact-img" - "links" $links - "align" $args.align - "order" $args.order - "data" site.Params.modules.bookshop.cta.section - ) }} {{ end }} + +{{ $raw := partial "assets/contact.html" (dict + "page" page + "orientation" "horizontal" + "heading" .heading + "contact" .contact + "caption-url" (or .caption_url (index . "caption-url")) + "illustration" .illustration + "class" "contact-img" + "links" $links + "align" .align + "order" .order + "data" site.Params.modules.bookshop.cta.section +) }} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "cta" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} \ No newline at end of file diff --git a/component-library/components/faq/faq.hugo.html b/component-library/components/faq/faq.hugo.html index 65c33dfa..b5db475a 100644 --- a/component-library/components/faq/faq.hugo.html +++ b/component-library/components/faq/faq.hugo.html @@ -1,40 +1,27 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "faq" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/faq/faq.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{ end }} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Initialize global arguments */}} {{- $padding := partial "utilities/GetPadding.html" -}} -{{/* Main code */}} -{{ if not $args.err }} - {{ $color := "" }} - {{ if $args.contrast }}{{ $color = "white" }}{{ end }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} - - {{ $class := "" }} - {{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }} - -
- {{ range $index, $item := $args.items }} + {{ range $index, $item := $items }}
{{- with $item.title -}}
@@ -45,7 +32,7 @@ aria-expanded="false" aria-controls="{{ $id }}-item-{{ $index }}" > - {{ if $args.color }}
{{ . }}
{{ else }}{{ . }}{{ end }} + {{ if $color }}
{{ . }}
{{ else }}{{ . }}{{ end }}
{{- end -}} @@ -59,4 +46,42 @@
{{ end }}
+{{ end }} + +{{/* Main code */}} +{{ $color := "" }} +{{ if .contrast }}{{ $color = "white" }}{{ end }} +{{- $raw := partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y)) +-}} + +{{ $class := "" }} +{{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }} + +{{ $raw = printf "%s%s" $raw (partial "inline/accordion-faq.html" (dict + "id" $id + "contrast" .contrast + "class" .class + "color" .color + "items" .items +)) }} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "faw" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} {{ end }} \ No newline at end of file diff --git a/component-library/components/featured/featured.bookshop.yml b/component-library/components/featured/featured.bookshop.yml index 3c992bdc..1df08b6a 100644 --- a/component-library/components/featured/featured.bookshop.yml +++ b/component-library/components/featured/featured.bookshop.yml @@ -31,7 +31,7 @@ blueprint: order: width: justify: - link-type: + link_type: fluid: theme: cover: diff --git a/component-library/components/featured/featured.hugo.html b/component-library/components/featured/featured.hugo.html index 210f3b0e..028f5d77 100644 --- a/component-library/components/featured/featured.hugo.html +++ b/component-library/components/featured/featured.hugo.html @@ -1,33 +1,40 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. + + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components */}} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "featured" "args" .) }} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/featured/featured.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{- end -}} +{{ $raw := partial "assets/hero.html" (dict + "page" page + "heading" (merge (dict "width" 8) (or .heading dict)) + "illustration" (merge (dict "ratio" "auto") (or .illustration dict)) + "order" .order + "link-type" (or .link_type (index . "link-type")) + "links" .links + "orientation" "horizontal" + ) +}} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "featured" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} -{{/* Main code */}} -{{ if not $args.error }} - {{ partial "assets/hero.html" (dict - "page" page - "heading" (merge (dict "width" 8) (or $args.heading dict)) - "background" $args.background - "illustration" (merge (dict "ratio" "auto") (or $args.illustration dict)) - "order" $args.order - "link-type" $args.linkType - "links" $args.links - "orientation" "horizontal" - "width" (or $args.width 8) - ) - }} -{{- end -}} diff --git a/component-library/components/hero/hero.hugo.html b/component-library/components/hero/hero.hugo.html index 907701f6..c361ff99 100644 --- a/component-library/components/hero/hero.hugo.html +++ b/component-library/components/hero/hero.hugo.html @@ -1,37 +1,41 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. + + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components */}} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "hero" "args" .) }} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/hero/hero.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{ end }} +{{ $raw := partial "assets/hero.html" (dict + "page" page + "breadcrumb" .breadcrumb + "heading" .heading + "illustration" .illustration + "align" .align + "order" .order + "link-type" (or .link_type (index . "link-type")) + "links" .links + "orientation" .orientation + ) +}} -{{ if not $args.err }} - {{ partial "assets/hero.html" (dict - "page" page - "breadcrumb" $args.breadcrumb - "heading" $args.heading - "background" $args.background - "illustration" $args.illustration - "align" $args.align - "order" $args.order - "overlay-mode" $args.overlayMode - "cover" $args.cover - "link-type" $args.linkType - "links" $args.links - "orientation" $args.orientation - "width" $args.width - "justify" $args.justify - ) - }} +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "hero" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} {{ end }} \ No newline at end of file diff --git a/component-library/components/list/list.bookshop.yml b/component-library/components/list/list.bookshop.yml index 1786bb27..b67f2722 100644 --- a/component-library/components/list/list.bookshop.yml +++ b/component-library/components/list/list.bookshop.yml @@ -15,7 +15,7 @@ blueprint: content: align: width: - hide-empty: + hide_empty: input: section: nested: @@ -38,6 +38,6 @@ blueprint: sortable: paginate: pagination: - pagination-select: + pagination_select: searchable: wrap: diff --git a/component-library/components/list/list.hugo.html b/component-library/components/list/list.hugo.html index 573c8764..e89f461b 100644 --- a/component-library/components/list/list.hugo.html +++ b/component-library/components/list/list.hugo.html @@ -1,46 +1,40 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. + + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components */}} -{{ $error := false }} - -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "list" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/list/list.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} - {{ $error = $args.err }} -{{ end }} {{/* Initialize global arguments */}} {{- $padding := partial "utilities/GetPadding.html" -}} {{/* Ensure to include the simple-datatables module */}} {{/* TODO: fix add module handling, requires propagating scratch variables to correct page */}} -{{ partial "utilities/AddModule.html" (dict "page" $args._page "module" "simple-datatables" ) }} +{{ partial "utilities/AddModule.html" (dict "page" ._page "module" "simple-datatables" ) }} {{/* Initialize local variables */}} {{ $pages := slice }} -{{ $result := partial "assets/live-pages.html" (dict - "page" $args._page - "section" $args.input.section - "nested" $args.input.nested - "keywords" $args.input.keywords - "categories" $args.input.categories - "tags" $args.input.tags - "sort" $args.input.sort - "reverse" $args.input.reverse -)}} -{{ $pages = $result.pages }} +{{ $result := dict "total" 0 }} +{{ with .input }} + {{ $result = partial "assets/live-pages.html" (dict + "page" $._page + "section" .section + "nested" .nested + "keywords" .keywords + "categories" .categories + "tags" .tags + "sort" .sort + "reverse" .reverse + )}} + {{ $pages = $result.pages }} +{{ end }} -{{ if and $args.limit $args.paginate }} +{{ if and .limit .paginate }} {{ partial "utilities/LogWarn.html" (dict "partial" "component-library/components/list/list.hugo.html" "msg" "Limit is ignored when paginate is set" @@ -51,53 +45,70 @@ {{/* Limit list to max elements */}} {{- $count := len $pages -}} {{- $max := $count -}} -{{- $max = math.Min ($args.limit | default $count) $count -}} -{{- if not $args.paginate -}} +{{- $max = math.Min (.limit | default $count) $count -}} +{{- if not .paginate -}} {{- $pages = first $max $pages -}} {{- end -}} {{/* Main code */}} -{{ if not $error }} - {{ if or (gt (len $pages) 0) (not $args.hideEmpty) }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} - {{ if gt (len $pages) 0 }} - {{ $content := "" }} - {{ if $args.hook }} - {{ $content = partial $args.hook (dict "pages" $pages) }} - {{ else }} - {{ $content = "| Title | Description |\n|-|-|\n" }} - {{ range $pages }} - {{ $content = printf "%s[%s](#%s) | %s |\n" $content .LinkTitle .RelPermalink .Description }} - {{ end }} +{{ $hideEmpty := or .hide_empty (index . "hide-empty") }} +{{ if or (gt (len $pages) 0) (not $hideEmpty) }} + {{- $raw := partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y)) + -}} + {{ if gt (len $pages) 0 }} + {{ $content := "" }} + {{ if .hook }} + {{ $content = partial .hook (dict "pages" $pages) }} + {{ else }} + {{ $content = "| Title | Description |\n|-|-|\n" }} + {{ range $pages }} + {{ $content = printf "%s[%s](#%s) | %s |\n" $content .LinkTitle .RelPermalink .Description }} {{ end }} + {{ end }} - {{- /* Define main breakpoint */ -}} - {{- $args.page.Scratch.Set "breakpoint" (partialCached "utilities/GetBreakpoint.html" .) }} + {{- /* Define main breakpoint */ -}} + {{- .page.Scratch.Set "breakpoint" (partialCached "utilities/GetBreakpoint.html" .) }} - {{ $pagination := $args.pagination | default 10 }} - {{ $paginate := and $args.paginate (gt (len $pages) $pagination) }} - {{ $sortable := and $args.sortable (gt (len $pages) 1) }} - {{ $searchable := and $args.searchable (gt (len $pages) 1) }} + {{ $pagination := .pagination | default 10 }} + {{ $paginate := and .paginate (gt (len $pages) $pagination) }} + {{ $sortable := and .sortable (gt (len $pages) 1) }} + {{ $searchable := and .searchable (gt (len $pages) 1) }} - {{ partial "assets/table.html" (dict - "page" (or $args.page page) - "input" $content - "breakpoint" $args.breakpoint - "class" $args.class - "sortable" $sortable - "paginate" $paginate - "pagination" (cond $paginate $pagination "") - "pagination-select" (cond $paginate $args.paginationSelect "") - "searchable" $searchable - "wrap" $args.wrap - "_default" $args.default - ) }} - {{ else }} -

{{- T "emptyList" }}.

- {{ end }} + {{ $raw = printf "%s%s" $raw (partial "assets/table.html" (dict + "page" (or .page page) + "input" $content + "breakpoint" .breakpoint + "class" .class + "sortable" $sortable + "paginate" $paginate + "pagination" (cond $paginate $pagination "") + "pagination-select" (cond $paginate (or .pagination_select (index . "pagination-select")) "") + "searchable" $searchable + "wrap" .wrap + "_default" .default + )) }} + {{ else }} + {{ $raw = printf `%s

%s.

` $raw $padding.y (T "emptyList") }} {{ end }} -{{ end }} \ No newline at end of file + + {{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "list" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} + {{ end }} +{{ end }} diff --git a/component-library/components/menu/menu.hugo.html b/component-library/components/menu/menu.hugo.html index dba3e1d6..b68d4773 100644 --- a/component-library/components/menu/menu.hugo.html +++ b/component-library/components/menu/menu.hugo.html @@ -1,42 +1,48 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} - -{{ $error := false }} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "menu" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/menu/menu.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} - {{ $error = $args.err }} -{{ end }} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Initialize global arguments */}} {{- $padding := partial "utilities/GetPadding.html" -}} {{/* Main code */}} -{{ if not $error }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} +{{- $raw := partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y)) +-}} + +{{- $raw = printf "%s%s" $raw (partial "assets/menu.html" (dict + "page" page + "menu" .menu + "menu-style" .menuStyle + "cols" .cols + "icon-rounded" .iconRounded + "icon-style" .iconStyle +)) -}} - {{- partial "assets/menu.html" (dict - "page" page - "menu" $args.menu - "menu-style" $args.menuStyle - "cols" $args.cols - "icon-rounded" $args.iconRounded - "icon-style" $args.iconStyle - ) -}} -{{ end }} +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "menu" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} \ No newline at end of file diff --git a/component-library/components/panels/panels.hugo.html b/component-library/components/panels/panels.hugo.html index fe7c62eb..bed3d0dc 100644 --- a/component-library/components/panels/panels.hugo.html +++ b/component-library/components/panels/panels.hugo.html @@ -1,23 +1,13 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} - -{{ $error := false }} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "panels" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/panels/panels.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} - {{ $error = $args.err }} -{{ end }} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Initialize global arguments */}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} @@ -27,19 +17,19 @@ {{ $list := slice }} {{ $titles := slice }} {{ $toc := slice }} -{{ $parentID := printf "panel-%v" (cond (isset . "_ordinal") (index . "_ordinal") (md5 (delimit (slice . now) "-"))) }} +{{ $parentID := printf "panel-%v" (md5 (delimit (slice . now) "-")) }} {{ $inner := "" }} -{{ range $i, $element := $args.elements }} - {{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }} +{{ range $i, $element := .elements }} + {{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" .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 "justify" "end") - "order" $args.order - "link-type" $args.linkType - "links" $args.links + "heading" (dict "content" .content "width" 8) + "background" .background + "illustration" (dict "ratio" (or .ratio "1x1") "icon" .icon "image" .image "mode" .mode "justify" "end") + "order" .order + "link-type" (or .link_type (index . "link-type")) + "links" .links "orientation" "horizontal" "align" "start" "width" 12 @@ -52,37 +42,52 @@ "id" $i "parent-id" $parentID "fade" false - "title" $element.title + "title" .title "show" (eq $i 0) "raw" $hero ) -}} {{ $inner = printf "%s\n%s" $inner $output }} - {{ $titles = $titles | append $element.title }} + {{ $titles = $titles | append .title }} {{ end}} {{/* Main code */}} -{{ if not $error }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} +{{- $raw := partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y)) +-}} - {{- partial "assets/nav.html" (dict - "id" (or $args.id $parentID) - "page" page - "nav-items" $inner - "nav-titles" $titles - "tab-type" $args.tabType - "vertical" $args.vertical - "word-wrap" $args.wordWrap - "class" $args.class - "pane" $args.pane - "width" $args.width - "responsive" $args.responsive - ) - -}} -{{ end }} +{{- $raw = printf "%s%s" $raw (partial "assets/nav.html" (dict + "id" (or .id $parentID) + "page" page + "nav-items" $inner + "nav-titles" $titles + "tab-type" (or .tab_type (index . "tab-type")) + "vertical" .vertical + "word-wrap" (or .word_wrap (index . "word-wrap")) + "class" .class + "pane" .pane + "width" .width + "responsive" .responsive + )) +-}} +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "panels" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} \ No newline at end of file diff --git a/component-library/components/releases/releases.hugo.html b/component-library/components/releases/releases.hugo.html index 4362400e..65bd2532 100644 --- a/component-library/components/releases/releases.hugo.html +++ b/component-library/components/releases/releases.hugo.html @@ -1,28 +1,37 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "releases" "args" .) }} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/releases/releases.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{- end -}} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Main code */}} -{{ if not $args.error }} - {{ partial "assets/timeline.html" (dict - "page" page - "background" $args.background - "heading" $args.heading - "data" $args.data - ) - }} -{{- end -}} +{{ $raw := partial "assets/timeline.html" (dict + "page" page + "background" .background + "heading" .heading + "data" .data + ) +}} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "releases" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} \ No newline at end of file diff --git a/component-library/components/separator/separator.hugo.html b/component-library/components/separator/separator.hugo.html index fcbd70aa..d0ff03c0 100644 --- a/component-library/components/separator/separator.hugo.html +++ b/component-library/components/separator/separator.hugo.html @@ -1,20 +1,7 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "separator" "args" .) }} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/separator/separator.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{ end }} - -{{ if not $args.err }} -
-{{ end }} \ No newline at end of file +
diff --git a/component-library/components/team/team.bookshop.yml b/component-library/components/team/team.bookshop.yml index 4693b15b..8f434ad1 100644 --- a/component-library/components/team/team.bookshop.yml +++ b/component-library/components/team/team.bookshop.yml @@ -15,7 +15,7 @@ blueprint: content: align: width: - hide-empty: + hide_empty: input: section: nested: @@ -27,7 +27,7 @@ blueprint: more: title: link: - link-type: + link_type: icon: cols: padding: @@ -39,9 +39,9 @@ blueprint: color: subtle: cover: - header-style: - body-style: - footer-style: + header_style: + body_style: + footer_style: orientation: class: width: diff --git a/component-library/components/team/team.hugo.html b/component-library/components/team/team.hugo.html index 043afd4d..b448987e 100644 --- a/component-library/components/team/team.hugo.html +++ b/component-library/components/team/team.hugo.html @@ -1,56 +1,53 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} - -{{ $error := false }} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "team" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/team/team.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} - {{ $error = $args.err }} -{{ end }} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Initialize global arguments */}} {{- $padding := partial "utilities/GetPadding.html" -}} {{/* Initialize local variables */}} {{ $pages := slice }} -{{ $result := partial "assets/live-pages.html" (dict - "page" $args.page - "section" $args.input.section - "nested" $args.input.nested - "keywords" $args.input.keywords - "categories" $args.input.categories - "tags" $args.input.tags - "sort" $args.input.sort - "reverse" $args.input.reverse -)}} -{{ $pages = $result.pages }} +{{ $section := "" }} +{{ $categories := "" }} +{{ $result := dict "total" 0 }} +{{ with .input }} + {{ $section = .section }} + {{ $categories = .categories }} + {{ $result = partial "assets/live-pages.html" (dict + "page" $.page + "section" .section + "nested" .nested + "keywords" .keywords + "categories" .categories + "tags" .tags + "sort" .sort + "reverse" .reverse + )}} + {{ $pages = $result.pages }} +{{ end }} {{ $moreButton := site.Params.modules.bookshop.team.moreButton | default false }} -{{ $title := or $args.input.section $args.input.categories (T "article") }} +{{ $title := or $section $categories (T "article") }} {{ $moreTitle := T "more" (pluralize $title) }} -{{ $moreLink := $args.input.section }} +{{ $moreLink := $section }} {{ $moreType := "button" }} {{ $moreIcon := "" }} -{{ with $args.more }} +{{ with .more }} {{ if .title }}{{ $moreTitle = .title }}{{ end }} {{ if .link }}{{ $moreLink = .link }}{{ end }} - {{ if index . "link-type" }}{{ $moreType = index . "link-type" }}{{ end }} + {{ if (or .link_type index . "link-type") }}{{ $moreType = or .link_type (index . "link-type") }}{{ end }} {{ if .icon }}{{ $moreIcon = .icon }}{{ end }} {{ end }} -{{ $paginate := $args.paginate }} +{{ $paginate := .paginate }} {{ if and $paginate page.IsPage }} {{ partial "utilities/LogWarn.html" (dict "partial" "component-library/components/team/team.hugo.html" @@ -61,47 +58,64 @@ {{ end }} {{/* Main code */}} -{{ if not $error }} - {{ if or (gt (len $pages) 0) (not $args.hideEmpty) }} - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} +{{ $hideEmpty := or .hide_empty (index . "hide-empty") }} +{{ if or (gt (len $pages) 0) (not $hideEmpty) }} + {{- $raw := partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y)) + -}} - {{ $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)) - )}} + {{ $partial := "assets/card-group.html" }} + {{ $params := dict }} + {{- $params = merge $params (dict + "page" page + "list" $pages + "cols" .cols + "limit" .limit + "padding" .padding + "href" (cond $moreButton $moreLink "") + "href-force" (gt $result.total (len $result.pages)) + )}} + + {{ $params = merge $params (dict + "ratio" "1x1" + "header-style" (or .header_style (index . "header-style")) + "body-style" (or .body_style (index . "body-style")) + "footer-style" (or .footer_style (index . "footer-style")) + "class" (or .class "border-0") + "align" "center" + "orientation" .orientation + "href-title" (cond $moreButton $moreTitle "") + "icon-rounded" (or .icon_rounded (index . "icon-rounded")) + "icon-style" (or .icon_style (index . "icon-style")) + "hook" "assets/live-card.html" + "more-link-type" $moreType + "more-link-icon" $moreIcon + "pagination" .pagination + "paginate" $paginate + ) -}} + {{ if gt (len $pages) 0 }} + {{ $raw = printf "%s%s" $raw (partial $partial $params) }} + {{ else }} + {{ $raw = printf `%s

%s.

` $raw $padding.y T "emptyList" }} + {{ end }} - {{ $params = merge $params (dict - "ratio" "1x1" - "header-style" $args.headerStyle - "body-style" $args.bodyStyle - "footer-style" $args.footerStyle - "class" (or $args.class "border-0") - "align" "center" - "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 - ) -}} - {{ if gt (len $pages) 0 }} - {{ partial $partial $params }} - {{ else }} -

{{- T "emptyList" }}.

- {{ end }} + {{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "team" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} {{ end }} -{{ end }} \ No newline at end of file +{{ end }} diff --git a/component-library/components/testimonials/testimonials.bookshop.yml b/component-library/components/testimonials/testimonials.bookshop.yml index e8ff008d..66d94a56 100644 --- a/component-library/components/testimonials/testimonials.bookshop.yml +++ b/component-library/components/testimonials/testimonials.bookshop.yml @@ -15,6 +15,7 @@ blueprint: card: color: subtle: + icon_style: testimonials: - logo: content: diff --git a/component-library/components/testimonials/testimonials.hugo.html b/component-library/components/testimonials/testimonials.hugo.html index b6b57fab..714bc3ef 100644 --- a/component-library/components/testimonials/testimonials.hugo.html +++ b/component-library/components/testimonials/testimonials.hugo.html @@ -1,13 +1,91 @@ -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "testimonials" "args" .)}} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/testimonials/testimonials.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} +{{/* + Copyright © 2025 - 2026 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. + + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} + +{{ define "_partials/inline/testimonial-carousel.html" }} + {{ $carousel := .carousel }} + {{ $testimonials := .testimonials }} + {{ $card := .card }} + {{ $padding := .padding }} + {{ $colGrid := .colGrid }} + {{ $iconStyle := index . "icon-style" }} + + {{ if and $carousel (gt (len $testimonials) 1) }} + {{ $id := printf "testimonial-carousel-%s" (md5 (delimit (slice . now) "-")) }} + + {{ else }} +
+
+ {{ range $testimonials }} +
+ {{ partial "assets/testimonial.html" (dict + "page" page + "content" .content + "icon" .icon + "icon-style" $iconStyle + "logo" .logo + "contact" (cond (.client | not | not) .client.contact "") + "role" (cond (.client | not | not) .client.role "") + "image" (cond (.client | not | not) .client.image "") + "url" (cond (.client | not | not) .client.url "") + "link" .link + "padding" $padding.x + "class" (partial "utilities/GetBackgroundStyle" (dict "background" $card)) + )}} +
+ {{ end}} +
+
+ {{ end }} {{ end }} {{/* Initialize global arguments */}} @@ -16,88 +94,42 @@ {{- $padding := partial "utilities/GetPadding.html" -}} {{/* Main code */}} -{{ if not $args.err }} -{{ end }} - -{{- $colGrid := "" -}} -{{ $colGrid = printf "row-cols-%d" $args.cols }} -{{- if eq $args.cols 1 }} +{{ $colGrid := printf "row-cols-%d" (.cols | default 1) }} +{{- if eq .cols 1 }} {{ $colGrid = "row-cols-1" -}} -{{- else if eq $args.cols 2 }} +{{- else if eq .cols 2 }} {{ $colGrid = printf "row-cols-1 row-cols-%s-2" $breakpoint.next }} -{{- else if eq $args.cols 3 }} +{{- else if eq .cols 3 }} {{ $colGrid = printf "row-cols-1 row-cols-%s-3" $breakpoint.next }} -{{- else if eq $args.cols 4 }} +{{- else if eq .cols 4 }} {{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-4" $breakpoint.current $breakpoint.next }} -{{- else if eq $args.cols 5 }} +{{- else if eq .cols 5 }} {{ $colGrid = printf "row-cols-1 row-cols-%s-3 row-cols-%s-5" $breakpoint.current $breakpoint.next }} {{ end -}} -{{ if and $args.carousel (gt (len $args.testimonials) 1) }} - {{ $id := printf "testimonial-carousel-%s" (md5 (delimit (slice . now) "-")) }} - -{{ else }} -
-
- {{ range $args.testimonials }} -
- {{ partial "assets/testimonial.html" (dict - "page" page - "content" .content - "icon" .icon - "logo" .logo - "contact" (cond (.client | not | not) .client.contact "") - "role" (cond (.client | not | not) .client.role "") - "image" (cond (.client | not | not) .client.image "") - "url" (cond (.client | not | not) .client.url "") - "link" .link - "padding" $padding.x - "class" (partial "utilities/GetBackgroundStyle" (dict "background" $.card)) - )}} -
- {{ end}} -
-
+{{ $raw := partial "inline/testimonial-carousel.html" (dict + "carousel" .carousel + "testimonials" .testimonials + "card" .card + "padding" .padding + "colGrid" .colGrid + "icon-style" (or .icon_style (index . "icon-style")) +) }} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "testimonials" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} {{ end }} \ No newline at end of file diff --git a/component-library/components/video-message/video-message.bookshop.yml b/component-library/components/video-message/video-message.bookshop.yml index 4341a74e..7f9d584f 100644 --- a/component-library/components/video-message/video-message.bookshop.yml +++ b/component-library/components/video-message/video-message.bookshop.yml @@ -21,16 +21,16 @@ blueprint: backdrop: color: subtle: - link-type: + link_type: orientation: - icon-rounded: - icon-style: + icon_rounded: + icon_style: video: provider: account: - media-id: + media_id: autoplay: - query-args: + query_args: color: cols: messages: diff --git a/component-library/components/video-message/video-message.hugo.html b/component-library/components/video-message/video-message.hugo.html index e8853882..b82a192d 100644 --- a/component-library/components/video-message/video-message.hugo.html +++ b/component-library/components/video-message/video-message.hugo.html @@ -1,20 +1,13 @@ {{/* - Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2025 - 2026 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. -*/}} -{{/* Initialize arguments */}} -{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "video-message" "args" .) }} -{{ if or $args.err $args.warnmsg }} - {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict - "partial" "component-library/components/video-message/video-message.hugo.html" - "warnid" "warn-invalid-arguments" - "msg" "Invalid arguments" - "details" ($args.errmsg | append $args.warnmsg) - "file" page.File - )}} -{{ end }} + Note: To support live editing, bookshop components should use a clear path to the provided arguments. + Therefore, we cannot use the InitArgs partial at this point, and we need to access each argument + directly. See the docs for more background: + https://github.com/CloudCannon/bookshop/blob/main/guides/hugo.adoc#passing-data-to-bookshop-components +*/}} {{/* Initialize global variables */}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} @@ -59,7 +52,7 @@ {{- define "_partials/inline/messages.html" -}} {{ $list := .list }} {{ $cols := .cols }} - {{ $type := .type }} + {{ $linkType := .linkType }} {{ $iconRounded := .iconRounded }} {{ $iconStyle := .iconStyle }} @@ -76,88 +69,117 @@ "align" "start" "orientation" "horizontal-sm" "button" true - "link-type" $type + "link-type" $linkType "icon-rounded" $iconRounded "icon-style" $iconStyle ) -}} {{ end }} -{{/* Main code */}} -{{ if not $args.err }} - {{ $list := slice }} - - {{ range $args.messages }} - {{ $path := "" }} - {{ $href := "" }} - {{ with .link }}{{ if hasPrefix . "http" }}{{ $href = . }}{{ else }}{{ $path = . }}{{ end }}{{ end }} - - {{ $list = $list | append (dict - "title" .title - "description" (.content | page.RenderString) - "icon" .icon - "href" $href - "path" $path - "button-label" .label - ) }} - {{ end}} - - {{- partial "assets/section-title.html" (dict - "heading" $args.heading - "justify" $args.justify - "class" (printf "pb-%d" $padding.y)) - -}} - - {{ if eq $args.orientation "stacked" }} -
- {{ with $args.video }} - {{- partial "inline/video.html" (dict - "provider" .provider - "account" .account - "media-id" (index . "media-id") - "autoplay" .autoplay - "query-args" .queryArgs - "border" $.border - "padding" $padding - "color" .color - ) -}} - {{ end }} -
-
- {{- partial "inline/messages.html" (dict - "list" $list - "cols" $args.cols - "type" $args.type - "iconRounded" $args.iconRounded - "iconStyle" $args.iconStyle - ) -}} -
- {{ else }} -
-
-
- {{ with $args.video }} - {{- partial "inline/video.html" (dict - "provider" .provider - "account" .account - "media-id" (index . "media-id") - "autoplay" .autoplay - "query-args" .queryArgs - "border" $.border - "padding" $padding - "color" .color - ) -}} - {{ end }} -
-
- {{- partial "inline/messages.html" (dict - "list" $list - "cols" 1 - "type" $args.type - "iconRounded" $args.iconRounded - "iconStyle" $args.iconStyle - ) -}} -
+{{- define "_partials/inline/video-stacked.html" -}} + {{ $breakpoint := .breakpoint }} + {{ $padding := .padding }} + {{ $width := .width }} + {{ $video := .video }} + {{ $messages := .messages }} + +
+ {{ $video | safeHTML }} +
+
+ {{ $messages | safeHTML }} +
+{{ end }} + +{{- define "_partials/inline/video-horizontal.html" -}} + {{ $breakpoint := .breakpoint }} + {{ $padding := .padding }} + {{ $width := .width | default 12 }} + {{ $video := .video }} + {{ $messages := .messages }} + +
+
+
+ {{ $video | safeHTML }} +
+
+ {{ $messages | safeHTML }}
- {{ end }} +
+{{ end }} + +{{/* Main code */}} +{{ $list := slice }} + +{{ range .messages }} + {{ $path := "" }} + {{ $href := "" }} + {{ with .link }}{{ if hasPrefix . "http" }}{{ $href = . }}{{ else }}{{ $path = . }}{{ end }}{{ end }} + + {{ $list = $list | append (dict + "title" .title + "description" (.content | page.RenderString) + "icon" .icon + "href" $href + "path" $path + "button-label" .label + ) }} +{{ end}} + +{{- $raw := partial "assets/section-title.html" (dict + "heading" .heading + "justify" .justify + "class" (printf "pb-%d" $padding.y)) +-}} + +{{ $video := "" }} +{{ with .video }} + {{ $video = partial "inline/video.html" (dict + "provider" .provider + "account" .account + "media-id" (or .media_id (index . "media-id")) + "autoplay" .autoplay + "query-args" (or .query_args (index . "query-args")) + "border" $.border + "padding" $padding + "color" .color + ) -}} {{ end }} + +{{- $messages := partial "inline/messages.html" (dict + "list" $list + "cols" (cond (eq .orientation "stacked") .cols 1) + "type" .type + "linkType" (or .link_type (index . "link-type")) + "iconRounded" (or .icon_rounded (index . "icon-rounded")) + "iconStyle" (or .icon_style (index . "icon-style")) +) -}} + +{{ $partial := cond (eq .orientation "stacked") "inline/video-stacked.html" "inline/video-horizontal.html" }} + +{{- $raw = printf "%s%s" $raw (partial $partial (dict + "breakpoint" $breakpoint + "padding" $padding + "width" .width + "video" $video + "messages" $messages +)) }} + +{{ if $raw }} + {{ partial "utilities/section.html" (dict + "component-name" "video-message" + "id" .id + "raw" $raw + "background" .background + "width" .width + "justify" .justify + "wrapper" .wrapper + "fluid" .fluid + "theme" .theme + "cover" .cover + "overlay-mode" (or .overlay_mode (index . "overlay-mode")) + "section-class" (or .section_class (index . "section-class")) + "bg-class" (or .bg_class (index . "bg-class")) + )}} +{{ end }} \ No newline at end of file diff --git a/component-library/config.toml b/component-library/config.toml new file mode 100644 index 00000000..5412680d --- /dev/null +++ b/component-library/config.toml @@ -0,0 +1,25 @@ +[module] + hugoVersion.extended = true + hugoVersion.min = '0.147.6' + # expose bookshop partials to Hugo + [[module.mounts]] + source = '.' + target = 'layouts/partials/bookshop' # note: bookshop engine 3.17.1 does not recognize layouts/_partials/bookshop yet + includeFiles = [ + '**/*.hugo.html', + ] + # expose bookshop specifications as Hinode data structure + [[module.mounts]] + source = '.' + target = 'data/structures' + includeFiles = ['**/*.bookshop.yml'] + # integrate main bookshop style with Hinode styles pipeline + [[module.mounts]] + source = 'bookshop.scss' + target = 'assets/scss/bookshop.scss' + # integrate bookshop component styles with Hinode styles pipeline + [[module.mounts]] + source = '.' + target = 'assets/scss/modules/bookshop' + includeFiles = ['**/*.scss'] + excludeFiles = ['bookshop.scss'] diff --git a/component-library/go.mod b/component-library/go.mod new file mode 100644 index 00000000..18fcd69d --- /dev/null +++ b/component-library/go.mod @@ -0,0 +1,3 @@ +module local/component-library + +go 1.16 \ No newline at end of file diff --git a/component-library/helpers/component.html b/component-library/helpers/component.html deleted file mode 100644 index 4e03ef95..00000000 --- a/component-library/helpers/component.html +++ /dev/null @@ -1,93 +0,0 @@ -{{/* Adapted from https://github.com/CloudCannon/bookshop/blob/main/hugo/v3/core/helpers/component.html */}} - -{{/* - Renders a single Bookshop component, - wrapping in in a live editing context tag. - - Expects a slice: - [ - , # Component name - <_> # Component props - ] -*/}} - -{{- $component_name := index . 0 -}} -{{- $component_props := index . 1 -}} -{{- $class := index . 2 | default "p-0" -}} -{{- $bgclass := index . 3 | default "" -}} -{{- $padding := partial "utilities/GetPadding.html" -}} -{{- $component_path := partial "_bookshop/helpers/component_key" $component_name -}} -{{- $flat_component_path := partial "_bookshop/helpers/flat_component_key" $component_name -}} -{{- $passthrough := index $component_props "passthrough" -}} - -{{- $resolved_component := false -}} -{{- if templates.Exists ( printf "_partials/%s" $component_path ) -}} - {{- $resolved_component = $component_path -}} -{{- else if templates.Exists ( printf "_partials/%s" $flat_component_path ) -}} - {{- $resolved_component = $flat_component_path -}} -{{- end -}} - -{{ if $resolved_component }} - {{- $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" -}} - {{- $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) "" -}} - {{ with $background }} - {{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $wrapper) }} - {{ if reflect.IsMap $background }} - {{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }} - {{ end }} - {{ end }} - {{- $theme := index $component_props "theme" -}} - {{- $overlayMode := (or (index $component_props "overlay-mode") page.Params.overlayMode) | default "dark" -}} - {{ if not $backdrop }}{{ $overlayMode = page.Params.overlayMode }}{{ end }} - {{ if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }} - - {{ (printf "" $component_name) | safeHTML }} - {{ if not $fluid }}
{{ end }} -
- {{- if $backdrop -}} - {{ partial "assets/live-image.html" (dict - "src" $backdrop - "class" (printf "background-img-fluid %s" $bgclass) - "title" (T "backgroundImage")) - }} - {{- end -}} - - {{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }} - {{ if $passthrough }} - {{ partial $resolved_component $component_props }} - {{ else }} -
- {{ with $col }} -
{{ partial $resolved_component $component_props }}
- {{ else }} - {{ partial $resolved_component $component_props }} - {{ end}} -
- {{ end }} -
- {{ if not $fluid }}
{{ end }} - {{ "" | safeHTML }} -{{- 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) -}} -{{- end -}} \ No newline at end of file diff --git a/component-library/helpers/partial.html b/component-library/helpers/partial.html deleted file mode 100644 index 524addcd..00000000 --- a/component-library/helpers/partial.html +++ /dev/null @@ -1,23 +0,0 @@ -{{/* Adapted from https://github.com/CloudCannon/bookshop/blob/main/hugo/v3/core/helpers/partial.html */}} - -{{/* - Renders a single Bookshop partial, - wrapping in in a live editing context tag. - - Expects a slice: - [ - , # Partial name - <_> # Partial props - ] -*/}} - -{{- $partial_name := index . 0 -}} -{{- $partial_props := index . 1 -}} -{{- $partial_path := partial "_bookshop/helpers/partial_key" $partial_name -}} - -{{- if templates.Exists ( printf "partials/%s" $partial_path ) -}} -{{ partial $partial_path $partial_props }} -{{- else -}} - {{- $file_loc := slicestr $partial_path 9 -}} - {{- partial "_bookshop/errors/err" (printf "Partial \"%s\" does not exist.\n Create this partial by placing a file in your bookshop at %s" $partial_name $file_loc) -}} -{{- end -}} \ No newline at end of file diff --git a/component-library/shared/hugo/page.hugo.html b/component-library/shared/hugo/page.hugo.html index 3c7befb8..eeebeb84 100644 --- a/component-library/shared/hugo/page.hugo.html +++ b/component-library/shared/hugo/page.hugo.html @@ -1,5 +1,3 @@ -
{{ range . }} {{ partial "bookshop" . }} {{ end }} -
diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index b314a667..000424f9 100644 --- a/config/_default/hugo.toml +++ b/config/_default/hugo.toml @@ -114,6 +114,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"] keepWhitespace = true [module] + replacements = "local/component-library -> ../component-library" [module.hugoVersion] extended = true min = "0.146.0" @@ -138,37 +139,12 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"] [[module.mounts]] source = "static" target = "static" - [[module.mounts]] - source = 'component-library' - target = 'layouts/partials/bookshop' - includeFiles = ['**/*.hugo.html'] - [[module.mounts]] - source = 'component-library' - target = 'data/structures' - includeFiles = ['**/*.bookshop.yml'] - [[module.mounts]] - source = 'component-library' - target = 'assets/bookshop' - [[module.mounts]] - source = 'component-library' - target = 'assets/scss/modules/bookshop' - includeFiles = ['**/*.scss'] - excludeFiles = ['bookshop.scss'] - [[module.mounts]] - source = 'component-library/bookshop.scss' - target = 'assets/scss/bookshop.scss' - [[module.mounts]] - source = 'component-library/helpers' - target = 'layouts/partials/_bookshop/helpers' - # ensures main package.json is always available, even when using workspaces - # in workspaces, the package.json is pointing to the first imported module - [[module.mounts]] - source = "package.json" - target = "assets/data/package-hinode.json" [[module.mounts]] source = "netlify.toml" target = "assets/config/netlify.toml" # toml-docs-start modules + [[module.imports]] + path = "local/component-library" [[module.imports]] path = "github.com/cloudcannon/bookshop/hugo/v3" [[module.imports]] diff --git a/data/structures/section.yml b/data/structures/section.yml new file mode 100644 index 00000000..b9abaeb3 --- /dev/null +++ b/data/structures/section.yml @@ -0,0 +1,28 @@ +comment: >- + Renders a bookshop component as section, using common styling options such as + background, width, and justification. +arguments: + id: + component-name: + type: string + optional: false + comment: >- + Name of the bookshop component, excluding its path relative to the + bookshop folder. + raw: + background: + width: + default: 12 + justify: + wrapper: + fluid: + theme: + cover: + default: false + overlay-mode: + section-class: + type: string + optional: true + bg-class: + type: string + optional: true diff --git a/data/structures/testimonial.yml b/data/structures/testimonial.yml index 61e89b73..c7c6c8df 100644 --- a/data/structures/testimonial.yml +++ b/data/structures/testimonial.yml @@ -14,6 +14,9 @@ arguments: url: image: icon: + icon-style: + default: fa-5x + release: v2.0.0 logo: padding: orientation: @@ -21,7 +24,7 @@ arguments: type: bool optional: true default: false - comment: -> + comment: >- Trigger to add margins for carousel controls. If set, the card includes a quote icon on the right-hand side too. class: diff --git a/exampleSite/config/_default/hugo.toml b/exampleSite/config/_default/hugo.toml index 17ea2899..76af2f00 100644 --- a/exampleSite/config/_default/hugo.toml +++ b/exampleSite/config/_default/hugo.toml @@ -1,6 +1,6 @@ resourcedir = '../resources/' title = "Hinode" -copyright = "Copyright © 2022 - 2025 Mark Dumay." +copyright = "Copyright © 2026 Hinode Team" enableGitInfo = true # additional settings @@ -104,6 +104,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"] output = '{netlify,server}' [module] + replacements = "local/component-library -> ../../component-library" # Build and serve using local hinode clone declared in the named Hugo workspace: workspace = "hinode.work" [[module.imports]] diff --git a/exampleSite/content/en/blocks/about.md b/exampleSite/content/en/blocks/about.md index 8f2c0e44..32e987d3 100644 --- a/exampleSite/content/en/blocks/about.md +++ b/exampleSite/content/en/blocks/about.md @@ -20,8 +20,8 @@ The `about` content block renders a short message next to an illustration. You c content: Content align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false illustration: image: /assets/img/nat-9l98kFByiao-unsplash.jpg ratio: 1x1 diff --git a/exampleSite/content/en/blocks/approach.md b/exampleSite/content/en/blocks/approach.md index 2fb8a9a6..3977c08e 100644 --- a/exampleSite/content/en/blocks/approach.md +++ b/exampleSite/content/en/blocks/approach.md @@ -20,8 +20,8 @@ The `approach` content block renders a featured image with one or more steps. content: Approach content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false illustration: image: /assets/img/nat-9l98kFByiao-unsplash.jpg orientation: stacked diff --git a/exampleSite/content/en/blocks/articles.md b/exampleSite/content/en/blocks/articles.md index fda28408..8e296154 100644 --- a/exampleSite/content/en/blocks/articles.md +++ b/exampleSite/content/en/blocks/articles.md @@ -28,8 +28,8 @@ The `articles` content block renders a group of article cards. padding: 0 limit: 3 background: - color: primary - subtle: true + color: body-tertiary + subtle: false class: border-0 card-zoom card-body-margin justify: start ``` diff --git a/exampleSite/content/en/blocks/cards.md b/exampleSite/content/en/blocks/cards.md index 0dff096d..6647e984 100644 --- a/exampleSite/content/en/blocks/cards.md +++ b/exampleSite/content/en/blocks/cards.md @@ -20,8 +20,8 @@ The `cards` content block renders a group of content cards. content: Cards content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false orientation: stacked icon-rounded: true icon-style: fa-xs @@ -65,8 +65,8 @@ Set the `image` attribute of each `element` to an image asset to render illustra content: Cards content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false orientation: stacked class: bg-body align: center @@ -97,8 +97,8 @@ Set the `orientation` attribute to `horizontal` to render horizontally oriented content: Cards content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false orientation: horizontal class: bg-body align: center @@ -132,8 +132,8 @@ Set the `icon` attribute of each `element` to an icon to render illustrated card content: Cards content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false orientation: stacked icon-style: fa-xs text-primary align: start @@ -168,8 +168,8 @@ Set the `icon` attribute of each `element` to an icon to render illustrated card content: Cards content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false orientation: horizontal icon-rounded: true icon-style: fa-2xs text-primary diff --git a/exampleSite/content/en/blocks/cta.md b/exampleSite/content/en/blocks/cta.md index bfd4fe04..85d37c12 100644 --- a/exampleSite/content/en/blocks/cta.md +++ b/exampleSite/content/en/blocks/cta.md @@ -17,8 +17,8 @@ The `cta` content block renders a call to action link or button. You can include contact: Betty White caption-url: /en/blocks/cta/ background: - color: primary - subtle: true + color: body-tertiary + subtle: false order: first links: - title: Get in touch diff --git a/exampleSite/content/en/blocks/faq.md b/exampleSite/content/en/blocks/faq.md index f839a955..cea4fcc5 100644 --- a/exampleSite/content/en/blocks/faq.md +++ b/exampleSite/content/en/blocks/faq.md @@ -22,8 +22,8 @@ The `FAQ` content block renders an accordion of frequently asked questions. Clic content: >- Section content. It supports multiple lines. background: - color: primary - subtle: true + color: body-tertiary + subtle: false items: - title: First item description: |- diff --git a/exampleSite/content/en/blocks/featured.md b/exampleSite/content/en/blocks/featured.md index c27d9cff..03b9849e 100644 --- a/exampleSite/content/en/blocks/featured.md +++ b/exampleSite/content/en/blocks/featured.md @@ -20,8 +20,8 @@ The `featured` content block renders a featured article or downloadable asset. content: Content align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false illustration: image: /assets/img/nat-9l98kFByiao-unsplash.jpg ratio: 1x1 diff --git a/exampleSite/content/en/blocks/list.md b/exampleSite/content/en/blocks/list.md index 150b64ea..4d9efd14 100644 --- a/exampleSite/content/en/blocks/list.md +++ b/exampleSite/content/en/blocks/list.md @@ -30,8 +30,8 @@ modules: ["simple-datatables"] sort: title hide-empty: false background: - color: primary - subtle: true + color: body-tertiary + subtle: false justify: start sortable: true paginate: true diff --git a/exampleSite/content/en/blocks/panels.md b/exampleSite/content/en/blocks/panels.md index 38d1cb0b..3992aebd 100644 --- a/exampleSite/content/en/blocks/panels.md +++ b/exampleSite/content/en/blocks/panels.md @@ -20,8 +20,8 @@ The `panels` content block displays multiple panels that are toggled by a tab co content: Panels content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false width: 12 tab-type: underline ratio: 1x1 @@ -63,8 +63,8 @@ Set `tab-type` to `tabs` to adjust the panel controls. content: Panels content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false width: 12 tab-type: tabs ratio: 1x1 @@ -98,8 +98,8 @@ Set `tab-type` to `pills` to adjust the panel controls. content: Panels content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false width: 12 tab-type: pills ratio: 1x1 @@ -133,8 +133,8 @@ Set `tab-type` to `underline` to adjust the panel controls. content: Panels content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false width: 12 tab-type: underline ratio: 1x1 @@ -168,8 +168,8 @@ Set `tab-type` to `callout` to adjust the panel controls. content: Panels content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false width: 12 tab-type: callout ratio: 1x1 diff --git a/exampleSite/content/en/blocks/releases.md b/exampleSite/content/en/blocks/releases.md index cb5ad624..dd43bae9 100644 --- a/exampleSite/content/en/blocks/releases.md +++ b/exampleSite/content/en/blocks/releases.md @@ -21,8 +21,8 @@ The `releases` content block displays a timeline with release information. align: start width: 8 background: - color: primary - subtle: true + color: body-tertiary + subtle: false data: timeline ``` diff --git a/exampleSite/content/en/blocks/team.md b/exampleSite/content/en/blocks/team.md index 49f49d9b..7835a1d6 100644 --- a/exampleSite/content/en/blocks/team.md +++ b/exampleSite/content/en/blocks/team.md @@ -26,8 +26,8 @@ The `team` content block renders a group of team members. header-style: none padding: 0 background: - color: primary - subtle: true + color: body-tertiary + subtle: false class: border-0 card-zoom card-body-margin justify: start ``` diff --git a/exampleSite/content/en/blocks/testimonials.md b/exampleSite/content/en/blocks/testimonials.md index 17833550..3a067447 100644 --- a/exampleSite/content/en/blocks/testimonials.md +++ b/exampleSite/content/en/blocks/testimonials.md @@ -15,8 +15,8 @@ The `testimonials` content block renders one or more client testimonials. You ca ```yml - _bookshop_name: testimonials card: - color: primary - subtle: true + color: body-tertiary + subtle: false cols: 1 carousel: true testimonials: @@ -53,8 +53,8 @@ Set `carousel` to `true` to render a carousel of multiple testimonials. ```yml - _bookshop_name: testimonials card: - color: primary - subtle: true + color: body-tertiary + subtle: false cols: 1 carousel: true testimonials: @@ -82,9 +82,10 @@ Set `cols` to `3` to render three testimonials as columns. ```yml - _bookshop_name: testimonials card: - color: primary - subtle: true + color: body-tertiary + subtle: false cols: 3 + icon_style: fa-2x carousel: false testimonials: - icon: fab linkedin diff --git a/exampleSite/content/en/blocks/video-message.md b/exampleSite/content/en/blocks/video-message.md index 04909b1f..41b596cd 100644 --- a/exampleSite/content/en/blocks/video-message.md +++ b/exampleSite/content/en/blocks/video-message.md @@ -21,8 +21,8 @@ The `video` content block renders a horizontal line to separate sections. The se content: Video content. It supports multiple lines. align: start background: - color: primary - subtle: true + color: body-tertiary + subtle: false orientation: horizontal icon-style: fa-lg video: diff --git a/exampleSite/go.mod b/exampleSite/go.mod index 1301026e..6fefaa27 100644 --- a/exampleSite/go.mod +++ b/exampleSite/go.mod @@ -3,5 +3,6 @@ module github.com/gethinode/hinode-example go 1.19 require ( + github.com/gethinode/hinode/v2 v2.0.0-beta.40 // indirect github.com/gethinode/mod-cookieyes/v2 v2.2.6 // indirect ) diff --git a/exampleSite/go.sum b/exampleSite/go.sum index 544449c2..8d10ce5b 100644 --- a/exampleSite/go.sum +++ b/exampleSite/go.sum @@ -1,2 +1,4 @@ +github.com/gethinode/hinode/v2 v2.0.0-beta.40 h1:nQPRDbQP4ywWUmeFvDTAxmpGdhtJ7qvyLlrpxQWpKOw= +github.com/gethinode/hinode/v2 v2.0.0-beta.40/go.mod h1:6qTM4Xj2t0r5Hfgfwk4vOOTRs6kEdJ97hxxY9nGjD0M= github.com/gethinode/mod-cookieyes/v2 v2.2.6 h1:/DQm8OYpms0On8wuosQER47TplVu/3z7MZHwbBKXCAg= github.com/gethinode/mod-cookieyes/v2 v2.2.6/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y= diff --git a/exampleSite/hugo_stats.json b/exampleSite/hugo_stats.json index 81144751..1f9e729a 100644 --- a/exampleSite/hugo_stats.json +++ b/exampleSite/hugo_stats.json @@ -71,8 +71,7 @@ ], "classes": [ "%!s()", - "3", - "4", + "%!s()", "text-bg-body-tertiary", "text-bg-info", "text-bg-light", @@ -609,9 +606,7 @@ "tickmark", "timeline", "timeline-bg-bg-body-tertiary", - "timeline-bg-bg-primary-subtle", "timeline-bg-body-tertiary", - "timeline-bg-primary-subtle", "timeline-connector-end", "timeline-connector-start", "timeline-container", @@ -690,7 +685,6 @@ "blog", "body-docs-collapse-15", "body-docs-collapse-16", - "body-docs-collapse-2", "body-file-collapse-1", "bootstrap-elements", "bouton", @@ -734,11 +728,21 @@ "docs", "documentation", "dropdown-nav-0", - "dropdown-panel-0c6f712b96f659162f69191e02dda6d2", - "dropdown-panel-30869c331dfb4c2f3bf4e53bc36d0a37", - "dropdown-panel-9a73493e5c96fe0a5ea356b09b2fc734", - "dropdown-panel-ac407346bdaff966abe34a72844764dd", - "dropdown-panel-b4a38556e4ba4f3543876ba5f15f57f1", + "dropdown-panel-0117d8e9d312d076db3f9384b094fc34", + "dropdown-panel-0a3e4b5af4c6d880756155426b7019aa", + "dropdown-panel-1417c76d0e791092f52eff2eeebc6c4c", + "dropdown-panel-1c2d4835c3df207dc0475e8a88557a06", + "dropdown-panel-25d9603bb1fa2039061a04c0429691a8", + "dropdown-panel-572174e3d1ad47f1c65122690dd3148f", + "dropdown-panel-72acde6b0999ef9c3a01575f0e1012ed", + "dropdown-panel-87f41121903428753ec086da02ce4801", + "dropdown-panel-8915a594eac849c0395ad9faf90df0c3", + "dropdown-panel-8a1672fb4d1c234a54767e1cc8d09750", + "dropdown-panel-8e89de44d5e224787f65f889ba1ead1d", + "dropdown-panel-939a707cb8eefd81090b7a4b69d63a25", + "dropdown-panel-99008efba6683726ee072685db9c8f6f", + "dropdown-panel-d3f2ef79f536995b3684504691b29f29", + "dropdown-panel-dfb339c91df350570005a761f5fee8e9", "eerste-artikel", "elements-type", "entity-relationship-diagram", @@ -761,11 +765,21 @@ "fab-whatsapp", "fab-x-twitter", "faq", - "faq-0e0e8b9ce0ad1228eec89f5f21cc20db", - "faq-0e0e8b9ce0ad1228eec89f5f21cc20db-heading-faq-0e0e8b9ce0ad1228eec89f5f21cc20db", - "faq-0e0e8b9ce0ad1228eec89f5f21cc20db-item-0", - "faq-0e0e8b9ce0ad1228eec89f5f21cc20db-item-1", - "faq-0e0e8b9ce0ad1228eec89f5f21cc20db-item-2", + "faq-b390a4a61d3ffbbe720e2407a09b347c", + "faq-b390a4a61d3ffbbe720e2407a09b347c-heading-faq-b390a4a61d3ffbbe720e2407a09b347c", + "faq-b390a4a61d3ffbbe720e2407a09b347c-item-0", + "faq-b390a4a61d3ffbbe720e2407a09b347c-item-1", + "faq-b390a4a61d3ffbbe720e2407a09b347c-item-2", + "faq-bf2bcfa203e1f76daa2cca6dc7a27121", + "faq-bf2bcfa203e1f76daa2cca6dc7a27121-heading-faq-bf2bcfa203e1f76daa2cca6dc7a27121", + "faq-bf2bcfa203e1f76daa2cca6dc7a27121-item-0", + "faq-bf2bcfa203e1f76daa2cca6dc7a27121-item-1", + "faq-bf2bcfa203e1f76daa2cca6dc7a27121-item-2", + "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194", + "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-heading-faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194", + "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-item-0", + "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-item-1", + "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-item-2", "fas-1", "fas-2", "fas-3", @@ -820,7 +834,6 @@ "flowchart", "footer-docs-collapse-15", "footer-docs-collapse-16", - "footer-docs-collapse-2", "footer-file-collapse-1", "formula-katex", "formule-katex", @@ -828,7 +841,6 @@ "gantt-diagram", "gegevenstabellen", "git-graph", - "grid-layout", "groupe-de-boutons", "groupe-de-cartes", "gérer-les-préférences-des-cookies", @@ -866,10 +878,8 @@ "manage-cookie-preferences", "map", "mark", - "masonry-layout", "meet-our-team", "menu", - "menu-data", "mermaid-diagrams", "messages-type", "mindmap", @@ -883,11 +893,21 @@ "nav-0-btn-1", "nav-0-btn-2", "nav-nav-0", - "nav-panel-0c6f712b96f659162f69191e02dda6d2", - "nav-panel-30869c331dfb4c2f3bf4e53bc36d0a37", - "nav-panel-9a73493e5c96fe0a5ea356b09b2fc734", - "nav-panel-ac407346bdaff966abe34a72844764dd", - "nav-panel-b4a38556e4ba4f3543876ba5f15f57f1", + "nav-panel-0117d8e9d312d076db3f9384b094fc34", + "nav-panel-0a3e4b5af4c6d880756155426b7019aa", + "nav-panel-1417c76d0e791092f52eff2eeebc6c4c", + "nav-panel-1c2d4835c3df207dc0475e8a88557a06", + "nav-panel-25d9603bb1fa2039061a04c0429691a8", + "nav-panel-572174e3d1ad47f1c65122690dd3148f", + "nav-panel-72acde6b0999ef9c3a01575f0e1012ed", + "nav-panel-87f41121903428753ec086da02ce4801", + "nav-panel-8915a594eac849c0395ad9faf90df0c3", + "nav-panel-8a1672fb4d1c234a54767e1cc8d09750", + "nav-panel-8e89de44d5e224787f65f889ba1ead1d", + "nav-panel-939a707cb8eefd81090b7a4b69d63a25", + "nav-panel-99008efba6683726ee072685db9c8f6f", + "nav-panel-d3f2ef79f536995b3684504691b29f29", + "nav-panel-dfb339c91df350570005a761f5fee8e9", "navbar", "navbar-0-collapse", "navbar-mode", @@ -897,36 +917,96 @@ "notification", "over-mij", "overview", - "panel-0c6f712b96f659162f69191e02dda6d2-0", - "panel-0c6f712b96f659162f69191e02dda6d2-1", - "panel-0c6f712b96f659162f69191e02dda6d2-2", - "panel-0c6f712b96f659162f69191e02dda6d2-btn-0", - "panel-0c6f712b96f659162f69191e02dda6d2-btn-1", - "panel-0c6f712b96f659162f69191e02dda6d2-btn-2", - "panel-30869c331dfb4c2f3bf4e53bc36d0a37-0", - "panel-30869c331dfb4c2f3bf4e53bc36d0a37-1", - "panel-30869c331dfb4c2f3bf4e53bc36d0a37-2", - "panel-30869c331dfb4c2f3bf4e53bc36d0a37-btn-0", - "panel-30869c331dfb4c2f3bf4e53bc36d0a37-btn-1", - "panel-30869c331dfb4c2f3bf4e53bc36d0a37-btn-2", - "panel-9a73493e5c96fe0a5ea356b09b2fc734-0", - "panel-9a73493e5c96fe0a5ea356b09b2fc734-1", - "panel-9a73493e5c96fe0a5ea356b09b2fc734-2", - "panel-9a73493e5c96fe0a5ea356b09b2fc734-btn-0", - "panel-9a73493e5c96fe0a5ea356b09b2fc734-btn-1", - "panel-9a73493e5c96fe0a5ea356b09b2fc734-btn-2", - "panel-ac407346bdaff966abe34a72844764dd-0", - "panel-ac407346bdaff966abe34a72844764dd-1", - "panel-ac407346bdaff966abe34a72844764dd-2", - "panel-ac407346bdaff966abe34a72844764dd-btn-0", - "panel-ac407346bdaff966abe34a72844764dd-btn-1", - "panel-ac407346bdaff966abe34a72844764dd-btn-2", - "panel-b4a38556e4ba4f3543876ba5f15f57f1-0", - "panel-b4a38556e4ba4f3543876ba5f15f57f1-1", - "panel-b4a38556e4ba4f3543876ba5f15f57f1-2", - "panel-b4a38556e4ba4f3543876ba5f15f57f1-btn-0", - "panel-b4a38556e4ba4f3543876ba5f15f57f1-btn-1", - "panel-b4a38556e4ba4f3543876ba5f15f57f1-btn-2", + "panel-0117d8e9d312d076db3f9384b094fc34-0", + "panel-0117d8e9d312d076db3f9384b094fc34-1", + "panel-0117d8e9d312d076db3f9384b094fc34-2", + "panel-0117d8e9d312d076db3f9384b094fc34-btn-0", + "panel-0117d8e9d312d076db3f9384b094fc34-btn-1", + "panel-0117d8e9d312d076db3f9384b094fc34-btn-2", + "panel-0a3e4b5af4c6d880756155426b7019aa-0", + "panel-0a3e4b5af4c6d880756155426b7019aa-1", + "panel-0a3e4b5af4c6d880756155426b7019aa-2", + "panel-0a3e4b5af4c6d880756155426b7019aa-btn-0", + "panel-0a3e4b5af4c6d880756155426b7019aa-btn-1", + "panel-0a3e4b5af4c6d880756155426b7019aa-btn-2", + "panel-1417c76d0e791092f52eff2eeebc6c4c-0", + "panel-1417c76d0e791092f52eff2eeebc6c4c-1", + "panel-1417c76d0e791092f52eff2eeebc6c4c-2", + "panel-1417c76d0e791092f52eff2eeebc6c4c-btn-0", + "panel-1417c76d0e791092f52eff2eeebc6c4c-btn-1", + "panel-1417c76d0e791092f52eff2eeebc6c4c-btn-2", + "panel-1c2d4835c3df207dc0475e8a88557a06-0", + "panel-1c2d4835c3df207dc0475e8a88557a06-1", + "panel-1c2d4835c3df207dc0475e8a88557a06-2", + "panel-1c2d4835c3df207dc0475e8a88557a06-btn-0", + "panel-1c2d4835c3df207dc0475e8a88557a06-btn-1", + "panel-1c2d4835c3df207dc0475e8a88557a06-btn-2", + "panel-25d9603bb1fa2039061a04c0429691a8-0", + "panel-25d9603bb1fa2039061a04c0429691a8-1", + "panel-25d9603bb1fa2039061a04c0429691a8-2", + "panel-25d9603bb1fa2039061a04c0429691a8-btn-0", + "panel-25d9603bb1fa2039061a04c0429691a8-btn-1", + "panel-25d9603bb1fa2039061a04c0429691a8-btn-2", + "panel-572174e3d1ad47f1c65122690dd3148f-0", + "panel-572174e3d1ad47f1c65122690dd3148f-1", + "panel-572174e3d1ad47f1c65122690dd3148f-2", + "panel-572174e3d1ad47f1c65122690dd3148f-btn-0", + "panel-572174e3d1ad47f1c65122690dd3148f-btn-1", + "panel-572174e3d1ad47f1c65122690dd3148f-btn-2", + "panel-72acde6b0999ef9c3a01575f0e1012ed-0", + "panel-72acde6b0999ef9c3a01575f0e1012ed-1", + "panel-72acde6b0999ef9c3a01575f0e1012ed-2", + "panel-72acde6b0999ef9c3a01575f0e1012ed-btn-0", + "panel-72acde6b0999ef9c3a01575f0e1012ed-btn-1", + "panel-72acde6b0999ef9c3a01575f0e1012ed-btn-2", + "panel-87f41121903428753ec086da02ce4801-0", + "panel-87f41121903428753ec086da02ce4801-1", + "panel-87f41121903428753ec086da02ce4801-2", + "panel-87f41121903428753ec086da02ce4801-btn-0", + "panel-87f41121903428753ec086da02ce4801-btn-1", + "panel-87f41121903428753ec086da02ce4801-btn-2", + "panel-8915a594eac849c0395ad9faf90df0c3-0", + "panel-8915a594eac849c0395ad9faf90df0c3-1", + "panel-8915a594eac849c0395ad9faf90df0c3-2", + "panel-8915a594eac849c0395ad9faf90df0c3-btn-0", + "panel-8915a594eac849c0395ad9faf90df0c3-btn-1", + "panel-8915a594eac849c0395ad9faf90df0c3-btn-2", + "panel-8a1672fb4d1c234a54767e1cc8d09750-0", + "panel-8a1672fb4d1c234a54767e1cc8d09750-1", + "panel-8a1672fb4d1c234a54767e1cc8d09750-2", + "panel-8a1672fb4d1c234a54767e1cc8d09750-btn-0", + "panel-8a1672fb4d1c234a54767e1cc8d09750-btn-1", + "panel-8a1672fb4d1c234a54767e1cc8d09750-btn-2", + "panel-8e89de44d5e224787f65f889ba1ead1d-0", + "panel-8e89de44d5e224787f65f889ba1ead1d-1", + "panel-8e89de44d5e224787f65f889ba1ead1d-2", + "panel-8e89de44d5e224787f65f889ba1ead1d-btn-0", + "panel-8e89de44d5e224787f65f889ba1ead1d-btn-1", + "panel-8e89de44d5e224787f65f889ba1ead1d-btn-2", + "panel-939a707cb8eefd81090b7a4b69d63a25-0", + "panel-939a707cb8eefd81090b7a4b69d63a25-1", + "panel-939a707cb8eefd81090b7a4b69d63a25-2", + "panel-939a707cb8eefd81090b7a4b69d63a25-btn-0", + "panel-939a707cb8eefd81090b7a4b69d63a25-btn-1", + "panel-939a707cb8eefd81090b7a4b69d63a25-btn-2", + "panel-99008efba6683726ee072685db9c8f6f-0", + "panel-99008efba6683726ee072685db9c8f6f-1", + "panel-99008efba6683726ee072685db9c8f6f-2", + "panel-99008efba6683726ee072685db9c8f6f-btn-0", + "panel-99008efba6683726ee072685db9c8f6f-btn-1", + "panel-99008efba6683726ee072685db9c8f6f-btn-2", + "panel-d3f2ef79f536995b3684504691b29f29-0", + "panel-d3f2ef79f536995b3684504691b29f29-1", + "panel-d3f2ef79f536995b3684504691b29f29-2", + "panel-d3f2ef79f536995b3684504691b29f29-btn-0", + "panel-d3f2ef79f536995b3684504691b29f29-btn-1", + "panel-d3f2ef79f536995b3684504691b29f29-btn-2", + "panel-dfb339c91df350570005a761f5fee8e9-0", + "panel-dfb339c91df350570005a761f5fee8e9-1", + "panel-dfb339c91df350570005a761f5fee8e9-2", + "panel-dfb339c91df350570005a761f5fee8e9-btn-0", + "panel-dfb339c91df350570005a761f5fee8e9-btn-1", + "panel-dfb339c91df350570005a761f5fee8e9-btn-2", "panels", "persona", "pie-chart", @@ -965,7 +1045,9 @@ "tabs", "team", "testimonial", - "testimonial-carousel-348869a47b8393ec233ec8ea3311bfd1", + "testimonial-carousel-7fde78500368f7969c97de30a2c3acc1", + "testimonial-carousel-8008ef7ce1589b2d6f732a6dabb22910", + "testimonial-carousel-897fa7d37ad08afe3b8cf26124fca3c9", "testimonials", "testimonials-type", "third-party-links--use-of-your-information", diff --git a/go.mod b/go.mod index 681fdb55..a8f3771d 100644 --- a/go.mod +++ b/go.mod @@ -8,14 +8,14 @@ require ( github.com/gethinode/mod-bootstrap v1.3.5 // indirect github.com/gethinode/mod-csp v1.0.8 // indirect github.com/gethinode/mod-flexsearch/v3 v3.2.0 // indirect - github.com/gethinode/mod-fontawesome/v3 v3.0.1 // indirect + github.com/gethinode/mod-fontawesome/v3 v3.0.3 // indirect github.com/gethinode/mod-google-analytics/v2 v2.0.0 // indirect github.com/gethinode/mod-katex v1.1.4 // indirect github.com/gethinode/mod-leaflet/v2 v2.0.0 // indirect github.com/gethinode/mod-lottie/v2 v2.0.0 // indirect github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect github.com/gethinode/mod-simple-datatables/v3 v3.0.0 // indirect - github.com/gethinode/mod-utils/v5 v5.3.1 // indirect + github.com/gethinode/mod-utils/v5 v5.4.1 // indirect github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect github.com/twbs/bootstrap v5.3.8+incompatible // indirect ) diff --git a/go.sum b/go.sum index 18c4e357..48e6ed46 100644 --- a/go.sum +++ b/go.sum @@ -28,6 +28,10 @@ github.com/gethinode/mod-fontawesome/v3 v3.0.0 h1:mNV8ZveQ5aXEU+jmKrWaoIbq5xB2p4 github.com/gethinode/mod-fontawesome/v3 v3.0.0/go.mod h1:KX8eLJCH7L27KCUCr4S5k1NOQC6O41D4G6DWOzNmeJ8= github.com/gethinode/mod-fontawesome/v3 v3.0.1 h1:omQww1vN879e408UyhZDazlSbVec2vbPGtUCPJfkC14= github.com/gethinode/mod-fontawesome/v3 v3.0.1/go.mod h1:a905KAk3fRZKh7iO11D5ocAzKr0GQcaR6v17bYTRpX8= +github.com/gethinode/mod-fontawesome/v3 v3.0.2 h1:SUj4UAn16XPrF1nXsFYGklk/3XVOdluq02isW2IjKX0= +github.com/gethinode/mod-fontawesome/v3 v3.0.2/go.mod h1:a905KAk3fRZKh7iO11D5ocAzKr0GQcaR6v17bYTRpX8= +github.com/gethinode/mod-fontawesome/v3 v3.0.3 h1:iGeNuTxwu/gIDWDqLioraL3/aULkx/Kpu1yWGIoib2Y= +github.com/gethinode/mod-fontawesome/v3 v3.0.3/go.mod h1:a905KAk3fRZKh7iO11D5ocAzKr0GQcaR6v17bYTRpX8= github.com/gethinode/mod-google-analytics v1.3.3 h1:iX2FtXajykfHWJf7MXCQmpezqXgQUADNTeglU81QKpw= github.com/gethinode/mod-google-analytics v1.3.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII= github.com/gethinode/mod-google-analytics/v2 v2.0.0 h1:Vor4j56qtpjtKY9r5QLeN5CBxuf8YKP3+XvQKEkayrM= @@ -76,6 +80,12 @@ github.com/gethinode/mod-utils/v5 v5.3.0 h1:1RxjcYuFIGCPQXUlJy4/AT0S0xXd+cZi86KJ github.com/gethinode/mod-utils/v5 v5.3.0/go.mod h1:PwQN4oOjA6k/vet11JueJ9asZMgL0DBa3jyS9tPkBWU= github.com/gethinode/mod-utils/v5 v5.3.1 h1:5bmhPm3Wunn3/8MfTCtqIQRUn1efnNpVduPUzh+H3rw= github.com/gethinode/mod-utils/v5 v5.3.1/go.mod h1:PwQN4oOjA6k/vet11JueJ9asZMgL0DBa3jyS9tPkBWU= +github.com/gethinode/mod-utils/v5 v5.3.2 h1:+i/JTHyc+S3dd6yNQAcMuVyfsgLcy0n8dxWxaqjtf2A= +github.com/gethinode/mod-utils/v5 v5.3.2/go.mod h1:PwQN4oOjA6k/vet11JueJ9asZMgL0DBa3jyS9tPkBWU= +github.com/gethinode/mod-utils/v5 v5.4.0 h1:k83BSnaDbqXia2Lbrs2dceqh1JRiyfRcejjmGzmk9Jw= +github.com/gethinode/mod-utils/v5 v5.4.0/go.mod h1:PwQN4oOjA6k/vet11JueJ9asZMgL0DBa3jyS9tPkBWU= +github.com/gethinode/mod-utils/v5 v5.4.1 h1:iaQ8RTvK9p0JevaDW0c84fl/arDnDe2hu8FmgURt/l4= +github.com/gethinode/mod-utils/v5 v5.4.1/go.mod h1:PwQN4oOjA6k/vet11JueJ9asZMgL0DBa3jyS9tPkBWU= 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.8+incompatible h1:eK1fsXP7R/FWFt+sSNmmvUH9usPocf240nWVw7Dh02o= diff --git a/hugo_stats.json b/hugo_stats.json index 85b0fa5b..f3231967 100644 --- a/hugo_stats.json +++ b/hugo_stats.json @@ -1,7 +1,235 @@ { "htmlElements": { - "tags": null, - "classes": null, - "ids": null + "tags": [ + "a", + "body", + "button", + "div", + "footer", + "form", + "head", + "hr", + "html", + "img", + "input", + "label", + "li", + "link", + "main", + "meta", + "nav", + "ol", + "p", + "path", + "script", + "section", + "small", + "span", + "strong", + "svg", + "symbol", + "title", + "ul", + "use" + ], + "classes": [ + "%!s()", + "active", + "align-items-center", + "align-self-center", + "align-self-end", + "ball", + "bg-body", + "bg-opacity-10", + "bg-primary", + "bg-primary-subtle", + "bottom-0", + "bottom-bar", + "breadcrumb", + "breadcrumb-item", + "btn", + "btn-close", + "btn-primary", + "checkbox", + "col", + "col-12", + "col-6", + "col-8", + "col-md-2", + "col-md-6", + "col-md-8", + "col-md-auto", + "col-sm-12", + "col-sm-8", + "collapse", + "collapsed", + "container-fluid", + "container-xxl", + "d-flex", + "d-inline", + "d-md-block", + "d-md-flex", + "d-md-none", + "d-none", + "d-sm-block", + "d-sm-none", + "display-1", + "display-4", + "dropdown-divider-bg", + "emphasis", + "end-0", + "fa", + "fa-10x", + "fa-2x", + "fa-angle-left", + "fa-chevron-right", + "fa-ellipsis", + "fa-face-frown", + "fa-fw", + "fa-github", + "fa-linkedin", + "fa-magnifying-glass", + "fa-medium", + "fa-moon", + "fa-sun", + "fab", + "fade", + "fas", + "fixed-top", + "flex-column", + "flex-fill", + "flex-grow-1", + "footer", + "form-control", + "fs-3", + "fw-30", + "fw-bold", + "h-100", + "h-50", + "hero", + "hero-content", + "hero-image", + "hero-image-container", + "hero-title", + "hstack", + "img-fluid", + "img-wrap", + "invisible", + "is-search", + "justify-content-center", + "justify-content-end", + "justify-content-start", + "label", + "lead", + "link-bg-footer", + "link-secondary", + "m-auto", + "main", + "main-nav-toggler", + "me-auto", + "middle-bar", + "modal", + "modal-body", + "modal-content", + "modal-dialog", + "modal-dialog-centered", + "modal-dialog-scrollable", + "modal-header", + "modal-lg", + "mode-switch", + "ms-auto", + "mt-3", + "mt-5", + "mx-auto", + "mx-md-2", + "my-auto", + "my-md-auto", + "nav-item", + "nav-link", + "navbar", + "navbar-brand", + "navbar-collapse", + "navbar-container", + "navbar-expand-md", + "navbar-fixed-top", + "navbar-fs-6", + "navbar-md-fs", + "navbar-mode-selector", + "navbar-nav", + "navbar-nav-scroll", + "navbar-toggler", + "no-js", + "order-0", + "order-1", + "order-md-0", + "order-md-1", + "p-0", + "p-2", + "p-3", + "position-fixed", + "position-relative", + "ps-1", + "pt-1", + "pt-4", + "pt-md-0", + "px-4", + "px-xxl-0", + "py-2", + "py-3", + "py-4", + "py-md-1", + "rounded", + "row", + "row-cols-1", + "row-cols-2", + "row-cols-sm-3", + "search", + "search-background", + "search-input", + "search-modal", + "search-suggestions", + "section-cover", + "section-title", + "svg-inline--fa", + "text-%!s()", + "text-body", + "text-center", + "text-decoration-none", + "text-muted", + "text-secondary", + "text-sm-start", + "text-start", + "toast", + "toast-body", + "toast-container", + "toast-header", + "toggler-icon", + "top-bar", + "vr", + "w-100", + "width-100", + "width-md-auto" + ], + "ids": [ + "container", + "fa-face-frown", + "fab-github", + "fab-linkedin", + "fab-medium", + "fas-angle-left", + "fas-chevron-right", + "fas-ellipsis", + "fas-magnifying-glass", + "fas-moon", + "fas-sun", + "navbar-0-collapse", + "navbar-mode", + "navbar-mode-checkbox", + "search-input-modal", + "search-modal", + "toast-container", + "toast-copied-code-message", + "welcome-to-hinode" + ] } } diff --git a/layouts/_partials/assets/card.html b/layouts/_partials/assets/card.html index 15427425..c34fca3f 100644 --- a/layouts/_partials/assets/card.html +++ b/layouts/_partials/assets/card.html @@ -209,12 +209,12 @@
{{- end -}}
- {{ $padding := printf "p-%d%s" $args.padding (cond (and (eq $args.padding 0) (or $icon $thumbnail)) " ps-3" "") }} + {{ $padding := printf "p-%d" $args.padding }}
{{ if $icon }} {{- partial "assets/card-icon.html" (dict "icon" $icon - "padding" $args.padding + "padding" 0 "icon-rounded" $args.iconRounded "icon-style" $style "class" (printf "align-self-%s me-1 mt-1 col-auto" $args.align) diff --git a/layouts/_partials/assets/contact.html b/layouts/_partials/assets/contact.html index f4064fa7..2f5066b6 100644 --- a/layouts/_partials/assets/contact.html +++ b/layouts/_partials/assets/contact.html @@ -54,7 +54,7 @@ {{ partial "assets/hero.html" (dict "page" $args.page - "heading" (merge $heading (dict "size" 6)) + "heading" (merge $heading (dict "size" 4)) "background" $args.background "illustration" $illustration "order" $args.order @@ -64,7 +64,8 @@ "width" (or $args.width 12) "use-title" false "size" 6 - "content-style" "text-muted fs-5" + "heading-style" "fs" + "content-style" "text-muted fs-6" ) }} {{ end }} diff --git a/layouts/_partials/assets/hero.html b/layouts/_partials/assets/hero.html index c1789874..e731934e 100644 --- a/layouts/_partials/assets/hero.html +++ b/layouts/_partials/assets/hero.html @@ -27,8 +27,12 @@ {{/* Initialize local variables */}} {{ $align := $args.align }} {{ $class := $args.class | default "" }} -{{ $scale := $args.illustration.width }} -{{ $icon := $args.illustration.icon }} +{{ $scale := "" }} +{{ $icon := "" }} +{{ with $args.illustration }} + {{ $scale = .scale }} + {{ $icon = .icon }} +{{ end }} {{ $heading := cond (eq $args.orientation "horizontal") (merge $args.heading (dict "width" 12)) $args.heading }} {{ if $scale }} @@ -66,7 +70,7 @@
{{ end }} - {{ $imageWrapper := printf "%s text-%s mx-auto" $class $args.illustration.align }} + {{ $imageWrapper := printf "%s text-%s mx-auto" $class (or $args.illustration.align "start") }} {{ $imageJustify := "" }} {{ if eq $args.orientation "stacked" }} {{ $imageWrapper = printf "%s pb-%d" $imageWrapper $padding.y }} @@ -100,20 +104,22 @@ "sizes" $sizes "title" (T "heroImage") "wrapper" $imageWrapper - "class" (printf "hero-image %s" $args.illustration.class) + "class" (printf "hero-image %s" (or $args.illustration.class "")) "image-overlay" $args.imageOverlay "justify" $imageJustify ) }} {{ 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" $heading + "use-title" $args.useTitle + "links" $args.links + "link-type" (or $args.linkType $args.link_type $args.type) + "class" "hero-title" + "arrangement" $arrangement + "justify" $args.justify + "heading-style" $args.headingStyle + "content-style" $args.contentStyle ) }} {{ if eq $args.orientation "stacked" }} diff --git a/layouts/_partials/assets/testimonial.html b/layouts/_partials/assets/testimonial.html index 7e596d50..bbfa7e1e 100644 --- a/layouts/_partials/assets/testimonial.html +++ b/layouts/_partials/assets/testimonial.html @@ -32,9 +32,9 @@ {{ end }} {{ define "_partials/inline/testimonial-inner.html" }} -
+
{{ if or .logo .icon }} -
+
{{ $class := "" }} {{ if and (not .icon) .logo }}{{ $class = "testimonial-logo" }}{{ end }} {{ $title := trim (printf "%s logo" (humanize (path.BaseName .logo))) " ." }} @@ -42,12 +42,12 @@ {{ partial "assets/featured-illustration.html" (dict "page" .page "image" .logo - "icon" .icon + "icon" (trim (cond .icon (printf "%s %s" .icon (index . "icon-style")) "") " ") "class" $class "title" $title "sizes" "(min-width: 768px) 33.3vw, 100vw" - "wrapper" "col-9 py-4 py-md-0" - ) }} + "wrapper" (cond .logo "col-9 py-4 py-md-0" "") + ) }}
{{ end }}
@@ -141,6 +141,7 @@ "page" $args.page "content" $args.content "icon" $args.icon + "icon-style" $args.iconStyle "logo" $args.logo "contact" $args.contact "role" $args.role diff --git a/layouts/_partials/utilities/section.html b/layouts/_partials/utilities/section.html new file mode 100644 index 00000000..03d1b1ab --- /dev/null +++ b/layouts/_partials/utilities/section.html @@ -0,0 +1,72 @@ +{{/* + Copyright © 2026 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. +*/}} + +{{/* Initialize arguments */}} +{{ $args := partial "utilities/InitArgs.html" (dict "structure" "section" "args" . "group" "partial") }} +{{ if or $args.err $args.warnmsg }} + {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict + "partial" "utilities/section.html" + "warnid" "warn-invalid-arguments" + "msg" "Invalid arguments" + "details" ($args.errmsg | append $args.warnmsg) + "file" page.File + )}} +{{ end }} + +{{- $padding := partial "utilities/GetPadding.html" -}} + +{{/* Main code */}} +{{ if not $args.err }} + {{- $containerPadding := printf "px-%d %spy-%d" $padding.x (cond $args.fluid "px-xxl-0 " "") $padding.y -}} + {{- $paddingOuter := printf "px-xxl-0 px-%d py-0" $padding.x -}} + {{ $wrapper := "" }} + {{ $backdrop := "" }} + {{ with $args.background }} + {{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $wrapper) }} + {{ if reflect.IsMap $args.background }} + {{ with $args.background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }} + {{ end }} + {{ end }} + {{- $overlayMode := (or $args.overlayMode page.Params.overlayMode) | default "dark" -}} + {{ if not $backdrop }}{{ $overlayMode = page.Params.overlayMode }}{{ end }} + {{ if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }} + + {{ if not $args.fluid }}
{{ end }} +
+ {{- if $backdrop -}} + {{ partial "assets/live-image.html" (dict + "src" $backdrop + "class" (printf "background-img-fluid %s" (or $args.bgClass "")) + "title" (T "backgroundImage") + )}} + {{- end -}} + + {{ $col := cond (and $args.width (lt $args.width 12)) (printf "col-12 col-md-%d" $args.width) "" }} + {{ if $args.passthrough }} + {{ $args.raw | safeHTML }} + {{ else }} +
+ {{ with $col }} +
{{ $args.raw | safeHTML }}
+ {{ else }} + {{ $args.raw | safeHTML }} + {{ end}} +
+ {{ end }} +
+ {{ if not $args.fluid }}
{{ end }} +{{ end }} diff --git a/layouts/_shortcodes/example-bookshop.html b/layouts/_shortcodes/example-bookshop.html index 30922405..f4db5ccb 100644 --- a/layouts/_shortcodes/example-bookshop.html +++ b/layouts/_shortcodes/example-bookshop.html @@ -36,6 +36,9 @@ {{- $showMarkup := or $args.showMarkup $args.show_markup }} {{- if eq $lang "hugo" }}{{ $lang = "markdown" }}{{ end -}} {{- $content := .InnerDeindent -}} +{{- $padding := partial "utilities/GetPadding.html" -}} +{{- $sectionClass := printf "p-1 px-md-%d py-md-%d" $padding.x $padding.y -}} +{{- $bgClass := printf "m-n1 mx-md-n%d my-md-n%d" $padding.x $padding.y -}} {{- $data := "" -}} {{- $partial := "" -}} @@ -49,18 +52,13 @@ {{ $lang = (trim (index (split $content "\n") 2) "\x60") | default "yml" }} {{ $content = index (index $inputRE 0) 2 }} {{ $data = index (unmarshal $content) 0 }} + {{ $data = merge $data (dict "section-class" $sectionClass "bg-class" $bgClass) }} {{ $component_name := (index $data "_bookshop_name") }} {{ if not $component_name }} {{ errorf "Expected '_bookshop_name': %s" .Position -}} {{ $error = true }} {{ else }} - {{- $padding := partial "utilities/GetPadding.html" -}} - {{ $partial = partial "_bookshop/helpers/component.html" (slice - $component_name - $data - (printf "p-1 px-md-%d py-md-%d" $padding.x $padding.y) - (printf "m-n1 mx-md-n%d my-md-n%d" $padding.x $padding.y) - ) }} + {{ $partial = partial "_bookshop/helpers/component.html" (slice $component_name $data) }} {{ end }} {{ else }} {{ errorf "Expected frontmatter codeblock as input: %s" .Position -}} @@ -70,7 +68,7 @@ {{/* Main code */}} {{ if not $error }} -
+
{{- if eq $showPreview true -}}
{{ if eq $type "bookshop" }} From 33f7d2204dbb4338938f45c85afc2df5f495a004 Mon Sep 17 00:00:00 2001 From: Mark Dumay <61946753+markdumay@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:30:47 +0100 Subject: [PATCH 3/4] fix: remove trailing dot from powered by message --- i18n/de.yaml | 2 +- i18n/en.yaml | 2 +- i18n/fr.yaml | 2 +- i18n/nl.yaml | 2 +- i18n/pl.yaml | 2 +- i18n/pt-br.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/i18n/de.yaml b/i18n/de.yaml index 787eca33..28303f20 100644 --- a/i18n/de.yaml +++ b/i18n/de.yaml @@ -140,7 +140,7 @@ - id: rights translation: "Alle Rechte vorbehalten" - id: poweredBy - translation: "Ermöglicht durch {{ . }}." + translation: "Ermöglicht durch {{ . }}" # Comments - id: show diff --git a/i18n/en.yaml b/i18n/en.yaml index cd1c2172..df23659b 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -140,7 +140,7 @@ - id: rights translation: "All rights reserved" - id: poweredBy - translation: "Powered by {{ . }}." + translation: "Powered by {{ . }}" # Comments - id: show diff --git a/i18n/fr.yaml b/i18n/fr.yaml index e94915fe..a09f127e 100644 --- a/i18n/fr.yaml +++ b/i18n/fr.yaml @@ -138,7 +138,7 @@ - id: rights translation: "Tous droits réservés" - id: poweredBy - translation: "Propulsé par {{ . }}." + translation: "Propulsé par {{ . }}" # Comments - id: show diff --git a/i18n/nl.yaml b/i18n/nl.yaml index e1835c39..53625fbd 100644 --- a/i18n/nl.yaml +++ b/i18n/nl.yaml @@ -136,7 +136,7 @@ - id: rights translation: "Alle rechten voorbehouden" - id: poweredBy - translation: "Mede mogelijk gemaakt door {{ . }}." + translation: "Mede mogelijk gemaakt door {{ . }}" # Comments - id: show diff --git a/i18n/pl.yaml b/i18n/pl.yaml index 234d03c6..68e6aa9b 100644 --- a/i18n/pl.yaml +++ b/i18n/pl.yaml @@ -126,7 +126,7 @@ - id: rights translation: "Wszelkie prawa zastrzeżone" - id: poweredBy - translation: "Strona oparta o {{ . }}." + translation: "Strona oparta o {{ . }}" # Comments - id: show diff --git a/i18n/pt-br.yaml b/i18n/pt-br.yaml index 79016acc..3a22e1b2 100644 --- a/i18n/pt-br.yaml +++ b/i18n/pt-br.yaml @@ -140,7 +140,7 @@ - id: rights translation: "Todos os direitos reservados" - id: poweredBy - translation: "Com tecnologia {{ . }}." + translation: "Com tecnologia {{ . }}" # Comments - id: show From be51fa01ecaf5e5d6b9ea756d5e3c6b405fc1413 Mon Sep 17 00:00:00 2001 From: Mark Dumay <61946753+markdumay@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:34:39 +0100 Subject: [PATCH 4/4] docs: update copyright notice --- LICENSE | 2 +- config/_default/hugo.toml | 2 +- exampleSite/hugo_stats.json | 187 +++++------------- .../layouts/_partials/templates/script.html | 2 +- .../_partials/assets/adapters/cloudinary.html | 2 +- layouts/_partials/assets/adapters/hugo.html | 2 +- .../assets/adapters/imagekit-rewrite.html | 2 +- .../_partials/assets/adapters/imagekit.html | 2 +- layouts/_partials/assets/adapters/imgix.html | 2 +- layouts/_partials/assets/args.html | 2 +- layouts/_partials/assets/breadcrumb.html | 2 +- layouts/_partials/assets/button.html | 2 +- layouts/_partials/assets/card-group.html | 2 +- layouts/_partials/assets/card.html | 2 +- layouts/_partials/assets/carousel-item.html | 2 +- layouts/_partials/assets/contact.html | 2 +- layouts/_partials/assets/download.html | 2 +- .../assets/featured-illustration.html | 2 +- .../assets/helpers/GetDimension.html | 2 +- .../assets/helpers/image-definition.html | 2 +- .../assets/helpers/image-dimension.html | 2 +- .../assets/helpers/image-rewrite.html | 2 +- .../_partials/assets/helpers/image-set.html | 2 +- .../_partials/assets/helpers/navbar-item.html | 2 +- layouts/_partials/assets/hero.html | 2 +- layouts/_partials/assets/image.html | 2 +- layouts/_partials/assets/link.html | 2 +- layouts/_partials/assets/links.html | 2 +- layouts/_partials/assets/live-card.html | 2 +- layouts/_partials/assets/live-image.html | 2 +- layouts/_partials/assets/live-pages.html | 2 +- layouts/_partials/assets/nav-item.html | 2 +- layouts/_partials/assets/nav.html | 2 +- layouts/_partials/assets/navbar.html | 2 +- layouts/_partials/assets/page-alert.html | 2 +- layouts/_partials/assets/pagination.html | 2 +- layouts/_partials/assets/persona.html | 2 +- layouts/_partials/assets/section-title.html | 2 +- layouts/_partials/assets/sidebar.html | 2 +- layouts/_partials/assets/stack.html | 2 +- layouts/_partials/assets/table.html | 2 +- layouts/_partials/assets/testimonial.html | 2 +- layouts/_partials/assets/timeline.html | 2 +- layouts/_partials/assets/toast.html | 2 +- layouts/_partials/assets/toc-dropdown.html | 2 +- layouts/_partials/assets/toc-main.html | 2 +- layouts/_partials/assets/version.html | 2 +- layouts/_partials/assets/video.html | 2 +- layouts/_partials/footer/scripts.html | 2 +- layouts/_partials/page/sharing.html | 2 +- layouts/_partials/templates/script.html | 2 +- .../utilities/GetBackgroundStyle.html | 2 +- layouts/_partials/utilities/GetLink.html | 2 +- .../utilities/RenderContentBlocks.html | 2 +- layouts/_shortcodes/abbr.html | 2 +- layouts/_shortcodes/accordion-item.html | 2 +- layouts/_shortcodes/accordion.html | 2 +- layouts/_shortcodes/alert.html | 2 +- layouts/_shortcodes/args.html | 2 +- layouts/_shortcodes/badge.html | 2 +- layouts/_shortcodes/breadcrumb.html | 2 +- layouts/_shortcodes/button-group.html | 2 +- layouts/_shortcodes/button.html | 2 +- layouts/_shortcodes/card-group.html | 2 +- layouts/_shortcodes/card.html | 2 +- layouts/_shortcodes/carousel.html | 2 +- layouts/_shortcodes/collapse.html | 2 +- layouts/_shortcodes/command.html | 2 +- layouts/_shortcodes/docs.html | 2 +- layouts/_shortcodes/example-bookshop.html | 2 +- layouts/_shortcodes/example.html | 2 +- layouts/_shortcodes/file.html | 2 +- layouts/_shortcodes/image.html | 2 +- layouts/_shortcodes/img.html | 2 +- layouts/_shortcodes/ins.html | 2 +- layouts/_shortcodes/kbd.html | 2 +- layouts/_shortcodes/link.html | 2 +- layouts/_shortcodes/mark.html | 2 +- layouts/_shortcodes/nav-item.html | 2 +- layouts/_shortcodes/nav.html | 2 +- layouts/_shortcodes/navbar.html | 2 +- layouts/_shortcodes/persona.html | 2 +- layouts/_shortcodes/release.html | 2 +- layouts/_shortcodes/spinner.html | 2 +- layouts/_shortcodes/sub.html | 2 +- layouts/_shortcodes/sup.html | 2 +- layouts/_shortcodes/table.html | 2 +- layouts/_shortcodes/testimonial.html | 2 +- layouts/_shortcodes/timeline.html | 2 +- layouts/_shortcodes/toast.html | 2 +- layouts/_shortcodes/tooltip.html | 2 +- layouts/_shortcodes/video.html | 2 +- layouts/_shortcodes/vimeo.html | 2 +- layouts/_shortcodes/youtube.html | 2 +- 94 files changed, 139 insertions(+), 234 deletions(-) diff --git a/LICENSE b/LICENSE index 98ff7eb9..3e7fd73b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022-2025 Mark Dumay +Copyright (c) 2022 - 2026 Hinode Team / Mark Dumay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index 000424f9..2fd51511 100644 --- a/config/_default/hugo.toml +++ b/config/_default/hugo.toml @@ -1,6 +1,6 @@ # toml-docs-start main title = "Hinode" -copyright = "Copyright © 2022 - 2025 Mark Dumay." +copyright = "Copyright © 2026 Hinode Team" enableGitInfo = true # toml-docs-end main diff --git a/exampleSite/hugo_stats.json b/exampleSite/hugo_stats.json index 1f9e729a..08940aea 100644 --- a/exampleSite/hugo_stats.json +++ b/exampleSite/hugo_stats.json @@ -728,21 +728,11 @@ "docs", "documentation", "dropdown-nav-0", - "dropdown-panel-0117d8e9d312d076db3f9384b094fc34", - "dropdown-panel-0a3e4b5af4c6d880756155426b7019aa", - "dropdown-panel-1417c76d0e791092f52eff2eeebc6c4c", - "dropdown-panel-1c2d4835c3df207dc0475e8a88557a06", - "dropdown-panel-25d9603bb1fa2039061a04c0429691a8", - "dropdown-panel-572174e3d1ad47f1c65122690dd3148f", - "dropdown-panel-72acde6b0999ef9c3a01575f0e1012ed", - "dropdown-panel-87f41121903428753ec086da02ce4801", - "dropdown-panel-8915a594eac849c0395ad9faf90df0c3", - "dropdown-panel-8a1672fb4d1c234a54767e1cc8d09750", - "dropdown-panel-8e89de44d5e224787f65f889ba1ead1d", - "dropdown-panel-939a707cb8eefd81090b7a4b69d63a25", - "dropdown-panel-99008efba6683726ee072685db9c8f6f", - "dropdown-panel-d3f2ef79f536995b3684504691b29f29", - "dropdown-panel-dfb339c91df350570005a761f5fee8e9", + "dropdown-panel-72d902ae3ffaf371eef4bcb5f19e8b3c", + "dropdown-panel-794e7f6be301678fe221db0c5e3361fb", + "dropdown-panel-94b0e1b417814489121378aa90bce9c4", + "dropdown-panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9", + "dropdown-panel-d45d7c10233adadb709eb4e2a3f10106", "eerste-artikel", "elements-type", "entity-relationship-diagram", @@ -765,27 +755,14 @@ "fab-whatsapp", "fab-x-twitter", "faq", - "faq-b390a4a61d3ffbbe720e2407a09b347c", - "faq-b390a4a61d3ffbbe720e2407a09b347c-heading-faq-b390a4a61d3ffbbe720e2407a09b347c", - "faq-b390a4a61d3ffbbe720e2407a09b347c-item-0", - "faq-b390a4a61d3ffbbe720e2407a09b347c-item-1", - "faq-b390a4a61d3ffbbe720e2407a09b347c-item-2", - "faq-bf2bcfa203e1f76daa2cca6dc7a27121", - "faq-bf2bcfa203e1f76daa2cca6dc7a27121-heading-faq-bf2bcfa203e1f76daa2cca6dc7a27121", - "faq-bf2bcfa203e1f76daa2cca6dc7a27121-item-0", - "faq-bf2bcfa203e1f76daa2cca6dc7a27121-item-1", - "faq-bf2bcfa203e1f76daa2cca6dc7a27121-item-2", - "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194", - "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-heading-faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194", - "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-item-0", - "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-item-1", - "faq-d0cd59e1d7ff6660dbb1c4ecbc5bd194-item-2", + "faq-e3fdea3b7bc9ca84908e0c951c52712b", + "faq-e3fdea3b7bc9ca84908e0c951c52712b-heading-faq-e3fdea3b7bc9ca84908e0c951c52712b", + "faq-e3fdea3b7bc9ca84908e0c951c52712b-item-0", + "faq-e3fdea3b7bc9ca84908e0c951c52712b-item-1", + "faq-e3fdea3b7bc9ca84908e0c951c52712b-item-2", "fas-1", "fas-2", "fas-3", - "fas-4", - "fas-5", - "fas-6", "fas-address-card", "fas-angle-left", "fas-angle-right", @@ -893,21 +870,11 @@ "nav-0-btn-1", "nav-0-btn-2", "nav-nav-0", - "nav-panel-0117d8e9d312d076db3f9384b094fc34", - "nav-panel-0a3e4b5af4c6d880756155426b7019aa", - "nav-panel-1417c76d0e791092f52eff2eeebc6c4c", - "nav-panel-1c2d4835c3df207dc0475e8a88557a06", - "nav-panel-25d9603bb1fa2039061a04c0429691a8", - "nav-panel-572174e3d1ad47f1c65122690dd3148f", - "nav-panel-72acde6b0999ef9c3a01575f0e1012ed", - "nav-panel-87f41121903428753ec086da02ce4801", - "nav-panel-8915a594eac849c0395ad9faf90df0c3", - "nav-panel-8a1672fb4d1c234a54767e1cc8d09750", - "nav-panel-8e89de44d5e224787f65f889ba1ead1d", - "nav-panel-939a707cb8eefd81090b7a4b69d63a25", - "nav-panel-99008efba6683726ee072685db9c8f6f", - "nav-panel-d3f2ef79f536995b3684504691b29f29", - "nav-panel-dfb339c91df350570005a761f5fee8e9", + "nav-panel-72d902ae3ffaf371eef4bcb5f19e8b3c", + "nav-panel-794e7f6be301678fe221db0c5e3361fb", + "nav-panel-94b0e1b417814489121378aa90bce9c4", + "nav-panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9", + "nav-panel-d45d7c10233adadb709eb4e2a3f10106", "navbar", "navbar-0-collapse", "navbar-mode", @@ -917,96 +884,36 @@ "notification", "over-mij", "overview", - "panel-0117d8e9d312d076db3f9384b094fc34-0", - "panel-0117d8e9d312d076db3f9384b094fc34-1", - "panel-0117d8e9d312d076db3f9384b094fc34-2", - "panel-0117d8e9d312d076db3f9384b094fc34-btn-0", - "panel-0117d8e9d312d076db3f9384b094fc34-btn-1", - "panel-0117d8e9d312d076db3f9384b094fc34-btn-2", - "panel-0a3e4b5af4c6d880756155426b7019aa-0", - "panel-0a3e4b5af4c6d880756155426b7019aa-1", - "panel-0a3e4b5af4c6d880756155426b7019aa-2", - "panel-0a3e4b5af4c6d880756155426b7019aa-btn-0", - "panel-0a3e4b5af4c6d880756155426b7019aa-btn-1", - "panel-0a3e4b5af4c6d880756155426b7019aa-btn-2", - "panel-1417c76d0e791092f52eff2eeebc6c4c-0", - "panel-1417c76d0e791092f52eff2eeebc6c4c-1", - "panel-1417c76d0e791092f52eff2eeebc6c4c-2", - "panel-1417c76d0e791092f52eff2eeebc6c4c-btn-0", - "panel-1417c76d0e791092f52eff2eeebc6c4c-btn-1", - "panel-1417c76d0e791092f52eff2eeebc6c4c-btn-2", - "panel-1c2d4835c3df207dc0475e8a88557a06-0", - "panel-1c2d4835c3df207dc0475e8a88557a06-1", - "panel-1c2d4835c3df207dc0475e8a88557a06-2", - "panel-1c2d4835c3df207dc0475e8a88557a06-btn-0", - "panel-1c2d4835c3df207dc0475e8a88557a06-btn-1", - "panel-1c2d4835c3df207dc0475e8a88557a06-btn-2", - "panel-25d9603bb1fa2039061a04c0429691a8-0", - "panel-25d9603bb1fa2039061a04c0429691a8-1", - "panel-25d9603bb1fa2039061a04c0429691a8-2", - "panel-25d9603bb1fa2039061a04c0429691a8-btn-0", - "panel-25d9603bb1fa2039061a04c0429691a8-btn-1", - "panel-25d9603bb1fa2039061a04c0429691a8-btn-2", - "panel-572174e3d1ad47f1c65122690dd3148f-0", - "panel-572174e3d1ad47f1c65122690dd3148f-1", - "panel-572174e3d1ad47f1c65122690dd3148f-2", - "panel-572174e3d1ad47f1c65122690dd3148f-btn-0", - "panel-572174e3d1ad47f1c65122690dd3148f-btn-1", - "panel-572174e3d1ad47f1c65122690dd3148f-btn-2", - "panel-72acde6b0999ef9c3a01575f0e1012ed-0", - "panel-72acde6b0999ef9c3a01575f0e1012ed-1", - "panel-72acde6b0999ef9c3a01575f0e1012ed-2", - "panel-72acde6b0999ef9c3a01575f0e1012ed-btn-0", - "panel-72acde6b0999ef9c3a01575f0e1012ed-btn-1", - "panel-72acde6b0999ef9c3a01575f0e1012ed-btn-2", - "panel-87f41121903428753ec086da02ce4801-0", - "panel-87f41121903428753ec086da02ce4801-1", - "panel-87f41121903428753ec086da02ce4801-2", - "panel-87f41121903428753ec086da02ce4801-btn-0", - "panel-87f41121903428753ec086da02ce4801-btn-1", - "panel-87f41121903428753ec086da02ce4801-btn-2", - "panel-8915a594eac849c0395ad9faf90df0c3-0", - "panel-8915a594eac849c0395ad9faf90df0c3-1", - "panel-8915a594eac849c0395ad9faf90df0c3-2", - "panel-8915a594eac849c0395ad9faf90df0c3-btn-0", - "panel-8915a594eac849c0395ad9faf90df0c3-btn-1", - "panel-8915a594eac849c0395ad9faf90df0c3-btn-2", - "panel-8a1672fb4d1c234a54767e1cc8d09750-0", - "panel-8a1672fb4d1c234a54767e1cc8d09750-1", - "panel-8a1672fb4d1c234a54767e1cc8d09750-2", - "panel-8a1672fb4d1c234a54767e1cc8d09750-btn-0", - "panel-8a1672fb4d1c234a54767e1cc8d09750-btn-1", - "panel-8a1672fb4d1c234a54767e1cc8d09750-btn-2", - "panel-8e89de44d5e224787f65f889ba1ead1d-0", - "panel-8e89de44d5e224787f65f889ba1ead1d-1", - "panel-8e89de44d5e224787f65f889ba1ead1d-2", - "panel-8e89de44d5e224787f65f889ba1ead1d-btn-0", - "panel-8e89de44d5e224787f65f889ba1ead1d-btn-1", - "panel-8e89de44d5e224787f65f889ba1ead1d-btn-2", - "panel-939a707cb8eefd81090b7a4b69d63a25-0", - "panel-939a707cb8eefd81090b7a4b69d63a25-1", - "panel-939a707cb8eefd81090b7a4b69d63a25-2", - "panel-939a707cb8eefd81090b7a4b69d63a25-btn-0", - "panel-939a707cb8eefd81090b7a4b69d63a25-btn-1", - "panel-939a707cb8eefd81090b7a4b69d63a25-btn-2", - "panel-99008efba6683726ee072685db9c8f6f-0", - "panel-99008efba6683726ee072685db9c8f6f-1", - "panel-99008efba6683726ee072685db9c8f6f-2", - "panel-99008efba6683726ee072685db9c8f6f-btn-0", - "panel-99008efba6683726ee072685db9c8f6f-btn-1", - "panel-99008efba6683726ee072685db9c8f6f-btn-2", - "panel-d3f2ef79f536995b3684504691b29f29-0", - "panel-d3f2ef79f536995b3684504691b29f29-1", - "panel-d3f2ef79f536995b3684504691b29f29-2", - "panel-d3f2ef79f536995b3684504691b29f29-btn-0", - "panel-d3f2ef79f536995b3684504691b29f29-btn-1", - "panel-d3f2ef79f536995b3684504691b29f29-btn-2", - "panel-dfb339c91df350570005a761f5fee8e9-0", - "panel-dfb339c91df350570005a761f5fee8e9-1", - "panel-dfb339c91df350570005a761f5fee8e9-2", - "panel-dfb339c91df350570005a761f5fee8e9-btn-0", - "panel-dfb339c91df350570005a761f5fee8e9-btn-1", - "panel-dfb339c91df350570005a761f5fee8e9-btn-2", + "panel-72d902ae3ffaf371eef4bcb5f19e8b3c-0", + "panel-72d902ae3ffaf371eef4bcb5f19e8b3c-1", + "panel-72d902ae3ffaf371eef4bcb5f19e8b3c-2", + "panel-72d902ae3ffaf371eef4bcb5f19e8b3c-btn-0", + "panel-72d902ae3ffaf371eef4bcb5f19e8b3c-btn-1", + "panel-72d902ae3ffaf371eef4bcb5f19e8b3c-btn-2", + "panel-794e7f6be301678fe221db0c5e3361fb-0", + "panel-794e7f6be301678fe221db0c5e3361fb-1", + "panel-794e7f6be301678fe221db0c5e3361fb-2", + "panel-794e7f6be301678fe221db0c5e3361fb-btn-0", + "panel-794e7f6be301678fe221db0c5e3361fb-btn-1", + "panel-794e7f6be301678fe221db0c5e3361fb-btn-2", + "panel-94b0e1b417814489121378aa90bce9c4-0", + "panel-94b0e1b417814489121378aa90bce9c4-1", + "panel-94b0e1b417814489121378aa90bce9c4-2", + "panel-94b0e1b417814489121378aa90bce9c4-btn-0", + "panel-94b0e1b417814489121378aa90bce9c4-btn-1", + "panel-94b0e1b417814489121378aa90bce9c4-btn-2", + "panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9-0", + "panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9-1", + "panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9-2", + "panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9-btn-0", + "panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9-btn-1", + "panel-9dbacf55ae0fa8e2f4ef2d2fec73c6c9-btn-2", + "panel-d45d7c10233adadb709eb4e2a3f10106-0", + "panel-d45d7c10233adadb709eb4e2a3f10106-1", + "panel-d45d7c10233adadb709eb4e2a3f10106-2", + "panel-d45d7c10233adadb709eb4e2a3f10106-btn-0", + "panel-d45d7c10233adadb709eb4e2a3f10106-btn-1", + "panel-d45d7c10233adadb709eb4e2a3f10106-btn-2", "panels", "persona", "pie-chart", @@ -1045,9 +952,7 @@ "tabs", "team", "testimonial", - "testimonial-carousel-7fde78500368f7969c97de30a2c3acc1", - "testimonial-carousel-8008ef7ce1589b2d6f732a6dabb22910", - "testimonial-carousel-897fa7d37ad08afe3b8cf26124fca3c9", + "testimonial-carousel-e94fc51021c546df65b93ac823ca4e15", "testimonials", "testimonials-type", "third-party-links--use-of-your-information", diff --git a/exampleSite/layouts/_partials/templates/script.html b/exampleSite/layouts/_partials/templates/script.html index dcbe40df..b724f211 100644 --- a/exampleSite/layouts/_partials/templates/script.html +++ b/exampleSite/layouts/_partials/templates/script.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/adapters/cloudinary.html b/layouts/_partials/assets/adapters/cloudinary.html index 808a32cd..914f67f8 100644 --- a/layouts/_partials/assets/adapters/cloudinary.html +++ b/layouts/_partials/assets/adapters/cloudinary.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/adapters/hugo.html b/layouts/_partials/assets/adapters/hugo.html index 4599d339..5e34d6dc 100644 --- a/layouts/_partials/assets/adapters/hugo.html +++ b/layouts/_partials/assets/adapters/hugo.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/adapters/imagekit-rewrite.html b/layouts/_partials/assets/adapters/imagekit-rewrite.html index 0a7a3282..e572ae6b 100644 --- a/layouts/_partials/assets/adapters/imagekit-rewrite.html +++ b/layouts/_partials/assets/adapters/imagekit-rewrite.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/adapters/imagekit.html b/layouts/_partials/assets/adapters/imagekit.html index 8495abce..d82c1181 100644 --- a/layouts/_partials/assets/adapters/imagekit.html +++ b/layouts/_partials/assets/adapters/imagekit.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/adapters/imgix.html b/layouts/_partials/assets/adapters/imgix.html index cf3190c8..1421b449 100644 --- a/layouts/_partials/assets/adapters/imgix.html +++ b/layouts/_partials/assets/adapters/imgix.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/args.html b/layouts/_partials/assets/args.html index 44f826d0..d10cbddf 100644 --- a/layouts/_partials/assets/args.html +++ b/layouts/_partials/assets/args.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/breadcrumb.html b/layouts/_partials/assets/breadcrumb.html index 719fe681..230a5741 100644 --- a/layouts/_partials/assets/breadcrumb.html +++ b/layouts/_partials/assets/breadcrumb.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/button.html b/layouts/_partials/assets/button.html index a55b6565..5d422247 100644 --- a/layouts/_partials/assets/button.html +++ b/layouts/_partials/assets/button.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/card-group.html b/layouts/_partials/assets/card-group.html index 9783f269..74d3b552 100644 --- a/layouts/_partials/assets/card-group.html +++ b/layouts/_partials/assets/card-group.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/card.html b/layouts/_partials/assets/card.html index c34fca3f..5381d5c2 100644 --- a/layouts/_partials/assets/card.html +++ b/layouts/_partials/assets/card.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/carousel-item.html b/layouts/_partials/assets/carousel-item.html index 542e0967..8ed3b2e0 100644 --- a/layouts/_partials/assets/carousel-item.html +++ b/layouts/_partials/assets/carousel-item.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/contact.html b/layouts/_partials/assets/contact.html index 2f5066b6..af6546e8 100644 --- a/layouts/_partials/assets/contact.html +++ b/layouts/_partials/assets/contact.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2024 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2024 - 2026 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. */}} diff --git a/layouts/_partials/assets/download.html b/layouts/_partials/assets/download.html index c90c1c9f..57c2ab6b 100644 --- a/layouts/_partials/assets/download.html +++ b/layouts/_partials/assets/download.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/featured-illustration.html b/layouts/_partials/assets/featured-illustration.html index 75ab1432..ca5385c3 100644 --- a/layouts/_partials/assets/featured-illustration.html +++ b/layouts/_partials/assets/featured-illustration.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/helpers/GetDimension.html b/layouts/_partials/assets/helpers/GetDimension.html index 3278fdf4..93584bba 100644 --- a/layouts/_partials/assets/helpers/GetDimension.html +++ b/layouts/_partials/assets/helpers/GetDimension.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/helpers/image-definition.html b/layouts/_partials/assets/helpers/image-definition.html index 97163afe..090b5f60 100644 --- a/layouts/_partials/assets/helpers/image-definition.html +++ b/layouts/_partials/assets/helpers/image-definition.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/helpers/image-dimension.html b/layouts/_partials/assets/helpers/image-dimension.html index 696abdd9..c2d620d2 100644 --- a/layouts/_partials/assets/helpers/image-dimension.html +++ b/layouts/_partials/assets/helpers/image-dimension.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/helpers/image-rewrite.html b/layouts/_partials/assets/helpers/image-rewrite.html index 993436d9..0532a817 100644 --- a/layouts/_partials/assets/helpers/image-rewrite.html +++ b/layouts/_partials/assets/helpers/image-rewrite.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/helpers/image-set.html b/layouts/_partials/assets/helpers/image-set.html index f2cf8aeb..38f8ad4c 100644 --- a/layouts/_partials/assets/helpers/image-set.html +++ b/layouts/_partials/assets/helpers/image-set.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/helpers/navbar-item.html b/layouts/_partials/assets/helpers/navbar-item.html index ab877db0..e01ec7cc 100644 --- a/layouts/_partials/assets/helpers/navbar-item.html +++ b/layouts/_partials/assets/helpers/navbar-item.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/hero.html b/layouts/_partials/assets/hero.html index e731934e..e74c1d32 100644 --- a/layouts/_partials/assets/hero.html +++ b/layouts/_partials/assets/hero.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2024 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2024 - 2026 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. */}} diff --git a/layouts/_partials/assets/image.html b/layouts/_partials/assets/image.html index 6ed3fdbb..258c4286 100644 --- a/layouts/_partials/assets/image.html +++ b/layouts/_partials/assets/image.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/link.html b/layouts/_partials/assets/link.html index f98af030..9a6fb4e7 100644 --- a/layouts/_partials/assets/link.html +++ b/layouts/_partials/assets/link.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/links.html b/layouts/_partials/assets/links.html index bef638eb..f1dec5bc 100644 --- a/layouts/_partials/assets/links.html +++ b/layouts/_partials/assets/links.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2024 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2024 - 2026 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. */}} diff --git a/layouts/_partials/assets/live-card.html b/layouts/_partials/assets/live-card.html index ae4bba56..8e9de8b2 100644 --- a/layouts/_partials/assets/live-card.html +++ b/layouts/_partials/assets/live-card.html @@ -1,5 +1,5 @@ diff --git a/layouts/_partials/assets/live-image.html b/layouts/_partials/assets/live-image.html index 8358480a..dd42a13e 100644 --- a/layouts/_partials/assets/live-image.html +++ b/layouts/_partials/assets/live-image.html @@ -1,5 +1,5 @@ {{- $error := false }} diff --git a/layouts/_partials/assets/live-pages.html b/layouts/_partials/assets/live-pages.html index f8e24988..3abbecd8 100644 --- a/layouts/_partials/assets/live-pages.html +++ b/layouts/_partials/assets/live-pages.html @@ -1,5 +1,5 @@ {{/* Initialize arguments */}} diff --git a/layouts/_partials/assets/nav-item.html b/layouts/_partials/assets/nav-item.html index a8d3a62f..56a8fa6f 100644 --- a/layouts/_partials/assets/nav-item.html +++ b/layouts/_partials/assets/nav-item.html @@ -1,6 +1,6 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/nav.html b/layouts/_partials/assets/nav.html index a1ee824c..959812cd 100644 --- a/layouts/_partials/assets/nav.html +++ b/layouts/_partials/assets/nav.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/navbar.html b/layouts/_partials/assets/navbar.html index ea6dee98..32b32a0a 100644 --- a/layouts/_partials/assets/navbar.html +++ b/layouts/_partials/assets/navbar.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/page-alert.html b/layouts/_partials/assets/page-alert.html index 925fcd8d..b947cc4a 100644 --- a/layouts/_partials/assets/page-alert.html +++ b/layouts/_partials/assets/page-alert.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/pagination.html b/layouts/_partials/assets/pagination.html index 15be3917..6b743253 100644 --- a/layouts/_partials/assets/pagination.html +++ b/layouts/_partials/assets/pagination.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_partials/assets/persona.html b/layouts/_partials/assets/persona.html index d4da0318..24c4da5b 100644 --- a/layouts/_partials/assets/persona.html +++ b/layouts/_partials/assets/persona.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/section-title.html b/layouts/_partials/assets/section-title.html index c1585b9f..02476468 100644 --- a/layouts/_partials/assets/section-title.html +++ b/layouts/_partials/assets/section-title.html @@ -1,5 +1,5 @@ {{/* Initialize arguments */}} diff --git a/layouts/_partials/assets/sidebar.html b/layouts/_partials/assets/sidebar.html index b3e11320..160c128d 100644 --- a/layouts/_partials/assets/sidebar.html +++ b/layouts/_partials/assets/sidebar.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/stack.html b/layouts/_partials/assets/stack.html index 9c56c6e4..baa02b82 100644 --- a/layouts/_partials/assets/stack.html +++ b/layouts/_partials/assets/stack.html @@ -1,5 +1,5 @@ diff --git a/layouts/_partials/assets/table.html b/layouts/_partials/assets/table.html index 1860397d..75dbad26 100644 --- a/layouts/_partials/assets/table.html +++ b/layouts/_partials/assets/table.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/testimonial.html b/layouts/_partials/assets/testimonial.html index bbfa7e1e..d7187b64 100644 --- a/layouts/_partials/assets/testimonial.html +++ b/layouts/_partials/assets/testimonial.html @@ -1,5 +1,5 @@ diff --git a/layouts/_partials/assets/timeline.html b/layouts/_partials/assets/timeline.html index b32571e7..7ba44619 100644 --- a/layouts/_partials/assets/timeline.html +++ b/layouts/_partials/assets/timeline.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_partials/assets/toast.html b/layouts/_partials/assets/toast.html index 3f1856f2..d4e54a77 100644 --- a/layouts/_partials/assets/toast.html +++ b/layouts/_partials/assets/toast.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/toc-dropdown.html b/layouts/_partials/assets/toc-dropdown.html index cc181e55..526d040e 100644 --- a/layouts/_partials/assets/toc-dropdown.html +++ b/layouts/_partials/assets/toc-dropdown.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/toc-main.html b/layouts/_partials/assets/toc-main.html index 1eaada07..977ae3f2 100644 --- a/layouts/_partials/assets/toc-main.html +++ b/layouts/_partials/assets/toc-main.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/version.html b/layouts/_partials/assets/version.html index 959751e1..aeac729c 100644 --- a/layouts/_partials/assets/version.html +++ b/layouts/_partials/assets/version.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/assets/video.html b/layouts/_partials/assets/video.html index 7d52db79..0e8e0fbd 100644 --- a/layouts/_partials/assets/video.html +++ b/layouts/_partials/assets/video.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_partials/footer/scripts.html b/layouts/_partials/footer/scripts.html index 434cf016..eec17c32 100644 --- a/layouts/_partials/footer/scripts.html +++ b/layouts/_partials/footer/scripts.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/page/sharing.html b/layouts/_partials/page/sharing.html index 1d0a9af3..70c6b9e7 100644 --- a/layouts/_partials/page/sharing.html +++ b/layouts/_partials/page/sharing.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/templates/script.html b/layouts/_partials/templates/script.html index ec739826..142a3baf 100644 --- a/layouts/_partials/templates/script.html +++ b/layouts/_partials/templates/script.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_partials/utilities/GetBackgroundStyle.html b/layouts/_partials/utilities/GetBackgroundStyle.html index 031e22db..6532d53d 100644 --- a/layouts/_partials/utilities/GetBackgroundStyle.html +++ b/layouts/_partials/utilities/GetBackgroundStyle.html @@ -1,5 +1,5 @@ {{/* Initialize arguments */}} diff --git a/layouts/_partials/utilities/GetLink.html b/layouts/_partials/utilities/GetLink.html index 648ac64a..f3cf51aa 100644 --- a/layouts/_partials/utilities/GetLink.html +++ b/layouts/_partials/utilities/GetLink.html @@ -1,5 +1,5 @@ diff --git a/layouts/_partials/utilities/RenderContentBlocks.html b/layouts/_partials/utilities/RenderContentBlocks.html index 5098abe4..e6b046d2 100644 --- a/layouts/_partials/utilities/RenderContentBlocks.html +++ b/layouts/_partials/utilities/RenderContentBlocks.html @@ -1,5 +1,5 @@ {{/* Ingest bookshop bindings when applicable */}} diff --git a/layouts/_shortcodes/abbr.html b/layouts/_shortcodes/abbr.html index bd63109a..7142c748 100644 --- a/layouts/_shortcodes/abbr.html +++ b/layouts/_shortcodes/abbr.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/accordion-item.html b/layouts/_shortcodes/accordion-item.html index 1d51ac3e..99ed453a 100644 --- a/layouts/_shortcodes/accordion-item.html +++ b/layouts/_shortcodes/accordion-item.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/accordion.html b/layouts/_shortcodes/accordion.html index 61c01aeb..f5cc339e 100644 --- a/layouts/_shortcodes/accordion.html +++ b/layouts/_shortcodes/accordion.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/alert.html b/layouts/_shortcodes/alert.html index a7f598ce..18de146d 100644 --- a/layouts/_shortcodes/alert.html +++ b/layouts/_shortcodes/alert.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/args.html b/layouts/_shortcodes/args.html index fc03a49e..38e1b63c 100644 --- a/layouts/_shortcodes/args.html +++ b/layouts/_shortcodes/args.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/badge.html b/layouts/_shortcodes/badge.html index 63b0f08a..91557428 100644 --- a/layouts/_shortcodes/badge.html +++ b/layouts/_shortcodes/badge.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/breadcrumb.html b/layouts/_shortcodes/breadcrumb.html index e8f73aa5..ae62d76f 100644 --- a/layouts/_shortcodes/breadcrumb.html +++ b/layouts/_shortcodes/breadcrumb.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/button-group.html b/layouts/_shortcodes/button-group.html index 3c70deb8..5ec82965 100644 --- a/layouts/_shortcodes/button-group.html +++ b/layouts/_shortcodes/button-group.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/button.html b/layouts/_shortcodes/button.html index cd5f7d5e..bdc3862b 100644 --- a/layouts/_shortcodes/button.html +++ b/layouts/_shortcodes/button.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/card-group.html b/layouts/_shortcodes/card-group.html index aed7ddb2..ef1e2466 100644 --- a/layouts/_shortcodes/card-group.html +++ b/layouts/_shortcodes/card-group.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/card.html b/layouts/_shortcodes/card.html index 2f7bfab7..6a372fc4 100644 --- a/layouts/_shortcodes/card.html +++ b/layouts/_shortcodes/card.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/carousel.html b/layouts/_shortcodes/carousel.html index a458fe1f..7ef0aafe 100644 --- a/layouts/_shortcodes/carousel.html +++ b/layouts/_shortcodes/carousel.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/collapse.html b/layouts/_shortcodes/collapse.html index af1e2ac8..52ebcb4b 100644 --- a/layouts/_shortcodes/collapse.html +++ b/layouts/_shortcodes/collapse.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/command.html b/layouts/_shortcodes/command.html index 9dce9742..8cc5a7ea 100644 --- a/layouts/_shortcodes/command.html +++ b/layouts/_shortcodes/command.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/docs.html b/layouts/_shortcodes/docs.html index a4cc56d3..c3cff42d 100644 --- a/layouts/_shortcodes/docs.html +++ b/layouts/_shortcodes/docs.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_shortcodes/example-bookshop.html b/layouts/_shortcodes/example-bookshop.html index f4db5ccb..a449123d 100644 --- a/layouts/_shortcodes/example-bookshop.html +++ b/layouts/_shortcodes/example-bookshop.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_shortcodes/example.html b/layouts/_shortcodes/example.html index b9dd50d0..cb40dbb5 100644 --- a/layouts/_shortcodes/example.html +++ b/layouts/_shortcodes/example.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_shortcodes/file.html b/layouts/_shortcodes/file.html index 152a4704..5815a3d3 100644 --- a/layouts/_shortcodes/file.html +++ b/layouts/_shortcodes/file.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_shortcodes/image.html b/layouts/_shortcodes/image.html index e41952b8..bb03adda 100644 --- a/layouts/_shortcodes/image.html +++ b/layouts/_shortcodes/image.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/img.html b/layouts/_shortcodes/img.html index 91fed604..e5ef8ef0 100644 --- a/layouts/_shortcodes/img.html +++ b/layouts/_shortcodes/img.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/ins.html b/layouts/_shortcodes/ins.html index 0335a958..774a8034 100644 --- a/layouts/_shortcodes/ins.html +++ b/layouts/_shortcodes/ins.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/kbd.html b/layouts/_shortcodes/kbd.html index 53c0f918..c7727a69 100644 --- a/layouts/_shortcodes/kbd.html +++ b/layouts/_shortcodes/kbd.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/link.html b/layouts/_shortcodes/link.html index 4144a085..a7fd2997 100644 --- a/layouts/_shortcodes/link.html +++ b/layouts/_shortcodes/link.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/mark.html b/layouts/_shortcodes/mark.html index c7974f6c..a1088de7 100644 --- a/layouts/_shortcodes/mark.html +++ b/layouts/_shortcodes/mark.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/nav-item.html b/layouts/_shortcodes/nav-item.html index 529362f6..036318d4 100644 --- a/layouts/_shortcodes/nav-item.html +++ b/layouts/_shortcodes/nav-item.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/nav.html b/layouts/_shortcodes/nav.html index 35c282b4..a8825712 100644 --- a/layouts/_shortcodes/nav.html +++ b/layouts/_shortcodes/nav.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/navbar.html b/layouts/_shortcodes/navbar.html index 3999571d..fc39ad8d 100644 --- a/layouts/_shortcodes/navbar.html +++ b/layouts/_shortcodes/navbar.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/persona.html b/layouts/_shortcodes/persona.html index 0bb8f2f8..86cb90f5 100644 --- a/layouts/_shortcodes/persona.html +++ b/layouts/_shortcodes/persona.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/release.html b/layouts/_shortcodes/release.html index 56e64fa8..0a7d405a 100644 --- a/layouts/_shortcodes/release.html +++ b/layouts/_shortcodes/release.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/spinner.html b/layouts/_shortcodes/spinner.html index 095dd5b1..20e77b7c 100644 --- a/layouts/_shortcodes/spinner.html +++ b/layouts/_shortcodes/spinner.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/sub.html b/layouts/_shortcodes/sub.html index 63e3ebc2..26716f02 100644 --- a/layouts/_shortcodes/sub.html +++ b/layouts/_shortcodes/sub.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/sup.html b/layouts/_shortcodes/sup.html index 463e0f48..2c83775e 100644 --- a/layouts/_shortcodes/sup.html +++ b/layouts/_shortcodes/sup.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/table.html b/layouts/_shortcodes/table.html index c900b7eb..542b8292 100644 --- a/layouts/_shortcodes/table.html +++ b/layouts/_shortcodes/table.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/testimonial.html b/layouts/_shortcodes/testimonial.html index 53d92947..b10b89cc 100644 --- a/layouts/_shortcodes/testimonial.html +++ b/layouts/_shortcodes/testimonial.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/timeline.html b/layouts/_shortcodes/timeline.html index 493879ba..6b6c7cd1 100644 --- a/layouts/_shortcodes/timeline.html +++ b/layouts/_shortcodes/timeline.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. diff --git a/layouts/_shortcodes/toast.html b/layouts/_shortcodes/toast.html index c84e339c..d0015589 100644 --- a/layouts/_shortcodes/toast.html +++ b/layouts/_shortcodes/toast.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/tooltip.html b/layouts/_shortcodes/tooltip.html index bdccd582..a02e4726 100644 --- a/layouts/_shortcodes/tooltip.html +++ b/layouts/_shortcodes/tooltip.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/video.html b/layouts/_shortcodes/video.html index 5efea800..880feb81 100644 --- a/layouts/_shortcodes/video.html +++ b/layouts/_shortcodes/video.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/vimeo.html b/layouts/_shortcodes/vimeo.html index 7ebc2850..4dafd9a5 100644 --- a/layouts/_shortcodes/vimeo.html +++ b/layouts/_shortcodes/vimeo.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}} diff --git a/layouts/_shortcodes/youtube.html b/layouts/_shortcodes/youtube.html index a175e763..1f12eecc 100644 --- a/layouts/_shortcodes/youtube.html +++ b/layouts/_shortcodes/youtube.html @@ -1,5 +1,5 @@ {{/* - Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved. + Copyright © 2022 - 2026 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. */}}