Refactor bookshop components

This commit is contained in:
Mark Dumay
2025-06-17 05:53:33 +02:00
parent c82f9a41d4
commit d41d58cf5d
27 changed files with 342 additions and 510 deletions

View File

@@ -30,6 +30,7 @@ blueprint:
mode: mode:
order: order:
width: width:
justify:
link-type: link-type:
links: links:
- -

View File

@@ -26,7 +26,7 @@
"link-type" $args.linkType "link-type" $args.linkType
"links" $args.links "links" $args.links
"orientation" "horizontal" "orientation" "horizontal"
"width" (or .width 8) "width" (or $args.width 8)
) )
}} }}
{{- end -}} {{- end -}}

View File

@@ -43,3 +43,5 @@ blueprint:
footer-style: footer-style:
orientation: orientation:
class: class:
width:
justify:

View File

@@ -62,48 +62,46 @@
<!-- Main code --> <!-- Main code -->
{{ if not $error }} {{ if not $error }}
<div class="container-xxl p-4 px-xxl-0"> {{- partial "assets/section-title.html" (dict "heading" $args.heading "class" "py-5") -}}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "class" "py-5") -}}
{{ $partial := "assets/card-group.html" }} {{ $partial := "assets/card-group.html" }}
{{ $params := dict }} {{ $params := dict }}
{{- $params = merge $params (dict {{- $params = merge $params (dict
"page" page "page" page
"list" $pages "list" $pages
"max" $args.max "max" $args.max
"cols" $args.cols "cols" $args.cols
"icon-rounded" $args.iconRounded "icon-rounded" $args.iconRounded
"href" (cond $moreButton $moreLink "") "href" (cond $moreButton $moreLink "")
"href-title" (cond $moreButton $moreTitle "") "href-title" (cond $moreButton $moreTitle "")
"href-force" (gt $result.total (len $result.pages)) "href-force" (gt $result.total (len $result.pages))
)}} )}}
{{ if $args.scroll }} {{ if $args.scroll }}
{{ $partial := "assets/stack.html" }} {{ $partial := "assets/stack.html" }}
{{ $params = merge $params (dict {{ $params = merge $params (dict
"header-style" "none" "header-style" "none"
"body-style" "title" "body-style" "title"
"footer-style" "none" "footer-style" "none"
"gutter" 1 "gutter" 1
"padding" 3 "padding" 3
"ratio" "1x1" "ratio" "1x1"
"orientation" "horizontal-sm" "orientation" "horizontal-sm"
"styles" (cond $args.bento $styles "") "styles" (cond $args.bento $styles "")
) -}} ) -}}
{{ else }} {{ else }}
{{ $params = merge $params (dict {{ $params = merge $params (dict
"header-style" $args.headerStyle "header-style" $args.headerStyle
"footer-style" $args.footerStyle "footer-style" $args.footerStyle
"padding" $args.padding "padding" $args.padding
"class" (or $args.class "border-0") "class" (or $args.class "border-0")
"icon-style" "fa-2x" "icon-style" "fa-2x"
"align" "start" "align" "start"
"orientation" $args.orientation "orientation" $args.orientation
"hook" "assets/live-card.html" "hook" "assets/live-card.html"
"pagination" $args.pagination "pagination" $args.pagination
"paginate" $paginate "paginate" $paginate
) -}} ) -}}
{{ end }} {{ end }}
{{ partial $partial $params }} {{ partial $partial $params }}
</div>
{{ end }} {{ end }}

View File

@@ -30,3 +30,5 @@ blueprint:
content: content:
orientation: orientation:
class: class:
width:
justify:

View File

@@ -32,40 +32,38 @@
{{ end}} {{ end}}
{{ if not $error }} {{ if not $error }}
<div class="container-xxl p-4 px-xxl-0"> {{- partial "assets/section-title.html" (dict "heading" $args.heading "class" "py-5") -}}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "class" "py-5") -}}
{{- partial "assets/card-group.html" (dict {{- partial "assets/card-group.html" (dict
"page" page "page" page
"list" $list "list" $list
"class" (printf "border-0 card-icon-primary d-sm-none %s" $args.class) "class" (printf "border-0 card-icon-primary d-sm-none %s" $args.class)
"cols" $args.cols "cols" $args.cols
"gutter" "4" "gutter" "4"
"padding" $args.padding "padding" $args.padding
"header-style" "none" "header-style" "none"
"footer-style" "none" "footer-style" "none"
"icon-rounded" $args.iconRounded "icon-rounded" $args.iconRounded
"icon-style" "fa-2x" "icon-style" "fa-2x"
"align" "start" "align" "start"
"orientation" ($args.orientation | default "horizontal-sm") "orientation" ($args.orientation | default "horizontal-sm")
"hook" "assets/live-card.html" "hook" "assets/live-card.html"
) -}} ) -}}
{{- partial "assets/card-group.html" (dict {{- partial "assets/card-group.html" (dict
"page" page "page" page
"list" $list "list" $list
"class" (printf "border-0 card-icon-primary d-none d-sm-block %s" $args.class) "class" (printf "border-0 card-icon-primary d-none d-sm-block %s" $args.class)
"cols" $args.cols "cols" $args.cols
"gutter" "4" "gutter" "4"
"padding" $args.padding "padding" $args.padding
"header-style" "none" "header-style" "none"
"footer-style" "none" "footer-style" "none"
"icon-rounded" $args.iconRounded "icon-rounded" $args.iconRounded
"icon-style" "fa-2x" "icon-style" "fa-2x"
"align" "start" "align" "start"
"orientation" ($args.orientation | default "stacked") "orientation" ($args.orientation | default "stacked")
"hook" "assets/live-card.html" "hook" "assets/live-card.html"
) -}} ) -}}
</div>
{{ end }} {{ end }}

View File

@@ -17,6 +17,8 @@ blueprint:
width: width:
size: size:
contrast: contrast:
width:
justify:
background: background:
backdrop: backdrop:
color: color:

View File

