mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
28 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f4d59a0324 | ||
![]() |
6c068898a3 | ||
![]() |
eec6697ff6 | ||
![]() |
26402fb5be | ||
![]() |
e08aebf928 | ||
![]() |
787ad2eb91 | ||
![]() |
8f137b0c54 | ||
![]() |
a979dd8d58 | ||
![]() |
b77a125485 | ||
![]() |
004da99765 | ||
![]() |
907c8ac800 | ||
![]() |
a8efc27771 | ||
![]() |
3bf8da3767 | ||
![]() |
131de0c064 | ||
![]() |
a914fe18e8 | ||
![]() |
a855a41c13 | ||
![]() |
c41cd0650e | ||
![]() |
a83bab6689 | ||
![]() |
03a099ae66 | ||
![]() |
cd837cf116 | ||
![]() |
8cffd358aa | ||
![]() |
0d33a15e98 | ||
![]() |
9be691eb6b | ||
![]() |
fd727228d7 | ||
![]() |
a9f1cd098d | ||
![]() |
dc1c358cfa | ||
![]() |
0d24dc445d | ||
![]() |
f6f034252b |
45
assets/js/nav.js
Normal file
45
assets/js/nav.js
Normal file
@@ -0,0 +1,45 @@
|
||||
function updateDropdown (element, id, label) {
|
||||
const dropdown = document.getElementById(element)
|
||||
if (dropdown != null) {
|
||||
dropdown.querySelector('.dropdown-toggle').textContent = label
|
||||
dropdown.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
|
||||
item.classList.remove('active')
|
||||
let target = item.getAttribute('data-link')
|
||||
if (target != null) {
|
||||
target = target.replace(/^#+/, '')
|
||||
if (target === id) {
|
||||
item.classList.add('active')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('.panel-dropdown').forEach(trigger => {
|
||||
trigger.addEventListener('hide.bs.dropdown', event => {
|
||||
if (event.clickEvent != null) {
|
||||
let target = event.clickEvent.srcElement.getAttribute('data-link')
|
||||
if (target != null) {
|
||||
trigger.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
|
||||
item.classList.remove('active')
|
||||
})
|
||||
target = target.replace(/^#+/, '')
|
||||
const btn = document.getElementById(target)
|
||||
if (btn != null) {
|
||||
event.clickEvent.srcElement.classList.add('active')
|
||||
trigger.querySelector('.dropdown-toggle').textContent = event.clickEvent.srcElement.textContent
|
||||
btn.click()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
document.querySelectorAll('.nav-panel .nav-link').forEach(trigger => {
|
||||
trigger.addEventListener('click', event => {
|
||||
const companion = event.srcElement.parentElement.parentElement.getAttribute('data-companion')
|
||||
if (companion != null) {
|
||||
updateDropdown(companion, trigger.getAttribute('id'), trigger.textContent.trim())
|
||||
}
|
||||
})
|
||||
})
|
@@ -5,6 +5,7 @@
|
||||
@import "modules/bookshop/components/cta/cta";
|
||||
@import "modules/bookshop/components/faq/faq";
|
||||
@import "modules/bookshop/components/hero/hero";
|
||||
@import "modules/bookshop/components/panels/panels";
|
||||
@import "modules/bookshop/components/releases/releases";
|
||||
@import "modules/bookshop/components/separator/separator";
|
||||
@import "modules/bookshop/components/video-message/video-message";
|
||||
|
@@ -27,6 +27,8 @@ blueprint:
|
||||
more:
|
||||
title:
|
||||
link:
|
||||
icon-rounded:
|
||||
icon-style:
|
||||
cols:
|
||||
padding:
|
||||
limit:
|
||||
|
@@ -62,46 +62,53 @@
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
|
||||
{{ if or (gt (len $pages) 0) (not $args.hideEmpty) }}
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
|
||||
|
||||
{{ $partial := "assets/card-group.html" }}
|
||||
{{ $params := dict }}
|
||||
{{- $params = merge $params (dict
|
||||
"page" page
|
||||
"list" $pages
|
||||
"limit" $args.limit
|
||||
"cols" $args.cols
|
||||
"icon-rounded" $args.iconRounded
|
||||
"href" (cond $moreButton $moreLink "")
|
||||
"href-title" (cond $moreButton $moreTitle "")
|
||||
"href-force" (gt $result.total (len $result.pages))
|
||||
)}}
|
||||
{{ $partial := "assets/card-group.html" }}
|
||||
{{ $params := dict }}
|
||||
{{- $params = merge $params (dict
|
||||
"page" page
|
||||
"list" $pages
|
||||
"limit" $args.limit
|
||||
"cols" $args.cols
|
||||
"icon-rounded" $args.iconRounded
|
||||
"icon-style" $args.iconStyle
|
||||
"href" (cond $moreButton $moreLink "")
|
||||
"href-title" (cond $moreButton $moreTitle "")
|
||||
"href-force" (gt $result.total (len $result.pages))
|
||||
)}}
|
||||
|
||||
{{ if $args.scroll }}
|
||||
{{ $partial := "assets/stack.html" }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" "none"
|
||||
"body-style" "title"
|
||||
"footer-style" "none"
|
||||
"gutter" 1
|
||||
"padding" 3
|
||||
"ratio" "1x1"
|
||||
"orientation" "horizontal-sm"
|
||||
"styles" (cond $args.bento $styles "")
|
||||
) -}}
|
||||
{{ else }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" $args.headerStyle
|
||||
"footer-style" $args.footerStyle
|
||||
"padding" $args.padding
|
||||
"class" (or $args.class "border-0")
|
||||
"icon-style" "fa-2x"
|
||||
"align" "start"
|
||||
"orientation" $args.orientation
|
||||
"hook" "assets/live-card.html"
|
||||
"pagination" $args.pagination
|
||||
"paginate" $paginate
|
||||
) -}}
|
||||
{{ if $args.scroll }}
|
||||
{{ $partial := "assets/stack.html" }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" "none"
|
||||
"body-style" "title"
|
||||
"footer-style" "none"
|
||||
"gutter" 1
|
||||
"padding" 3
|
||||
"ratio" "1x1"
|
||||
"orientation" "horizontal-sm"
|
||||
"styles" (cond $args.bento $styles "")
|
||||
) -}}
|
||||
{{ else }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" $args.headerStyle
|
||||
"footer-style" $args.footerStyle
|
||||
"padding" $args.padding
|
||||
"class" (or $args.class "border-0")
|
||||
"align" "start"
|
||||
"orientation" $args.orientation
|
||||
"hook" "assets/live-card.html"
|
||||
"pagination" $args.pagination
|
||||
"paginate" $paginate
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ if gt (len $pages) 0 }}
|
||||
{{ partial $partial $params }}
|
||||
{{ else }}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
<p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ partial $partial $params }}
|
||||
{{ end }}
|
@@ -17,6 +17,7 @@ blueprint:
|
||||
width:
|
||||
cols:
|
||||
icon-rounded:
|
||||
icon-style:
|
||||
padding:
|
||||
background:
|
||||
backdrop:
|
||||
@@ -32,3 +33,4 @@ blueprint:
|
||||
class:
|
||||
width:
|
||||
justify:
|
||||
align:
|
||||
|
@@ -40,15 +40,15 @@
|
||||
{{- partial "assets/card-group.html" (dict
|
||||
"page" page
|
||||
"list" $list
|
||||
"class" (printf "border-0 card-icon-primary d-%s-none %s" $breakpoint.prev $args.class)
|
||||
"class" (printf "border-0 card-icon-primary d-%s-none %s" $breakpoint.prev (or $args.class ""))
|
||||
"cols" $args.cols
|
||||
"gutter" "4"
|
||||
"padding" $args.padding
|
||||
"header-style" "none"
|
||||
"footer-style" "none"
|
||||
"icon-rounded" $args.iconRounded
|
||||
"icon-style" "fa-2x"
|
||||
"align" "start"
|
||||
"icon-style" (or $args.iconStyle "fa-2x")
|
||||
"align" $args.align
|
||||
"orientation" ($args.orientation | default "horizontal-sm")
|
||||
"hook" "assets/live-card.html"
|
||||
) -}}
|
||||
@@ -56,15 +56,15 @@
|
||||
{{- partial "assets/card-group.html" (dict
|
||||
"page" page
|
||||
"list" $list
|
||||
"class" (printf "border-0 card-icon-primary d-none d-%s-block %s" $breakpoint.prev $args.class)
|
||||
"class" (printf "border-0 card-icon-primary d-none d-%s-block %s" $breakpoint.prev (or $args.class ""))
|
||||
"cols" $args.cols
|
||||
"gutter" "4"
|
||||
"padding" $args.padding
|
||||
"header-style" "none"
|
||||
"footer-style" "none"
|
||||
"icon-rounded" $args.iconRounded
|
||||
"icon-style" "fa-2x"
|
||||
"align" "start"
|
||||
"icon-style" (or $args.iconStyle "fa-2x")
|
||||
"align" $args.align
|
||||
"orientation" ($args.orientation | default "stacked")
|
||||
"hook" "assets/live-card.html"
|
||||
) -}}
|
||||
|
35
component-library/components/panels/panels.bookshop.yml
Normal file
35
component-library/components/panels/panels.bookshop.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: Panels
|
||||
description: Introduction section
|
||||
icon: check
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
heading:
|
||||
content:
|
||||
align:
|
||||
width:
|
||||
cols:
|
||||
icon-rounded:
|
||||
padding:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
elements:
|
||||
- title:
|
||||
icon:
|
||||
image:
|
||||
mode:
|
||||
content:
|
||||
tab-type:
|
||||
ratio:
|
||||
class:
|
||||
width:
|
||||
justify:
|
81
component-library/components/panels/panels.hugo.html
Normal file
81
component-library/components/panels/panels.hugo.html
Normal file
@@ -0,0 +1,81 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{ $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 }}
|
||||
|
||||
{{/* Initialize global arguments */}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
|
||||
{{/* Initialize local variables */}}
|
||||
{{ $list := slice }}
|
||||
{{ $titles := slice }}
|
||||
{{ $toc := slice }}
|
||||
{{ $parentID := printf "panel-%v" (cond (isset . "_ordinal") (index . "_ordinal") (md5 (delimit (slice . now) "-"))) }}
|
||||
{{ $inner := "" }}
|
||||
{{ range $i, $element := $args.elements }}
|
||||
{{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }}
|
||||
|
||||
{{ $hero := partial "assets/hero.html" (dict
|
||||
"page" page
|
||||
"heading" (dict "title" $element.title "content" $element.content "width" 8 "size" 6)
|
||||
"background" $args.background
|
||||
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
|
||||
"order" $args.order
|
||||
"link-type" $args.linkType
|
||||
"links" $args.links
|
||||
"orientation" "horizontal"
|
||||
"align" "start"
|
||||
"width" 12
|
||||
)
|
||||
}}
|
||||
|
||||
{{- $output := partial "assets/nav-item.html" (dict
|
||||
"page" page
|
||||
"id" $i
|
||||
"parent-id" $parentID
|
||||
"fade" false
|
||||
"title" $element.title
|
||||
"show" (eq $i 0)
|
||||
"raw" $hero
|
||||
)
|
||||
-}}
|
||||
|
||||
{{ $inner = printf "%s\n%s" $inner $output }}
|
||||
{{ $titles = $titles | append $element.title }}
|
||||
{{ end}}
|
||||
|
||||
{{ if not $error }}
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
|
||||
|
||||
{{- 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 }}
|
||||
|
3
component-library/components/panels/panels.scss
Normal file
3
component-library/components/panels/panels.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
.panels .dropdown-toggle {
|
||||
text-decoration: none !important;
|
||||
}
|
@@ -6,3 +6,5 @@ spec:
|
||||
description: Inserts a horizontal page section separator
|
||||
icon: horizontal_rule
|
||||
tags: []
|
||||
|
||||
blueprint:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "separator" "args" .) }}
|
||||
{{ $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"
|
||||
|
@@ -12,6 +12,7 @@ arguments:
|
||||
class:
|
||||
color:
|
||||
padding:
|
||||
default: 3
|
||||
gutter:
|
||||
release: v0.19.0
|
||||
header-style:
|
||||
@@ -43,6 +44,7 @@ arguments:
|
||||
icon-rounded:
|
||||
release: v1.0.0
|
||||
align:
|
||||
default: start
|
||||
wrapper:
|
||||
default: p-0
|
||||
responsive:
|
||||
|
@@ -15,6 +15,7 @@ arguments:
|
||||
parent: cascade
|
||||
padding:
|
||||
parent: cascade
|
||||
default: 3
|
||||
gutter:
|
||||
default: 0
|
||||
parent: cascade
|
||||
@@ -45,6 +46,7 @@ arguments:
|
||||
icon-rounded:
|
||||
release: v1.0.0
|
||||
align:
|
||||
default: start
|
||||
parent: cascade
|
||||
release: v0.23.0
|
||||
scroll:
|
||||
|
@@ -15,6 +15,9 @@ arguments:
|
||||
class:
|
||||
body:
|
||||
group: partial
|
||||
raw:
|
||||
group: partial
|
||||
release: v1.3.0
|
||||
navitem-type:
|
||||
release: v1.0.0
|
||||
illustration:
|
||||
|
@@ -22,6 +22,8 @@ arguments:
|
||||
release: v1.0.0
|
||||
class:
|
||||
pane:
|
||||
responsive:
|
||||
release: v1.4.0
|
||||
width:
|
||||
default: 12
|
||||
group: partial
|
||||
|
@@ -1,20 +0,0 @@
|
||||
comment: >-
|
||||
Inserts a horizontal page section separator.
|
||||
arguments:
|
||||
_bookshop_name:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Unique name of the bookshop component
|
||||
group: partial
|
||||
page:
|
||||
type:
|
||||
- '*hugolib.pageState'
|
||||
- '*hugolib.pageForShortcode'
|
||||
optional: true
|
||||
comment: Context of the current page.
|
||||
group: partial
|
||||
theme:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Color theme to apply.
|
||||
release: v1.0.0-alpha
|
@@ -129,7 +129,7 @@
|
||||
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
|
||||
themeFontPath = "/fonts" # local path
|
||||
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
|
||||
purge = true
|
||||
purge = false
|
||||
# toml-docs-end theme-colors
|
||||
|
||||
[schema]
|
||||
|
@@ -56,6 +56,7 @@ content_blocks:
|
||||
cols: 1
|
||||
padding: 4
|
||||
limit: 2
|
||||
icon-style: fa-5x
|
||||
header-style: none
|
||||
footer-style: tags
|
||||
orientation: horizontal-sm
|
||||
|
@@ -25,9 +25,10 @@ content_blocks:
|
||||
more:
|
||||
title: More Posts
|
||||
cols: 3
|
||||
padding: 0
|
||||
padding: 3
|
||||
limit: 9
|
||||
paginate: true
|
||||
cover: false
|
||||
header-style: none
|
||||
class: border-1
|
||||
---
|
||||
|
@@ -24,14 +24,19 @@ The `cards` content block renders a group of content cards.
|
||||
subtle: true
|
||||
orientation: stacked
|
||||
icon-rounded: true
|
||||
class: text-center
|
||||
icon-style: fa-xs
|
||||
padding: 0
|
||||
align: start
|
||||
elements:
|
||||
- title: First Card
|
||||
icon: fas 1
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
icon: fas 2
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
icon: fas 3
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
@@ -42,3 +47,145 @@ The `cards` content block renders a group of content cards.
|
||||
The content block supports the following arguments:
|
||||
|
||||
{{< args bookshop-cards >}}
|
||||
|
||||
## Examples
|
||||
|
||||
### Stacked cards with an image
|
||||
|
||||
Set the `image` attribute of each `element` to an image asset to render illustrated cards.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: stacked
|
||||
class: bg-body
|
||||
align: center
|
||||
elements:
|
||||
- title: First Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
- title: Second Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
- title: Third Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Horizontal cards with an image
|
||||
|
||||
Set the `orientation` attribute to `horizontal` to render horizontally oriented cards.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: horizontal
|
||||
class: bg-body
|
||||
align: center
|
||||
elements:
|
||||
- title: First Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Stacked cards with an icon
|
||||
|
||||
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: stacked
|
||||
icon-style: fa-xs text-primary
|
||||
align: start
|
||||
padding: 0
|
||||
elements:
|
||||
- title: First Card
|
||||
icon: fas 1
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
icon: fas 2
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
icon: fas 3
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Horizontal cards with an icon
|
||||
|
||||
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: horizontal
|
||||
icon-rounded: true
|
||||
icon-style: fa-2xs text-primary
|
||||
align: start
|
||||
padding: 0
|
||||
elements:
|
||||
- title: First Card
|
||||
icon: fas 1
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
icon: fas 2
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
icon: fas 3
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
189
exampleSite/content/en/blocks/panels.md
Normal file
189
exampleSite/content/en/blocks/panels.md
Normal file
@@ -0,0 +1,189 @@
|
||||
---
|
||||
_schema: default
|
||||
title: Panels
|
||||
description: Use the panels content block to display multiple toggable panels.
|
||||
icon: fa folder
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The `panels` content block displays multiple panels that are toggled by a tab control.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: underline
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Arguments
|
||||
|
||||
The content block supports the following arguments:
|
||||
|
||||
{{< args bookshop-panels >}}
|
||||
|
||||
## Examples
|
||||
|
||||
### Tabs
|
||||
|
||||
Set `tab-type` to `tabs` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: tabs
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Pills
|
||||
|
||||
Set `tab-type` to `pills` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: pills
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Underline
|
||||
|
||||
Set `tab-type` to `underline` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: underline
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Callout
|
||||
|
||||
Set `tab-type` to `callout` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: callout
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
@@ -70,7 +70,6 @@
|
||||
],
|
||||
"classes": [
|
||||
"%!s(<nil>)",
|
||||
"%!s(MISSING)",
|
||||
"about",
|
||||
"accordion",
|
||||
"accordion-body",
|
||||
@@ -90,6 +89,7 @@
|
||||
"align-middle",
|
||||
"align-self-center",
|
||||
"align-self-end",
|
||||
"align-self-start",
|
||||
"anchor",
|
||||
"articles",
|
||||
"background-container",
|
||||
@@ -144,6 +144,7 @@
|
||||
"card-icon-primary",
|
||||
"card-icon-secondary",
|
||||
"card-img-bg",
|
||||
"card-img-h100",
|
||||
"card-img-top",
|
||||
"card-img-wrap",
|
||||
"card-text",
|
||||
@@ -172,6 +173,7 @@
|
||||
"col-6",
|
||||
"col-8",
|
||||
"col-9",
|
||||
"col-auto",
|
||||
"col-lg-2",
|
||||
"col-lg-4",
|
||||
"col-lg-8",
|
||||
@@ -230,9 +232,13 @@
|
||||
"fa-2xs",
|
||||
"fa-3",
|
||||
"fa-4x",
|
||||
"fa-5x",
|
||||
"fa-activity",
|
||||
"fa-address-card",
|
||||
"fa-angle-left",
|
||||
"fa-angle-right",
|
||||
"fa-angles-left",
|
||||
"fa-angles-right",
|
||||
"fa-arrow-left",
|
||||
"fa-arrow-right",
|
||||
"fa-bootstrap",
|
||||
@@ -248,6 +254,7 @@
|
||||
"fa-face-frown",
|
||||
"fa-facebook",
|
||||
"fa-fluid",
|
||||
"fa-folder",
|
||||
"fa-fw",
|
||||
"fa-github",
|
||||
"fa-globe",
|
||||
@@ -276,6 +283,7 @@
|
||||
"fa-whatsapp",
|
||||
"fa-wrapper",
|
||||
"fa-x-twitter",
|
||||
"fa-xs",
|
||||
"fab",
|
||||
"fade",
|
||||
"faq",
|
||||
@@ -351,10 +359,12 @@
|
||||
"main",
|
||||
"main-nav-toggler",
|
||||
"mb-0",
|
||||
"mb-1",
|
||||
"mb-3",
|
||||
"mb-4",
|
||||
"mb-5",
|
||||
"mb-lg-5",
|
||||
"me-1",
|
||||
"me-3",
|
||||
"me-auto",
|
||||
"mermaid",
|
||||
@@ -364,6 +374,7 @@
|
||||
"ms-3",
|
||||
"ms-auto",
|
||||
"ms-md-3",
|
||||
"mt-1",
|
||||
"mt-2",
|
||||
"mt-3",
|
||||
"mt-4",
|
||||
@@ -382,10 +393,13 @@
|
||||
"my-md-0",
|
||||
"my-md-auto",
|
||||
"nav",
|
||||
"nav-callout",
|
||||
"nav-item",
|
||||
"nav-link",
|
||||
"nav-panel",
|
||||
"nav-pills",
|
||||
"nav-tabs",
|
||||
"nav-underline",
|
||||
"navbar",
|
||||
"navbar-brand",
|
||||
"navbar-collapse",
|
||||
@@ -410,6 +424,12 @@
|
||||
"p-3",
|
||||
"p-4",
|
||||
"p-md-4",
|
||||
"page-item",
|
||||
"page-link",
|
||||
"pagination",
|
||||
"pagination-terse",
|
||||
"panel-dropdown",
|
||||
"panels",
|
||||
"pb-3",
|
||||
"pb-4",
|
||||
"pb-5",
|
||||
@@ -436,6 +456,7 @@
|
||||
"ptw-sm-4",
|
||||
"px-%!d(string=0)",
|
||||
"px-2",
|
||||
"px-3",
|
||||
"px-4",
|
||||
"px-xxl-0",
|
||||
"py-%!d(string=0)",
|
||||
@@ -452,6 +473,7 @@
|
||||
"rounded-5",
|
||||
"rounded-bottom",
|
||||
"rounded-pill",
|
||||
"rounded-start",
|
||||
"rounded-top",
|
||||
"row",
|
||||
"row-cols-1",
|
||||
@@ -486,6 +508,7 @@
|
||||
"table-border-bottom-wrap",
|
||||
"table-responsive-md",
|
||||
"table-wrap",
|
||||
"tabs-dropdown",
|
||||
"tag-link",
|
||||
"text-",
|
||||
"text-bg-body-tertiary",
|
||||
@@ -585,6 +608,7 @@
|
||||
"button",
|
||||
"button-group",
|
||||
"c4-diagram",
|
||||
"callout",
|
||||
"card",
|
||||
"card-group",
|
||||
"carousel",
|
||||
@@ -606,12 +630,25 @@
|
||||
"data-tables",
|
||||
"docs",
|
||||
"documentation",
|
||||
"dropdown-nav-0",
|
||||
"dropdown-panel-238964a04aea6f8244486a01aed3980e",
|
||||
"dropdown-panel-2e7f06bd7d5712159e2b7e5ac229ee72",
|
||||
"dropdown-panel-4ebb6a36beb73ac83f451cd6ec26838d",
|
||||
"dropdown-panel-4fdf233f48f3ac0b803d8f61d31061f8",
|
||||
"dropdown-panel-614a2684d4bdf8e5fe22a20d7d9c0a35",
|
||||
"dropdown-panel-6d6a7601d2a9e04ae94f19b456563e16",
|
||||
"dropdown-panel-741ce6efb5ef84856ecec7bb8244f44d",
|
||||
"dropdown-panel-81fe53c7c723ca3d94d01401dc7e00c0",
|
||||
"dropdown-panel-a446e03ac74b582fa6a24fefbc8dd1bf",
|
||||
"dropdown-panel-c652a97140bc598c5580e01bdc444e65",
|
||||
"elements-type",
|
||||
"entity-relationship-diagram",
|
||||
"example",
|
||||
"examples",
|
||||
"exemple",
|
||||
"fa-address-card",
|
||||
"fa-face-frown",
|
||||
"fa-folder",
|
||||
"fa-square-check",
|
||||
"fab-bootstrap",
|
||||
"fab-docker",
|
||||
@@ -621,16 +658,24 @@
|
||||
"fab-medium",
|
||||
"fab-whatsapp",
|
||||
"fab-x-twitter",
|
||||
"faq-9ef13ff2bd73b0e328491bd048c7a1ef",
|
||||
"faq-9ef13ff2bd73b0e328491bd048c7a1ef-heading-faq-9ef13ff2bd73b0e328491bd048c7a1ef",
|
||||
"faq-9ef13ff2bd73b0e328491bd048c7a1ef-item-0",
|
||||
"faq-9ef13ff2bd73b0e328491bd048c7a1ef-item-1",
|
||||
"faq-9ef13ff2bd73b0e328491bd048c7a1ef-item-2",
|
||||
"faq-7533b3556b81a10b7e52b91bbf81d758",
|
||||
"faq-7533b3556b81a10b7e52b91bbf81d758-heading-faq-7533b3556b81a10b7e52b91bbf81d758",
|
||||
"faq-7533b3556b81a10b7e52b91bbf81d758-item-0",
|
||||
"faq-7533b3556b81a10b7e52b91bbf81d758-item-1",
|
||||
"faq-7533b3556b81a10b7e52b91bbf81d758-item-2",
|
||||
"faq-f9bb3b20a95e205fbad9e433c2899cbe",
|
||||
"faq-f9bb3b20a95e205fbad9e433c2899cbe-heading-faq-f9bb3b20a95e205fbad9e433c2899cbe",
|
||||
"faq-f9bb3b20a95e205fbad9e433c2899cbe-item-0",
|
||||
"faq-f9bb3b20a95e205fbad9e433c2899cbe-item-1",
|
||||
"faq-f9bb3b20a95e205fbad9e433c2899cbe-item-2",
|
||||
"fas-1",
|
||||
"fas-2",
|
||||
"fas-3",
|
||||
"fas-address-card",
|
||||
"fas-angle-left",
|
||||
"fas-angle-right",
|
||||
"fas-angles-left",
|
||||
"fas-angles-right",
|
||||
"fas-arrow-left",
|
||||
"fas-arrow-right",
|
||||
"fas-chevron-right",
|
||||
@@ -659,6 +704,7 @@
|
||||
"fichier",
|
||||
"fil-dariane",
|
||||
"file",
|
||||
"first-panel",
|
||||
"flowchart",
|
||||
"footer-docs-collapse-15",
|
||||
"footer-docs-collapse-16",
|
||||
@@ -673,6 +719,8 @@
|
||||
"gérer-les-préférences-des-cookies",
|
||||
"heading",
|
||||
"heading-type",
|
||||
"horizontal-cards-with-an-icon",
|
||||
"horizontal-cards-with-an-image",
|
||||
"how-do-we-use-cookies",
|
||||
"how-we-share-your-information",
|
||||
"icon",
|
||||
@@ -711,6 +759,16 @@
|
||||
"nav-0-btn-1",
|
||||
"nav-0-btn-2",
|
||||
"nav-nav-0",
|
||||
"nav-panel-238964a04aea6f8244486a01aed3980e",
|
||||
"nav-panel-2e7f06bd7d5712159e2b7e5ac229ee72",
|
||||
"nav-panel-4ebb6a36beb73ac83f451cd6ec26838d",
|
||||
"nav-panel-4fdf233f48f3ac0b803d8f61d31061f8",
|
||||
"nav-panel-614a2684d4bdf8e5fe22a20d7d9c0a35",
|
||||
"nav-panel-6d6a7601d2a9e04ae94f19b456563e16",
|
||||
"nav-panel-741ce6efb5ef84856ecec7bb8244f44d",
|
||||
"nav-panel-81fe53c7c723ca3d94d01401dc7e00c0",
|
||||
"nav-panel-a446e03ac74b582fa6a24fefbc8dd1bf",
|
||||
"nav-panel-c652a97140bc598c5580e01bdc444e65",
|
||||
"navbar",
|
||||
"navbar-0-collapse",
|
||||
"navbar-mode",
|
||||
@@ -719,8 +777,69 @@
|
||||
"navigation",
|
||||
"notification",
|
||||
"overview",
|
||||
"panel-238964a04aea6f8244486a01aed3980e-0",
|
||||
"panel-238964a04aea6f8244486a01aed3980e-1",
|
||||
"panel-238964a04aea6f8244486a01aed3980e-2",
|
||||
"panel-238964a04aea6f8244486a01aed3980e-btn-0",
|
||||
"panel-238964a04aea6f8244486a01aed3980e-btn-1",
|
||||
"panel-238964a04aea6f8244486a01aed3980e-btn-2",
|
||||
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-0",
|
||||
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-1",
|
||||
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-2",
|
||||
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-btn-0",
|
||||
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-btn-1",
|
||||
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-btn-2",
|
||||
"panel-4ebb6a36beb73ac83f451cd6ec26838d-0",
|
||||
"panel-4ebb6a36beb73ac83f451cd6ec26838d-1",
|
||||
"panel-4ebb6a36beb73ac83f451cd6ec26838d-2",
|
||||
"panel-4ebb6a36beb73ac83f451cd6ec26838d-btn-0",
|
||||
"panel-4ebb6a36beb73ac83f451cd6ec26838d-btn-1",
|
||||
"panel-4ebb6a36beb73ac83f451cd6ec26838d-btn-2",
|
||||
"panel-4fdf233f48f3ac0b803d8f61d31061f8-0",
|
||||
"panel-4fdf233f48f3ac0b803d8f61d31061f8-1",
|
||||
"panel-4fdf233f48f3ac0b803d8f61d31061f8-2",
|
||||
"panel-4fdf233f48f3ac0b803d8f61d31061f8-btn-0",
|
||||
"panel-4fdf233f48f3ac0b803d8f61d31061f8-btn-1",
|
||||
"panel-4fdf233f48f3ac0b803d8f61d31061f8-btn-2",
|
||||
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-0",
|
||||
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-1",
|
||||
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-2",
|
||||
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-btn-0",
|
||||
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-btn-1",
|
||||
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-btn-2",
|
||||
"panel-6d6a7601d2a9e04ae94f19b456563e16-0",
|
||||
"panel-6d6a7601d2a9e04ae94f19b456563e16-1",
|
||||
"panel-6d6a7601d2a9e04ae94f19b456563e16-2",
|
||||
"panel-6d6a7601d2a9e04ae94f19b456563e16-btn-0",
|
||||
"panel-6d6a7601d2a9e04ae94f19b456563e16-btn-1",
|
||||
"panel-6d6a7601d2a9e04ae94f19b456563e16-btn-2",
|
||||
"panel-741ce6efb5ef84856ecec7bb8244f44d-0",
|
||||
"panel-741ce6efb5ef84856ecec7bb8244f44d-1",
|
||||
"panel-741ce6efb5ef84856ecec7bb8244f44d-2",
|
||||
"panel-741ce6efb5ef84856ecec7bb8244f44d-btn-0",
|
||||
"panel-741ce6efb5ef84856ecec7bb8244f44d-btn-1",
|
||||
"panel-741ce6efb5ef84856ecec7bb8244f44d-btn-2",
|
||||
"panel-81fe53c7c723ca3d94d01401dc7e00c0-0",
|
||||
"panel-81fe53c7c723ca3d94d01401dc7e00c0-1",
|
||||
"panel-81fe53c7c723ca3d94d01401dc7e00c0-2",
|
||||
"panel-81fe53c7c723ca3d94d01401dc7e00c0-btn-0",
|
||||
"panel-81fe53c7c723ca3d94d01401dc7e00c0-btn-1",
|
||||
"panel-81fe53c7c723ca3d94d01401dc7e00c0-btn-2",
|
||||
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-0",
|
||||
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-1",
|
||||
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-2",
|
||||
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-btn-0",
|
||||
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-btn-1",
|
||||
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-btn-2",
|
||||
"panel-c652a97140bc598c5580e01bdc444e65-0",
|
||||
"panel-c652a97140bc598c5580e01bdc444e65-1",
|
||||
"panel-c652a97140bc598c5580e01bdc444e65-2",
|
||||
"panel-c652a97140bc598c5580e01bdc444e65-btn-0",
|
||||
"panel-c652a97140bc598c5580e01bdc444e65-btn-1",
|
||||
"panel-c652a97140bc598c5580e01bdc444e65-btn-2",
|
||||
"persona",
|
||||
"pie-chart",
|
||||
"pills",
|
||||
"projecten",
|
||||
"projects",
|
||||
"projets",
|
||||
@@ -730,14 +849,19 @@
|
||||
"release",
|
||||
"requirement-chart",
|
||||
"réduire",
|
||||
"second-panel",
|
||||
"security",
|
||||
"sequence-diagram",
|
||||
"spinner",
|
||||
"stacked-cards-with-an-icon",
|
||||
"stacked-cards-with-an-image",
|
||||
"state-diagram",
|
||||
"sub",
|
||||
"sup",
|
||||
"sécurité",
|
||||
"table",
|
||||
"tabs",
|
||||
"third-panel",
|
||||
"third-party-links--use-of-your-information",
|
||||
"timeline",
|
||||
"title",
|
||||
@@ -751,6 +875,7 @@
|
||||
"tooltip",
|
||||
"types-de-cookies-que-nous-utilisons",
|
||||
"types-of-cookies-we-use",
|
||||
"underline",
|
||||
"user-journey",
|
||||
"video",
|
||||
"video-type",
|
||||
|
2
go.mod
2
go.mod
@@ -18,7 +18,7 @@ require (
|
||||
github.com/gethinode/mod-simple-datatables v1.1.7 // indirect
|
||||
github.com/gethinode/mod-simple-datatables/v2 v2.0.1 // indirect
|
||||
github.com/gethinode/mod-utils/v3 v3.3.1 // indirect
|
||||
github.com/gethinode/mod-utils/v4 v4.10.0 // indirect
|
||||
github.com/gethinode/mod-utils/v4 v4.11.0 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a // indirect
|
||||
github.com/twbs/bootstrap v5.3.7+incompatible // indirect
|
||||
)
|
||||
|
2
go.sum
2
go.sum
@@ -460,6 +460,8 @@ github.com/gethinode/mod-utils/v4 v4.9.2 h1:lzcihwAsm8R2k2v+tWu5nfWvXMA8uRKi0nGI
|
||||
github.com/gethinode/mod-utils/v4 v4.9.2/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
|
||||
github.com/gethinode/mod-utils/v4 v4.10.0 h1:CfVa57r52wXd0bUqSJlpux2cloHQNBBe13aeqLJ8FXE=
|
||||
github.com/gethinode/mod-utils/v4 v4.10.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
|
||||
github.com/gethinode/mod-utils/v4 v4.11.0 h1:24RObT99j/jiQnCyHvXahJHIA8e8uQuBb1pUIRJOxpA=
|
||||
github.com/gethinode/mod-utils/v4 v4.11.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
||||
|
@@ -156,7 +156,7 @@
|
||||
"ratio" (partial "inline/style.html" (dict "styles" $args.styles "index" $index "key" "ratio" "default" $args.ratio))
|
||||
"portrait" (partial "inline/style.html" (dict "styles" $args.styles "index" $index "key" "portrait" "default" $args.portrait))
|
||||
"subtle" $args.subtle
|
||||
"icon-style" (or (index $element "$icon-style") $element.style)
|
||||
"icon-style" (or (index $element "icon-style") $element.style $args.iconStyle)
|
||||
"align" $args.align
|
||||
"button" $args.button
|
||||
"button-label" (or (index $element "button-label") $element.buttonLabel)
|
||||
|
@@ -62,6 +62,26 @@
|
||||
</small></p>
|
||||
{{- end -}}
|
||||
|
||||
{{/* Inline partial to render the card's icon */}}
|
||||
{{- define "_partials/inline/card-icon.html" -}}
|
||||
{{ $padding := .padding }}
|
||||
{{ $icon := .icon}}
|
||||
{{ $rounded := .rounded }}
|
||||
{{ $style := .style}}
|
||||
{{ $stack := .stack }}
|
||||
{{ $class := .class }}
|
||||
|
||||
<div class="card-icon{{ with $padding }} p-{{ . }}{{ end }}{{ if $rounded }} fa-stack {{ $style }} fa-fw {{ $stack }}{{ end }} {{ $class }}">
|
||||
{{ if $rounded }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "fas circle fa-stack-2x") "spacing" false) -}}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon) "spacing" false) -}}
|
||||
{{ else }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s fa-fw" $icon $style) "spacing" false) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/* Initialize global variables */}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
@@ -110,7 +130,6 @@
|
||||
{{- $icon := $args.icon -}}
|
||||
{{- $iconStyle := "" -}}
|
||||
{{- $anchor := $args.anchor }}
|
||||
{{- $style := $args.style }}
|
||||
|
||||
{{- with $page -}}
|
||||
{{- if not $args.title }}{{ $title = .Title }}{{ end -}}
|
||||
@@ -126,10 +145,11 @@
|
||||
{{- if not $args.anchor }}{{ $anchor = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.anchor) "") }}{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $style := $args.iconStyle }}
|
||||
{{ if (hasPrefix $args.orientation "horizontal") }}
|
||||
{{ if not $args.style }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
|
||||
{{ if not $args.iconStyle }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
|
||||
{{ else }}
|
||||
{{ if not $args.style }}{{ $style = "fa-4x" }}{{ end }}
|
||||
{{ if not $args.iconStyle }}{{ $style = "fa-4x" }}{{ end }}
|
||||
{{- $iconStyle = "pb-3" -}}
|
||||
{{ end }}
|
||||
|
||||
@@ -138,11 +158,19 @@
|
||||
{{- if eq $args.body "none" }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
{{- $thumbnailArgs := dict
|
||||
"src" $thumbnail
|
||||
"portrait" $args.portrait
|
||||
"anchor" $anchor
|
||||
"sizes" $args.sizes
|
||||
"title" (or $args.alt $title)
|
||||
"loading" $args.loading
|
||||
-}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }}">{{ end }}
|
||||
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }} h-100">{{ end }}
|
||||
|
||||
{{ $stack := "fa-2x" }}
|
||||
{{ $stack := "" }}
|
||||
|
||||
{{- if hasPrefix $args.orientation "horizontal" -}}
|
||||
{{ $col1 := "" }}
|
||||
@@ -157,61 +185,44 @@
|
||||
{{ $col1 = "col-4 pe-0" }}
|
||||
{{ $col2 = "col-8" }}
|
||||
{{ end }}
|
||||
{{ else if $icon }}
|
||||
{{ if eq $args.orientation "horizontal-sm" }}
|
||||
{{ $stack = "fa-1x" }}
|
||||
{{ $col1 = "col-4 col-md-2 pe-0" }}
|
||||
{{ $col2 = "col-8 col-md-10" }}
|
||||
{{ else }}
|
||||
{{ $col1 = "col-4 pe-0" }}
|
||||
{{ $col2 = "col-8" }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{/* Render horizontal card */}}
|
||||
<div class="card {{ $colorStyle }}{{ $args.class }}">
|
||||
<div class="row g-0 row-cols-2 h-100{{ if $args.button }} pb-{{ $padding.y }}{{ end }}">
|
||||
<div class="{{ if $thumbnail }}row-cols-2 row {{ end }} g-0 h-100{{ if $args.button }} pb-{{ $padding.y }}{{ end }}">
|
||||
{{- if $thumbnail -}}
|
||||
<div class="{{ $col1 }}">
|
||||
{{ $fullHeight := "card-img-h100" }}
|
||||
{{ $rounding := "rounded-start" }}
|
||||
{{ if eq (lower (path.Ext $thumbnail)) ".svg" }}{{ $fullHeight = "" }}{{ $rounding = "" }}{{ end }}
|
||||
{{- partial $args.hook (dict
|
||||
"src" $thumbnail
|
||||
"ratio" (or $ratio "auto")
|
||||
"portrait" $args.portrait
|
||||
"sizes" $args.sizes
|
||||
"anchor" $anchor
|
||||
"wrapper" "h-100 card-img-wrap d-flex align-items-center"
|
||||
{{- partial $args.hook (merge $thumbnailArgs (dict
|
||||
"wrapper" "card-img-wrap h-100 d-flex align-items-center"
|
||||
"class" (printf "card-img-bg %s %s" $rounding $fullHeight)
|
||||
"title" $title
|
||||
"loading" $args.loading
|
||||
) -}}
|
||||
</div>
|
||||
{{- else if $icon -}}
|
||||
<div class="{{ $col1 }} p-{{ $args.padding }}">
|
||||
<div class="card-icon {{ if $args.iconRounded }}fa-stack {{ $args.stack }} mx-auto{{ else }}fa-wrapper h-100 {{ end }} d-flex align-items-{{ $args.align}} justify-content-center {{ $iconStyle }}">
|
||||
{{ if $args.iconRounded }}
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas circle fa-stack-2x") -}}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
|
||||
{{ else }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
"ratio" (or $ratio "auto")
|
||||
)) -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
<div class="{{ $col2 }}">
|
||||
<div class="card-body d-flex p-{{ $args.padding }} flex-column h-100 flex-fill">
|
||||
{{ if $page }}
|
||||
<div>{{ partial "inline/card-caption.html" (dict
|
||||
"page" $page
|
||||
"keywords" $args.headerStyle
|
||||
"color" $args.color
|
||||
) }}
|
||||
</div>
|
||||
<div class="card-body p-{{ $args.padding }} h-100 hstack">
|
||||
{{ if $icon }}
|
||||
{{- partial "inline/card-icon.html" (dict
|
||||
"icon" $icon
|
||||
"padding" $args.padding
|
||||
"rounded" $args.iconRounded
|
||||
"style" $style
|
||||
"stack" $args.stack
|
||||
"class" (printf "align-self-%s me-1 mt-1 col-auto" $args.align)
|
||||
)}}
|
||||
{{ end }}
|
||||
<div class="flex-fill">
|
||||
<div>
|
||||
{{ if $page }}
|
||||
<div>{{ partial "inline/card-caption.html" (dict
|
||||
"page" $page
|
||||
"keywords" $args.headerStyle
|
||||
"color" $args.color
|
||||
) }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- partial "inline/card-body.html" (dict
|
||||
"title" $title
|
||||
"href" $href
|
||||
@@ -219,25 +230,25 @@
|
||||
"description" $description
|
||||
"button" $args.button
|
||||
) -}}
|
||||
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
|
||||
{{ if and $href $args.button }}
|
||||
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
|
||||
{{ $buttonClass := "card-button mb-n4" }}
|
||||
{{ $buttonType := (or $args.linkType $args.buttonType) }}
|
||||
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link mb-n4" }}{{ end }}
|
||||
<div class="d-flex align-items-end">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" $label
|
||||
"icon" "fas chevron-right"
|
||||
"href" $href
|
||||
"outline" true
|
||||
"button-size" "sm"
|
||||
"class" $buttonClass
|
||||
"link-type" $buttonType
|
||||
)}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
|
||||
{{ if and $href $args.button }}
|
||||
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
|
||||
{{ $buttonClass := "card-button mb-n4" }}
|
||||
{{ $buttonType := (or $args.linkType $args.buttonType) }}
|
||||
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link mb-n4" }}{{ end }}
|
||||
<div class="d-flex align-items-end">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" $label
|
||||
"icon" "fas chevron-right"
|
||||
"href" $href
|
||||
"outline" true
|
||||
"button-size" "sm"
|
||||
"class" $buttonClass
|
||||
"link-type" $buttonType
|
||||
)}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -245,30 +256,23 @@
|
||||
{{- else -}}
|
||||
{{/* Render stacked / default card */}}
|
||||
{{ $overlay := eq $args.orientation "overlay" }}
|
||||
<div class="card {{ $colorStyle }} {{ $args.class }} text-{{ $args.align }}">
|
||||
<div class="card {{ $colorStyle }} {{ $args.class }} text-{{ $args.align }}{{ if not $thumbnail }} p-{{ $args.padding }}{{ end }}">
|
||||
{{- if $thumbnail -}}
|
||||
{{- partial $args.hook (dict
|
||||
"src" $thumbnail
|
||||
"ratio" (or $ratio "16x9")
|
||||
"portrait" $args.portrait
|
||||
"anchor" $anchor
|
||||
"sizes" $args.sizes
|
||||
{{- partial $args.hook (merge $thumbnailArgs (dict
|
||||
"wrapper" "card-img-wrap"
|
||||
"class" "card-img-top card-img-bg"
|
||||
"title" (or $args.alt $title)
|
||||
"loading" $args.loading
|
||||
) -}}
|
||||
"ratio" (or $ratio "16x9")
|
||||
)) -}}
|
||||
{{- else if $icon -}}
|
||||
<div class="card-icon p-{{ $args.padding }} {{ $iconStyle }} text-{{ $args.align }} {{ if $args.iconRounded }}fa-stack {{ $args.stack }}{{ end }} w-100">
|
||||
{{ if $args.iconRounded }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "fas circle fa-stack-2x %s")) -}}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
|
||||
{{ else }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{- partial "inline/card-icon.html" (dict
|
||||
"icon" $icon
|
||||
"rounded" $args.iconRounded
|
||||
"style" $style
|
||||
"stack" $args.stack
|
||||
"class" (printf "mb-1 m-0 text-%s" $args.align)
|
||||
)}}
|
||||
{{- end -}}
|
||||
<div class="card-body d-flex flex-column p-{{ $args.padding }} {{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
|
||||
<div class="card-body p-0 d-flex flex-column{{ if $thumbnail }} p-{{ $args.padding }}{{ end }}{{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
|
||||
{{ if $args.overlay }}<div class="flex-grow-1"></div>{{ end }}
|
||||
{{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.headerStyle "color" $args.color) -}}{{ end }}
|
||||
{{- partial "inline/card-body.html" (dict "title" $title "href" $href "color" $args.color "description" $description) -}}
|
||||
@@ -276,7 +280,7 @@
|
||||
</div>
|
||||
{{ if $args.button }}
|
||||
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
|
||||
<div class="row p-{{ $args.padding }}" >
|
||||
<div class="row" >
|
||||
<div class="{{ if eq $args.orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $args.orientation "horizontal" }}col-4{{ end }}"></div>
|
||||
<div class="col d-flex align-items-end {{ if eq $args.orientation "horizontal-sm" }}px-2{{ else if eq $args.orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
|
||||
{{ $buttonClass := "card-button" }}
|
||||
@@ -289,7 +293,7 @@
|
||||
"button-size" "sm"
|
||||
"class" "card-button"
|
||||
"class" $buttonClass
|
||||
"link-type" $args.buttonType
|
||||
"link-type" $buttonType
|
||||
)}}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -51,7 +51,7 @@
|
||||
|
||||
{{ partial "assets/hero.html" (dict
|
||||
"page" $args.page
|
||||
"heading" $heading
|
||||
"heading" (merge $heading (dict "size" 6))
|
||||
"background" $args.background
|
||||
"illustration" $illustration
|
||||
"order" $args.order
|
||||
|
@@ -114,7 +114,6 @@
|
||||
{{ $title := partial "assets/section-title.html" (dict
|
||||
"heading" $heading
|
||||
"use-title" $args.useTitle
|
||||
"size" $args.size
|
||||
"links" $args.links
|
||||
"link-type" (or $args.linkType $args.type)
|
||||
"class" "hero-title"
|
||||
|
@@ -72,7 +72,7 @@
|
||||
aria-labelledby="{{ $parentID }}-heading-{{ $args.id }}"
|
||||
data-bs-parent="#accordion-{{ $parentID }}"
|
||||
>
|
||||
<div class="accordion-body">{{ $args.body | $args.page.RenderString | safeHTML }}</div>
|
||||
<div class="accordion-body">{{ or $args.raw ($args.body | $args.page.RenderString) | safeHTML }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{{- else -}}
|
||||
@@ -82,9 +82,9 @@
|
||||
role="tabpanel"
|
||||
aria-labelledby="{{ $parentID }}-btn-{{ $args.id }}"
|
||||
tabindex="0"
|
||||
data-has-content="{{ gt (len $args.body) 0 }}"
|
||||
data-has-content="{{ or (gt (len (or $args.raw "")) 0) (gt (len $args.body) 0 ) }}"
|
||||
>
|
||||
{{ $args.body | $args.page.RenderString | safeHTML }}
|
||||
{{ or $args.raw ($args.body | $args.page.RenderString) | safeHTML }}
|
||||
</div>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
@@ -6,6 +6,29 @@
|
||||
|
||||
{{- $error := false -}}
|
||||
|
||||
{{- define "_partials/inline/nav-dropdown.html" -}}
|
||||
{{ $id := .id }}
|
||||
{{ $class := .class }}
|
||||
{{ $titles := .titles }}
|
||||
{{ $wrap := .wrap }}
|
||||
|
||||
<div id="dropdown-{{ $id }}" class="dropdown panel-dropdown {{ $class }}">
|
||||
<a class="link-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
{{ cond (gt (len $titles) 0) (index $titles 0) (T "sectionMenu") }}
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
{{- range $index, $item := $titles -}}
|
||||
{{ $itemID := printf "%s-btn-%d" $id $index -}}
|
||||
{{- $show := eq $index 0 -}}
|
||||
<li>
|
||||
<a class="dropdown-item {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}"
|
||||
data-link="#{{ $id }}-btn-{{ $index }}" type="button">{{ $item }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "nav" "args" . "group" "partial") -}}
|
||||
{{- if or $args.err $args.warnmsg -}}
|
||||
@@ -19,46 +42,38 @@
|
||||
{{- $error = $args.err -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize global arguments */}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $page := $args.page -}}
|
||||
{{- $id := $args.id | default "0" -}}
|
||||
{{- $type := or $args.tabType $args.type -}}
|
||||
{{- $wrap := or $args.wordWrap $args.wrap -}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
{{- $titles := slice -}}
|
||||
{{- range $args.list }}{{ $titles = $titles | append .Title }} {{ end -}}
|
||||
{{- if reflect.IsSlice $args.navTitles }}{{ $titles = $titles | append $args.navTitles }}{{ end -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
|
||||
{{ if $args.vertical }}<div class="d-flex align-items-start">{{ end }}
|
||||
{{ if eq $type "callout" }}
|
||||
<div class="d-lg-none">
|
||||
<div id="accordion-{{ $id }}" class="accordion mb-3{{ with $args.class }} {{ . }}{{ end }} nav-callout">
|
||||
{{- range $index, $item := $args.list -}}
|
||||
{{ partial "assets/nav-item.html" (dict
|
||||
"page" $args.page
|
||||
"id" $index
|
||||
"parentID" $id
|
||||
"fade" false
|
||||
"header" $item.Title
|
||||
"class" $args.class
|
||||
"body" (or $item.Description $item.Content)
|
||||
"show" false
|
||||
"disabled" $item.disabled
|
||||
"item_type" "accordion"
|
||||
"illustration" (partial "utilities/GetIllustration.html" (dict "item" $item "size" "col-12"))
|
||||
)
|
||||
}}
|
||||
{{ end -}}
|
||||
{{- $args.navItems | safeHTML -}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-none d-lg-block">
|
||||
{{ if $args.responsive }}
|
||||
{{ partial "inline/nav-dropdown.html" (dict
|
||||
"id" $id
|
||||
"class" (printf "d-%s-none py-%d" $breakpoint.current $padding.y)
|
||||
"titles" $titles
|
||||
"wrap" $wrap
|
||||
) }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<div class="{{ if $args.responsive }}d-none d-{{ $breakpoint.current }}-block{{ end }}">
|
||||
<ul
|
||||
class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ if $args.vertical }} flex-column{{ end }}"
|
||||
class="nav nav-panel{{ with $type }} nav-{{ . }}{{ end -}}{{ with $args.class }} {{ . }}{{ end }}{{ if $args.vertical }} flex-column{{ end }} tabs-dropdown"
|
||||
id="nav-{{ $id }}"
|
||||
role="tablist"{{ if $args.vertical }}
|
||||
aria-orientation="vertical"{{ end }}
|
||||
role="tablist"
|
||||
{{ if $args.vertical }}aria-orientation="vertical"{{ end }}
|
||||
data-companion="dropdown-{{ $id }}"
|
||||
>
|
||||
{{- $titles := slice -}}
|
||||
{{- range $args.list }}{{ $titles = $titles | append .Title }} {{ end -}}
|
||||
@@ -73,7 +88,7 @@
|
||||
class="nav-link{{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}{{ if $disabled }} disabled{{ end }}"
|
||||
id="{{ $itemID }}"
|
||||
data-bs-toggle="pill"
|
||||
data-bs-target="#{{ $id }}-{{ $index }}"
|
||||
data-bs-target="#{{ $id }}-{{ $index }}"
|
||||
type="button"
|
||||
role="tab"
|
||||
aria-controls="{{ $id }}-{{ $index }}"
|
||||
@@ -84,49 +99,9 @@
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content {{ if eq $type "tabs" }}border p-3{{ else if $args.vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{- range $index, $item := $args.list -}}
|
||||
{{- $header := $item.Title -}}
|
||||
{-{ $body := $item.Content -}}
|
||||
{{- $show := eq $index 0 -}}
|
||||
{{- $thumbnail := "" -}}
|
||||
{{- if reflect.IsMap $item.Params.Thumbnail -}}
|
||||
{{- $thumbnail = $item.Params.Thumbnail.url -}}
|
||||
{{- else -}}
|
||||
{{- $thumbnail = $item.Params.Thumbnail -}}
|
||||
{{- end -}}
|
||||
<div
|
||||
class="tab-pane{{ if $show }} active{{ end }}"
|
||||
id="nav-{{ $id }}-{{ $index }}"
|
||||
role="tabpanel"
|
||||
aria-labelledby="{{ $id }}-btn-{{ $index }}"
|
||||
tabindex="0"
|
||||
>
|
||||
{{- if eq $args.pane "persona" -}}
|
||||
{{- partial "assets/persona.html" (dict
|
||||
"title" $item.Title
|
||||
"class" $args.class
|
||||
"color" $args.color
|
||||
"href" $item.Params.href
|
||||
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||
"thumbnail" $thumbnail
|
||||
) -}}
|
||||
{{- else -}}
|
||||
{{- $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) -}}
|
||||
{{- if $illustration -}}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
|
||||
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
|
||||
</div>
|
||||
{{- else -}}
|
||||
{{- (or $item.Description $item.Content) -}}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="tab-content {{ if in (slice "tabs" "callout") $type }}border p-3 bg-body {{ else if $args.vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{- $args.navItems | safeHTML -}}
|
||||
</div>
|
||||
{{- if eq $type "callout" }}</div>{{ end -}}
|
||||
{{- if $args.vertical }}</div>{{ end -}}
|
||||
</div>
|
||||
|
@@ -19,7 +19,7 @@
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $size := (or $args.size site.Params.modules.bookshop.title.size) | default 4 -}}
|
||||
{{- $size := (or $args.heading.size site.Params.modules.bookshop.title.size) | default 4 -}}
|
||||
{{- $arrangement := (or $args.arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}}
|
||||
{{- $headingStyle := (or $args.headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}}
|
||||
{{- $contentStyle := (or $args.contentStyle site.Params.modules.bookshop.title.contentStyle) | default "lead text-muted" -}}
|
||||
|
@@ -7,7 +7,7 @@
|
||||
{{ $error := false }}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial")}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "assets/toc.html"
|
||||
@@ -31,8 +31,8 @@
|
||||
{{- if and (not $error) (ge (len .) $minNumHeadings) }}
|
||||
<div class="d-grid gap-2 mx-auto">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" (T "toc")
|
||||
"color" "secondary"
|
||||
"title" (T "toc")
|
||||
"color" "secondary"
|
||||
"outline" "true"
|
||||
"class" "toc-button"
|
||||
"icon" "fas sort"
|
||||
|
@@ -17,7 +17,9 @@
|
||||
|
||||
{{/* Insert a default hero and article block (for list pages) when no content blocks are available */}}
|
||||
{{ if and .blocks (gt (len .blocks) 0 )}}
|
||||
{{ $blocks = .blocks }}
|
||||
{{ range $i, $b := .blocks }}
|
||||
{{ $blocks = $blocks | append (merge (dict "_ordinal" $i) $b) }}
|
||||
{{ end }}
|
||||
{{ else if $default }}
|
||||
{{ $err := (hasPrefix $page.LinkTitle "404") }}
|
||||
{{ $pageTitle := $page.LinkTitle }}
|
||||
|
@@ -31,12 +31,12 @@
|
||||
{{- $header := or (partial "utilities/GetArgParent" (dict "page" . "arg" "header-style")) (partial "utilities/GetArgParent" (dict "page" . "arg" "header")) -}}
|
||||
{{- $icon := .Get "icon" -}}
|
||||
{{- $iconRounded := or (partial "utilities/GetArgParent" (dict "page" . "arg" "icon-rounded")) (partial "utilities/GetArgParent" (dict "page" . "arg" "iconRounded")) -}}
|
||||
{{- $align := partial "utilities/GetArgParent" (dict "page" . "arg" "align") -}}
|
||||
{{- $align := partial "utilities/GetArgParent" (dict "page" . "arg" "align") | default "start" -}}
|
||||
{{- $style := or (partial "utilities/GetArgParent" (dict "page" . "arg" "icon-style")) (partial "utilities/GetArgParent" (dict "page" . "arg" "style")) -}}
|
||||
{{- $subtle := partial "utilities/GetArgParent" (dict "page" . "arg" "subtle") -}}
|
||||
{{- $loading := .Get "loading" -}}
|
||||
{{- $orientation := partial "utilities/GetArgParent" (dict "page" . "arg" "orientation") -}}
|
||||
{{- $padding := partial "utilities/GetArgParent" (dict "page" . "arg" "padding") -}}
|
||||
{{- $padding := partial "utilities/GetArgParent" (dict "page" . "arg" "padding") | default 3 -}}
|
||||
{{- $ratio := partial "utilities/GetArgParent" (dict "page" . "arg" "ratio") -}}
|
||||
{{- $page := .Page -}}
|
||||
{{- $path := .Get "path" -}}
|
||||
|
1865
package-lock.json
generated
1865
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -90,7 +90,7 @@
|
||||
"eslint": "^9.30.1",
|
||||
"husky": "^9.1.7",
|
||||
"markdownlint-cli2": "^0.18.1",
|
||||
"neostandard": "^0.12.1",
|
||||
"neostandard": "^0.12.2",
|
||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"postcss-cli": "^11.0.1",
|
||||
|
Reference in New Issue
Block a user