Compare commits

..

1 Commits

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -38,11 +38,10 @@
setLocalStorage('theme', theme, 'functional')
if (theme === 'auto') {
theme = getPreferredTheme()
document.documentElement.setAttribute('data-bs-theme', (getPreferredTheme()))
} else {
document.documentElement.setAttribute('data-bs-theme', theme)
}
document.documentElement.setAttribute('data-bs-theme', theme)
// store main theme separately, to avoid the navbar mode icon uses a local variable
document.documentElement.setAttribute('data-bs-main-theme', theme)
updateSelectors()
}

View File

@@ -4,163 +4,24 @@ const togglers = document.querySelectorAll('.main-nav-toggler')
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
const colorsBG = ['body', 'secondary', 'tertiary']
let scrollPosition = 0
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
function getStyle(el, styleProp) {
let y
if (window.getComputedStyle) {
y = document.defaultView.getComputedStyle(el).getPropertyValue(styleProp)
} else if (el.currentStyle) {
y = el.currentStyle[styleProp]
}
return y
}
function updateNavbarColor () {
const scrollTop = window.pageYOffset
const scrollBottom = scrollTop + navbar.offsetHeight
// find which section is currently under the navbar
let currentSection = null
const sections = document.querySelectorAll('article,section,footer')
let currentIndex = -1
sections.forEach(section => {
const rect = section.getBoundingClientRect()
const sectionTop = scrollTop + rect.top
const sectionBottom = sectionTop + section.offsetHeight - 1
// check if navbar overlaps with this section
if (scrollTop <= sectionBottom && scrollBottom >= sectionTop) {
let index = getStyle(section, 'z-index')
if (index === 'auto') {
index = 1
}
if (index > currentIndex) {
currentSection = section
currentIndex = index
}
}
})
// use main part as backup (defined in baseof.html template)
if (!currentSection) {
currentSection = document.querySelector('main')
}
if (currentSection) {
adaptToSection(currentSection)
}
}
function getBackgroundColor (section) {
// get computed background color of the section
let color = window.getComputedStyle(section).backgroundColor
// use body background when section background is undefined or transparent
if (color === 'rgba(0, 0, 0, 0)' || color === 'transparent') {
color = window.getComputedStyle(document.body).getPropertyValue('background-color')
}
return color
}
function adaptToSection (section) {
// retrieve the section background color, using body color as fallback
const color = getBackgroundColor(section)
// determine if the background is light or dark
const isLightBackground = isLightColor(section, color)
// set appropriate mode class
const nav = document.querySelector('.navbar')
if (isLightBackground) {
if (navbar.dataset.bsTheme !== 'light') {
navbar.dataset.bsTheme = 'light'
}
} else {
if (navbar.dataset.bsTheme !== 'dark') {
navbar.dataset.bsTheme = 'dark'
}
}
// update semi-transparent background color of navbar
const rgb = parseRGB(color)
if (rgb) {
navbar.style.backgroundColor = `rgba(${rgb.r},${rgb.g},${rgb.b},.4)`
}
}
function isLightColor (section, color) {
if (section.dataset.bsTheme === 'light') {
return true
}
if (section.dataset.bsTheme === 'dark') {
return false
}
// parse RGB color of the section backgroiund
const rgb = parseRGB(color)
if (!rgb) return true // Default to light if can't parse
// calculate relative luminance
const luminance = calculateLuminance(rgb.r, rgb.g, rgb.b)
// return true if light (luminance > 0.5)
return luminance > 0.5
}
function parseRGB (color) {
const match = color.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/)
if (match) {
return {
r: parseInt(match[1]),
g: parseInt(match[2]),
b: parseInt(match[3])
}
}
return null
}
function calculateLuminance (r, g, b) {
// convert RGB to relative luminance using sRGB formula
const [rs, gs, bs] = [r, g, b].map(c => {
c = c / 255
return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4)
})
return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs
}
function updateNavbar () {
if (navbar.dataset.transparent) {
updateNavbarColor()
} else {
let storedTheme
if (typeof getLocalStorage === "function") {
storedTheme = getLocalStorage('theme', null, 'functional')
let storedTheme
if (typeof getLocalStorage === "function") {
storedTheme = getLocalStorage('theme', null, 'functional')
}
if (window.scrollY > 75) {
navbar.classList.add('nav-active')
if (storedTheme) {
navbar.setAttribute('data-bs-theme', storedTheme)
}
} else {
navbar.classList.remove('nav-active')
const defaultTheme = navbar.getAttribute('data-bs-overlay')
if (window.scrollY > 75) {
navbar.classList.add('nav-active')
if (storedTheme) {
navbar.setAttribute('data-bs-theme', storedTheme)
}
} else {
navbar.classList.remove('nav-active')
const defaultTheme = navbar.getAttribute('data-bs-overlay')
const targetTheme = defaultTheme ? defaultTheme : storedTheme
if (targetTheme) {
navbar.setAttribute('data-bs-theme', defaultTheme)
}
const targetTheme = defaultTheme ? defaultTheme : storedTheme
if (targetTheme) {
navbar.setAttribute('data-bs-theme', defaultTheme)
}
}
}
@@ -172,49 +33,28 @@ if ((navbar !== null) && (window.performance.getEntriesByType)) {
}
if (navbar !== null && togglers !== null) {
// initialize and update the navbar on load, on resize, and on scroll
document.addEventListener('DOMContentLoaded', () => { fixed && updateNavbar() })
document.addEventListener('resize', () => fixed && updateNavbar())
document.addEventListener('scroll', () => fixed && updateNavbar())
// hook up collapse events
document.querySelectorAll('.navbar-collapse').forEach((collapse) => {
collapse.addEventListener('show.bs.collapse', function () {
scrollPosition = window.pageYOffset
document.body.style.top = `-${scrollPosition}px`
document.body.classList.add('navbar-open')
})
collapse.addEventListener('hide.bs.collapse', function () {
document.body.classList.remove('navbar-open')
document.body.style.top = ''
window.scrollTo({ top: scrollPosition, behavior: 'instant' })
})
})
// observe state changes to the site's color mode
const html = document.querySelector('html')
const config = {
attributes: true,
attributeFilter: ['data-bs-theme']
}
const Observer = new MutationObserver(() => {
if (fixed) {
// wait for the theme animation to finish
sleep(600).then(() => {
updateNavbar()
})
}
const Observer = new MutationObserver((mutationrecords) => {
fixed && updateNavbar()
})
Observer.observe(html, config)
// initialize background color
if (!navbar.dataset.transparent) {
const color = (navbar.getAttribute('data-navbar-color') || 'body')
const bg = colorsBG.includes(color) ? `var(--bs-${color}-bg)` : `var(--bs-navbar-color-${color})`
navbar.style.setProperty('--bs-navbar-expanded-color', bg)
const color = (navbar.getAttribute('data-navbar-color') || 'body')
const bg = colorsBG.includes(color) ? `var(--bs-${color}-bg)` : `var(--bs-navbar-color-${color})`
navbar.style.setProperty('--bs-navbar-expanded-color', bg)
// set the navbar background color to opaque when scrolling past a breakpoint
window.onscroll = () => {
fixed && updateNavbar()
}
// update the navbar background color when expanded
// set the navbar background color to opaque when expanded
for (let i = 0; i < togglers.length; ++i) {
togglers[i].onclick = () => {
navbar.classList.toggle('navbar-expanded')

View File

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

View File

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

View File

@@ -95,11 +95,6 @@
}
}
.navbar[data-transparent="true"] {
backdrop-filter: blur(10px);
transition: all 0.3s ease;
}
.nav-active, .navbar-expanded {
background-color: var(--bs-navbar-expanded-color);
border-bottom: 1px solid var(--bs-secondary-bg);
@@ -109,27 +104,20 @@
margin: 0 .15rem;
}
.navbar-title, .navbar-title-center, .navbar-title-start {
.navbar-title {
display: inline-block;
white-space: normal;
text-align: center !important;
vertical-align: middle;
padding: 0 $spacer;
width: 100% !important;
}
.navbar-title, .navbar-title-center {
text-align: center !important;
}
.navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover {
border-bottom: solid 1px var(--bs-navbar-hover-color);
margin-bottom: -1px;
}
.navbar-brand {
margin-right: 0;
}
.navbar-contrast {
--bs-navbar-color: white !important;
--bs-navbar-hover-color: white !important;
@@ -137,7 +125,7 @@
--bs-navbar-active-color: white !important;
--bs-navbar-toggler-color: white;
.navbar-title, .navbar-brand, .mode-switch {
.navbar-title, .mode-switch {
--#{$prefix}border-color: white;
color: white !important;
@@ -189,7 +177,6 @@
.navbar .nav-item {
display: flex;
align-items: center;
white-space: nowrap;
}
.navbar-collapse .dropdown {
@@ -201,10 +188,6 @@
font-size: 1em;
}
.navbar .btn {
border-radius: #{$theme-border-radius};
}
.navbar-expanded .search-input {
margin-bottom: 1rem;
}
@@ -300,10 +283,13 @@
}
.navbar-container {
min-height: calc(2rem + 10px);
width: 100% !important;
}
.navbar-brand {
margin-right: 0;
}
@include media-breakpoint-up(#{$navbar-size}) {
:root {
--navbar-offset: #{$navbar-offset};
@@ -397,47 +383,3 @@
.form-control.is-search {
border: 1px solid var(--bs-border-color) !important;
}
.d-none-main-light, .d-none-inline-main-light {
display: none !important;
}
.d-none-main-dark {
display: block !important;
}
.d-none-inline-main-dark {
display: inline !important;
}
[data-bs-main-theme="dark"] .d-none-main-light {
display: block !important;
}
[data-bs-main-theme="dark"] .d-none-inline-main-light {
display: inline !important;
}
[data-bs-main-theme="dark"] .d-none-main-dark, [data-bs-main-theme="dark"] .d-none-inline-main-dark {
display: none !important;
}
.inline-menu li {
display: inline-block;
padding: 0.5rem;
color: var(--bs-nav-link-color);
}
.inline-menu li .active, .inline-menu li>a:hover {
box-shadow: inset 0 -1px 0 var(--bs-navbar-hover-color);
}
ul.inline-menu {
padding: 0;
}
body.navbar-open {
overflow: hidden;
position: fixed;
width: 100%;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -88,15 +88,13 @@
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30
color = "body"
fixed = true
overlay = false
overlayMode = "dark"
horizontal = false
offset = "5.7rem"
offset = "5.5rem"
breadcrumb = true
toc = true
sidebar = true

View File

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

View File

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

View File

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

View File

@@ -23,6 +23,7 @@ arguments:
comment: Name of the menu configuration.
breakpoint:
release: v1.0.0
style:
type: select
optional: true
@@ -78,36 +79,6 @@ arguments:
comment: >-
Address of the logo image, defaults to the parameter `logo` set in the
`main` section of the site's parameter configuration.
logo-align:
type: select
optional: true
default: center
comment: Alignment of the logo when the navbar is in collapsed mode.
options:
values:
- start
- center
release: v1.15.0
logo-mode:
type: bool
default: false
optional: true
comment: >-
Flag indicating if the logo should support color modes. If set, the
navbar searches for images having a matching color-mode suffix
such as `-light` or `-dark`.
release: v1.15.0
transparent:
type: bool
default: false
optional: true
comment: >-
Flag indicating the navbar should be transparent. When set, the navbar
uses the current section's background color and applies a semi-
transparent blur filter. The site's body color is used as fallback. If
set, the color mode of the current section is used too. When no mode is
set, the navbar applies a mode with the best contrast.
release: v1.19.0
# deprecated arguments
size:
type: select

View File

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

View File

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

View File

@@ -33,7 +33,7 @@
includeSVGOrigin = true
[docs]
basePath = "/"
basePath = "/" # TODO: replace
github = "https://github.com/gethinode/hinode"
release = "https://github.com/gethinode/hinode/releases/tag/"
checkVersion = false
@@ -41,17 +41,14 @@
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30
color = "body"
fixed = true
overlay = false
overlayMode = "dark"
transparent = false
horizontal = false
offset = "5.7rem"
offsetXS = "5.7rem"
offset = "5.5rem"
offsetXS = "5.5rem"
breadcrumb = true
toc = true
sidebar = true
@@ -62,7 +59,6 @@
maxNumHeadings = 9
[navigation.language]
icon = "fas globe"
inline = false
[navigation.padding]
x = 4
y = 4

View File

@@ -29,7 +29,6 @@
"label",
"li",
"link",
"main",
"mark",
"math",
"meta",
@@ -213,8 +212,6 @@
"d-none",
"d-none-dark",
"d-none-light",
"d-none-main-dark",
"d-none-main-light",
"d-sm-block",
"d-sm-none",
"data-table",
@@ -333,10 +330,8 @@
"g-4",
"gap-1",
"gap-2",
"gap-4",
"gap-5",
"gradient",
"grid",
"h-100",
"h1",
"h2",
@@ -359,7 +354,6 @@
"justify-content-between",
"justify-content-center",
"justify-content-end",
"justify-content-md-end",
"justify-content-md-start",
"justify-content-start",
"katex",
@@ -393,6 +387,7 @@
"mode-item",
"mode-toggle",
"ms-1",
"ms-3",
"ms-auto",
"ms-md-3",
"mt-1",
@@ -435,7 +430,6 @@
"navbar-mode-selector",
"navbar-nav",
"navbar-nav-scroll",
"navbar-title-center",
"navbar-toggler",
"next",
"no-js",
@@ -551,8 +545,6 @@
"text-decoration-none",
"text-end",
"text-info",
"text-md-center",
"text-md-end",
"text-muted",
"text-nowrap",
"text-primary",
@@ -606,13 +598,10 @@
"visually-hidden",
"vr",
"w-100",
"w-50",
"width-100",
"width-md-auto"
"w-50"
],
"ids": [
"abbr",
"about",
"accordion",
"accordion-0",
"accordion-0-heading-0",
@@ -624,15 +613,11 @@
"accordéon",
"alert",
"alerte",
"ander-project",
"animatie",
"animation",
"another-project",
"args",
"arguments",
"articles",
"articles-de-blog",
"autre-projet",
"background-type",
"badge",
"barre-de-navigation",
@@ -642,7 +627,6 @@
"body-docs-collapse-15",
"body-docs-collapse-16",
"body-file-collapse-1",
"bootstrap-elements",
"bouton",
"breadcrumb",
"btnTOCShowLess",
@@ -653,7 +637,6 @@
"callout",
"card",
"card-group",
"cards",
"carousel",
"carousel-0",
"carrousel",
@@ -666,38 +649,29 @@
"command-prompt",
"comment-nous-partageons-vos-informations",
"comment-utilisons-nous-les-cookies-",
"componenten",
"components",
"composents",
"container",
"content-blocks",
"cookie-policy",
"cookies-etc",
"cta",
"custom-activity",
"data-tables",
"derde-artikel",
"deuxième-article",
"docs",
"documentation",
"dropdown-nav-0",
"dropdown-panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e",
"dropdown-panel-256968d78244b40725f5d484ea340a5f",
"dropdown-panel-29ba03d101604c5caa618293938833b1",
"dropdown-panel-30c508a91fbd512d0bee6f976efc028c",
"dropdown-panel-47c670e7ebc8dd6e57f5d70dde479a8b",
"dropdown-panel-4c945acd0c9326daa6f433a64262c7a0",
"dropdown-panel-552e42166b1b143d516aeccc1fbc7d32",
"dropdown-panel-bf5b105df93a1545b2fc424e3ab1c654",
"dropdown-panel-e5aba6d799885a8fd4208fade274e3a7",
"dropdown-panel-fd6d8a3429e95196931cd8c08072abf3",
"eerste-artikel",
"dropdown-panel-0692e7e68c57d91164039f0f77cce9d8",
"dropdown-panel-0a5cb51ed9eea57f673dc25545175b8b",
"dropdown-panel-41fccc8aa490d4ea9d475a6d2d44be42",
"dropdown-panel-7aa9804adc5998a7a66cd8faf656c6f9",
"dropdown-panel-99dcbfb73d35cee704ca4ee9fb6a5e3c",
"dropdown-panel-b06517abb515d4c22a03ca07d577f3de",
"dropdown-panel-b434a05f655e7811ee71b4177747a1c0",
"dropdown-panel-ba696faaa3c3f34bebc3f1da67a7c8ad",
"dropdown-panel-d80f75f98e8a44fe4164fa76a6afd600",
"dropdown-panel-d8bdd6a5f6d88907f9d6e8b57d921196",
"elements-type",
"entity-relationship-diagram",
"example",
"examples",
"exemple",
"exemple-de-projet",
"fa-address-card",
"fa-face-frown",
"fa-folder",
@@ -710,17 +684,16 @@
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"faq",
"faq-726ff0b8b5ec9328cfef51994d523ad1",
"faq-726ff0b8b5ec9328cfef51994d523ad1-heading-faq-726ff0b8b5ec9328cfef51994d523ad1",
"faq-726ff0b8b5ec9328cfef51994d523ad1-item-0",
"faq-726ff0b8b5ec9328cfef51994d523ad1-item-1",
"faq-726ff0b8b5ec9328cfef51994d523ad1-item-2",
"faq-c610e94909d8dd90e16cbcbc4cc3fe84",
"faq-c610e94909d8dd90e16cbcbc4cc3fe84-heading-faq-c610e94909d8dd90e16cbcbc4cc3fe84",
"faq-c610e94909d8dd90e16cbcbc4cc3fe84-item-0",
"faq-c610e94909d8dd90e16cbcbc4cc3fe84-item-1",
"faq-c610e94909d8dd90e16cbcbc4cc3fe84-item-2",
"faq-1b8aefa895c57fc4fd5452748485b590",
"faq-1b8aefa895c57fc4fd5452748485b590-heading-faq-1b8aefa895c57fc4fd5452748485b590",
"faq-1b8aefa895c57fc4fd5452748485b590-item-0",
"faq-1b8aefa895c57fc4fd5452748485b590-item-1",
"faq-1b8aefa895c57fc4fd5452748485b590-item-2",
"faq-f18dc8d82722290aea32dc7f4423dea5",
"faq-f18dc8d82722290aea32dc7f4423dea5-heading-faq-f18dc8d82722290aea32dc7f4423dea5",
"faq-f18dc8d82722290aea32dc7f4423dea5-item-0",
"faq-f18dc8d82722290aea32dc7f4423dea5-item-1",
"faq-f18dc8d82722290aea32dc7f4423dea5-item-2",
"fas-1",
"fas-2",
"fas-3",
@@ -760,14 +733,13 @@
"fichier",
"fil-dariane",
"file",
"first-post",
"first-panel",
"flowchart",
"footer-docs-collapse-15",
"footer-docs-collapse-16",
"footer-file-collapse-1",
"formula-katex",
"formule-katex",
"fourth-post-excluded-from-search",
"gantt-diagram",
"gegevenstabellen",
"git-graph",
@@ -776,7 +748,6 @@
"gérer-les-préférences-des-cookies",
"heading",
"heading-type",
"hero",
"horizontal-cards-with-an-icon",
"horizontal-cards-with-an-image",
"how-do-we-use-cookies",
@@ -785,7 +756,6 @@
"illustration-type",
"image",
"imagekitio",
"images-locales-et-distantes",
"imgix",
"indicateur-de-chargement",
"infobulle",
@@ -802,7 +772,6 @@
"liens-vers-des-tiers-et-utilisation-de-vos-informations",
"link",
"links-type",
"local-and-remote-images",
"lottie-animation-0",
"manage-cookie-preferences",
"map",
@@ -819,16 +788,16 @@
"nav-0-btn-1",
"nav-0-btn-2",
"nav-nav-0",
"nav-panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e",
"nav-panel-256968d78244b40725f5d484ea340a5f",
"nav-panel-29ba03d101604c5caa618293938833b1",
"nav-panel-30c508a91fbd512d0bee6f976efc028c",
"nav-panel-47c670e7ebc8dd6e57f5d70dde479a8b",
"nav-panel-4c945acd0c9326daa6f433a64262c7a0",
"nav-panel-552e42166b1b143d516aeccc1fbc7d32",
"nav-panel-bf5b105df93a1545b2fc424e3ab1c654",
"nav-panel-e5aba6d799885a8fd4208fade274e3a7",
"nav-panel-fd6d8a3429e95196931cd8c08072abf3",
"nav-panel-0692e7e68c57d91164039f0f77cce9d8",
"nav-panel-0a5cb51ed9eea57f673dc25545175b8b",
"nav-panel-41fccc8aa490d4ea9d475a6d2d44be42",
"nav-panel-7aa9804adc5998a7a66cd8faf656c6f9",
"nav-panel-99dcbfb73d35cee704ca4ee9fb6a5e3c",
"nav-panel-b06517abb515d4c22a03ca07d577f3de",
"nav-panel-b434a05f655e7811ee71b4177747a1c0",
"nav-panel-ba696faaa3c3f34bebc3f1da67a7c8ad",
"nav-panel-d80f75f98e8a44fe4164fa76a6afd600",
"nav-panel-d8bdd6a5f6d88907f9d6e8b57d921196",
"navbar",
"navbar-0-collapse",
"navbar-mode",
@@ -836,91 +805,81 @@
"navbar-sample-collapse",
"navigation",
"notification",
"over-mij",
"overview",
"panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e-0",
"panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e-1",
"panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e-2",
"panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e-btn-0",
"panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e-btn-1",
"panel-05f2e5ae7cf8c0ab8a49ba311bdc4d7e-btn-2",
"panel-256968d78244b40725f5d484ea340a5f-0",
"panel-256968d78244b40725f5d484ea340a5f-1",
"panel-256968d78244b40725f5d484ea340a5f-2",
"panel-256968d78244b40725f5d484ea340a5f-btn-0",
"panel-256968d78244b40725f5d484ea340a5f-btn-1",
"panel-256968d78244b40725f5d484ea340a5f-btn-2",
"panel-29ba03d101604c5caa618293938833b1-0",
"panel-29ba03d101604c5caa618293938833b1-1",
"panel-29ba03d101604c5caa618293938833b1-2",
"panel-29ba03d101604c5caa618293938833b1-btn-0",
"panel-29ba03d101604c5caa618293938833b1-btn-1",
"panel-29ba03d101604c5caa618293938833b1-btn-2",
"panel-30c508a91fbd512d0bee6f976efc028c-0",
"panel-30c508a91fbd512d0bee6f976efc028c-1",
"panel-30c508a91fbd512d0bee6f976efc028c-2",
"panel-30c508a91fbd512d0bee6f976efc028c-btn-0",
"panel-30c508a91fbd512d0bee6f976efc028c-btn-1",
"panel-30c508a91fbd512d0bee6f976efc028c-btn-2",
"panel-47c670e7ebc8dd6e57f5d70dde479a8b-0",
"panel-47c670e7ebc8dd6e57f5d70dde479a8b-1",
"panel-47c670e7ebc8dd6e57f5d70dde479a8b-2",
"panel-47c670e7ebc8dd6e57f5d70dde479a8b-btn-0",
"panel-47c670e7ebc8dd6e57f5d70dde479a8b-btn-1",
"panel-47c670e7ebc8dd6e57f5d70dde479a8b-btn-2",
"panel-4c945acd0c9326daa6f433a64262c7a0-0",
"panel-4c945acd0c9326daa6f433a64262c7a0-1",
"panel-4c945acd0c9326daa6f433a64262c7a0-2",
"panel-4c945acd0c9326daa6f433a64262c7a0-btn-0",
"panel-4c945acd0c9326daa6f433a64262c7a0-btn-1",
"panel-4c945acd0c9326daa6f433a64262c7a0-btn-2",
"panel-552e42166b1b143d516aeccc1fbc7d32-0",
"panel-552e42166b1b143d516aeccc1fbc7d32-1",
"panel-552e42166b1b143d516aeccc1fbc7d32-2",
"panel-552e42166b1b143d516aeccc1fbc7d32-btn-0",
"panel-552e42166b1b143d516aeccc1fbc7d32-btn-1",
"panel-552e42166b1b143d516aeccc1fbc7d32-btn-2",
"panel-bf5b105df93a1545b2fc424e3ab1c654-0",
"panel-bf5b105df93a1545b2fc424e3ab1c654-1",
"panel-bf5b105df93a1545b2fc424e3ab1c654-2",
"panel-bf5b105df93a1545b2fc424e3ab1c654-btn-0",
"panel-bf5b105df93a1545b2fc424e3ab1c654-btn-1",
"panel-bf5b105df93a1545b2fc424e3ab1c654-btn-2",
"panel-e5aba6d799885a8fd4208fade274e3a7-0",
"panel-e5aba6d799885a8fd4208fade274e3a7-1",
"panel-e5aba6d799885a8fd4208fade274e3a7-2",
"panel-e5aba6d799885a8fd4208fade274e3a7-btn-0",
"panel-e5aba6d799885a8fd4208fade274e3a7-btn-1",
"panel-e5aba6d799885a8fd4208fade274e3a7-btn-2",
"panel-fd6d8a3429e95196931cd8c08072abf3-0",
"panel-fd6d8a3429e95196931cd8c08072abf3-1",
"panel-fd6d8a3429e95196931cd8c08072abf3-2",
"panel-fd6d8a3429e95196931cd8c08072abf3-btn-0",
"panel-fd6d8a3429e95196931cd8c08072abf3-btn-1",
"panel-fd6d8a3429e95196931cd8c08072abf3-btn-2",
"panels",
"panel-0692e7e68c57d91164039f0f77cce9d8-0",
"panel-0692e7e68c57d91164039f0f77cce9d8-1",
"panel-0692e7e68c57d91164039f0f77cce9d8-2",
"panel-0692e7e68c57d91164039f0f77cce9d8-btn-0",
"panel-0692e7e68c57d91164039f0f77cce9d8-btn-1",
"panel-0692e7e68c57d91164039f0f77cce9d8-btn-2",
"panel-0a5cb51ed9eea57f673dc25545175b8b-0",
"panel-0a5cb51ed9eea57f673dc25545175b8b-1",
"panel-0a5cb51ed9eea57f673dc25545175b8b-2",
"panel-0a5cb51ed9eea57f673dc25545175b8b-btn-0",
"panel-0a5cb51ed9eea57f673dc25545175b8b-btn-1",
"panel-0a5cb51ed9eea57f673dc25545175b8b-btn-2",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-0",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-1",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-2",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-btn-0",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-btn-1",
"panel-41fccc8aa490d4ea9d475a6d2d44be42-btn-2",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-0",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-1",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-2",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-btn-0",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-btn-1",
"panel-7aa9804adc5998a7a66cd8faf656c6f9-btn-2",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-0",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-1",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-2",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-btn-0",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-btn-1",
"panel-99dcbfb73d35cee704ca4ee9fb6a5e3c-btn-2",
"panel-b06517abb515d4c22a03ca07d577f3de-0",
"panel-b06517abb515d4c22a03ca07d577f3de-1",
"panel-b06517abb515d4c22a03ca07d577f3de-2",
"panel-b06517abb515d4c22a03ca07d577f3de-btn-0",
"panel-b06517abb515d4c22a03ca07d577f3de-btn-1",
"panel-b06517abb515d4c22a03ca07d577f3de-btn-2",
"panel-b434a05f655e7811ee71b4177747a1c0-0",
"panel-b434a05f655e7811ee71b4177747a1c0-1",
"panel-b434a05f655e7811ee71b4177747a1c0-2",
"panel-b434a05f655e7811ee71b4177747a1c0-btn-0",
"panel-b434a05f655e7811ee71b4177747a1c0-btn-1",
"panel-b434a05f655e7811ee71b4177747a1c0-btn-2",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-0",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-1",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-2",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-btn-0",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-btn-1",
"panel-ba696faaa3c3f34bebc3f1da67a7c8ad-btn-2",
"panel-d80f75f98e8a44fe4164fa76a6afd600-0",
"panel-d80f75f98e8a44fe4164fa76a6afd600-1",
"panel-d80f75f98e8a44fe4164fa76a6afd600-2",
"panel-d80f75f98e8a44fe4164fa76a6afd600-btn-0",
"panel-d80f75f98e8a44fe4164fa76a6afd600-btn-1",
"panel-d80f75f98e8a44fe4164fa76a6afd600-btn-2",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-0",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-1",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-2",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-btn-0",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-btn-1",
"panel-d8bdd6a5f6d88907f9d6e8b57d921196-btn-2",
"persona",
"pie-chart",
"pills",
"politique-de-confidentialité",
"politique-de-cookies",
"premier-article",
"privacy-policy",
"projecten",
"projects",
"projets",
"publication",
"quadrant-chart",
"quatrième-article-exclu-de-la-recherche",
"que-sont-les-cookies-",
"release",
"releases",
"requirement-chart",
"réduire",
"sample-project",
"second-post",
"second-panel",
"security",
"separator",
"sequence-diagram",
"shortcode-with-controls-and-frontmatter",
"spinner",
@@ -932,8 +891,8 @@
"sécurité",
"table",
"tabs",
"third-panel",
"third-party-links--use-of-your-information",
"third-post",
"timeline",
"title",
"toast",
@@ -945,26 +904,19 @@
"toc-collapse",
"toc-collapse-items",
"tooltip",
"troisième-article",
"tweede-artikel",
"types-de-cookies-que-nous-utilisons",
"types-of-cookies-we-use",
"underline",
"user-journey",
"video",
"video-message",
"video-type",
"vidéo",
"vierde-artikel",
"voorbeeldproject",
"vos-droits",
"welcome-to-hinode",
"welkom-bij-hinode",
"what-are-cookies",
"xy-chart",
"your-rights",
"à-propos",
"éléments-bootstrap"
"your-rights"
]
}
}

8
go.mod
View File

@@ -4,10 +4,10 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.13.0+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.5 // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4 // indirect
github.com/gethinode/mod-bootstrap v1.3.4 // indirect
github.com/gethinode/mod-csp v1.0.8 // indirect
github.com/gethinode/mod-flexsearch/v3 v3.0.1 // indirect
github.com/gethinode/mod-flexsearch/v3 v3.0.0 // indirect
github.com/gethinode/mod-fontawesome/v2 v2.1.2 // indirect
github.com/gethinode/mod-google-analytics v1.3.3 // indirect
github.com/gethinode/mod-katex v1.1.4 // indirect
@@ -15,7 +15,7 @@ require (
github.com/gethinode/mod-lottie v1.6.1 // indirect
github.com/gethinode/mod-mermaid/v3 v3.0.1 // indirect
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 // indirect
github.com/gethinode/mod-utils/v4 v4.18.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 // indirect
github.com/gethinode/mod-utils/v4 v4.14.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64 // indirect
github.com/twbs/bootstrap v5.3.8+incompatible // indirect
)

528
go.sum
View File

@@ -1,32 +1,544 @@
github.com/airbnb/lottie-web v5.12.2+incompatible h1:Ldogtlhiucf7mMsgisyxSBY0qunV44+lpa9Icy2KoQc=
github.com/airbnb/lottie-web v5.12.2+incompatible/go.mod h1:nTss557UK9FGnp8QYlCMO29tjUHwbdAHG/DprbGfHGE=
github.com/airbnb/lottie-web v5.13.0+incompatible h1:plBV5Uq/F1kK0EC61Hr0cBGReI9OgUfd/pp0baoDX8o=
github.com/airbnb/lottie-web v5.13.0+incompatible/go.mod h1:nTss557UK9FGnp8QYlCMO29tjUHwbdAHG/DprbGfHGE=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.5 h1:RmqeSUQMPyi31YC6SaFNE2ubfFy13qVj5/lo+MCT+u8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.5/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.14.0 h1:QNLtpTINvXkxAG/RQVpdXzxtFjG6YAmnBr7qbOD5GF8=
github.com/cloudcannon/bookshop/hugo/v3 v3.14.0/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.0 h1:Fb76ABHqTyPl9Z2QqYJCwiMBKPyShOe1EnZxXzW3RVo=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.0/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1 h1:WByz6rqg28h94VLVLscu77/CHhi2peig/LqrnVomX0Y=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 h1:/Z66xKILl1SNGQePHZCnxo6vFgED7AGI600OSPotXj4=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4 h1:k233xdD3ydE6iN8QB+c37//rSsFVtLIo5OUNRN4E3bc=
github.com/cloudcannon/bookshop/hugo/v3 v3.16.4/go.mod h1:s7mIonDhtsLcn10ZKuVXyqd6BDHI8vT1WQhZw8rPfY8=
github.com/gethinode/mod-bootstrap v1.0.1 h1:NDZar+UEL42YHCvzzO+jVgqkZU5INA12BpjX3y6U4I4=
github.com/gethinode/mod-bootstrap v1.0.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU=
github.com/gethinode/mod-bootstrap v1.1.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.1 h1:Tx4M5hGVOFrEaxnUONDAm6N9xuRi5UphKlT7F26HujU=
github.com/gethinode/mod-bootstrap v1.1.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.0 h1:JkTcImU3qpi25WgKvUxUYiMoiXtrxrG+Wf/utRB5UbU=
github.com/gethinode/mod-bootstrap v1.2.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.1 h1:z54dgsbhShhlri+X77Z+yLrg0wz/f8C8ojA/wnlhsJc=
github.com/gethinode/mod-bootstrap v1.2.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.2 h1:Q8E04OKWr9owk7nhQ/NBukUgSFhsECxZsOLEaf5oeiQ=
github.com/gethinode/mod-bootstrap v1.2.2/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.4 h1:4CFNpwpRKiZlMVWg9u5+ijSb924j4yM3G1p96Hquas0=
github.com/gethinode/mod-bootstrap v1.2.4/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.2.5 h1:h6yAlkMZA34wJU3pLFpLxp1ynEBte/YTY4kGEQtMGPE=
github.com/gethinode/mod-bootstrap v1.2.5/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.2.6 h1:joKKVqWzPgitPbUFlU4oIRj72YXsEHkVun3TPf4ZZ2Q=
github.com/gethinode/mod-bootstrap v1.2.6/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.2.8 h1:kIKSO6qqE8xA0KQC5s6kkEv5UDc8oT17HalGIwB+dSc=
github.com/gethinode/mod-bootstrap v1.2.8/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+txB0pwBk=
github.com/gethinode/mod-bootstrap v1.3.0/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.1 h1:ZUX72St0WZ5tyXpEPBJlayX/dmCH3cGErzsozkUKCok=
github.com/gethinode/mod-bootstrap v1.3.1/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.2 h1:mf9Qgr+xHZeHjZGYFdurETfdEKKldB158fpjH0GoaNU=
github.com/gethinode/mod-bootstrap v1.3.2/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.3 h1:k7RrZM3zstWA5xg55yLedb4T7WRBXvn77gv7OwBQ0d4=
github.com/gethinode/mod-bootstrap v1.3.3/go.mod h1:MkvQgiA3N2NFiW57TTU60Rn4N6oZjvlBIVgrJE9M0WI=
github.com/gethinode/mod-bootstrap v1.3.4 h1:rBfyUmdslxL+RX76/5hyJYPacfrt6OYrciNgk/T0NWk=
github.com/gethinode/mod-bootstrap v1.3.4/go.mod h1:MkvQgiA3N2NFiW57TTU60Rn4N6oZjvlBIVgrJE9M0WI=
github.com/gethinode/mod-csp v1.0.0 h1:Obp0MVMBjIPZbKDh6Ejl5pImDG7yERMLf2or9UVnwPA=
github.com/gethinode/mod-csp v1.0.0/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.1 h1:IUUwPc41UNw7DAFuJ75nNPzhkPExenxXU7susdLaxdQ=
github.com/gethinode/mod-csp v1.0.1/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.2 h1:KX8EeoCGbHhGSo5r0YIa9BmPZ6S6v7L9CChTejREkK4=
github.com/gethinode/mod-csp v1.0.2/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.3 h1:tRmnuVZ3UpCc9HR8qsAwbU0OJ/UsNVSbse0SZuwGcCg=
github.com/gethinode/mod-csp v1.0.3/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.4 h1:ChI+DMkkkCF5tKs+K9VSqdsXPS01/QANQiJ2LoJp10o=
github.com/gethinode/mod-csp v1.0.4/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.5 h1:Ypdzw26iQ9/4sAgHvwFY1mg/EMoLrcI2knvVmHq2Ffs=
github.com/gethinode/mod-csp v1.0.5/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.6 h1:ufEKQldQe9ZCXbENTpwqVlYnPRgVv3WDhPjur5OLUEA=
github.com/gethinode/mod-csp v1.0.6/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.7 h1:V4D8vYA/jJ2Nv9kPz5gt96fkVd3NtT7sBqVhnG5TvAU=
github.com/gethinode/mod-csp v1.0.7/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-csp v1.0.8 h1:36bWS7oW5KoPp0ywJXKmfMdM33c/7EPBLjzut0njTgE=
github.com/gethinode/mod-csp v1.0.8/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
github.com/gethinode/mod-flexsearch v1.1.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.1 h1:zHypfKR/rWPAwqNXvo09Pp3vGqU4w3r7d2VtMudIzkI=
github.com/gethinode/mod-flexsearch v1.1.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.2 h1:vA/jHxLq9xxkYGS9cmAoLNIkEBW+iLVCcQ8qKyEa+R4=
github.com/gethinode/mod-flexsearch v1.1.2/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.3 h1:lzmSvnJL6ABjp03avYzSvJJ7hw01CpHap1JGUbDIELg=
github.com/gethinode/mod-flexsearch v1.1.3/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.4 h1:dJvwBxYlLe/VGlctLn8k89STJ5toATIjNnXIlNeanOY=
github.com/gethinode/mod-flexsearch v1.1.4/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.2.0 h1:SSMpWzK9SMbi9QRYfil9PJZLLWWLHWzlTc69UxtSWAA=
github.com/gethinode/mod-flexsearch v1.2.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2J5oVeejrU=
github.com/gethinode/mod-flexsearch v1.3.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.0 h1:5e/NVRLyWzUZ9fO/fNsM5o+O7nw+xyln2rfEOtbgfWc=
github.com/gethinode/mod-flexsearch v1.4.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.1 h1:z+GKvhJ4v6BsZsWVZRgbO9WcmSZEVUkb3Q9a09yXtd8=
github.com/gethinode/mod-flexsearch v1.4.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.5.1 h1:9fYlnHgiEXckL0EoC0zlSNO7BWZf5yiOroSWT13Kphc=
github.com/gethinode/mod-flexsearch v1.5.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.6.0 h1:Rjx+GLOByFLmaWD9hZXwmuKN8A89te6BZAIq2c9QBKg=
github.com/gethinode/mod-flexsearch v1.6.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.7.0 h1:VFTf6iUyT9b47jTDAxh8nVHU1eUBrdxlykaC90lTfqk=
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.8.0 h1:rKu9ackmbGAD/CRJYUDUhy/3nDCEj0IgYDiL1bkwzDc=
github.com/gethinode/mod-flexsearch v1.8.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.8.1 h1:xwPvmmxd8Tdyxp8/rnd9KRGqIDtZs/YwAQJ1i9oQMiM=
github.com/gethinode/mod-flexsearch v1.8.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.9.0 h1:AE+w7QeZTxh36JNTG+CASDLxaqlCZKn+EUD6ulnPGak=
github.com/gethinode/mod-flexsearch v1.9.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.10.0 h1:ymlHu5G2635D/h2axG4jgpGS+Vvtzxg07SZX8pJOJSo=
github.com/gethinode/mod-flexsearch v1.10.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.10.1 h1:aZ4WjUxfiCV1eiGjIUdP+lRTlOI/flPc6ABUQ99C+Es=
github.com/gethinode/mod-flexsearch v1.10.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.11.0 h1:CQArPhjQRtIZqAK4ysOiBzAB1hi//L4RTelH+ScjbXU=
github.com/gethinode/mod-flexsearch v1.11.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.11.1 h1:TtaE6Dv0lH4x73SHDaZpQJLjk52lRu/VoLf6+CXFOLs=
github.com/gethinode/mod-flexsearch v1.11.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.11.3 h1:ykxpUg8M4vr1C4QzxJOPGt+1ZmPAD/gOCZoFcZxWoWw=
github.com/gethinode/mod-flexsearch v1.11.3/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.12.0 h1:zg1IHvc8VO9WEtQuQnuG6HeWFNByvyqC9JYWDtpsP6s=
github.com/gethinode/mod-flexsearch v1.12.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.12.1 h1:clkGUWaNPe9Dt/66Apy7oH9NwVQfnD6OpGSLffeC9sY=
github.com/gethinode/mod-flexsearch v1.12.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch/v2 v2.0.1 h1:5unGUSb1tX1LBtKygnLfdt7CnVJuFKSt6VXiKRxdojc=
github.com/gethinode/mod-flexsearch/v2 v2.0.1/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.0.2 h1:5FkLbjORwKvK544H/yaAltyIB7eptRPxxh5VcfDDeqM=
github.com/gethinode/mod-flexsearch/v2 v2.0.2/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.0.3 h1:lC4UN9DPYyj3lsRm86Rt+kKx2DmAS10dOxbM/1H8fVw=
github.com/gethinode/mod-flexsearch/v2 v2.0.3/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.1.0 h1:NzCruYAKQBMM1DwFFoH7/tzqmItR6sKByMHZWRaRiRk=
github.com/gethinode/mod-flexsearch/v2 v2.1.0/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-flexsearch/v2 v2.1.1 h1:Vcr0aAkqPdavK183L8nr0dF7ngfY9EUDG4ZpmEK815M=
github.com/gethinode/mod-flexsearch/v2 v2.1.1/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v2 v2.1.2 h1:B/onreHG/qzIqMo9YYiRk4WWM+GgFj1FSGHSgUpCvJ0=
github.com/gethinode/mod-flexsearch/v2 v2.1.2/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v2 v2.1.3 h1:m5I9B7cA1SU99f90yO4OpOcKNPZ5zMF18pEhusLxa80=
github.com/gethinode/mod-flexsearch/v2 v2.1.3/go.mod h1:0IJGZQRv9X+th/gFmFRusEUSv0oJSr3aw5t1w3lfvYg=
github.com/gethinode/mod-flexsearch/v3 v3.0.0 h1:xFeo5ovZMIcUttvpOamPAMML5+5Au/hewZz/18C2H6Q=
github.com/gethinode/mod-flexsearch/v3 v3.0.0/go.mod h1:iYvaBF6Y62pjnCepYAqLxoX1ZdEBoD+9caj4cBC+MxY=
github.com/gethinode/mod-flexsearch/v3 v3.0.1 h1:dHaSImDDp1xtzpW0vc4zychCGOxOCQb764l/XRp0hZc=
github.com/gethinode/mod-flexsearch/v3 v3.0.1/go.mod h1:iYvaBF6Y62pjnCepYAqLxoX1ZdEBoD+9caj4cBC+MxY=
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
github.com/gethinode/mod-fontawesome v1.1.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.0 h1:2nWYEjpUKu6IJ6kOh2WDlDUqRQ/dUGw6mJWIdMTA3O0=
github.com/gethinode/mod-fontawesome v1.2.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.1 h1:k7z5ZRsNxCohZjlZm8jVAzmTPk17c6xMYBAjAXHs13I=
github.com/gethinode/mod-fontawesome v1.2.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.2 h1:rA9EtuE/LeFQmKSA7ampfUknxsR1mu7hpi4wpA89gX8=
github.com/gethinode/mod-fontawesome v1.2.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.3 h1:RHWd+E72+m29xaC45m/3CF35C201jehw0dcozVBdPrI=
github.com/gethinode/mod-fontawesome v1.2.3/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.4 h1:SqE3CQ+boaBIhrVh3MPu4nz0uoHPfEH5t60nNY1CfsI=
github.com/gethinode/mod-fontawesome v1.2.4/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.5 h1:RqkLRj6+s+gM4nKd0IwNMMDA8cRmxfp0fxkVH4FdAGU=
github.com/gethinode/mod-fontawesome v1.2.5/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.0 h1:oudeDBlAKu8vqYxumWuq5SG5F5itm33NgTrBLgvPulQ=
github.com/gethinode/mod-fontawesome v1.3.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.1 h1:EdnBuG2B+bi06OcYmcL1NfSxHpRMEGu8TXUqEEpVH4g=
github.com/gethinode/mod-fontawesome v1.3.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.2 h1:qLJSbAFR2T33BuBtC2Iulm9wZql3cy7AhXjxc2YGzBU=
github.com/gethinode/mod-fontawesome v1.3.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.4.0 h1:JfmVYwQl19jmZxgxY64yvGqJAAEiFkKf2dbZ5Iv08Qw=
github.com/gethinode/mod-fontawesome v1.4.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.5.0 h1:3mW5dnWauuF9wSWXNIY+PPgTNPlc/xQOQoG7XGic1Yk=
github.com/gethinode/mod-fontawesome v1.5.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.5.1 h1:C7goQY4HrEua/lpjC++laydNKBuYo1+307ngn5tyXeM=
github.com/gethinode/mod-fontawesome v1.5.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.6.1 h1:iqOgDGdw7Bs4hnzjF/8JsUn10omyKQZTglLqNenT1K0=
github.com/gethinode/mod-fontawesome v1.6.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.7.3 h1:YzRCYSasVRIcImVmTJYjqNJ+KmyNWfm/bMgtM0slvzs=
github.com/gethinode/mod-fontawesome v1.7.3/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.8.0 h1:YEuCmvCdzcemF1eFK35Wnp1asKKO3/xbxGArnjq6PRY=
github.com/gethinode/mod-fontawesome v1.8.0/go.mod h1:uvuC2YL8mdXNp6NRzFOu4TWsHvtY9AZ8YxJkF23/M/8=
github.com/gethinode/mod-fontawesome v1.8.1 h1:iyvULrpaGizQoI5Vl9WjFYcMGWefdyG90NGK2UKax+k=
github.com/gethinode/mod-fontawesome v1.8.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.8.2 h1:LAzLytyh9c9gLzBWMju6Gtp3uEojhBQEYw0o38EUKZY=
github.com/gethinode/mod-fontawesome v1.8.2/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.9.0 h1:xqUB8AnezMHAt8lye4ksqvmHSVPCOkiHsHGUbqNoeP0=
github.com/gethinode/mod-fontawesome v1.9.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.9.1 h1:cQk84vriqffM4fuUUoM9j3SSD+3ppeW2j4ta7AiToMU=
github.com/gethinode/mod-fontawesome v1.9.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.10.0 h1:Izs2AKc+YVBa1TywcH54OKLTNCUMXRoFIqOs+n0FgOo=
github.com/gethinode/mod-fontawesome v1.10.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.10.1 h1:gXQ75VXI+a0W2ALkAFHd/QFQ/VoZR6eujX0Hm7DkG94=
github.com/gethinode/mod-fontawesome v1.10.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome/v2 v2.0.0 h1:vIcVq4sa68iqYBEei+XBZgWKvT79NXuh+jMS6yVpCV8=
github.com/gethinode/mod-fontawesome/v2 v2.0.0/go.mod h1:MJghtpjpnbGVzRN+1rH5Fs9Y+eQAawAotGnlemEPb60=
github.com/gethinode/mod-fontawesome/v2 v2.1.0 h1:kRQ/4ady4Ih/m3bJ/1+/rkFhunuzjNEc4NqIlpNks/o=
github.com/gethinode/mod-fontawesome/v2 v2.1.0/go.mod h1:Jhwzi3KQI3fYn1hPNPJFCk+kcz80s8ONT4FmwLTXH2c=
github.com/gethinode/mod-fontawesome/v2 v2.1.1 h1:EieVCvEiT0ulXpEHY4kCLJvZCIvGkupIVyoCRTidrvo=
github.com/gethinode/mod-fontawesome/v2 v2.1.1/go.mod h1:zukv88wXqquEvTJJ9mWWk8Ia+9INnA41wYqusf2RcHA=
github.com/gethinode/mod-fontawesome/v2 v2.1.2 h1:v1aHhbLLwe/05zRHnx9qGqh6b3toDzcLzuv61rWAoGU=
github.com/gethinode/mod-fontawesome/v2 v2.1.2/go.mod h1:zukv88wXqquEvTJJ9mWWk8Ia+9INnA41wYqusf2RcHA=
github.com/gethinode/mod-google-analytics v1.0.0 h1:fly42RQ69bdyJe8WFefsBIo7WMIXkd3wZn32kyAr4h4=
github.com/gethinode/mod-google-analytics v1.0.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.0.1 h1:zbmOdnAhhFCA7qWw7fnR46biWhqW2r06sIaTWyhB5R0=
github.com/gethinode/mod-google-analytics v1.0.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.0.2 h1:ljrAYdAPqiQg6rdnL6Je8zLK6mhlXoTGJ/vGtIUpX+w=
github.com/gethinode/mod-google-analytics v1.0.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.0.3 h1:QUm4AeBR6D9cLx26F6Cy5qQvQe/19c2wTJAqxmCfAq4=
github.com/gethinode/mod-google-analytics v1.0.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.1 h1:XzMXd6nBDl5Lj1Q5pd8MWtE87FI/vRCsUAkAvfuXDxE=
github.com/gethinode/mod-google-analytics v1.1.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.2 h1:mcoqaRRorut+PxYxJnOEMfKIlVIIOd6vxKhuEYTwFzw=
github.com/gethinode/mod-google-analytics v1.1.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.3 h1:24qxV5vKIex3zSdow+5r0o8rox1lrO31oGi0/XusBy4=
github.com/gethinode/mod-google-analytics v1.1.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.4 h1:GkLzbSdVIMLWSQ4VOSaJZIKyofmVCzueiuiGc29jQOM=
github.com/gethinode/mod-google-analytics v1.1.4/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.5 h1:wlOcgwNEJAnIQmPJIo3cT06xnr1dxN/ydUIztoC/7rM=
github.com/gethinode/mod-google-analytics v1.1.5/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.6 h1:0eNIM4NTzXnnRHMM04IVnYPPGwbMAmit6fjuUuCQv2I=
github.com/gethinode/mod-google-analytics v1.1.6/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.1.9 h1:ld3bRGiJiUCfe/deH+4vOP3oZNhG6mPssT254EcK0Ro=
github.com/gethinode/mod-google-analytics v1.1.9/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.0 h1:R9oRB6nbFDwLsNmIhxlcmUVH4JE1kvcmbOloKSHhiIQ=
github.com/gethinode/mod-google-analytics v1.3.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.1 h1:WPXrsO6Kpp0k8PYY9a1JyiZgYGMlkBfHY8eEg6CfcL0=
github.com/gethinode/mod-google-analytics v1.3.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.2 h1:W4caxWkSor/BFfOEGDDMp+7RajO/Jh1bE7LXxPqLE3A=
github.com/gethinode/mod-google-analytics v1.3.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-google-analytics v1.3.3 h1:iX2FtXajykfHWJf7MXCQmpezqXgQUADNTeglU81QKpw=
github.com/gethinode/mod-google-analytics v1.3.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
github.com/gethinode/mod-katex v1.0.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.2 h1:pIG4n3qLl/IVe7BEiwn+GL8r5lOCtF6FDxlcrPKdAXk=
github.com/gethinode/mod-katex v1.0.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.3 h1:fvlUWqcUQqv2zRNM2kfmJ6GhXA816Tl1nfVrUkmBStI=
github.com/gethinode/mod-katex v1.0.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.4 h1:NozgWPFnHhx1W+E9DnwMTRpvxPbdqdANEtwp9N3/mj8=
github.com/gethinode/mod-katex v1.0.4/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.5 h1:AVhcTINYory0ygChQERf8PcyJkbT1oqhmLRF6ESnWOY=
github.com/gethinode/mod-katex v1.0.5/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.7 h1:FTEhvi3r+O5lPeOxB7OsanFZuAB14yC5fIk3DqhkNyY=
github.com/gethinode/mod-katex v1.0.7/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.8 h1:tFGFz/JIEogCz4wvUsUncrOsOupPxsjP+TwU/3NxIjY=
github.com/gethinode/mod-katex v1.0.8/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.9 h1:cCJoR28tZwkDvXps17o9Jwfe3aQQAZ3Rxk0jCNRQdbU=
github.com/gethinode/mod-katex v1.0.9/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.0 h1:PxST3HPUt6F2X/xKakTVeTkwWqCtEr53K1vYEOyQu3I=
github.com/gethinode/mod-katex v1.1.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.1 h1:z8+mfVI6UTWcfpQMVPIzxQzt6Lp9BcmXxSOILQ84qFg=
github.com/gethinode/mod-katex v1.1.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.2 h1:TbeVIWeG5TqldlVxpM1upOWj11RljXy4fhpOQIwOnS4=
github.com/gethinode/mod-katex v1.1.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.3 h1:fRgoBZVCJeLUFqGrGweg4FhCcbGsyqNRmd9WezG/CUQ=
github.com/gethinode/mod-katex v1.1.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.4 h1:HWc45uHKX2JhI624UnA46LCZkLGhSbaq+zAHt9e57zw=
github.com/gethinode/mod-katex v1.1.4/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
github.com/gethinode/mod-leaflet v0.3.1/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.3 h1:isnjja6VRFvVWBatYSouh46TXSJg2C4/E2BQTrQw+yI=
github.com/gethinode/mod-leaflet v0.3.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp4ia4r4=
github.com/gethinode/mod-leaflet v0.3.4/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.5 h1:69Bv/6zRXhbcTzo7TMr58h3ry47srHRpM1k81LrLbYU=
github.com/gethinode/mod-leaflet v0.3.5/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.4.0 h1:Xc6c1UTf4m1saQLFfFWT5sEpwj25xVGuS8csGC82UUI=
github.com/gethinode/mod-leaflet v0.4.0/go.mod h1:yr+bUKAstifdB16mbYh69OayAmgPOlNUubAmVn5eL2M=
github.com/gethinode/mod-leaflet v1.0.0 h1:HdnWafOGkkK1hYGfqLYF3pp9dAFS/caxlzML9sO1rCc=
github.com/gethinode/mod-leaflet v1.0.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.0.1 h1:L4Coe6HTD9O0Txs1S8AtVg+6/TEneSF9i6fJK8jdWUw=
github.com/gethinode/mod-leaflet v1.0.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.1.0 h1:FXzPCic5XmUluxQ6e7LYUhhLnxuQOBwry8qjG9k30UY=
github.com/gethinode/mod-leaflet v1.1.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.1.1 h1:AIHR4k8SjmeoZxtjLgSS6/N3jKeZNZGdZTgu/7MwP4c=
github.com/gethinode/mod-leaflet v1.1.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.2.0 h1:5q5LHmGNi9N4cdRDCsl/6oI8vY3oQ2ogNUjP3NCnk4Y=
github.com/gethinode/mod-leaflet v1.2.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.2.1 h1:p0bKi+F5vbXwYknBvFEN9KymK8PRqKaYhVz5O1QPs/c=
github.com/gethinode/mod-leaflet v1.2.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.3.0 h1:rRjuuW2KVJjnrBrFIOxxHxkB6RPdmlTivBlvceBG3Fk=
github.com/gethinode/mod-leaflet v1.3.0/go.mod h1:F/XR1lYKENw91u+IC4NXQT6dbCyJlSJUPClMVpBK8Tw=
github.com/gethinode/mod-leaflet v1.3.1 h1:nG6lQ7LZ2E/TGok/VGo5FCX+OVoHvxrYszi2FvQimRg=
github.com/gethinode/mod-leaflet v1.3.1/go.mod h1:F/XR1lYKENw91u+IC4NXQT6dbCyJlSJUPClMVpBK8Tw=
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
github.com/gethinode/mod-lottie v1.0.1/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.2 h1:QM/PJqEl1UhNNoPx6y7pVtwev/mDxUyWNHLqDB76YzI=
github.com/gethinode/mod-lottie v1.0.2/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.1.0 h1:KnfOQ45xdv1tpsKCkF5OiE3QuT29ycppBfY6o+rWl/4=
github.com/gethinode/mod-lottie v1.1.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.2.0 h1:9S0Y4PlEO66dIvFxayatmDEf8WWxqbLNLi4z563i2gM=
github.com/gethinode/mod-lottie v1.2.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.3.0 h1:vQ8CXkjdp2IeFskTzu+ZnKOEio8GtN08urVK+oCH81E=
github.com/gethinode/mod-lottie v1.3.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.4.0 h1:0Ls1Q/8p0gQpuX9+dtfNGKcjBNeymjE7gERdnN3lCCE=
github.com/gethinode/mod-lottie v1.4.0/go.mod h1:57eu6glS5oxkew2dB1P2zsbhw444aRX0XfuyDe7k/dk=
github.com/gethinode/mod-lottie v1.4.1 h1:RzCjYsxFPqyBsYAcdPeUP0rvF+hD9eEl7NrxuaRiKQQ=
github.com/gethinode/mod-lottie v1.4.1/go.mod h1:QjKlEmYbekrNGwa9EdFlPcXxwWWcraJUQ6xIL+syA60=
github.com/gethinode/mod-lottie v1.4.2 h1:rHBhbMVRlkVMxVY+3g1u2kolDv695uL8Zur4mDeoIO8=
github.com/gethinode/mod-lottie v1.4.2/go.mod h1:H6y1e3/2bBR1ujuM5N1iY39kpyN3RtcSRahX90+tlQI=
github.com/gethinode/mod-lottie v1.4.3 h1:IKZO8a4yQyPKUwZ6POsZRIH/B++yEzXDe5HxrFF79KA=
github.com/gethinode/mod-lottie v1.4.3/go.mod h1:nt4wLnDFIhjBGRMuQJJ2bH80VREpbcsBUsdO6uWXjLs=
github.com/gethinode/mod-lottie v1.4.4 h1:Lv7J+lAMx++aK9h0L7vAgsjyOZgrjux4xPz4Tpza8n4=
github.com/gethinode/mod-lottie v1.4.4/go.mod h1:7tsZjlFgMlj2iWBIS9uOtHHsCrfx9W7S8OsBrZeSVGU=
github.com/gethinode/mod-lottie v1.4.6 h1:L6zvfbq+FQUWTG3X/wWFCvb91WOxJuIkJUlZOd+QJ1Q=
github.com/gethinode/mod-lottie v1.4.6/go.mod h1:1/+7U/Q5IuaqkzTrvXK1CnPE7ANnTRsG5k+KaXQUQwE=
github.com/gethinode/mod-lottie v1.4.7 h1:5Hes0xY/l8ygzJ8YQIzdqCmvGrDQs8D8qZ/vR1fQh/Q=
github.com/gethinode/mod-lottie v1.4.7/go.mod h1:FvcG3NjXOBOnwou0QvXYNPHpybxwT6yxmSh4N+nBD9s=
github.com/gethinode/mod-lottie v1.5.0 h1:LwEEY+p+sPrN01yz7GyVOsF5lZ4qMln69+gAxJs1DDA=
github.com/gethinode/mod-lottie v1.5.0/go.mod h1:FvcG3NjXOBOnwou0QvXYNPHpybxwT6yxmSh4N+nBD9s=
github.com/gethinode/mod-lottie v1.5.1 h1:84ZmOTKJH75wsd/YjPaaBRkTeLnmRROv9iFlQVMC+jA=
github.com/gethinode/mod-lottie v1.5.1/go.mod h1:z0Q6EADM7pN7gmhCzDx2VR4uG5mxn9qbsphtxjIkssY=
github.com/gethinode/mod-lottie v1.5.2 h1:UvrNAQeD/97Q5fbv3uKIY48fY3IWJeLy/v206Gb0F6Y=
github.com/gethinode/mod-lottie v1.5.2/go.mod h1:HM1pA85EiPO7RtNysw/a2ZzRqktO2WvB/KyWLOuynzg=
github.com/gethinode/mod-lottie v1.5.3 h1:fvCjCoZoCEhY2aou30oEsEo6N4tVSI0ijFyXS3wNib0=
github.com/gethinode/mod-lottie v1.5.3/go.mod h1:XHVMuPsuJIm9/Eb2ql4jsT49/BQqMlBiirQoty4uHAo=
github.com/gethinode/mod-lottie v1.5.4 h1:+xbamSsjcnP2tyzGl0CA1enma7gkAp67wenmuP0XELY=
github.com/gethinode/mod-lottie v1.5.4/go.mod h1:gALqz48aYpoDLxJOI3LzIpdy0Eq/lOBNtlcOxABa9tg=
github.com/gethinode/mod-lottie v1.5.5 h1:uEJKsz+ovsZtbGkMhPONcIhtG6M3RjYiK+iVoScLOVo=
github.com/gethinode/mod-lottie v1.5.5/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
github.com/gethinode/mod-lottie v1.5.6 h1:dxz5nmD0XXEt/DAOc1s5fIPynj5bhzDL32EEwLFCSmk=
github.com/gethinode/mod-lottie v1.5.6/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
github.com/gethinode/mod-lottie v1.5.7 h1:hcf04kmKv7xrI2byxtgHwkScYIHfP9aquInHNZP+qbk=
github.com/gethinode/mod-lottie v1.5.7/go.mod h1:rhWg+MSSnWmqHKNEViE/9/78RjQD6uWWFASgjvFjgyo=
github.com/gethinode/mod-lottie v1.5.8 h1:glg5HcjOBkFt5MoF7p24NN+RzctExPQUDXvdhPx9u6I=
github.com/gethinode/mod-lottie v1.5.8/go.mod h1:Z/FlAcCJWYI1Z9tQnL0yRN4lqhyZl9CqYpfJUPVDaGc=
github.com/gethinode/mod-lottie v1.5.9 h1:1MFsq8pO7s4RXu1sA0z75xdp63FPdJ6ar9OhEieDSj8=
github.com/gethinode/mod-lottie v1.5.9/go.mod h1:TA1rPRwSilT5mXUakNSVlXNrgTpE87mUOB/fdunAdA0=
github.com/gethinode/mod-lottie v1.5.10 h1:tYFgk74T9zWy2FRkfkRI+8QVQy6lnuABnTeWQ8nUX5w=
github.com/gethinode/mod-lottie v1.5.10/go.mod h1:L7NpvCAm04R59GSAAm/UFoDCs/6UtrIC5zQEjgQSr4k=
github.com/gethinode/mod-lottie v1.5.11 h1:xhxBPDS0iyUY+C1ANaD5EeQV7fO1FG0wMoCjgrCMi/0=
github.com/gethinode/mod-lottie v1.5.11/go.mod h1:6FKqk8c+Jkbk2udCxUKVLF1K1wrGwthPsOvRzeoPXRQ=
github.com/gethinode/mod-lottie v1.5.12 h1:ny+5DfxWpgRPszhrSUqg+BcNt05ai1OvPAEgCuioFnA=
github.com/gethinode/mod-lottie v1.5.12/go.mod h1:0WZP8x7duK/AIZ8fWdZNRnteG03kYfLtsaph7z1mdOg=
github.com/gethinode/mod-lottie v1.5.13 h1:Vth/OZDjfBZ9Kz5ew3tXGj9tU6w4StIta6qgfa1daZo=
github.com/gethinode/mod-lottie v1.5.13/go.mod h1:tMFSUW9z3kC8IvDfs1ph9MGjuZFRBrpCnpodrwY+L4w=
github.com/gethinode/mod-lottie v1.5.14 h1:17wmpi4XQzmwSB2HKNVa7c6ZzULrRnpKdowOFQQf0m8=
github.com/gethinode/mod-lottie v1.5.14/go.mod h1:VrjjmrwP/NIrLW7oDQyEAHdbeIRQfbr5BKjgKvI9Al4=
github.com/gethinode/mod-lottie v1.6.0 h1:O0ld9Q1rBWKb9HzuCuGPBfCegUcIqczMGNW2O/VjVYk=
github.com/gethinode/mod-lottie v1.6.0/go.mod h1:jZy8EJ6ldLnOXhpzayJ2STZ4hzykqkguFHWpN4aHxMo=
github.com/gethinode/mod-lottie v1.6.1 h1:0wkQ7yMiwFvkhzsBoO/RhfKJ7ru2EzoQfYrwnC6qoxg=
github.com/gethinode/mod-lottie v1.6.1/go.mod h1:Buaa3A4fBIE4mkyQhnjMlassQQ5j8gRxQ4QnN7I1oGc=
github.com/gethinode/mod-mermaid v1.1.23 h1:DA5iIdopb7f3wC+bfZ7J5HhcRUuVI/2j1+W/j5L/wwQ=
github.com/gethinode/mod-mermaid v1.1.23/go.mod h1:rw6vrY9DpdJblwFwLuXCdy2kBHxMf6gGKWeetwfTSfc=
github.com/gethinode/mod-mermaid/v2 v2.0.1 h1:QcahIFCgmYAGsukQ0d+/L4IJtDwgXgv0WzilZ9poI9o=
github.com/gethinode/mod-mermaid/v2 v2.0.1/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v2 v2.0.2 h1:uRHS3RyrMBK/hhDbEX39HnYkypSvSeci0kSyQaSdsKU=
github.com/gethinode/mod-mermaid/v2 v2.0.2/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v2 v2.0.3 h1:vWiAE640GAzkQCj0NFyn1VtnpFwiJ5Bljm2YgoQ3qG4=
github.com/gethinode/mod-mermaid/v2 v2.0.3/go.mod h1:kp3oUFAjKxuwzFbwxGWPEx5VQOu2ZHzcrwcNhDv08BI=
github.com/gethinode/mod-mermaid/v3 v3.0.0 h1:pFF2soB3ZQcY4KuMzDprcSv2zdC3yTKywNId4yhcPOA=
github.com/gethinode/mod-mermaid/v3 v3.0.0/go.mod h1:+8p5KbFjIkB/I77Gpd8LTQgmNrRBfJpmKGnjclzwJFo=
github.com/gethinode/mod-mermaid/v3 v3.0.1 h1:h4v3QvGpSln9PDbWccSktULq9FbRZ57JN4Lp+gVjvVI=
github.com/gethinode/mod-mermaid/v3 v3.0.1/go.mod h1:rbI8IKFfKVGqTY/eJnuNJwzB5kSjaEUNX0NRHc4rBfA=
github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ=
github.com/gethinode/mod-simple-datatables v1.0.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
github.com/gethinode/mod-simple-datatables v1.0.2/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.3 h1:JL2nBlEHWMmkE7EZrpfpmzka47dklJUh23/xKJkOQoI=
github.com/gethinode/mod-simple-datatables v1.0.3/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.5 h1:2Aa4k1Bd1WEYHbskFQj+1X35BB7abB8RXHE7Uk2N4pg=
github.com/gethinode/mod-simple-datatables v1.0.5/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.6 h1:voKiwLAfC7kfD+atv7ah0sOf8OcPRyxEB/Q92gx1d00=
github.com/gethinode/mod-simple-datatables v1.0.6/go.mod h1:Y7AzIYAWpzDKLvH96eqBA/Gs3jompWCgxadLuoKZ/rc=
github.com/gethinode/mod-simple-datatables v1.0.7 h1:pfxWhgmn/njJcynNIDnUyeOBW0tsy2E4TP21sEYsqRs=
github.com/gethinode/mod-simple-datatables v1.0.7/go.mod h1:Y7AzIYAWpzDKLvH96eqBA/Gs3jompWCgxadLuoKZ/rc=
github.com/gethinode/mod-simple-datatables v1.0.8 h1:J8hA+SXdTLaRNZwN70ZEyADn+VgNoAaxVDMXsMPTZBg=
github.com/gethinode/mod-simple-datatables v1.0.8/go.mod h1:RsTHWAt1J9/m7kzhYNSJB7CDyk+8DrG+46/aFrP6KJw=
github.com/gethinode/mod-simple-datatables v1.0.9 h1:8OnpY/axFkgxJ598DHW4nDtxsCYmgTakAG4ZC2wRS3A=
github.com/gethinode/mod-simple-datatables v1.0.9/go.mod h1:rgQWdDZ6lTR9+08dGY1zBDLZI/UneKPufakAK20+lmI=
github.com/gethinode/mod-simple-datatables v1.0.10 h1:/nYy4oCgooUJhTBgLdQzMnJEjolkD+dp2nkfLNT9Klg=
github.com/gethinode/mod-simple-datatables v1.0.10/go.mod h1:rgQWdDZ6lTR9+08dGY1zBDLZI/UneKPufakAK20+lmI=
github.com/gethinode/mod-simple-datatables v1.0.12 h1:myyVp1ctQA6j+5UTWcDwQmy8ipXdjs8T+qpTpRPBPII=
github.com/gethinode/mod-simple-datatables v1.0.12/go.mod h1:QuH7wz1igohzCgL76xI1960mFxPPrqgvGtLwR/0cFyQ=
github.com/gethinode/mod-simple-datatables v1.0.13 h1:3GTn46Zh56SFzCUP7CUSrmp/ZoiaVG19q4xdObSx6Pc=
github.com/gethinode/mod-simple-datatables v1.0.13/go.mod h1:a2qIdYegX5gBubGbspuHv/2UA/8O89oUG/U5hd7jLK8=
github.com/gethinode/mod-simple-datatables v1.0.14 h1:332WtbaQtTm7VP0b7zYfpogTBcOEetkJrNd01K4d/JE=
github.com/gethinode/mod-simple-datatables v1.0.14/go.mod h1:mP3yjAdVE1G6JHfv8VVsRmvaPlPwddXknI675AuVs2I=
github.com/gethinode/mod-simple-datatables v1.1.0 h1:Qc8eJOcVjxIHNfgrZf/bKe8+spCLrJTVwsC8d9ct7i0=
github.com/gethinode/mod-simple-datatables v1.1.0/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.1 h1:rzX3+rsOfcW9Z8wiQ1Fp6Ry5TkcJ0nG849xKzjDBbGE=
github.com/gethinode/mod-simple-datatables v1.1.1/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.3 h1:a+uIfgc6c+9Zc38Q+Kzd3cWeFhC8BW/rP9/rnd2/ZKM=
github.com/gethinode/mod-simple-datatables v1.1.3/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.4 h1:8+uwaEBoh8N2T2sHlcIcxqAGaHPqT0YhPBmr2SFWBCY=
github.com/gethinode/mod-simple-datatables v1.1.4/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
github.com/gethinode/mod-simple-datatables v1.1.5 h1:DKJ+aR94mekzcDwOnm6MJ/+MjAzal+GSYQXSdn0HRdc=
github.com/gethinode/mod-simple-datatables v1.1.5/go.mod h1:bvMdmQFk4Hvyltf/QhMqUaApvPbIGTnbI3JLjOEh8go=
github.com/gethinode/mod-simple-datatables v1.1.6 h1:7nPeRwHlYbmlNEg7fBV6FyXqpxWW6ZAemaZyYxpIF8U=
github.com/gethinode/mod-simple-datatables v1.1.6/go.mod h1:bvMdmQFk4Hvyltf/QhMqUaApvPbIGTnbI3JLjOEh8go=
github.com/gethinode/mod-simple-datatables v1.1.7 h1:wCY2bWFUxRHWbWzb/zefCACooCSbDPYKrZthfn+qAgM=
github.com/gethinode/mod-simple-datatables v1.1.7/go.mod h1:FjkIEuxqeLLEqqDcz/nHAGHsRfV7EJP5Uhk4kYD8okY=
github.com/gethinode/mod-simple-datatables/v2 v2.0.1 h1:ZwdI96n8dM2VLwdM/x+Vj7sa4tfiAUnkDj39jn+vkXc=
github.com/gethinode/mod-simple-datatables/v2 v2.0.1/go.mod h1:mmf1AOxpHdSRQnW2k7ExVWKTyzbG2hpsDRssmyASNb8=
github.com/gethinode/mod-simple-datatables/v2 v2.0.2 h1:6HkJkHg754HG2P5FTXiRePEnx/p65yfuqizB+gixV6k=
github.com/gethinode/mod-simple-datatables/v2 v2.0.2/go.mod h1:bmXZJeTQ+GZJ83vasFBTS3JSm09Oa/jDX9T187stdnA=
github.com/gethinode/mod-utils/v4 v4.18.0 h1:CLxuPCbsQBGVgAM1x5nmh6V0HJoOcltIfKG9sthpsTk=
github.com/gethinode/mod-utils/v4 v4.18.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0 h1:55phPhe6fDjfjG0jX4+br3nLORKgjgx8abZUdI0YJRA=
github.com/nextapps-de/flexsearch v0.0.0-20250907103239-defb38b083f0/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
github.com/gethinode/mod-utils v1.0.1/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.2 h1:0b3i+/bBHY1Td9N6khDbL1nf3d5HGc4QzI4BbEWHoU4=
github.com/gethinode/mod-utils v1.0.2/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.3 h1:FF6lnam0Bcdj7G1E5P+qi5ByPrl1npL+3uS5YoPx1C0=
github.com/gethinode/mod-utils v1.0.3/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.4 h1:Lr7hAVaWHv0O5TJXhRHGhvlOvWwIATJm9mpLQhCsopM=
github.com/gethinode/mod-utils v1.0.4/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.1.0 h1:a82h/DQTKc5hxf/ExDoZqJCJmVLT0dtyU8tf78yOPFw=
github.com/gethinode/mod-utils v1.1.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils/v2 v2.0.1 h1:yy8Qaytrk55YNMzyldYKDWJr6mpQs7s7TWBkSYRMBng=
github.com/gethinode/mod-utils/v2 v2.0.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.0.2 h1:pocFT/mWPcfmABltZwe76D1IB3TZIrD1k1kH9zCDO1M=
github.com/gethinode/mod-utils/v2 v2.0.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.0.3 h1:4BsRNGi+0a3Mq021Gq/TwDNiyuIfZ8xnpYU0DkNbUYI=
github.com/gethinode/mod-utils/v2 v2.0.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.1.0 h1:5I0IN/AX5qPFYx7tjWXk59GBevTJzixxZUGj9MJ0b8M=
github.com/gethinode/mod-utils/v2 v2.1.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.1.1 h1:aLBcS9Zbx+dqnu5oBsTM01AkkN5nwwifgbV4D0qiHnM=
github.com/gethinode/mod-utils/v2 v2.1.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.2.2 h1:ZRxWIJKmZIDYsoMS3WhxxC+BWJrkd1dcZ8rz/cLZExc=
github.com/gethinode/mod-utils/v2 v2.2.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.0 h1:e3uhlAGasvXe+cgvcmzRe05Zo4UEx86uk0TbnxtyB6U=
github.com/gethinode/mod-utils/v2 v2.3.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.1 h1:blqynoRJ+H2SPfSU28iYheYWPH39MKNtK5HKJPghL3M=
github.com/gethinode/mod-utils/v2 v2.3.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.2 h1:QxYtHqeiLfAg+38ULFr3qYwNuypcnV1KzsmmNUjbX+U=
github.com/gethinode/mod-utils/v2 v2.3.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.3 h1:dewgQgAyPJJ1lA2WhowHaFqVaeLjUNYgxDO4mE3v0F0=
github.com/gethinode/mod-utils/v2 v2.3.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.4 h1:4OmUsLW7FyQL7vJhg/Iy9E7nFXWL955qCtsj6yWU51M=
github.com/gethinode/mod-utils/v2 v2.3.4/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.5 h1:r8V330xQkHTjzAFNCde1Kpz6fgidzmMRW82eIonUnOo=
github.com/gethinode/mod-utils/v2 v2.3.5/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.6 h1:Ta+WKc83sK9ZROKmUwS4pA32Qm0bQqoMmWHEOzDvZ5Y=
github.com/gethinode/mod-utils/v2 v2.3.6/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.7 h1:FFsUPO7NBp9Bhjovf0Ki5hnDGfeMKV/3RNz1Qpv7+oQ=
github.com/gethinode/mod-utils/v2 v2.3.7/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.8 h1:zAiDRCb3SsP9z6PUkCaiRLHOpqFhVf0xVhVOoTZNmAI=
github.com/gethinode/mod-utils/v2 v2.3.8/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.9 h1:Z9uAr6S0wunlkfKHa2D/U83fBV6Ivtf+7sjBAcrddrg=
github.com/gethinode/mod-utils/v2 v2.3.9/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.10 h1:+coUXdgAbLEE8Tvb3Rfk/1Nr6oDVreXI2sil0pa/n2Q=
github.com/gethinode/mod-utils/v2 v2.3.10/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.4.0 h1:mmG4hWaeA4krAg933pibH+TrjFmPHkAi/DUbe3SM38I=
github.com/gethinode/mod-utils/v2 v2.4.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.5.0 h1:9QboNU9KTpmJDS9JBjxavbknLVBJilocqo5KhC2FdME=
github.com/gethinode/mod-utils/v2 v2.5.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.5.2 h1:URGTpJo0dN4/oF2yL6o2d2pkcSlG1F0hgIF9UqpIs/E=
github.com/gethinode/mod-utils/v2 v2.5.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.6.0 h1:r7l/E6fbPZHnjFyJY4T/xzekd7Xp3czNVCMgKoKR8wc=
github.com/gethinode/mod-utils/v2 v2.6.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.7.0 h1:5CKygjsc7X4dFtb90ihWyDVvUp2iqoJE8C7M+jeWYus=
github.com/gethinode/mod-utils/v2 v2.7.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.0 h1:BdB+onItuO29g5ZLEz/HEwq9c4xBEM4GGqQc3kQ++js=
github.com/gethinode/mod-utils/v2 v2.8.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.1 h1:u7sFbgJ5sBEMYC/GwcMRyjRAd5NxTjBnbld5b0V5n98=
github.com/gethinode/mod-utils/v2 v2.8.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.2 h1:rKndAMmRBSO5Cgoa/2CvF5XchDSvLvd4TYAbfbbQVhE=
github.com/gethinode/mod-utils/v2 v2.8.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.3 h1:t1MJcIdFhYi0gCkm8f0DYZwyfq7pRdRc0eNpqZa11ic=
github.com/gethinode/mod-utils/v2 v2.8.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.4 h1:ZBkIxFezFz2IrbTt0Y3Nq5ac7klU5N8TY19Qnj5px4M=
github.com/gethinode/mod-utils/v2 v2.8.4/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.5 h1:e71ncO2NYpum7JTdNTwb0lw8aDe8Zc64Ehjavy8x9xM=
github.com/gethinode/mod-utils/v2 v2.8.5/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.8.6 h1:gtTtL37YPq1n/POIzbj40aYOg1VaZq8IjqwSf2V5yo0=
github.com/gethinode/mod-utils/v2 v2.8.6/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.9.0 h1:IGaYO+DNo7CcplyAUJASP1sf10/EqiG8sVVM1Q4SJKc=
github.com/gethinode/mod-utils/v2 v2.9.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.10.0 h1:2GN6f3wcu/TlbzPD6DFlWyx+KomXz6LnBv7mfPIXB6o=
github.com/gethinode/mod-utils/v2 v2.10.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v3 v3.0.1 h1:5A4H+S/wdyNXMKZ3C2SCXego6C1+vBqQHDidwjqp5sQ=
github.com/gethinode/mod-utils/v3 v3.0.1/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.0.2 h1:AewNQYVXy/qoNdqJGG6nKCZXjtXavcZcgdeC1Q6EEnQ=
github.com/gethinode/mod-utils/v3 v3.0.2/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.1.0 h1:GMgVI1Q+1SFl7JQ2BUs5A62wjRlPuygIPgT6JUQAuwA=
github.com/gethinode/mod-utils/v3 v3.1.0/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.1.1 h1:hjC/vnq7NF2Kf18qkpeTHiS14bVrNa55avy096OGqWs=
github.com/gethinode/mod-utils/v3 v3.1.1/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.1.2 h1:nE1tUkeSTOPxaLRoSiQlODbJhekOJsHrKXte5A2jujg=
github.com/gethinode/mod-utils/v3 v3.1.2/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.1.3 h1:oIpbIUCpVrWb7Axo1TZODWJ2iA6uYZp4rpx8fC7GIXk=
github.com/gethinode/mod-utils/v3 v3.1.3/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.2.0 h1:FmRCMAqNvKeQSY+rTy+9lZ65JKkuDA9MTw/HW/HWzSM=
github.com/gethinode/mod-utils/v3 v3.2.0/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.3.0 h1:qxuIavgL9LIyMhfCv8El+KL41rcNmQ8GaExn142QmLw=
github.com/gethinode/mod-utils/v3 v3.3.0/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v3 v3.3.1 h1:0mHrUyIwSkbiQIUuXpnptYDIizkI7Ak39RTgoRMbJfY=
github.com/gethinode/mod-utils/v3 v3.3.1/go.mod h1:9iHYWiDpDlcyrGAOHniubK/kziJYhTsw7UpGM+u4MOM=
github.com/gethinode/mod-utils/v4 v4.5.0 h1:p6sDsMNA/KE2IK3SPdWjFX3cPAwPP5gDxzJu2tIWYl4=
github.com/gethinode/mod-utils/v4 v4.5.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.5.1 h1:VKmqi6+oC93noHUJ6HvFlelglHT/9+kXQjpJs7VtWko=
github.com/gethinode/mod-utils/v4 v4.5.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.6.0 h1:XQ7hiCrn15SzgkcD0j53XVZPQYeQKUxg/UUkr80pJ2w=
github.com/gethinode/mod-utils/v4 v4.6.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.7.0 h1:JaL/+APOwdEzAi6y174ZdwoguCdALyGiGX8qBVXXBdU=
github.com/gethinode/mod-utils/v4 v4.7.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.0 h1:/+M3EHqA8IzgBWXX1GLmT/xKbk2FVhUwmUfMnk/goF4=
github.com/gethinode/mod-utils/v4 v4.8.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.1 h1:XJULrx5VWO4wR69EsvfPp9bQoRvx8Y7GwnknpDbrDpg=
github.com/gethinode/mod-utils/v4 v4.8.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.2 h1:mhPmqdeCar2sOdVwKIyJl5la0RVBPtw4d29ncRKN3ek=
github.com/gethinode/mod-utils/v4 v4.8.2/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.3 h1:CSaFR/c1cGrSPpH5ZfrNOoMhAbNb8sw0SCRh9ZxCJTU=
github.com/gethinode/mod-utils/v4 v4.8.3/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.8.4 h1:ExD2zZCGonAmbIxC9wBU2dp+V4ZfvG46NWaz+LaV3iQ=
github.com/gethinode/mod-utils/v4 v4.8.4/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.9.0 h1:v7+prGZPETqgI6t/LN0UhrtRKU4mqpJUQu6jEUU5MYg=
github.com/gethinode/mod-utils/v4 v4.9.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.9.1 h1:9D2AJcrlS5r2moHEoo70GrNBmq1pJHd9oT4G14DsZRs=
github.com/gethinode/mod-utils/v4 v4.9.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.9.2 h1:lzcihwAsm8R2k2v+tWu5nfWvXMA8uRKi0nGIzZCygZ8=
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/gethinode/mod-utils/v4 v4.11.1 h1:12CzZjyLOb/FSXbX8mDAWqs8y4OCXOEavKww7T4V9jU=
github.com/gethinode/mod-utils/v4 v4.11.1/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.12.0 h1:5sSfYIxZCeQbXLoZdS//rl6thwLwtXuvM0ujaWKyPmc=
github.com/gethinode/mod-utils/v4 v4.12.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.13.0 h1:VKAA+wKy4saayXfgJuVBRfhNVWQWmxOjO8LSpQCvLfw=
github.com/gethinode/mod-utils/v4 v4.13.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/gethinode/mod-utils/v4 v4.14.0 h1:CF5dy+HWg22L306bWVhClWK9b1NVinEqtb4Qr2vcl9A=
github.com/gethinode/mod-utils/v4 v4.14.0/go.mod h1:bYmvRdAo4ICy5MpSGafDvO4p5bTDpsDKFCPL3bH0mN4=
github.com/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=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 h1:6PNbL0/LxO8Xl8MZSe5uvCidYNpFTz9nlWTqj2qdlzA=
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250330195737-40f17691bf67 h1:uK+tMheTLJSGwP9tFUyf09vMGoSLnqNtbRjYNBO/wbU=
github.com/nextapps-de/flexsearch v0.0.0-20250330195737-40f17691bf67/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250417143703-4add0aaf14b2 h1:JGn/XgDQ797hR5IIaiO8UxUaXqhzsstF/2tz7dorCjw=
github.com/nextapps-de/flexsearch v0.0.0-20250417143703-4add0aaf14b2/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250502113712-9e74d1b50e30 h1:za/NPCTXGrvzCqC2MSNodvQEsyalcUzUY4OQBXsHma8=
github.com/nextapps-de/flexsearch v0.0.0-20250502113712-9e74d1b50e30/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250515065605-e9c26f06b404 h1:rvlRDQkLXzdSdhsnM6KRheN6tYOlLDJvZGv69zCLpPo=
github.com/nextapps-de/flexsearch v0.0.0-20250515065605-e9c26f06b404/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250521173815-f12b83ec5c58 h1:3Xm0vw0j+fS2+ioVnD/tuac8lZwrodsoZrjUvKY4ECY=
github.com/nextapps-de/flexsearch v0.0.0-20250521173815-f12b83ec5c58/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250523180618-1f75f5f9d9b6 h1:vUlZHDX+6HzN/GpHAqbvpVu4NWdhKz7ihK0XGHGD3ec=
github.com/nextapps-de/flexsearch v0.0.0-20250523180618-1f75f5f9d9b6/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a h1:CF/f62ufhBzNvAgoC6JhuqQxtqz0yDj3IIXYKl+A650=
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64 h1:8gn/7ZfERwknYk63DskhEfkwwpoXubGrzLv5LuSq6hc=
github.com/nextapps-de/flexsearch v0.0.0-20250901122457-99cddafcdc64/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=
github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.5+incompatible h1:6XrrFNMsiTTFcVTBf2886FO2XUNtwSE+QPv1os0uAA4=
github.com/twbs/bootstrap v5.3.5+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.6+incompatible h1:efmXVyq839m5QQ0+JBUdQQ1TrmoBqvQ5kRhUueKsH+4=
github.com/twbs/bootstrap v5.3.6+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.7+incompatible h1:ea1W8TOWZFkqSK2M0McpgzLiUQVru3bz8aHb0j/XtuM=
github.com/twbs/bootstrap v5.3.7+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.8+incompatible h1:eK1fsXP7R/FWFt+sSNmmvUH9usPocf240nWVw7Dh02o=
github.com/twbs/bootstrap v5.3.8+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

View File

@@ -195,10 +195,10 @@
"text-body",
"text-center",
"text-decoration-none",
"text-md-%!s(<nil>)",
"text-muted",
"text-secondary",
"text-sm-start",
"text-start",
"toast",
"toast-body",
"toast-container",
@@ -206,9 +206,7 @@
"toggler-icon",
"top-bar",
"vr",
"w-100",
"width-100",
"width-md-auto"
"w-100"
],
"ids": [
"container",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -44,7 +44,7 @@
{{ partial "assets/icon.html" (dict "icon" $icon "wrapper" $wrapper) -}}
{{- end -}}
{{- else if $image -}}
{{- if not (hasSuffix $image "svg") }}{{ $class = strings.TrimSpace (printf "%s rounded" (or $class "")) }}{{ end -}}
{{- if not (hasSuffix $image "svg") }}{{ $class = printf "%s rounded" $class }}{{ end -}}
{{- partial "assets/live-image.html" (dict
"src" $image
"anchor" $args.anchor

View File

@@ -4,39 +4,34 @@
{{- $pretty := .pretty -}}
{{- $icon := .icon | default "fas globe" -}}
{{- $fs := .fs | default 6 -}}
{{- $inline := site.Params.navigation.language.inline | default false -}}
{{- $class := cond $inline "inline-menu" "dropdown-menu dropdown-menu-end" }}
{{- $lang := $page.Language.Lang -}}
<li class="nav-item dropdown me-auto">
{{ if not $inline }}
<a class="nav-link dropdown-toggle d-{{ $breakpoint }}-none" role="button" data-bs-toggle="dropdown"
aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $icon) "spacing" true) }}{{ T "languageSwitcherLabel" }}
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $breakpoint }}-block" role="button" data-bs-toggle="dropdown"
aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $icon) "spacing" false) }}
</a>
{{ end }}
<ul id="language-selector" class="{{ $class }} navbar-fs-{{ $fs }} navbar-{{ $breakpoint }}-fs" data-translated="{{ $page.IsTranslated }}">
<a class="nav-link dropdown-toggle d-{{ $breakpoint }}-none" role="button" data-bs-toggle="dropdown"
aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $icon) "spacing" true) }}{{ T "languageSwitcherLabel" }}
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $breakpoint }}-block" role="button" data-bs-toggle="dropdown"
aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $icon) "spacing" false) }}
</a>
<ul id="language-selector" class="dropdown-menu dropdown-menu-end navbar-fs-{{ $fs }} navbar-{{ $breakpoint }}-fs" data-translated="{{ $page.IsTranslated }}">
{{- if $page.IsTranslated -}}
{{- range $page.AllTranslations -}}
<li>
{{- $state := cond (eq .Language.Lang $lang) "active" "" }}
<a class="dropdown-item {{ $state }}" hreflang="{{ .Language.Lang }}" href="{{ .RelPermalink }}">
{{- cond $inline (upper .Language.Lang) .Language.LanguageName -}}
{{- .Language.LanguageName -}}
</a>
</li>
{{- end -}}
{{- else -}}
{{- range site.Languages -}}
<li>
{{- $state := cond (eq .Lang $lang) "active" "disabled" }}
<a class="dropdown-item {{ $state }}" href="{{ cond (eq $state "active") $page.RelPermalink "#!" }}" hreflang="{{ .Lang }}">
{{- cond $inline (upper .Lang) (default .Lang .LanguageName) -}}
</a>
</li>
{{ $dest := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .Lang) }}
{{ if and $pretty (not (hasSuffix $dest "/")) }}
{{ $dest = printf "%s/" $dest }}
{{ end }}
<li><a class="dropdown-item" href="{{ $dest }}" hreflang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a></li>
{{- end -}}
{{- end -}}
</ul>