@@ -17,43 +17,41 @@
{{ end }} {{ end }}
{{ if not $args.err }} {{ if not $args.err }}
<div class="container-xxl p-4 px-xxl-0"> {{ $color := "" }}
{{ $color := "" }} {{ if $args.contrast }}{{ $color = "white" }}{{ end }}
{{ if $args.contrast }}{{ $color = "white" }}{{ end }} {{- partial "assets/section-title.html" (dict
{{- partial "assets/section-title.html" (dict "heading" $args.heading
"heading" $args.heading "color" $color
"color" $color "class" "py-5"
"class" "py-5" ) -}}
) -}}
{{ $class := "" }} {{ $class := "" }}
{{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }} {{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }}
<div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end }}accordion-flush mb-3{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto"> <div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end }}accordion-flush mb-3{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto">
{{ range $index, $item := $args.items }} {{ range $index, $item := $args.items }}
<div class="accordion-item"> <div class="accordion-item">
{{- with $item.title -}} {{- with $item.title -}}
<div class="accordion-header m-0" id="{{ $id }}-heading-{{ $id }}"> <div class="accordion-header m-0" id="{{ $id }}-heading-{{ $id }}">
<button class="accordion-button collapsed" <button class="accordion-button collapsed"
type="button" type="button"
data-bs-toggle="collapse" data-bs-toggle="collapse"
data-bs-target="#{{ $id }}-item-{{ $index }}" data-bs-target="#{{ $id }}-item-{{ $index }}"
aria-expanded="false" aria-expanded="false"
aria-controls="{{ $id }}-item-{{ $index }}" aria-controls="{{ $id }}-item-{{ $index }}"
> >
{{ if $args.color }}<div class="text-{{ $args.color }}">{{ . }}</div>{{ else }}{{ . }}{{ end }} {{ if $args.color }}<div class="text-{{ $args.color }}">{{ . }}</div>{{ else }}{{ . }}{{ end }}
</button> </button>
</div>
{{- end -}}
<div id="{{ $id }}-item-{{ $index }}"
class="accordion-collapse collapse"
aria-labelledby="{{ $id }}-heading-{{ $index }}"
data-bs-parent="#{{ $id }}"
>
<div class="accordion-body">{{ $item.description | page.RenderString | safeHTML }}</div>
</div> </div>
{{- end -}}
<div id="{{ $id }}-item-{{ $index }}"
class="accordion-collapse collapse"
aria-labelledby="{{ $id }}-heading-{{ $index }}"
data-bs-parent="#{{ $id }}"
>
<div class="accordion-body">{{ $item.description | page.RenderString | safeHTML }}</div>
</div> </div>
{{ end }} </div>
</div> {{ end }}
</div> </div>
{{ end }} {{ end }}

View File

@@ -38,3 +38,4 @@ blueprint:
cover: cover:
orientation: orientation:
width: width:
justify:

View File

@@ -30,6 +30,7 @@
"links" $args.links "links" $args.links
"orientation" $args.orientation "orientation" $args.orientation
"width" $args.width "width" $args.width
"justify" $args.justify
) )
}} }}
{{ end }} {{ end }}

View File

@@ -21,4 +21,6 @@ blueprint:
backdrop: backdrop:
color: color:
subtle: subtle:
width:
justify:
data: data:

View File

@@ -16,5 +16,5 @@
{{ end }} {{ end }}
{{ if not $args.err }} {{ if not $args.err }}
<div class="container-xxl p-0"{{ with $args.theme }} data-bs-theme="{{ . }}"{{ end }}><hr></div> <hr>
{{ end }} {{ end }}

View File

@@ -39,6 +39,7 @@ blueprint:
label: label:
border: border:
width: width:
justify:
_structures: _structures:
messages: messages:

View File

@@ -73,7 +73,7 @@
) -}} ) -}}
{{ end }} {{ end }}
<div class="container-xxl p-4 px-xxl-0"> {{ if not $args.err }}
{{ $list := slice }} {{ $list := slice }}
{{ range $args.messages }} {{ range $args.messages }}
@@ -133,4 +133,4 @@
</div> </div>
</div> </div>
{{ end }} {{ end }}
</div> {{ end }}

View File

@@ -32,6 +32,9 @@
{{- $background := index $component_props "background" -}} {{- $background := index $component_props "background" -}}
{{- $backdrop := "" -}} {{- $backdrop := "" -}}
{{- $style := index $component_props "wrapper" -}} {{- $style := index $component_props "wrapper" -}}
{{- $width := index $component_props "width" -}}
{{- $justify := index $component_props "justify" | default "start" -}}
{{- $padding := "px-4 px-xxl-0 py-4" -}}
{{- $wrapper := $style }} {{- $wrapper := $style }}
{{ with $background }} {{ with $background }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }} {{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }}
@@ -59,7 +62,16 @@
{{- if $backdrop -}} {{- if $backdrop -}}
{{ partial "assets/live-image.html" (dict "src" $backdrop "class" (printf "background-img-fluid %s" $bgclass) "title" (T "backgroundImage")) }} {{ partial "assets/live-image.html" (dict "src" $backdrop "class" (printf "background-img-fluid %s" $bgclass) "title" (T "backgroundImage")) }}
{{- end -}} {{- end -}}
{{ partial $resolved_component $component_props }}
{{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }}
<div class="container-xxl {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ with $col }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ else }}
{{ partial $resolved_component $component_props }}
{{ end}}
</div>
</section> </section>
{{ "<!--bookshop-live end-->" | safeHTML }} {{ "<!--bookshop-live end-->" | safeHTML }}
{{- else -}} {{- else -}}

View File

@@ -151,13 +151,6 @@ arguments:
- full - full
- title - title
- none - none
# # TODO: rename bodyStyle
# bodyStyle:
# type: string
# optional: true
# default: lead text-muted
# comment: >-
# Style of the body text, if any..
border: border:
type: bool type: bool
optional: true optional: true
@@ -355,6 +348,12 @@ arguments:
- template.HTML - template.HTML
optional: true optional: true
comment: Section content displayed below the title. comment: Section content displayed below the title.
content-style:
type: string
optional: true
default: lead text-muted
comment: >-
Style of the section content, if any.
contrast: contrast:
type: bool type: bool
default: false default: false
@@ -572,17 +571,16 @@ arguments:
optional: true optional: true
comment: >- comment: >-
Heading of the content block, including a preheading and content element. Heading of the content block, including a preheading and content element.
# # TODO: rename headingStyle heading-style:
# headingStyle: type: select
# type: select optional: true
# optional: true default: display
# default: display options:
# options: values:
# values: - display
# - display - fs
# - fs comment: >-
# comment: >- Style of the heading, either display style or regular style (fs).
# Style of the heading, either display or fs (regular).
# headline: # headline:
# type: string # type: string
# optional: true # optional: true
@@ -718,7 +716,7 @@ arguments:
type: select type: select
optional: true optional: true
default: center default: center
comment: Justification of the link title and icon. comment: Justification of the child elements.
options: options:
values: values:
- start - start

View File

@@ -11,3 +11,4 @@ arguments:
wrapper: wrapper:
class: class:
image-overlay: image-overlay:
justify:

View File

@@ -15,6 +15,7 @@ arguments:
cover: cover:
orientation: orientation:
width: width:
justify:
use-section: use-section:
use-title: use-title:
class: class:

View File