View File

@@ -9,11 +9,11 @@
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" aria-label="{{ T "colorMode" }}" />
<label class="label" for="{{ $id }}-checkbox">
{{ if $toggle }}
<div class="mode-item d-none-main-dark">
<div class="mode-item d-none-dark">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $iconLight) "spacing" false) }}
<span class="d-{{ $breakpoint }}-none">{{ T "colorMode" }}</span>
</div>
<div class="mode-item d-none-main-light">
<div class="mode-item d-none-light">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" $iconDark) "spacing" false) }}
<span class="d-{{ $breakpoint }}-none">{{ T "colorMode" }}</span>
</div>

View File

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

View File

@@ -28,10 +28,9 @@
{{ $align := $args.align }}
{{ $class := $args.class | default "" }}
{{ $scale := $args.illustration.width }}
{{ $justify := $args.illustration.justify }}
{{ if and $args.illustration.image $scale }}
{{ $class = trim (printf "%s col-%d text-center text-md-%s" $class $scale (or $justify "center")) " " }}
{{ if $scale }}
{{ $class = trim (printf "%s col-%d text-center text-md-%s" $class $scale $align) " " }}
{{ else }}
{{ $scale = 12 }}
{{ end }}
@@ -68,15 +67,14 @@
</div>
{{ end }}
{{ $imageWrapper := printf "mx-md-0 text-center text-md-%s %s" (or $justify "center") $class }}
{{ $imageWrapper := printf "mx-md-0 text-%s %s" $align $class }}
{{ $imageJustify := "" }}
{{ if eq $args.orientation "stacked" }}
{{ $imageWrapper = printf "pt-%d text-center %s" $padding.y $class }}
{{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}
{{ else }}
{{ $imageJustify = $justify }}
{{ $imageJustify = $align }}
{{ end }}
{{ with $args.illustration.justify }}{{ $imageJustify = . }}{{ end }}
{{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}
@@ -96,7 +94,7 @@
{{ end }}
{{ $illustration := "" }}
{{ if or $args.illustration.image $args.illustration.icon }}
{{ if or $args.illustration.image $args.illustration.icon }}
{{ $illustration = partial $args.hook (dict
"page" $args.page
"image" $args.illustration.image
@@ -107,23 +105,20 @@
"sizes" $sizes
"title" (T "heroImage")
"wrapper" $imageWrapper
"class" (strings.TrimSpace (printf "hero-image %s" (or $args.illustration.class "")))
"class" (printf "hero-image %s" $args.illustration.class)
"image-overlay" $args.imageOverlay
"justify" $imageJustify
) }}
{{ end }}
{{ $title := partial "assets/section-title.html" (dict
"heading" $heading
"use-title" $args.useTitle
"links" $args.links
"link-type" (or $args.linkType $args.type)
"class" "hero-title"
"arrangement" $arrangement
"justify" $args.justify
"heading-style" $args.headingStyle
"content-style" $args.contentStyle
"heading" $heading
"use-title" $args.useTitle
"links" $args.links
"link-type" (or $args.linkType $args.type)
"class" "hero-title"
"arrangement" $arrangement
"justify" $args.justify
) }}
{{ if eq $args.orientation "stacked" }}

View File

@@ -66,7 +66,7 @@
{{- $image := printf "%s-%s%s" $base $suffix $ext -}}
{{- $params = merge $params (dict
"src" $image
"wrapper" (printf "%s d-none-%s" $args.wrapper (cond (eq $suffix "dark") "light" "dark"))
"class" (printf "%s d-none-%s" $args.class (cond (eq $suffix "dark") "light" "dark"))
) -}}
{{- partial "assets/helpers/image-definition.html" $params -}}
{{- end -}}

View File

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

View File

@@ -56,8 +56,8 @@
{{- if reflect.IsSlice $args.navTitles }}{{ $titles = $titles | append $args.navTitles }}{{ end -}}
{{/* Main code */}}
<div class="col col-12 col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
{{ if $args.vertical }}<div class="d-{{ if $args.responsive }}{{ $breakpoint.current }}{{ end }}-flex align-items-start">{{ end }}
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
{{ if $args.vertical }}<div class="d-flex align-items-start">{{ end }}
{{ if $args.responsive }}
{{ partial "inline/nav-dropdown.html" (dict
"id" $id
@@ -100,7 +100,7 @@
{{ end -}}
</ul>
</div>
<div class="tab-content {{ if in (slice "tabs" "callout") $type }}border p-3 bg-body {{ else if $args.vertical }}ms-{{ $breakpoint.current }}-3{{ else }}mt-3{{ end }}">
<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 $args.vertical }}</div>{{ end -}}

View File

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

View File

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

View File

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

View File

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

View File

@@ -58,7 +58,7 @@
{{ if .IsHome -}}
<title>{{ .Site.Title }} {{ if .Site.Params.head.tagline }} {{ .Site.Params.main.separator }} {{ .Site.Params.head.tagline }}{{ end }}</title>
{{ else -}}
<title>{{ .Title }} {{ .Site.Params.main.separator }} {{ .Site.Title }} </title>
<title>{{ .Site.Title }} {{ .Site.Params.main.separator }} {{ .Title }}</title>
{{ end -}}
<meta name="description" content="{{ $.Scratch.Get "description" }}">

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -46,15 +46,14 @@
"fixed" site.Params.navigation.fixed
"overlay" site.Params.navigation.overlay
"overlayMode" site.Params.navigation.overlayMode
"transparent" site.Params.navigation.transparent
"color" site.Params.navigation.color
"style" (default "light" site.Params.navigation.style)
"breakpoint" (default "md" site.Params.navigation.size))
-}}
<main id="container" class="main">
<div id="container" class="main">
{{ block "main" . }}{{ end -}}
</main>
</div>
{{- partial "footer/social.html" . -}}
{{- partial "footer/footer.html" . -}}