@@ -3,124 +3,13 @@ arguments:
heading: heading:
links: links:
color: color:
type: select
comment: Text color of the section.
default: body default: body
optional: true
options:
values:
- body
- primary
- secondary
- black
- white
class: class:
type: string
optional: true
comment: Class attribute of the section title.
size: size:
type: int
optional: true
comment: Display size of the title.
options:
min: 1
max: 6
use-title: use-title:
type: bool
optional: true
default: false
comment: Sets the title to an HTML header instead of a div.
justify: justify:
type: select link-type:
comment: Justification of the link titles and icons. use-section:
optional: true
default: center
options:
values:
- start
- end
- center
- between
- around
- evenly
type:
type: select
optional: true
default: button
comment: Link type
options:
values:
- button
- link
section:
type: bool
optional: true
default: false
comment: >-
Trigger to use the current section as preheading, applies to single pages
only. Any preheading values takes precedence.
arrangement: arrangement:
headingStyle: heading-style:
type: select content-style:
optional: true
default: display
options:
values:
- display
- fs
comment: >-
Style of the heading, either display or fs (regular).
bodyStyle:
type: string
optional: true
default: lead text-muted
comment: >-
Style of the body text, if any..
# class:
# type: string
# optional: true
# comment: Class attribute of the illustration, e.g. "col-6".
# image:
# type: string
# optional: true
# comment: Image displayed on top of or adjacent to the headline.
# imageOverlay:
# type: bool
# optional: true
# default: false
# comment: Trigger to include an image overlay placeholder.
# ratio:
# type: select
# optional: true
# default: 16x9
# comment: >-
# Ratio of the illustration, uses original aspect ratio by default.
# options:
# values:
# - 1x1
# - 3x2
# - 4x3
# - 16x9
# - 21x9
# anchor:
# type: select
# optional: true
# comment:
# Anchor of the thumbnail's crop box, defaults to anchor value set in
# `imaging` section of the site configuration (usually `Smart`).
# options:
# values:
# - TopLeft
# - Top
# - TopRight
# - Left
# - Center
# - Right
# - BottomLeft
# - Bottom
# - BottomRight
# - Smart
# icon:
# type: string
# optional: true
# comment: Icon or animation displayed on top of or adjacent to the headline.

View File

@@ -8,20 +8,20 @@ content_blocks:
title: Welcome to Hinode! title: Welcome to Hinode!
content: |- content: |-
A clean documentation and blog theme for your Hugo site based on Bootstrap 5. A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
align: start width: 6
background: background:
color: primary color: primary
subtle: true subtle: true
illustration: illustration:
image: /img/sunrise.jpg image: /img/sunrise.jpg
ratio: 16x9 ratio: 16x9
width: 8 width: 8
width: 6
links: links:
- title: About - title: About
url: about url: about
icon: fas chevron-right icon: fas chevron-right
orientation: horizontal orientation: horizontal
justify: center
- _bookshop_name: articles - _bookshop_name: articles
heading: heading:

View File

@@ -100,7 +100,7 @@
"bg-body", "bg-body",
"bg-body-tertiary", "bg-body-tertiary",
"bg-danger", "bg-danger",
"bg-info", "bg-info-subtle",
"bg-opacity-10", "bg-opacity-10",
"bg-primary", "bg-primary",
"bg-primary-subtle", "bg-primary-subtle",
@@ -173,7 +173,7 @@
"col-lg-2", "col-lg-2",
"col-lg-4", "col-lg-4",
"col-lg-8", "col-lg-8",
"col-md-", "col-md-10",
"col-md-12", "col-md-12",
"col-md-2", "col-md-2",
"col-md-3", "col-md-3",
@@ -185,9 +185,6 @@
"col-sm-12", "col-sm-12",
"col-sm-3", "col-sm-3",
"col-sm-6", "col-sm-6",
"col-sm-9",
"col-xl-10",
"col-xl-2",
"collapse", "collapse",
"collapsed", "collapsed",
"container", "container",
@@ -232,6 +229,7 @@
"fa-angle-left", "fa-angle-left",
"fa-arrow-left", "fa-arrow-left",
"fa-arrow-right", "fa-arrow-right",
"fa-book-open",
"fa-bootstrap", "fa-bootstrap",
"fa-chevron-right", "fa-chevron-right",
"fa-circle", "fa-circle",
@@ -239,12 +237,14 @@
"fa-circle-play", "fa-circle-play",
"fa-circle-question", "fa-circle-question",
"fa-code", "fa-code",
"fa-display",
"fa-divide", "fa-divide",
"fa-docker", "fa-docker",
"fa-ellipsis", "fa-ellipsis",
"fa-face-frown", "fa-face-frown",
"fa-facebook", "fa-facebook",
"fa-fluid", "fa-fluid",
"fa-font-awesome",
"fa-fw", "fa-fw",
"fa-github", "fa-github",
"fa-globe", "fa-globe",
@@ -257,6 +257,7 @@
"fa-link", "fa-link",
"fa-linkedin", "fa-linkedin",
"fa-magnifying-glass", "fa-magnifying-glass",
"fa-markdown",
"fa-medium", "fa-medium",
"fa-moon", "fa-moon",
"fa-rocket", "fa-rocket",
@@ -330,6 +331,7 @@
"justify-content-between", "justify-content-between",
"justify-content-center", "justify-content-center",
"justify-content-end", "justify-content-end",
"justify-content-md-start",
"justify-content-start", "justify-content-start",
"katex", "katex",
"label", "label",
@@ -343,6 +345,7 @@
"link-warning", "link-warning",
"lottie-animation", "lottie-animation",
"m-0", "m-0",
"m-auto",
"m-md-n4", "m-md-n4",
"m-n1", "m-n1",
"main-content", "main-content",
@@ -410,6 +413,7 @@
"pb-3", "pb-3",
"pb-4", "pb-4",
"pb-5", "pb-5",
"pe-0",
"pe-1", "pe-1",
"pe-3", "pe-3",
"pe-5", "pe-5",
@@ -568,10 +572,10 @@
"animatie", "animatie",
"animation", "animation",
"arguments", "arguments",
"automated",
"background-type", "background-type",
"badge", "badge",
"barre-de-navigation", "barre-de-navigation",
"bento-layout",
"block-diagram", "block-diagram",
"blog", "blog",
"body-docs-collapse-15", "body-docs-collapse-15",
@@ -587,6 +591,7 @@
"carousel-0", "carousel-0",
"carrousel", "carrousel",
"carte", "carte",
"check-our-guides-to-get-you-started",
"chronologie", "chronologie",
"class-diagram", "class-diagram",
"cloudinary", "cloudinary",
@@ -598,158 +603,48 @@
"container", "container",
"content-blocks", "content-blocks",
"cookies-etc", "cookies-etc",
"creating-your-website-has-never-been-easier",
"custom-activity", "custom-activity",
"data-tables", "data-tables",
"docs", "docs",
"documentation", "documentation",
"elements-type", "elements-type",
"embrace-the-power-of-open-source",
"entity-relationship-diagram", "entity-relationship-diagram",
"example", "example",
"examples",
"exemple", "exemple",
"fa-address-card", "fa-address-card",
"fa-face-frown", "fa-face-frown",
"fa-font-awesome",
"fa-square-check", "fa-square-check",
"fab-bootstrap", "fab-bootstrap",
"fab-docker", "fab-docker",
"fab-facebook", "fab-facebook",
"fab-github", "fab-github",
"fab-linkedin", "fab-linkedin",
"fab-markdown",
"fab-medium", "fab-medium",
"fab-whatsapp", "fab-whatsapp",
"fab-x-twitter", "fab-x-twitter",
"faq-0207ac25368a51b555ace9fb5d535d51", "faq-0abf40cc31a1ba25c37c7b3c0cd375e6",
"faq-0207ac25368a51b555ace9fb5d535d51-heading-faq-0207ac25368a51b555ace9fb5d535d51", "faq-0abf40cc31a1ba25c37c7b3c0cd375e6-heading-faq-0abf40cc31a1ba25c37c7b3c0cd375e6",
"faq-0207ac25368a51b555ace9fb5d535d51-item-0", "faq-0abf40cc31a1ba25c37c7b3c0cd375e6-item-0",
"faq-0207ac25368a51b555ace9fb5d535d51-item-1", "faq-0abf40cc31a1ba25c37c7b3c0cd375e6-item-1",
"faq-0207ac25368a51b555ace9fb5d535d51-item-2", "faq-0abf40cc31a1ba25c37c7b3c0cd375e6-item-2",
"faq-0d9cad3dcfdbf86c0dd499efd640f5fd",
"faq-0d9cad3dcfdbf86c0dd499efd640f5fd-heading-faq-0d9cad3dcfdbf86c0dd499efd640f5fd",
"faq-0d9cad3dcfdbf86c0dd499efd640f5fd-item-0",
"faq-0d9cad3dcfdbf86c0dd499efd640f5fd-item-1",
"faq-0d9cad3dcfdbf86c0dd499efd640f5fd-item-2",
"faq-1d09cf5c427b65f8401538f5c27cd79a",
"faq-1d09cf5c427b65f8401538f5c27cd79a-heading-faq-1d09cf5c427b65f8401538f5c27cd79a",
"faq-1d09cf5c427b65f8401538f5c27cd79a-item-0",
"faq-1d09cf5c427b65f8401538f5c27cd79a-item-1",
"faq-1d09cf5c427b65f8401538f5c27cd79a-item-2",
"faq-23d1dc823666431d94080a47fbe2f135",
"faq-23d1dc823666431d94080a47fbe2f135-heading-faq-23d1dc823666431d94080a47fbe2f135",
"faq-23d1dc823666431d94080a47fbe2f135-item-0",
"faq-23d1dc823666431d94080a47fbe2f135-item-1",
"faq-23d1dc823666431d94080a47fbe2f135-item-2",
"faq-2a2e900fbf55c94afccd3e0096d75d43",
"faq-2a2e900fbf55c94afccd3e0096d75d43-heading-faq-2a2e900fbf55c94afccd3e0096d75d43",
"faq-2a2e900fbf55c94afccd3e0096d75d43-item-0",
"faq-2a2e900fbf55c94afccd3e0096d75d43-item-1",
"faq-2a2e900fbf55c94afccd3e0096d75d43-item-2",
"faq-385e9a800872a4ef6fc41f292e5ecad0",
"faq-385e9a800872a4ef6fc41f292e5ecad0-heading-faq-385e9a800872a4ef6fc41f292e5ecad0",
"faq-385e9a800872a4ef6fc41f292e5ecad0-item-0",
"faq-385e9a800872a4ef6fc41f292e5ecad0-item-1",
"faq-385e9a800872a4ef6fc41f292e5ecad0-item-2",
"faq-3ac1e6c7e282c0c3498e241151e870a3",
"faq-3ac1e6c7e282c0c3498e241151e870a3-heading-faq-3ac1e6c7e282c0c3498e241151e870a3",
"faq-3ac1e6c7e282c0c3498e241151e870a3-item-0",
"faq-3ac1e6c7e282c0c3498e241151e870a3-item-1",
"faq-3ac1e6c7e282c0c3498e241151e870a3-item-2",
"faq-3c82f796666ad7126f45191d8686190a",
"faq-3c82f796666ad7126f45191d8686190a-heading-faq-3c82f796666ad7126f45191d8686190a",
"faq-3c82f796666ad7126f45191d8686190a-item-0",
"faq-3c82f796666ad7126f45191d8686190a-item-1",
"faq-3c82f796666ad7126f45191d8686190a-item-2",
"faq-42527a8d6149bcb25ba67974f251c9c7",
"faq-42527a8d6149bcb25ba67974f251c9c7-heading-faq-42527a8d6149bcb25ba67974f251c9c7",
"faq-42527a8d6149bcb25ba67974f251c9c7-item-0",
"faq-42527a8d6149bcb25ba67974f251c9c7-item-1",
"faq-42527a8d6149bcb25ba67974f251c9c7-item-2",
"faq-459acb940e821ec7b38b2425729753a7",
"faq-459acb940e821ec7b38b2425729753a7-heading-faq-459acb940e821ec7b38b2425729753a7",
"faq-459acb940e821ec7b38b2425729753a7-item-0",
"faq-459acb940e821ec7b38b2425729753a7-item-1",
"faq-459acb940e821ec7b38b2425729753a7-item-2",
"faq-4816264872fdc6847c6a813550673dd0",
"faq-4816264872fdc6847c6a813550673dd0-heading-faq-4816264872fdc6847c6a813550673dd0",
"faq-4816264872fdc6847c6a813550673dd0-item-0",
"faq-4816264872fdc6847c6a813550673dd0-item-1",
"faq-4816264872fdc6847c6a813550673dd0-item-2",
"faq-501f4a6b834aa1a24043fb5b9f9928c2",
"faq-501f4a6b834aa1a24043fb5b9f9928c2-heading-faq-501f4a6b834aa1a24043fb5b9f9928c2",
"faq-501f4a6b834aa1a24043fb5b9f9928c2-item-0",
"faq-501f4a6b834aa1a24043fb5b9f9928c2-item-1",
"faq-501f4a6b834aa1a24043fb5b9f9928c2-item-2",
"faq-524a2784206986528a599f1fad6821f4",
"faq-524a2784206986528a599f1fad6821f4-heading-faq-524a2784206986528a599f1fad6821f4",
"faq-524a2784206986528a599f1fad6821f4-item-0",
"faq-524a2784206986528a599f1fad6821f4-item-1",
"faq-524a2784206986528a599f1fad6821f4-item-2",
"faq-53c9868792ab3037787bf28bb9675fa4",
"faq-53c9868792ab3037787bf28bb9675fa4-heading-faq-53c9868792ab3037787bf28bb9675fa4",
"faq-53c9868792ab3037787bf28bb9675fa4-item-0",
"faq-53c9868792ab3037787bf28bb9675fa4-item-1",
"faq-53c9868792ab3037787bf28bb9675fa4-item-2",
"faq-74cbe70765110cf6e9067513ca5741c2",
"faq-74cbe70765110cf6e9067513ca5741c2-heading-faq-74cbe70765110cf6e9067513ca5741c2",
"faq-74cbe70765110cf6e9067513ca5741c2-item-0",
"faq-74cbe70765110cf6e9067513ca5741c2-item-1",
"faq-74cbe70765110cf6e9067513ca5741c2-item-2",
"faq-90908ae510b7d45ff54c4b6c9c8ca008",
"faq-90908ae510b7d45ff54c4b6c9c8ca008-heading-faq-90908ae510b7d45ff54c4b6c9c8ca008",
"faq-90908ae510b7d45ff54c4b6c9c8ca008-item-0",
"faq-90908ae510b7d45ff54c4b6c9c8ca008-item-1",
"faq-90908ae510b7d45ff54c4b6c9c8ca008-item-2",
"faq-9801f2465268421d28e3a2e740e301ba",
"faq-9801f2465268421d28e3a2e740e301ba-heading-faq-9801f2465268421d28e3a2e740e301ba",
"faq-9801f2465268421d28e3a2e740e301ba-item-0",
"faq-9801f2465268421d28e3a2e740e301ba-item-1",
"faq-9801f2465268421d28e3a2e740e301ba-item-2",
"faq-c4ef1fd75a3eb53e09b547b23bc8dc7d",
"faq-c4ef1fd75a3eb53e09b547b23bc8dc7d-heading-faq-c4ef1fd75a3eb53e09b547b23bc8dc7d",
"faq-c4ef1fd75a3eb53e09b547b23bc8dc7d-item-0",
"faq-c4ef1fd75a3eb53e09b547b23bc8dc7d-item-1",
"faq-c4ef1fd75a3eb53e09b547b23bc8dc7d-item-2",
"faq-d47a09f567ff25b85143b638bc68d60f",
"faq-d47a09f567ff25b85143b638bc68d60f-heading-faq-d47a09f567ff25b85143b638bc68d60f",
"faq-d47a09f567ff25b85143b638bc68d60f-item-0",
"faq-d47a09f567ff25b85143b638bc68d60f-item-1",
"faq-d47a09f567ff25b85143b638bc68d60f-item-2",
"faq-dc8be8c7cb908eadcc4f0cb98b4709fb",
"faq-dc8be8c7cb908eadcc4f0cb98b4709fb-heading-faq-dc8be8c7cb908eadcc4f0cb98b4709fb",
"faq-dc8be8c7cb908eadcc4f0cb98b4709fb-item-0",
"faq-dc8be8c7cb908eadcc4f0cb98b4709fb-item-1",
"faq-dc8be8c7cb908eadcc4f0cb98b4709fb-item-2",
"faq-df9f1eb3ec26e3252a2d045e833601d9",
"faq-df9f1eb3ec26e3252a2d045e833601d9-heading-faq-df9f1eb3ec26e3252a2d045e833601d9",
"faq-df9f1eb3ec26e3252a2d045e833601d9-item-0",
"faq-df9f1eb3ec26e3252a2d045e833601d9-item-1",
"faq-df9f1eb3ec26e3252a2d045e833601d9-item-2",
"faq-eafa3d5085c4f74847a727982753379e",
"faq-eafa3d5085c4f74847a727982753379e-heading-faq-eafa3d5085c4f74847a727982753379e",
"faq-eafa3d5085c4f74847a727982753379e-item-0",
"faq-eafa3d5085c4f74847a727982753379e-item-1",
"faq-eafa3d5085c4f74847a727982753379e-item-2",
"faq-eb4b749d4172f3bcae459d57f9d4cfb5",
"faq-eb4b749d4172f3bcae459d57f9d4cfb5-heading-faq-eb4b749d4172f3bcae459d57f9d4cfb5",
"faq-eb4b749d4172f3bcae459d57f9d4cfb5-item-0",
"faq-eb4b749d4172f3bcae459d57f9d4cfb5-item-1",
"faq-eb4b749d4172f3bcae459d57f9d4cfb5-item-2",
"faq-ff66f007edb5cdfca29cb7a3e0b4795c",
"faq-ff66f007edb5cdfca29cb7a3e0b4795c-heading-faq-ff66f007edb5cdfca29cb7a3e0b4795c",
"faq-ff66f007edb5cdfca29cb7a3e0b4795c-item-0",
"faq-ff66f007edb5cdfca29cb7a3e0b4795c-item-1",
"faq-ff66f007edb5cdfca29cb7a3e0b4795c-item-2",
"fas-1", "fas-1",
"fas-2", "fas-2",
"fas-3", "fas-3",
"fas-angle-left", "fas-angle-left",
"fas-arrow-left", "fas-arrow-left",
"fas-arrow-right", "fas-arrow-right",
"fas-book-open",
"fas-chevron-right", "fas-chevron-right",
"fas-circle", "fas-circle",
"fas-circle-check", "fas-circle-check",
"fas-circle-play", "fas-circle-play",
"fas-circle-question", "fas-circle-question",
"fas-code", "fas-code",
"fas-display",
"fas-divide", "fas-divide",
"fas-ellipsis", "fas-ellipsis",
"fas-globe", "fas-globe",
@@ -767,6 +662,7 @@
"fas-sun", "fas-sun",
"fas-timeline", "fas-timeline",
"fas-up-right-from-square", "fas-up-right-from-square",
"fast",
"fichier", "fichier",
"fil-dariane", "fil-dariane",
"file", "file",
@@ -780,7 +676,6 @@
"git-graph", "git-graph",
"groupe-de-boutons", "groupe-de-boutons",
"groupe-de-cartes", "groupe-de-cartes",
"guides",
"gérer-les-préférences-des-cookies", "gérer-les-préférences-des-cookies",
"heading", "heading",
"heading-type", "heading-type",
@@ -813,6 +708,7 @@
"messages-type", "messages-type",
"mindmap", "mindmap",
"more-type", "more-type",
"multilingual",
"nav", "nav",
"nav-0-0", "nav-0-0",
"nav-0-1", "nav-0-1",
@@ -830,6 +726,7 @@
"navbar-sample-collapse", "navbar-sample-collapse",
"navigation", "navigation",
"notification", "notification",
"optimized",
"overview", "overview",
"persona", "persona",
"pie-chart", "pie-chart",
@@ -841,7 +738,9 @@
"que-sont-les-cookies-", "que-sont-les-cookies-",
"release", "release",
"requirement-chart", "requirement-chart",
"responsive",
"réduire", "réduire",
"secure",
"security", "security",
"sequence-diagram", "sequence-diagram",
"spinner", "spinner",