View File

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

View File

@@ -5,7 +5,7 @@
{{- $toc := partial "page/panel-toc" . -}}
{{ with $sidebar }}
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvas-sidebar" aria-labelledby="offcanvas-label">
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-labelledby="offcanvas-label">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="{{ T "close" }}"></button>

399
package-lock.json generated
View File

@@ -13,31 +13,31 @@
"autoprefixer": "^10.4.21",
"cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.148.0",
"hugo-bin": "0.146.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
"@commitlint/cli": "^20.1.0",
"@commitlint/config-conventional": "^20.0.0",
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
"@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1",
"commitizen": "^4.3.1",
"cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.36.0",
"eslint": "^9.34.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^4.0.0",
"replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.9",
"semantic-release": "^24.2.7",
"shx": "^0.4.0",
"stylelint": "^16.25.0",
"stylelint-config-standard-scss": "^16.0.0"
"stylelint": "^16.23.1",
"stylelint-config-standard-scss": "^15.0.1"
},
"optionalDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
@@ -91,17 +91,17 @@
}
},
"node_modules/@commitlint/cli": {
"version": "20.1.0",
"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-20.1.0.tgz",
"integrity": "sha512-pW5ujjrOovhq5RcYv5xCpb4GkZxkO2+GtOdBW2/qrr0Ll9tl3PX0aBBobGQl3mdZUbOBgwAexEQLeH6uxL0VYg==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.8.1.tgz",
"integrity": "sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/format": "^20.0.0",
"@commitlint/lint": "^20.0.0",
"@commitlint/load": "^20.1.0",
"@commitlint/read": "^20.0.0",
"@commitlint/types": "^20.0.0",
"@commitlint/format": "^19.8.1",
"@commitlint/lint": "^19.8.1",
"@commitlint/load": "^19.8.1",
"@commitlint/read": "^19.8.1",
"@commitlint/types": "^19.8.1",
"tinyexec": "^1.0.0",
"yargs": "^17.0.0"
},
@@ -113,13 +113,13 @@
}
},
"node_modules/@commitlint/config-conventional": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-20.0.0.tgz",
"integrity": "sha512-q7JroPIkDBtyOkVe9Bca0p7kAUYxZMxkrBArCfuD3yN4KjRAenP9PmYwnn7rsw8Q+hHq1QB2BRmBh0/Z19ZoJw==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.8.1.tgz",
"integrity": "sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/types": "^20.0.0",
"@commitlint/types": "^19.8.1",
"conventional-changelog-conventionalcommits": "^7.0.2"
},
"engines": {
@@ -127,13 +127,13 @@
}
},
"node_modules/@commitlint/config-validator": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.0.0.tgz",
"integrity": "sha512-BeyLMaRIJDdroJuYM2EGhDMGwVBMZna9UiIqV9hxj+J551Ctc6yoGuGSmghOy/qPhBSuhA6oMtbEiTmxECafsg==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.8.1.tgz",
"integrity": "sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/types": "^20.0.0",
"@commitlint/types": "^19.8.1",
"ajv": "^8.11.0"
},
"engines": {
@@ -165,13 +165,13 @@
"license": "MIT"
},
"node_modules/@commitlint/ensure": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-20.0.0.tgz",
"integrity": "sha512-WBV47Fffvabe68n+13HJNFBqiMH5U1Ryls4W3ieGwPC0C7kJqp3OVQQzG2GXqOALmzrgAB+7GXmyy8N9ct8/Fg==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.8.1.tgz",
"integrity": "sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/types": "^20.0.0",
"@commitlint/types": "^19.8.1",
"lodash.camelcase": "^4.3.0",
"lodash.kebabcase": "^4.1.1",
"lodash.snakecase": "^4.1.1",
@@ -183,9 +183,9 @@
}
},
"node_modules/@commitlint/execute-rule": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-20.0.0.tgz",
"integrity": "sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.8.1.tgz",
"integrity": "sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -193,13 +193,13 @@
}
},
"node_modules/@commitlint/format": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/format/-/format-20.0.0.tgz",
"integrity": "sha512-zrZQXUcSDmQ4eGGrd+gFESiX0Rw+WFJk7nW4VFOmxub4mAATNKBQ4vNw5FgMCVehLUKG2OT2LjOqD0Hk8HvcRg==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.8.1.tgz",
"integrity": "sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/types": "^20.0.0",
"@commitlint/types": "^19.8.1",
"chalk": "^5.3.0"
},
"engines": {
@@ -207,9 +207,9 @@
}
},
"node_modules/@commitlint/format/node_modules/chalk": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
"integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -220,13 +220,13 @@
}
},
"node_modules/@commitlint/is-ignored": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-20.0.0.tgz",
"integrity": "sha512-ayPLicsqqGAphYIQwh9LdAYOVAQ9Oe5QCgTNTj+BfxZb9b/JW222V5taPoIBzYnAP0z9EfUtljgBk+0BN4T4Cw==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.8.1.tgz",
"integrity": "sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/types": "^20.0.0",
"@commitlint/types": "^19.8.1",
"semver": "^7.6.0"
},
"engines": {
@@ -234,32 +234,32 @@
}
},
"node_modules/@commitlint/lint": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-20.0.0.tgz",
"integrity": "sha512-kWrX8SfWk4+4nCexfLaQT3f3EcNjJwJBsSZ5rMBw6JCd6OzXufFHgel2Curos4LKIxwec9WSvs2YUD87rXlxNQ==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.8.1.tgz",
"integrity": "sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/is-ignored": "^20.0.0",
"@commitlint/parse": "^20.0.0",
"@commitlint/rules": "^20.0.0",
"@commitlint/types": "^20.0.0"
"@commitlint/is-ignored": "^19.8.1",
"@commitlint/parse": "^19.8.1",
"@commitlint/rules": "^19.8.1",
"@commitlint/types": "^19.8.1"
},
"engines": {
"node": ">=v18"
}
},
"node_modules/@commitlint/load": {
"version": "20.1.0",
"resolved": "https://registry.npmjs.org/@commitlint/load/-/load-20.1.0.tgz",
"integrity": "sha512-qo9ER0XiAimATQR5QhvvzePfeDfApi/AFlC1G+YN+ZAY8/Ua6IRrDrxRvQAr+YXUKAxUsTDSp9KXeXLBPsNRWg==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.8.1.tgz",
"integrity": "sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/config-validator": "^20.0.0",
"@commitlint/execute-rule": "^20.0.0",
"@commitlint/resolve-extends": "^20.1.0",
"@commitlint/types": "^20.0.0",
"@commitlint/config-validator": "^19.8.1",
"@commitlint/execute-rule": "^19.8.1",
"@commitlint/resolve-extends": "^19.8.1",
"@commitlint/types": "^19.8.1",
"chalk": "^5.3.0",
"cosmiconfig": "^9.0.0",
"cosmiconfig-typescript-loader": "^6.1.0",
@@ -285,9 +285,9 @@
}
},
"node_modules/@commitlint/message": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/message/-/message-20.0.0.tgz",
"integrity": "sha512-gLX4YmKnZqSwkmSB9OckQUrI5VyXEYiv3J5JKZRxIp8jOQsWjZgHSG/OgEfMQBK9ibdclEdAyIPYggwXoFGXjQ==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.8.1.tgz",
"integrity": "sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -295,13 +295,13 @@
}
},
"node_modules/@commitlint/parse": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-20.0.0.tgz",
"integrity": "sha512-j/PHCDX2bGM5xGcWObOvpOc54cXjn9g6xScXzAeOLwTsScaL4Y+qd0pFC6HBwTtrH92NvJQc+2Lx9HFkVi48cg==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.8.1.tgz",
"integrity": "sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/types": "^20.0.0",
"@commitlint/types": "^19.8.1",
"conventional-changelog-angular": "^7.0.0",
"conventional-commits-parser": "^5.0.0"
},
@@ -310,14 +310,14 @@
}
},
"node_modules/@commitlint/read": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/read/-/read-20.0.0.tgz",
"integrity": "sha512-Ti7Y7aEgxsM1nkwA4ZIJczkTFRX/+USMjNrL9NXwWQHqNqrBX2iMi+zfuzZXqfZ327WXBjdkRaytJ+z5vNqTOA==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.8.1.tgz",
"integrity": "sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/top-level": "^20.0.0",
"@commitlint/types": "^20.0.0",
"@commitlint/top-level": "^19.8.1",
"@commitlint/types": "^19.8.1",
"git-raw-commits": "^4.0.0",
"minimist": "^1.2.8",
"tinyexec": "^1.0.0"
@@ -327,14 +327,14 @@
}
},
"node_modules/@commitlint/resolve-extends": {
"version": "20.1.0",
"resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.1.0.tgz",
"integrity": "sha512-cxKXQrqHjZT3o+XPdqDCwOWVFQiae++uwd9dUBC7f2MdV58ons3uUvASdW7m55eat5sRiQ6xUHyMWMRm6atZWw==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.8.1.tgz",
"integrity": "sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/config-validator": "^20.0.0",
"@commitlint/types": "^20.0.0",
"@commitlint/config-validator": "^19.8.1",
"@commitlint/types": "^19.8.1",
"global-directory": "^4.0.1",
"import-meta-resolve": "^4.0.0",
"lodash.mergewith": "^4.6.2",
@@ -355,25 +355,25 @@
}
},
"node_modules/@commitlint/rules": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-20.0.0.tgz",
"integrity": "sha512-gvg2k10I/RfvHn5I5sxvVZKM1fl72Sqrv2YY/BnM7lMHcYqO0E2jnRWoYguvBfEcZ39t+rbATlciggVe77E4zA==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.8.1.tgz",
"integrity": "sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@commitlint/ensure": "^20.0.0",
"@commitlint/message": "^20.0.0",
"@commitlint/to-lines": "^20.0.0",
"@commitlint/types": "^20.0.0"
"@commitlint/ensure": "^19.8.1",
"@commitlint/message": "^19.8.1",
"@commitlint/to-lines": "^19.8.1",
"@commitlint/types": "^19.8.1"
},
"engines": {
"node": ">=v18"
}
},
"node_modules/@commitlint/to-lines": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-20.0.0.tgz",
"integrity": "sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.8.1.tgz",
"integrity": "sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -381,9 +381,9 @@
}
},
"node_modules/@commitlint/top-level": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-20.0.0.tgz",
"integrity": "sha512-drXaPSP2EcopukrUXvUXmsQMu3Ey/FuJDc/5oiW4heoCfoE5BdLQyuc7veGeE3aoQaTVqZnh4D5WTWe2vefYKg==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.8.1.tgz",
"integrity": "sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -496,9 +496,9 @@
}
},
"node_modules/@commitlint/types": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@commitlint/types/-/types-20.0.0.tgz",
"integrity": "sha512-bVUNBqG6aznYcYjTjnc3+Cat/iBgbgpflxbIBTnsHTX0YVpnmINPEkSRWymT2Q8aSH3Y7aKnEbunilkYe8TybA==",
"version": "19.8.1",
"resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.8.1.tgz",
"integrity": "sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -510,9 +510,9 @@
}
},
"node_modules/@commitlint/types/node_modules/chalk": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
"integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -590,14 +590,13 @@
}
},
"node_modules/@dual-bundle/import-meta-resolve": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz",
"integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
"integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==",
"dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/JounQin"
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/@emnapi/core": {
@@ -632,11 +631,10 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
"integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"eslint-visitor-keys": "^3.4.3"
},
@@ -722,9 +720,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.36.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz",
"integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==",
"version": "9.34.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz",
"integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3519,14 +3517,14 @@
}
},
"node_modules/cacheable": {
"version": "1.10.4",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.4.tgz",
"integrity": "sha512-Gd7ccIUkZ9TE2odLQVS+PDjIvQCdJKUlLdJRVvZu0aipj07Qfx+XIej7hhDrKGGoIxV5m5fT/kOJNJPQhQneRg==",
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.3.tgz",
"integrity": "sha512-M6p10iJ/VT0wT7TLIGUnm958oVrU2cUK8pQAVU21Zu7h8rbk/PeRtRWrvHJBql97Bhzk3g1N6+2VKC+Rjxna9Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"hookified": "^1.11.0",
"keyv": "^5.5.0"
"hookified": "^1.10.0",
"keyv": "^5.4.0"
}
},
"node_modules/cacheable-lookup": {
@@ -3557,9 +3555,9 @@
}
},
"node_modules/cacheable/node_modules/keyv": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.0.tgz",
"integrity": "sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==",
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.4.0.tgz",
"integrity": "sha512-TMckyVjEoacG5IteUpUrOBsFORtheqziVyyY2dLUwg1jwTb8u48LX4TgmtogkNl9Y9unaEJ1luj10fGyjMGFOQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4705,9 +4703,9 @@
}
},
"node_modules/debug": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -5481,19 +5479,19 @@
}
},
"node_modules/eslint": {
"version": "9.36.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz",
"integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==",
"version": "9.34.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz",
"integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.21.0",
"@eslint/config-helpers": "^0.3.1",
"@eslint/core": "^0.15.2",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "9.36.0",
"@eslint/js": "9.34.0",
"@eslint/plugin-kit": "^0.3.5",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
@@ -7154,22 +7152,22 @@
}
},
"node_modules/hook-std": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-4.0.0.tgz",
"integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz",
"integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=20"
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/hookified": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.12.0.tgz",
"integrity": "sha512-hMr1Y9TCLshScrBbV2QxJ9BROddxZ12MX9KsCtuGGy/3SmmN5H1PllKerrVlSotur9dlE8hmUKAOSa3WDzsZmQ==",
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.11.0.tgz",
"integrity": "sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==",
"dev": true,
"license": "MIT"
},
@@ -7239,9 +7237,9 @@
}
},
"node_modules/hugo-bin": {
"version": "0.148.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.148.0.tgz",
"integrity": "sha512-7+Nm86bXld2l4hMKtLLBRfYczkt9EtlsvUqvJNWEBsAd4lUuEmB4QvBH/MhyQqZ0+ROdl9aeuzpNXOlfzp28HA==",
"version": "0.146.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.146.0.tgz",
"integrity": "sha512-R7c7SEhxNekWIny2HF5uU5Xk0Veg8BsahuyLURojvascGLCjyOAUDmghKnWB8DDVXSUmeDQYW8XdypNvbEC/Vg==",
"funding": [
{
"type": "github",
@@ -8707,9 +8705,9 @@
}
},
"node_modules/mdn-data": {
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.24.0.tgz",
"integrity": "sha512-i97fklrJl03tL1tdRVw0ZfLLvuDsdb6wxL+TrJ+PKkCbLrp2PCu2+OYdCKychIUm19nSM/35S6qz7pJpnXttoA==",
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz",
"integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==",
"dev": true,
"license": "CC0-1.0"
},
@@ -14441,23 +14439,22 @@
}
},
"node_modules/replace-in-files-cli": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/replace-in-files-cli/-/replace-in-files-cli-4.0.0.tgz",
"integrity": "sha512-b6Nzz19x+huwKe1pqjovWj/JGFwVvi+XbY1YPuWzlD+3Ihb1BPgoNfPweFvbjmSmj60bPLABgJX0HUQVhzEVsA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/replace-in-files-cli/-/replace-in-files-cli-3.0.0.tgz",
"integrity": "sha512-A2VjOaPF8yjiaRjuIlvX3PB0uRMQ3DpnKG4yg38wjPrqR0OSzD00ubOZqqwAunoT5emKjEZPvdkm6JRVJrBmlQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"escape-string-regexp": "^5.0.0",
"globby": "^14.1.0",
"globby": "^14.0.1",
"meow": "^13.2.0",
"normalize-path": "^3.0.0",
"write-file-atomic": "^6.0.0"
"write-file-atomic": "^5.0.1"
},
"bin": {
"replace-in-files": "cli.js"
},
"engines": {
"node": ">=20"
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -14475,33 +14472,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/replace-in-files-cli/node_modules/signal-exit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/replace-in-files-cli/node_modules/write-file-atomic": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz",
"integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==",
"dev": true,
"license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
"signal-exit": "^4.0.1"
},
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -14880,9 +14850,9 @@
}
},
"node_modules/semantic-release": {
"version": "24.2.9",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.9.tgz",
"integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==",
"version": "24.2.7",
"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.7.tgz",
"integrity": "sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14900,7 +14870,7 @@
"find-versions": "^6.0.0",
"get-stream": "^6.0.0",
"git-log-parser": "^1.2.0",
"hook-std": "^4.0.0",
"hook-std": "^3.0.0",
"hosted-git-info": "^8.0.0",
"import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
@@ -14912,7 +14882,7 @@
"read-package-up": "^11.0.0",
"resolve-from": "^5.0.0",
"semver": "^7.3.2",
"semver-diff": "^5.0.0",
"semver-diff": "^4.0.0",
"signale": "^1.2.1",
"yargs": "^17.5.1"
},
@@ -15219,10 +15189,9 @@
}
},
"node_modules/semver-diff": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-5.0.0.tgz",
"integrity": "sha512-0HbGtOm+S7T6NGQ/pxJSJipJvc4DK3FcRVMRkhsIwJDJ4Jcz5DQC1cPPzB5GhzyHjwttW878HaWQq46CkL3cqg==",
"deprecated": "Deprecated as the semver package now supports this built-in.",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz",
"integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16178,9 +16147,9 @@
}
},
"node_modules/stylelint": {
"version": "16.25.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.25.0.tgz",
"integrity": "sha512-Li0avYWV4nfv1zPbdnxLYBGq4z8DVZxbRgx4Kn6V+Uftz1rMoF1qiEI3oL4kgWqyYgCgs7gT5maHNZ82Gk03vQ==",
"version": "16.23.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.23.1.tgz",
"integrity": "sha512-dNvDTsKV1U2YtiUDfe9d2gp902veFeo3ecCWdGlmLm2WFrAV0+L5LoOj/qHSBABQwMsZPJwfC4bf39mQm1S5zw==",
"dev": true,
"funding": [
{
@@ -16198,16 +16167,16 @@
"@csstools/css-tokenizer": "^3.0.4",
"@csstools/media-query-list-parser": "^4.0.3",
"@csstools/selector-specificity": "^5.0.0",
"@dual-bundle/import-meta-resolve": "^4.2.1",
"@dual-bundle/import-meta-resolve": "^4.1.0",
"balanced-match": "^2.0.0",
"colord": "^2.9.3",
"cosmiconfig": "^9.0.0",
"css-functions-list": "^3.2.3",
"css-tree": "^3.1.0",
"debug": "^4.4.3",
"debug": "^4.4.1",
"fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^10.1.4",
"file-entry-cache": "^10.1.3",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
@@ -16241,9 +16210,9 @@
}
},
"node_modules/stylelint-config-recommended": {
"version": "17.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-17.0.0.tgz",
"integrity": "sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==",
"version": "16.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz",
"integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==",
"dev": true,
"funding": [
{
@@ -16260,26 +16229,26 @@
"node": ">=18.12.0"
},
"peerDependencies": {
"stylelint": "^16.23.0"
"stylelint": "^16.16.0"
}
},
"node_modules/stylelint-config-recommended-scss": {
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-16.0.1.tgz",
"integrity": "sha512-wfpU6kmTUwPEHMACYdpt5wLM/aS44+sqE8yk82LkOkA7yVpAuTZDwd3m9762d0mRnNCn0JMUx4XfDVDmbb8hTA==",
"version": "15.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-15.0.1.tgz",
"integrity": "sha512-V24bxkNkFGggqPVJlP9iXaBabwSGEG7QTz+PyxrRtjPkcF+/NsWtB3tKYvFYEmczRkWiIEfuFMhGpJFj9Fxe6Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"postcss-scss": "^4.0.9",
"stylelint-config-recommended": "^17.0.0",
"stylelint-scss": "^6.12.1"
"stylelint-config-recommended": "^16.0.0",
"stylelint-scss": "^6.12.0"
},
"engines": {
"node": ">=20"
},
"peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^16.23.1"
"stylelint": "^16.16.0"
},
"peerDependenciesMeta": {
"postcss": {
@@ -16288,9 +16257,9 @@
}
},
"node_modules/stylelint-config-standard": {
"version": "39.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-39.0.0.tgz",
"integrity": "sha512-JabShWORb8Bmc1A47ZyJstran60P3yUdI1zWMpGYPeFiC6xzHXJMkpKAd8EjIhq3HPUplIWWMDJ/xu0AiPd+kA==",
"version": "38.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-38.0.0.tgz",
"integrity": "sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==",
"dev": true,
"funding": [
{
@@ -16304,31 +16273,31 @@
],
"license": "MIT",
"dependencies": {
"stylelint-config-recommended": "^17.0.0"
"stylelint-config-recommended": "^16.0.0"
},
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
"stylelint": "^16.23.0"
"stylelint": "^16.18.0"
}
},
"node_modules/stylelint-config-standard-scss": {
"version": "16.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-16.0.0.tgz",
"integrity": "sha512-/FHECLUu+med/e6OaPFpprG86ShC4SYT7Tzb2PTVdDjJsehhFBOioSlWqYFqJxmGPIwO3AMBxNo+kY3dxrbczA==",
"version": "15.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-15.0.1.tgz",
"integrity": "sha512-8pmmfutrMlPHukLp+Th9asmk21tBXMVGxskZCzkRVWt1d8Z0SrXjUUQ3vn9KcBj1bJRd5msk6yfEFM0UYHBRdg==",
"dev": true,
"license": "MIT",
"dependencies": {
"stylelint-config-recommended-scss": "^16.0.1",
"stylelint-config-standard": "^39.0.0"
"stylelint-config-recommended-scss": "^15.0.1",
"stylelint-config-standard": "^38.0.0"
},
"engines": {
"node": ">=20"
},
"peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^16.23.1"
"stylelint": "^16.18.0"
},
"peerDependenciesMeta": {
"postcss": {
@@ -16337,9 +16306,9 @@
}
},
"node_modules/stylelint-scss": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.1.tgz",
"integrity": "sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA==",
"version": "6.12.0",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.0.tgz",
"integrity": "sha512-U7CKhi1YNkM1pXUXl/GMUXi8xKdhl4Ayxdyceie1nZ1XNIdaUgMV6OArpooWcDzEggwgYD0HP/xIgVJo9a655w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16412,25 +16381,25 @@
"dev": true
},
"node_modules/stylelint/node_modules/file-entry-cache": {
"version": "10.1.4",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.4.tgz",
"integrity": "sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==",
"version": "10.1.3",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.3.tgz",
"integrity": "sha512-D+w75Ub8T55yor7fPgN06rkCAUbAYw2vpxJmmjv/GDAcvCnv9g7IvHhIZoxzRZThrXPFI2maeY24pPbtyYU7Lg==",
"dev": true,
"license": "MIT",
"dependencies": {
"flat-cache": "^6.1.13"
"flat-cache": "^6.1.12"
}
},
"node_modules/stylelint/node_modules/flat-cache": {
"version": "6.1.13",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.13.tgz",
"integrity": "sha512-gmtS2PaUjSPa4zjObEIn4WWliKyZzYljgxODBfxugpK6q6HU9ClXzgCJ+nlcPKY9Bt090ypTOLIFWkV0jbKFjw==",
"version": "6.1.12",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.12.tgz",
"integrity": "sha512-U+HqqpZPPXP5d24bWuRzjGqVqUcw64k4nZAbruniDwdRg0H10tvN7H6ku1tjhA4rg5B9GS3siEvwO2qjJJ6f8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"cacheable": "^1.10.4",
"cacheable": "^1.10.3",
"flatted": "^3.3.3",
"hookified": "^1.11.0"
"hookified": "^1.10.0"
}
},
"node_modules/stylelint/node_modules/globby": {

View File

@@ -75,31 +75,31 @@
"autoprefixer": "^10.4.21",
"cssnano": "^7.1.1",
"cssnano-preset-advanced": "^7.0.9",
"hugo-bin": "0.148.0",
"hugo-bin": "0.146.0",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
"@commitlint/cli": "^20.1.0",
"@commitlint/config-conventional": "^20.0.0",
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
"@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1",
"commitizen": "^4.3.1",
"cpy-cli": "^6.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.36.0",
"eslint": "^9.34.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^4.0.0",
"replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.9",
"semantic-release": "^24.2.7",
"shx": "^0.4.0",
"stylelint": "^16.25.0",
"stylelint-config-standard-scss": "^16.0.0"
"stylelint": "^16.23.1",
"stylelint-config-standard-scss": "^15.0.1"
},
"optionalDependencies": {
"@gethinode/netlify-plugin-dartsass": "^0.3.0",