View File

@@ -136,8 +136,7 @@
{{/* Main code */}} {{/* Main code */}}
{{- if and (not $error) (or (gt (len $elements) 0) $args.cards) -}} {{- if and (not $error) (or (gt (len $elements) 0) $args.cards) -}}
<div class="{{- $args.wrapper -}}"> <div class="container-fluid {{ if $args.scroll }}card-container-wrapper{{ end }} p-0 {{ $args.wrapper }}">
<div class="container-fluid {{ if $args.scroll }}card-container-wrapper{{ end }} p-0">
<div class="row g-{{ $args.gutter -}} <div class="row g-{{ $args.gutter -}}
{{- if $args.scroll }} d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100 {{ end -}} {{- if $args.scroll }} d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100 {{ end -}}
{{- if $args.bento }}{{ with $args.valign }} align-items-{{ . }}{{ end }}{{ else }} {{ $colGrid }}{{ end }}"> {{- if $args.bento }}{{ with $args.valign }} align-items-{{ . }}{{ end }}{{ else }} {{ $colGrid }}{{ end }}">
@@ -198,5 +197,4 @@
<a class="btn btn-outline-primary mt-4" href="{{ $href | safeURL }}" role="button">{{ $args.hrefTitle }}</a> <a class="btn btn-outline-primary mt-4" href="{{ $href | safeURL }}" role="button">{{ $args.hrefTitle }}</a>
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
</div>
{{- end -}} {{- end -}}

View File

@@ -148,19 +148,19 @@
{{ if $thumbnail }} {{ if $thumbnail }}
{{ if eq $args.orientation "horizontal-sm" }} {{ if eq $args.orientation "horizontal-sm" }}
{{ $stack = "fa-1x" }} {{ $stack = "fa-1x" }}
{{ $col1 = "col-4 col-md-2" }} {{ $col1 = "col-4 col-md-2 pe-0" }}
{{ $col2 = "col-8 col-md-10" }} {{ $col2 = "col-8 col-md-10" }}
{{ else }} {{ else }}
{{ $col1 = "col-4" }} {{ $col1 = "col-4 pe-0" }}
{{ $col2 = "col-8" }} {{ $col2 = "col-8" }}
{{ end }} {{ end }}
{{ else if $icon }} {{ else if $icon }}
{{ if eq $args.orientation "horizontal-sm" }} {{ if eq $args.orientation "horizontal-sm" }}
{{ $stack = "fa-1x" }} {{ $stack = "fa-1x" }}
{{ $col1 = "col-2 col-sm-3 col-md-4 col-xl-2" }} {{ $col1 = "col-4 col-md-2 pe-0" }}
{{ $col2 = "col-10 col-sm-9 col-md-8 col-xl-10" }} {{ $col2 = "col-8 col-md-10" }}
{{ else }} {{ else }}
{{ $col1 = "col-4" }} {{ $col1 = "col-4 pe-0" }}
{{ $col2 = "col-8" }} {{ $col2 = "col-8" }}
{{ end }} {{ end }}

View File

@@ -16,8 +16,8 @@
)}} )}}
{{ end }} {{ end }}
{{ if not $args.err }} {{ if and (not $args.err) (or $args.image $args.icon) }}
<div class="hero-image-container"> <div class="hero-image-container {{ with $args.justify }}d-flex justify-content-center justify-content-md-{{ . }}{{ end }}">
{{ partial "assets/featured-illustration.html" (dict {{ partial "assets/featured-illustration.html" (dict
"page" $args.page "page" $args.page
"icon" $args.icon "icon" $args.icon

View File

@@ -25,19 +25,17 @@
{{/* Initialize local variables */}} {{/* Initialize local variables */}}
{{ $align := $args.align }} {{ $align := $args.align }}
{{ if and (not $align) (eq $args.orientation "stacked") }}{{ $align = "center" }}{{ end }} {{ $class := $args.class | default "" }}
{{ $class := $args.class }}
{{ $scale := $args.illustration.width }} {{ $scale := $args.illustration.width }}
{{ if $scale }} {{ if $scale }}
{{ $class = trim (printf "%s col-%d " $class $scale) " " }} {{ $class = trim (printf "%s col-%d text-center text-md-%s" $class $scale $align) " " }}
{{ else }} {{ else }}
{{ $class = trim (printf "%s col-8 col-md-12" $class) " " }}
{{ $scale = 12 }} {{ $scale = 12 }}
{{ end }} {{ end }}
{{ $iconWrapper := "col-6" }} {{ $iconWrapper := "col-6" }}
{{ if $args.center }}{{ $iconWrapper = "col-6 mx-auto text-center" }}{{ end }} {{ $heading := cond (eq $args.orientation "horizontal") (merge $args.heading (dict "width" 12)) $args.heading }}
{{ $sizes := "100vw" }} {{ $sizes := "100vw" }}
{{ if or (lt $args.width 12) (lt $scale 12) }} {{ if or (lt $args.width 12) (lt $scale 12) }}
@@ -58,79 +56,77 @@
{{ end }} {{ end }}
{{ if not $error }} {{ if not $error }}
<div class="container-xxl {{ $args.padding }} d-flex flex-column"> {{ if and $args.breadcrumb (not page.IsHome) }}
{{ if and $args.breadcrumb (not page.IsHome) }} <div class="d-flex flex-column align-items-{{ $align}} mb-4 pe-3">
<div class="d-flex flex-column align-items-{{ $align}} mb-4 pe-3"> {{ if site.Params.env_bookshop_live }}
{{ if site.Params.env_bookshop_live }} <i class="text-white">Breadcrumb preview not supported</i>
<i class="text-white">Breadcrumb preview not supported</i> {{ else }}
{{ else }} {{ partial "assets/breadcrumb.html" (dict "page" page) }}
{{ partial "assets/breadcrumb.html" (dict "page" page) }} {{ end }}
{{ end }} </div>
</div> {{ end }}
{{ end }}
{{ $imageWrapper := printf "mx-auto mx-md-0 %s" $class }} {{ $imageWrapper := printf "mx-md-0 text-%s %s" $align $class }}
{{ if eq $args.orientation "stacked" }} {{ $imageJustify := "" }}
{{ $imageWrapper = printf "pt-5 %s" $class }} {{ if eq $args.orientation "stacked" }}
{{ if $args.center }}{{ $imageWrapper = printf "%s mx-auto" $imageWrapper }}{{ end }} {{ $imageWrapper = printf "pt-5 text-center %s" $class }}
{{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}
{{ end }}
{{ $sectionClass := cond (eq $args.orientation "stacked") "pt-5" "py-md-5" }}
{{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }} {{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}
{{ else }}
{{ $imageJustify = $align }}
{{ end }}
{{ $illustration := partial $args.hook (dict {{ $sectionClass := cond (eq $args.orientation "stacked") "pt-5" "py-md-5" }}
"page" $args.page {{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}
"image" $args.illustration.image
"icon" $args.illustration.icon
"anchor" $args.illustration.anchor
"mode" $args.illustration.mode
"ratio" $args.illustration.ratio
"sizes" $sizes
"title" (T "heroImage")
"wrapper" $imageWrapper
"class" "hero-image"
"image-overlay" $args.imageOverlay
) }}
{{ $title := partial "assets/section-title.html" (dict {{ $illustration := partial $args.hook (dict
"heading" $args.heading "page" $args.page
"use-title" $args.useTitle "image" $args.illustration.image
"size" $args.size "icon" $args.illustration.icon
"links" $args.links "anchor" $args.illustration.anchor
"type" (or $args.linkType $args.type) "mode" $args.illustration.mode
"class" (printf "hero-title %s" $sectionClass) "ratio" $args.illustration.ratio
"arrangement" $arrangement "sizes" $sizes
) }} "title" (T "heroImage")
"wrapper" $imageWrapper
"class" "hero-image"
"image-overlay" $args.imageOverlay
"justify" $imageJustify
) }}
{{ if eq $args.orientation "stacked" }} {{ $title := partial "assets/section-title.html" (dict
{{/* Render stacked component */}} "heading" $heading
<div class="row flex-fill"> "use-title" $args.useTitle
<div class="col col-12 col-md-{{ $args.width }}{{ if $args.center }} m-auto{{ end }}"> "size" $args.size
{{ $illustration | safeHTML }} "links" $args.links
{{ $title | safeHTML }} "link-type" (or $args.linkType $args.type)
</div> "class" (printf "hero-title %s" $sectionClass)
"arrangement" $arrangement
) }}
{{ if eq $args.orientation "stacked" }}
{{/* Render stacked component */}}
{{ $illustration | safeHTML }}
{{ $title | safeHTML }}
{{ else }}
{{/* Render horizontal component */}}
<div class="row row-cols-1 {{ if eq $args.orientation "stacked" }}row-cols-md-2 {{ end }} w-100">
{{ $order1 := "order-1 order-md-0" }}
{{ $order2 := "order-0 order-md-1" }}
{{ if eq $args.order "first" }}
{{ $order1 = "order-1" }}
{{ $order2 = "order-0" }}
{{ end }}
{{ $imgWidth := sub 12 (or $args.heading.width 12) }}
{{ if lt $imgWidth 1 }}{{ $imgWidth = 1 }}{{ end }}
<div class="col col-12 col-md-{{sub 12 $imgWidth }} {{ $order1 }} my-md-auto pt-5 pt-md-0 hero-content">
{{ $title | safeHTML }}
</div> </div>
{{ else }} <div class="col col-8 col-md-{{ $imgWidth }} {{ $order2 }} m-auto my-md-auto align-self-end">
{{/* Render horizontal component */}} {{ $illustration | safeHTML }}
<div class="row row-cols-1 row-cols-md-2 flex-fill">
{{ $order1 := "order-1 order-md-0 " }}
{{ $order2 := "order-0 order-md-1" }}
{{ if eq $args.order "first" }}
{{ $order1 = "order-1" }}
{{ $order2 = "order-0" }}
{{ end }}
<div class="col col-12 col-md-{{ $args.width }} {{ $order1 }} my-md-auto pt-5 pt-md-0 hero-content">
{{ $title | safeHTML }}
</div>
<div class="col col-10 col-md-{{ sub 12 $args.width }}
{{ $order2 }}{{ if $args.center }} text-center{{ end }} my-md-auto align-self-end">
<div>
{{ $illustration | safeHTML }}
</div>
</div>
</div> </div>
{{ end }} </div>
</div> {{ end }}
{{ end }} {{ end }}

View File

@@ -15,16 +15,15 @@
{{ end }} {{ end }}
{{/* Initialize local arguments */}} {{/* Initialize local arguments */}}
{{- $size := (or .size site.Params.modules.bookshop.title.size) | default 4 -}} {{- $size := (or $args.size site.Params.modules.bookshop.title.size) | default 4 -}}
{{- $arrangement := (or .arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}} {{- $arrangement := (or $args.arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}}
{{- $headingStyle := (or .headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}} {{- $headingStyle := (or $args.headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}}
{{- $bodyStyle := (or .bodyStyle site.Params.modules.bookshop.title.bodyStyle) | default "lead text-muted" -}} {{- $contentStyle := (or $args.contentStyle site.Params.modules.bookshop.title.contentStyle) | default "lead text-muted" -}}
{{- $preheading := $args.heading.preheading }} {{- $preheading := $args.heading.preheading }}
{{- $title := $args.heading.title }} {{- $title := $args.heading.title }}
{{- $width := $args.heading.width | default 12 -}}
{{ if and (not $preheading) $args.section }} {{ if and (not $preheading) $args.useSection }}{{ $preheading = page.CurrentSection.Name }}{{ end }}
{{ $preheading = page.CurrentSection.Name }}
{{ end }}
{{ if site.Params.main.titleCase }} {{ if site.Params.main.titleCase }}
{{ $preheading = title $preheading }} {{ $preheading = title $preheading }}
@@ -35,41 +34,76 @@
{{ define "_partials/assets/section-title-header.html" }} {{ define "_partials/assets/section-title-header.html" }}
{{ $headingStyle := .headingStyle }} {{ $headingStyle := .headingStyle }}
{{ if (index . "use-title") }} {{ if (index . "use-title") }}
{{ $title := .title | page.RenderString }} {{ $title := .title | page.RenderString }}
{{ $label := trim (replaceRE "\r\n?|\n" " " ($title | plainify)) " " }} {{ $label := trim (replaceRE "\r\n?|\n" " " ($title | plainify)) " " }}
<h1 id="{{ anchorize .title }}" {{ if ne $title $label }}aria-label="{{ $label }}"{{ end -}} <h1 id="{{ anchorize .title }}" {{ if ne $title $label }}aria-label="{{ $label }}"{{ end -}}
class="{{ $headingStyle }}-{{ .size }}{{ with .color }} text-{{ . }}{{ end }} pt-1">{{ .title | page.RenderString | safeHTML }}</h1> class="{{ $headingStyle }}-{{ .size }}{{ with .color }} text-{{ . }}{{ end }} pt-1">
{{ .title | page.RenderString | safeHTML }}
</h1>
{{ else }} {{ else }}
<div id="{{ anchorize .title }}" class="{{ $headingStyle }}-{{ .size }}{{ with .color }} text-{{ . }}{{ end }} pt-1">{{ .title | page.RenderString | safeHTML }}</div> <div id="{{ anchorize .title }}" class="{{ $headingStyle }}-{{ .size }}{{ with .color }} text-{{ . }}{{ end }} pt-1">
{{ .title | page.RenderString | safeHTML }}
</div>
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ $header := "" }}
{{ if $title }}
{{ $header = partial "assets/section-title-header.html" (dict
"use-title" $args.useTitle
"title" $title
"headingStyle" $headingStyle
"color" $args.color
"size" $size
) }}
{{ end }}
{{ $links := "" }}
{{ if $args.links }}
{{ $links = partial "assets/links.html" (dict
"page" $args.page
"links" $args.links
"align" $args.heading.align
"justify" $args.justify
"link-type" $args.linkType
) }}
{{ end }}
{{ $imgArgs := dict
"page" page
"icon" $args.icon
"image" $args.image
"anchor" $args.anchor
"mode" true
"sizes" "20vw"
"title" (T "heroImage")
"mode" $args.mode
}}
<!-- Main code --> <!-- Main code -->
<div class="text-{{ $args.heading.align }}{{ with $args.class }} {{ . }}{{ end }} col col-12 col-md-{{ $args.heading.width }}"> <div class="text-{{ $args.heading.align }}{{ with $args.class }} {{ . }}{{ end }}{{ if lt $width 12 }} col-12 col-md-{{ $width }}{{ end }}">
{{ if and $preheading (eq $arrangement "first") }} {{ if and $preheading (eq $arrangement "first") }}
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="col-12 col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.next }}-2 p-0"> <div class="col-12 col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.next }}-2 p-0">
{{ with $preheading }}<p class="preheading {{ if ne $args.color "body" }}text-{{ $args.color }}{{ else }}text-primary{{ end }}">{{ . | page.RenderString | safeHTML }}</p>{{ end }} {{ with $preheading }}
<p class="preheading {{ if ne $args.color "body" }}text-{{ $args.color }}{{ else }}text-primary{{ end }}">
{{ . | page.RenderString | safeHTML }}
</p>
{{ end }}
</div> </div>
<div class="col-12 col-{{ $breakpoint.prev }}-8 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-8 p-0"> <div class="col-12 col-{{ $breakpoint.prev }}-8 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-8 p-0">
{{ with $title }}{{ partial "assets/section-title-header.html" (dict "use-title" $args.useTitle "title" . "headingStyle" $headingStyle "color" $args.color "size" $size) }}{{ end }} {{ $header }}
{{ with $args.heading.content }}<div class="{{ $bodyStyle }} pt-4">{{ . | page.RenderString | safeHTML }}</div>{{ end }} {{ with $args.heading.content }}
{{ if .links }}{{ partial "assets/links.html" (dict "page" $args.page "links" $args.links "align" $args.heading.align "justify" $args.justify "link-type" $args.type) }}{{ end }} <div class="{{ $contentStyle }} pt-4">{{ . | page.RenderString | safeHTML }}</div>
{{ end }}
{{ $links }}
</div> </div>
<div class="col-12 col-{{ $breakpoint.prev }}-4 col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 p-0 ps-{{ $breakpoint.prev }}-4"> <div class="col-12 col-{{ $breakpoint.prev }}-4 col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 p-0 ps-{{ $breakpoint.prev }}-4">
{{ partial "assets/featured-illustration.html" (dict {{ $wrapper := (printf "col-4 col-%s-12 mx-auto pt-4 pt-%s-0" $breakpoint.prev $breakpoint.prev) }}
"page" page {{ partial "assets/featured-illustration.html" (merge $imgArgs (dict "wrapper" $wrapper)) }}
"icon" $args.icon
"image" $args.image
"anchor" $args.anchor
"mode" true
"sizes" "20vw"
"wrapper" (printf "col-4 col-%s-12 mx-auto pt-4 pt-%s-0" $breakpoint.prev $breakpoint.prev)
"title" (T "heroImage")
"mode" $args.mode
) }}
</div> </div>
</div> </div>
</div> </div>
@@ -79,31 +113,29 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row p-0"> <div class="row p-0">
<div class="col-12 col-{{ $breakpoint.current }}-10 p-0"> <div class="col-12 col-{{ $breakpoint.current }}-10 p-0">
{{ with $preheading }}<p class="preheading {{ if ne $args.color "body" }}text-{{ $args.color }}{{ else }}text-primary{{ end }}">{{ . | page.RenderString | safeHTML }}</p>{{ end }} {{ with $preheading }}
{{ with $title }}{{ partial "assets/section-title-header.html" (dict "use-title" $args.useTitle "title" . "headingStyle" $headingStyle "color" $args.color "size" $size) }}{{ end }} <p class="preheading {{ if ne $args.color "body" }}text-{{ $args.color }}{{ else }}text-primary{{ end }}">
{{ with $args.heading.content }}<div class="{{ $bodyStyle }} pt-4">{{ . | page.RenderString | safeHTML }}</div>{{ end }} {{ . | page.RenderString | safeHTML }}
{{ if .links }}{{ partial "assets/links.html" (dict "page" $args.page "links" $args.links "align" $args.heading.align "justify" $args.justify "link-type" $args.type) }}{{ end }} </p>
{{ end }}
{{ $header }}
{{ with $args.heading.content }}<div class="{{ $contentStyle }} pt-4">{{ . | page.RenderString | safeHTML }}</div>{{ end }}
{{ $links }}
</div> </div>
<div class="col-12 col-{{ $breakpoint.current }}-2 p-0 pt-2 text-center"> <div class="col-12 col-{{ $breakpoint.current }}-2 p-0 pt-2 text-center">
{{ partial "assets/featured-illustration.html" (dict {{ $wrapper := (printf "col-4 col-%s-12 mx-auto pt-4 pt-%s-0" $breakpoint.prev $breakpoint.prev) }}
"page" page {{ partial "assets/featured-illustration.html" (merge $imgArgs (dict "ratio" $args.ratio "wrapper" "mx-auto")) }}
"icon" $args.icon
"image" $args.image
"anchor" $args.anchor
"mode" true
"ratio" $args.ratio
"sizes" "20vw"
"wrapper" "mx-auto"
"title" (T "heroImage")
"mode" $args.mode
) }}
</div> </div>
</div> </div>
</div> </div>
{{ else }} {{ else }}
{{ with $preheading }}<p class="preheading {{ if ne $args.color "body" }}text-{{ $args.color }}{{ else }}text-primary{{ end }}">{{ . | page.RenderString | safeHTML }}</p>{{ end }} {{ with $preheading }}
{{ with $title }}{{ partial "assets/section-title-header.html" (dict "use-title" $args.useTitle "title" . "headingStyle" $headingStyle "color" $args.color "size" $size) }}{{ end }} <p class="preheading {{ if ne $args.color "body" }}text-{{ $args.color }}{{ else }}text-primary{{ end }}">
{{ with $args.heading.content }}<div class="{{ $bodyStyle }} pt-4">{{ . | page.RenderString | safeHTML }}</div>{{ end }} {{ . | page.RenderString | safeHTML }}
{{ if $args.links }}{{ partial "assets/links.html" (dict "page" $args.page "links" $args.links "align" $args.heading.align "justify" $args.justify "link-type" $args.type) }}{{ end }} </p>
{{ end }}
{{ $header }}
{{ with $args.heading.content }}<div class="{{ $contentStyle }} pt-4">{{ . | page.RenderString | safeHTML }}</div>{{ end }}
{{ $links }}
{{ end }} {{ end }}
</div> </div>

View File

@@ -102,7 +102,7 @@
"use-title" $args.useTitle "use-title" $args.useTitle
"size" $args.size "size" $args.size
"links" $args.links "links" $args.links
"type" (or $args.linkType $args.type) "link-type" (or $args.linkType $args.type)
"class" "pb-4" "class" "pb-4"
"arrangement" $arrangement "arrangement" $arrangement
) }} ) }}