mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
150 Commits
v1.0.0-bet
...
v1.7.0
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d414c111f4 | ||
![]() |
62f7ca0c79 | ||
![]() |
6ebd03b4db | ||
![]() |
a3e5b7cbc4 | ||
![]() |
7335014a55 | ||
![]() |
f43dc337d1 | ||
![]() |
50de255e59 | ||
![]() |
3166ce9bb3 | ||
![]() |
d8c331e35d | ||
![]() |
cef686243a | ||
![]() |
c4bdbb242c | ||
![]() |
cb70afd5f0 | ||
![]() |
fbf758cced | ||
![]() |
abd69af2f2 | ||
![]() |
1190a96694 | ||
![]() |
d310648950 | ||
![]() |
8c7fea7670 | ||
![]() |
9e5d786ca3 | ||
![]() |
2bfb9d6991 | ||
![]() |
294f1ae91d | ||
![]() |
8f5f1caef6 | ||
![]() |
d342496336 | ||
![]() |
24c5ecda82 | ||
![]() |
dbf3be5528 | ||
![]() |
d4e516065d | ||
![]() |
5b2b996948 | ||
![]() |
33056742af | ||
![]() |
8fa4b251b1 | ||
![]() |
dcbbf2a55a | ||
![]() |
c7a4edee1f | ||
![]() |
f69f536dca | ||
![]() |
4bd20f6bb0 | ||
![]() |
6db9cbec0e | ||
![]() |
0170417ddc | ||
![]() |
3eb2e36429 | ||
![]() |
773b365b1c | ||
![]() |
550945f0f6 | ||
![]() |
b60ad8fd0b | ||
![]() |
38d1ddb86d | ||
![]() |
17287492e5 | ||
![]() |
992d724a6f | ||
![]() |
0b81eba373 | ||
![]() |
0a5e8bed92 | ||
![]() |
a387adca66 | ||
![]() |
5341db7db2 | ||
![]() |
f4d59a0324 | ||
![]() |
6c068898a3 | ||
![]() |
eec6697ff6 | ||
![]() |
26402fb5be | ||
![]() |
e08aebf928 | ||
![]() |
787ad2eb91 | ||
![]() |
8f137b0c54 | ||
![]() |
a979dd8d58 | ||
![]() |
b77a125485 | ||
![]() |
004da99765 | ||
![]() |
907c8ac800 | ||
![]() |
a8efc27771 | ||
![]() |
3bf8da3767 | ||
![]() |
131de0c064 | ||
![]() |
a914fe18e8 | ||
![]() |
a855a41c13 | ||
![]() |
c41cd0650e | ||
![]() |
a83bab6689 | ||
![]() |
03a099ae66 | ||
![]() |
cd837cf116 | ||
![]() |
8cffd358aa | ||
![]() |
0d33a15e98 | ||
![]() |
9be691eb6b | ||
![]() |
fd727228d7 | ||
![]() |
a9f1cd098d | ||
![]() |
dc1c358cfa | ||
![]() |
0d24dc445d | ||
![]() |
f6f034252b | ||
![]() |
863b81efbb | ||
![]() |
9b0683d176 | ||
![]() |
dd1b2eb97f | ||
![]() |
3f6dc3b2d7 | ||
![]() |
873277b691 | ||
![]() |
7a456a12d2 | ||
![]() |
b437b414b0 | ||
![]() |
80ac704d81 | ||
![]() |
996e9ec294 | ||
![]() |
0ab274d6f5 | ||
![]() |
3742e8ef04 | ||
![]() |
3eadaa02b8 | ||
![]() |
90bc571b76 | ||
![]() |
aad5b59a48 | ||
![]() |
4d7fdffd4a | ||
![]() |
c384836224 | ||
![]() |
cb547351d9 | ||
![]() |
3b47a5b66f | ||
![]() |
9f9029baf0 | ||
![]() |
3079f1f7dd | ||
![]() |
e546d34422 | ||
![]() |
00e80f6400 | ||
![]() |
b46dd52101 | ||
![]() |
b1a8c956fc | ||
![]() |
1b8aa10d11 | ||
![]() |
32fd60bb58 | ||
![]() |
8fa19c9ed1 | ||
![]() |
d36fcd894b | ||
![]() |
7378a61542 | ||
![]() |
fb63e36c56 | ||
![]() |
ae1cda1f5a | ||
![]() |
4846d1b016 | ||
![]() |
01522dad71 | ||
![]() |
0bbef1dad2 | ||
![]() |
5e048d32df | ||
![]() |
d1128fa7c3 | ||
![]() |
cf9a39b51f | ||
![]() |
ae9ec71966 | ||
![]() |
f6c4bbfffb | ||
![]() |
7a655315f1 | ||
![]() |
5c27178881 | ||
![]() |
c829049842 | ||
![]() |
613da916aa | ||
![]() |
d3d75c9dc6 | ||
![]() |
2f5b49397e | ||
![]() |
632f3d861b | ||
![]() |
004063f02a | ||
![]() |
1bd498f816 | ||
![]() |
291220256a | ||
![]() |
7bcb87a73e | ||
![]() |
55cebc752e | ||
![]() |
14bf59a551 | ||
![]() |
bce0fedd15 | ||
![]() |
694e7fc7b1 | ||
![]() |
93749cb368 | ||
![]() |
cf01e22a4d | ||
![]() |
f416f6bb7e | ||
![]() |
a7b776c0dc | ||
![]() |
e70f3acb57 | ||
![]() |
6e7b40ad0f | ||
![]() |
7446b2958e | ||
![]() |
6c18ada352 | ||
![]() |
323b42996b | ||
![]() |
ab8074b293 | ||
![]() |
9419e18ba9 | ||
![]() |
0f007ba5c2 | ||
![]() |
7d0943fb0c | ||
![]() |
3d2cfdaf0a | ||
![]() |
281c16b561 | ||
![]() |
fe68bd6be3 | ||
![]() |
3bf0c241a3 | ||
![]() |
a6a670cd2b | ||
![]() |
a44b5449f8 | ||
![]() |
461f53c67e | ||
![]() |
9a5059d8bd | ||
![]() |
c1586ee00e | ||
![]() |
88d2a50954 |
4
.github/workflows/lint-build.yml
vendored
4
.github/workflows/lint-build.yml
vendored
@@ -14,6 +14,10 @@ env:
|
||||
CACHE_PATH_WIN: '~\AppData\Local\hugo_cache'
|
||||
CACHE_PATH_MAC: '/Users/runner/Library/Caches/hugo_cache'
|
||||
|
||||
permissions:
|
||||
pull-requests: read
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
41
.github/workflows/npm-publish.yml
vendored
41
.github/workflows/npm-publish.yml
vendored
@@ -1,41 +0,0 @@
|
||||
# This workflow will run tests using node and then publish a package to npmjs.org when a release is created
|
||||
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
||||
name: Publish package to npmjs
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
env:
|
||||
REGISTRY_URL: 'https://registry.npmjs.org/'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node-version: [20.x]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup .npmrc file to publish to npm
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: ${{ env.REGISTRY_URL }}
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
# [27/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
|
||||
- name: Install npm
|
||||
run: npm i
|
||||
|
||||
- name: Publish package to npm
|
||||
run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
44
.github/workflows/release.yml
vendored
Normal file
44
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
name: Release
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
env:
|
||||
HUSKY: 0
|
||||
|
||||
permissions:
|
||||
contents: read # for checkout
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write # to be able to publish a GitHub release
|
||||
issues: write # to be able to comment on released issues
|
||||
pull-requests: write # to be able to comment on released pull requests
|
||||
id-token: write # to enable use of OIDC for npm provenance
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "lts/*"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm clean-install
|
||||
|
||||
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
|
||||
run: npm audit signatures
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: npx semantic-release
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,5 +1,6 @@
|
||||
_vendor/
|
||||
prebuild/
|
||||
prebuild-headers/
|
||||
public/
|
||||
resources/
|
||||
node_modules/
|
||||
|
1
.husky/commit-msg
Normal file
1
.husky/commit-msg
Normal file
@@ -0,0 +1 @@
|
||||
npx --no -- commitlint --edit $1
|
6
.husky/install.mjs
Normal file
6
.husky/install.mjs
Normal file
@@ -0,0 +1,6 @@
|
||||
// Skip Husky install in production and CI
|
||||
if (process.env.NODE_ENV === 'production' || process.env.CI === 'true') {
|
||||
process.exit(0)
|
||||
}
|
||||
const husky = (await import('husky')).default
|
||||
console.log(husky())
|
1
.husky/pre-commit
Normal file
1
.husky/pre-commit
Normal file
@@ -0,0 +1 @@
|
||||
npm test
|
@@ -15,9 +15,6 @@
|
||||
<a href="https://gethinode.com">
|
||||
<img src="https://img.shields.io/badge/theme-hinode-blue" alt="Hinode theme">
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/%40gethinode/hinode">
|
||||
<img src="https://img.shields.io/npm/v/%40gethinode/hinode" alt="npm package">
|
||||
</a>
|
||||
<a href="https://app.netlify.com/sites/gethinode-demo/deploys">
|
||||
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67" alt="Netlify Status">
|
||||
</a>
|
||||
|
45
assets/js/nav.js
Normal file
45
assets/js/nav.js
Normal file
@@ -0,0 +1,45 @@
|
||||
function updateDropdown (element, id, label) {
|
||||
const dropdown = document.getElementById(element)
|
||||
if (dropdown != null) {
|
||||
dropdown.querySelector('.dropdown-toggle').textContent = label
|
||||
dropdown.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
|
||||
item.classList.remove('active')
|
||||
let target = item.getAttribute('data-link')
|
||||
if (target != null) {
|
||||
target = target.replace(/^#+/, '')
|
||||
if (target === id) {
|
||||
item.classList.add('active')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('.panel-dropdown').forEach(trigger => {
|
||||
trigger.addEventListener('hide.bs.dropdown', event => {
|
||||
if (event.clickEvent != null) {
|
||||
let target = event.clickEvent.srcElement.getAttribute('data-link')
|
||||
if (target != null) {
|
||||
trigger.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
|
||||
item.classList.remove('active')
|
||||
})
|
||||
target = target.replace(/^#+/, '')
|
||||
const btn = document.getElementById(target)
|
||||
if (btn != null) {
|
||||
event.clickEvent.srcElement.classList.add('active')
|
||||
trigger.querySelector('.dropdown-toggle').textContent = event.clickEvent.srcElement.textContent
|
||||
btn.click()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
document.querySelectorAll('.nav-panel .nav-link').forEach(trigger => {
|
||||
trigger.addEventListener('click', event => {
|
||||
const companion = event.srcElement.parentElement.parentElement.getAttribute('data-companion')
|
||||
if (companion != null) {
|
||||
updateDropdown(companion, trigger.getAttribute('id'), trigger.textContent.trim())
|
||||
}
|
||||
})
|
||||
})
|
@@ -1,14 +1,8 @@
|
||||
.nav-tabs .nav-tabs {
|
||||
border: none;
|
||||
.nav-tabs {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link.active {
|
||||
border-bottom-color: var(--bs-body-bg) !important;
|
||||
border-bottom-style: solid !important;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.nav-callout {
|
||||
.nav-callout, .tab-content {
|
||||
--#{$prefix}nav-callout-bg: var(--#{$prefix}light);
|
||||
--#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle);
|
||||
--#{$prefix}nav-callout-gap: #{$nav-underline-gap};
|
||||
@@ -92,7 +86,7 @@
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.nav-callout {
|
||||
.nav-callout, .tab-content {
|
||||
--#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg);
|
||||
}
|
||||
|
||||
|
1
commitlint.config.js
Normal file
1
commitlint.config.js
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = {extends: ['@commitlint/config-conventional']}
|
@@ -2,8 +2,10 @@
|
||||
@import "modules/bookshop/components/about/about";
|
||||
@import "modules/bookshop/components/articles/articles";
|
||||
@import "modules/bookshop/components/cards/cards";
|
||||
@import "modules/bookshop/components/cta/cta";
|
||||
@import "modules/bookshop/components/faq/faq";
|
||||
@import "modules/bookshop/components/hero/hero";
|
||||
@import "modules/bookshop/components/panels/panels";
|
||||
@import "modules/bookshop/components/releases/releases";
|
||||
@import "modules/bookshop/components/separator/separator";
|
||||
@import "modules/bookshop/components/video-message/video-message";
|
||||
|
@@ -19,9 +19,10 @@
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.error }}
|
||||
{{ partial "assets/hero.html" (dict
|
||||
"page" page
|
||||
"heading" $args.heading
|
||||
"background" $args.background
|
||||
"illustration" (merge (dict "ratio" "1x1") $args.illustration)
|
||||
"illustration" (merge (dict "ratio" "auto") $args.illustration)
|
||||
"order" $args.order
|
||||
"link-type" $args.linkType
|
||||
"links" $args.links
|
||||
|
@@ -27,9 +27,11 @@ blueprint:
|
||||
more:
|
||||
title:
|
||||
link:
|
||||
icon-rounded:
|
||||
icon-style:
|
||||
cols:
|
||||
padding:
|
||||
max:
|
||||
limit:
|
||||
pagination:
|
||||
paginate:
|
||||
background:
|
||||
|
@@ -19,6 +19,10 @@
|
||||
{{ $error = $args.err }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Initialize global arguments */}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
{{/* Initialize local variables */}}
|
||||
{{ $pages := slice }}
|
||||
{{ $result := partial "assets/live-pages.html" (dict
|
||||
"page" $args.page
|
||||
@@ -60,48 +64,58 @@
|
||||
{{ $paginate = false }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
{{/* Main code */}}
|
||||
{{ if not $error }}
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading) -}}
|
||||
{{ if or (gt (len $pages) 0) (not $args.hideEmpty) }}
|
||||
{{- partial "assets/section-title.html" (dict
|
||||
"heading" $args.heading
|
||||
"justify" $args.justify
|
||||
"class" (printf "pb-%d" $padding.y))
|
||||
-}}
|
||||
|
||||
{{ $partial := "assets/card-group.html" }}
|
||||
{{ $params := dict }}
|
||||
{{- $params = merge $params (dict
|
||||
"page" page
|
||||
"list" $pages
|
||||
"max" $args.max
|
||||
"cols" $args.cols
|
||||
"icon-rounded" $args.iconRounded
|
||||
"href" (cond $moreButton $moreLink "")
|
||||
"href-title" (cond $moreButton $moreTitle "")
|
||||
"href-force" (gt $result.total (len $result.pages))
|
||||
)}}
|
||||
{{ $partial := "assets/card-group.html" }}
|
||||
{{ $params := dict }}
|
||||
{{- $params = merge $params (dict
|
||||
"page" page
|
||||
"list" $pages
|
||||
"limit" $args.limit
|
||||
"cols" $args.cols
|
||||
"icon-rounded" $args.iconRounded
|
||||
"icon-style" $args.iconStyle
|
||||
"href" (cond $moreButton $moreLink "")
|
||||
"href-title" (cond $moreButton $moreTitle "")
|
||||
"href-force" (gt $result.total (len $result.pages))
|
||||
)}}
|
||||
|
||||
{{ if $args.scroll }}
|
||||
{{ $partial := "assets/stack.html" }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" "none"
|
||||
"body-style" "title"
|
||||
"footer-style" "none"
|
||||
"gutter" 1
|
||||
"padding" 3
|
||||
"ratio" "1x1"
|
||||
"orientation" "horizontal-sm"
|
||||
"styles" (cond $args.bento $styles "")
|
||||
) -}}
|
||||
{{ else }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" $args.headerStyle
|
||||
"footer-style" $args.footerStyle
|
||||
"padding" $args.padding
|
||||
"class" (or $args.class "border-0")
|
||||
"icon-style" "fa-2x"
|
||||
"align" "start"
|
||||
"orientation" $args.orientation
|
||||
"hook" "assets/live-card.html"
|
||||
"pagination" $args.pagination
|
||||
"paginate" $paginate
|
||||
) -}}
|
||||
{{ if $args.scroll }}
|
||||
{{ $partial = "assets/stack.html" }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" "none"
|
||||
"body-style" "title"
|
||||
"footer-style" "none"
|
||||
"gutter" 1
|
||||
"padding" 3
|
||||
"ratio" "1x1"
|
||||
"orientation" "horizontal-sm"
|
||||
"styles" (cond $args.bento $styles "")
|
||||
) -}}
|
||||
{{ else }}
|
||||
{{ $params = merge $params (dict
|
||||
"header-style" $args.headerStyle
|
||||
"footer-style" $args.footerStyle
|
||||
"padding" $args.padding
|
||||
"class" (or $args.class "border-0")
|
||||
"align" "start"
|
||||
"orientation" $args.orientation
|
||||
"hook" "assets/live-card.html"
|
||||
"pagination" $args.pagination
|
||||
"paginate" $paginate
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ if gt (len $pages) 0 }}
|
||||
{{ partial $partial $params }}
|
||||
{{ else }}
|
||||
<p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ partial $partial $params }}
|
||||
{{ end }}
|
@@ -17,6 +17,7 @@ blueprint:
|
||||
width:
|
||||
cols:
|
||||
icon-rounded:
|
||||
icon-style:
|
||||
padding:
|
||||
background:
|
||||
backdrop:
|
||||
@@ -32,3 +33,4 @@ blueprint:
|
||||
class:
|
||||
width:
|
||||
justify:
|
||||
align:
|
||||
|
@@ -21,6 +21,7 @@
|
||||
|
||||
{{/* Initialize global arguments */}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
{{/* Initialize local variables */}}
|
||||
{{ $list := slice }}
|
||||
@@ -34,37 +35,46 @@
|
||||
) }}
|
||||
{{ end}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $error }}
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading) -}}
|
||||
{{- partial "assets/section-title.html" (dict
|
||||
"heading" $args.heading
|
||||
"justify" $args.justify
|
||||
"class" (printf "pb-%d" $padding.y))
|
||||
-}}
|
||||
|
||||
{{/* Layout for small screens */}}
|
||||
{{- partial "assets/card-group.html" (dict
|
||||
"page" page
|
||||
"list" $list
|
||||
"class" (printf "border-0 card-icon-primary d-%s-none %s" $breakpoint.prev $args.class)
|
||||
"class" (printf "border-0 card-icon-primary %s" (or $args.class ""))
|
||||
"wrapper" (printf "d-%s-none" $breakpoint.prev)
|
||||
"cols" $args.cols
|
||||
"gutter" "4"
|
||||
"padding" $args.padding
|
||||
"header-style" "none"
|
||||
"footer-style" "none"
|
||||
"icon-rounded" $args.iconRounded
|
||||
"icon-style" "fa-2x"
|
||||
"align" "start"
|
||||
"icon-style" (or $args.iconStyle "fa-2x")
|
||||
"align" $args.align
|
||||
"orientation" ($args.orientation | default "horizontal-sm")
|
||||
"hook" "assets/live-card.html"
|
||||
) -}}
|
||||
|
||||
{{/* Layout for regular screens */}}
|
||||
{{- partial "assets/card-group.html" (dict
|
||||
"page" page
|
||||
"list" $list
|
||||
"class" (printf "border-0 card-icon-primary d-none d-%s-block %s" $breakpoint.prev $args.class)
|
||||
"class" (printf "border-0 card-icon-primary %s" (or $args.class ""))
|
||||
"wrapper" (printf "d-none d-%s-block" $breakpoint.prev)
|
||||
"cols" $args.cols
|
||||
"gutter" "4"
|
||||
"padding" $args.padding
|
||||
"header-style" "none"
|
||||
"footer-style" "none"
|
||||
"icon-rounded" $args.iconRounded
|
||||
"icon-style" "fa-2x"
|
||||
"align" "start"
|
||||
"icon-style" (or $args.iconStyle "fa-2x")
|
||||
"align" $args.align
|
||||
"orientation" ($args.orientation | default "stacked")
|
||||
"hook" "assets/live-card.html"
|
||||
) -}}
|
||||
|
43
component-library/components/cta/cta.bookshop.yml
Normal file
43
component-library/components/cta/cta.bookshop.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: CTA
|
||||
description: Call to action
|
||||
icon: contact_page
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
title:
|
||||
content:
|
||||
align:
|
||||
arrangement:
|
||||
width:
|
||||
size:
|
||||
contact:
|
||||
caption-url:
|
||||
illustration:
|
||||
image:
|
||||
icon:
|
||||
ratio:
|
||||
class:
|
||||
anchor:
|
||||
mode:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
links:
|
||||
-
|
||||
title:
|
||||
url:
|
||||
icon:
|
||||
force:
|
||||
align:
|
||||
fluid:
|
||||
padding:
|
||||
order:
|
||||
width:
|
43
component-library/components/cta/cta.hugo.html
Normal file
43
component-library/components/cta/cta.hugo.html
Normal file
@@ -0,0 +1,43 @@
|
||||
{{/*
|
||||
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.
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "cta" "args" .) }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/cta/cta.hugo.html"
|
||||
"warnid" "warn-invalid-arguments"
|
||||
"msg" "Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.error }}
|
||||
{{ $links := slice }}
|
||||
{{ if and (reflect.IsSlice .links) (gt (len .links) 0) }}
|
||||
{{ $links = .links }}
|
||||
{{ else }}
|
||||
{{ with site.Params.modules.bookshop.cta.defaultURL }}
|
||||
{{ $links = $links | append (dict "title" (T "contactAction") "url" . "icon" "fas chevron-right") }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "assets/contact.html" (dict
|
||||
"page" page
|
||||
"orientation" "horizontal"
|
||||
"heading" $args.heading
|
||||
"contact" $args.contact
|
||||
"caption-url" $args.captionUrl
|
||||
"illustration" $args.illustration
|
||||
"class" "contact-img"
|
||||
"links" $links
|
||||
"align" $args.align
|
||||
"order" $args.order
|
||||
"data" site.Params.modules.bookshop.cta.section
|
||||
) }}
|
||||
{{ end }}
|
8
component-library/components/cta/cta.scss
Normal file
8
component-library/components/cta/cta.scss
Normal file
@@ -0,0 +1,8 @@
|
||||
.cta {
|
||||
background-color: var(--#{$prefix}primary-bg-subtle);
|
||||
}
|
||||
|
||||
.cta .contact-img {
|
||||
background-color: var(--#{$prefix}body-bg);
|
||||
border-radius: var(--bs-border-radius);
|
||||
}
|
@@ -16,15 +16,24 @@
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
{{/* Initialize global arguments */}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.err }}
|
||||
{{ $color := "" }}
|
||||
{{ if $args.contrast }}{{ $color = "white" }}{{ end }}
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading "color" $color) -}}
|
||||
{{- partial "assets/section-title.html" (dict
|
||||
"heading" $args.heading
|
||||
"justify" $args.justify
|
||||
"class" (printf "pb-%d" $padding.y))
|
||||
-}}
|
||||
|
||||
{{ $class := "" }}
|
||||
{{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }}
|
||||
|
||||
<div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end }}accordion-flush mb-3{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto">
|
||||
<div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end -}}
|
||||
accordion-flush{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto">
|
||||
{{ range $index, $item := $args.items }}
|
||||
<div class="accordion-item">
|
||||
{{- with $item.title -}}
|
||||
|
@@ -18,6 +18,7 @@
|
||||
|
||||
{{ if not $args.err }}
|
||||
{{ partial "assets/hero.html" (dict
|
||||
"page" page
|
||||
"breadcrumb" $args.breadcrumb
|
||||
"heading" $args.heading
|
||||
"background" $args.background
|
||||
|
35
component-library/components/panels/panels.bookshop.yml
Normal file
35
component-library/components/panels/panels.bookshop.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
# Metadata about this component, to be used in the CMS
|
||||
spec:
|
||||
structures:
|
||||
- content_blocks
|
||||
label: Panels
|
||||
description: Introduction section
|
||||
icon: check
|
||||
tags: []
|
||||
|
||||
# Defines the structure of this component, as well as the default values
|
||||
blueprint:
|
||||
heading:
|
||||
preheading:
|
||||
heading:
|
||||
content:
|
||||
align:
|
||||
width:
|
||||
cols:
|
||||
padding:
|
||||
background:
|
||||
backdrop:
|
||||
color:
|
||||
subtle:
|
||||
elements:
|
||||
- title:
|
||||
icon:
|
||||
image:
|
||||
mode:
|
||||
content:
|
||||
tab-type:
|
||||
ratio:
|
||||
responsive:
|
||||
class:
|
||||
width:
|
||||
justify:
|
87
component-library/components/panels/panels.hugo.html
Normal file
87
component-library/components/panels/panels.hugo.html
Normal file
@@ -0,0 +1,87 @@
|
||||
{{/*
|
||||
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{ $error := false }}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "panels" "args" .)}}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/panels/panels.hugo.html"
|
||||
"warnid" "warn-invalid-arguments"
|
||||
"msg" "Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ $error = $args.err }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Initialize global arguments */}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
{{/* Initialize local variables */}}
|
||||
{{ $list := slice }}
|
||||
{{ $titles := slice }}
|
||||
{{ $toc := slice }}
|
||||
{{ $parentID := printf "panel-%v" (cond (isset . "_ordinal") (index . "_ordinal") (md5 (delimit (slice . now) "-"))) }}
|
||||
{{ $inner := "" }}
|
||||
{{ range $i, $element := $args.elements }}
|
||||
{{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }}
|
||||
|
||||
{{ $hero := partial "assets/hero.html" (dict
|
||||
"page" page
|
||||
"heading" (dict "title" $element.title "content" $element.content "width" 8 "size" 6)
|
||||
"background" $args.background
|
||||
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
|
||||
"order" $args.order
|
||||
"link-type" $args.linkType
|
||||
"links" $args.links
|
||||
"orientation" "horizontal"
|
||||
"align" "start"
|
||||
"width" 12
|
||||
)
|
||||
}}
|
||||
|
||||
{{- $output := partial "assets/nav-item.html" (dict
|
||||
"page" page
|
||||
"id" $i
|
||||
"parent-id" $parentID
|
||||
"fade" false
|
||||
"title" $element.title
|
||||
"show" (eq $i 0)
|
||||
"raw" $hero
|
||||
)
|
||||
-}}
|
||||
|
||||
{{ $inner = printf "%s\n%s" $inner $output }}
|
||||
{{ $titles = $titles | append $element.title }}
|
||||
{{ end}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $error }}
|
||||
{{- partial "assets/section-title.html" (dict
|
||||
"heading" $args.heading
|
||||
"justify" $args.justify
|
||||
"class" (printf "pb-%d" $padding.y))
|
||||
-}}
|
||||
|
||||
{{- partial "assets/nav.html" (dict
|
||||
"id" (or $args.id $parentID)
|
||||
"page" page
|
||||
"nav-items" $inner
|
||||
"nav-titles" $titles
|
||||
"tab-type" $args.tabType
|
||||
"vertical" $args.vertical
|
||||
"word-wrap" $args.wordWrap
|
||||
"class" $args.class
|
||||
"pane" $args.pane
|
||||
"width" $args.width
|
||||
"responsive" $args.responsive
|
||||
)
|
||||
-}}
|
||||
{{ end }}
|
||||
|
3
component-library/components/panels/panels.scss
Normal file
3
component-library/components/panels/panels.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
.panels .dropdown-toggle {
|
||||
text-decoration: none !important;
|
||||
}
|
@@ -6,3 +6,5 @@ spec:
|
||||
description: Inserts a horizontal page section separator
|
||||
icon: horizontal_rule
|
||||
tags: []
|
||||
|
||||
blueprint:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "separator" "args" .) }}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "separator" "args" .) }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "component-library/components/separator/separator.hugo.html"
|
||||
|
@@ -24,6 +24,7 @@ blueprint:
|
||||
link-type:
|
||||
orientation:
|
||||
icon-rounded:
|
||||
icon-style:
|
||||
video:
|
||||
provider:
|
||||
account:
|
||||
|
@@ -16,6 +16,7 @@
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
{{/* Initialize global variables */}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
@@ -59,6 +60,7 @@
|
||||
{{ $cols := .cols }}
|
||||
{{ $type := .type }}
|
||||
{{ $iconRounded := .iconRounded }}
|
||||
{{ $iconStyle := .iconStyle }}
|
||||
|
||||
{{- partial "assets/card-group.html" (dict
|
||||
"page" page
|
||||
@@ -75,9 +77,11 @@
|
||||
"button" true
|
||||
"link-type" $type
|
||||
"icon-rounded" $iconRounded
|
||||
"icon-style" $iconStyle
|
||||
) -}}
|
||||
{{ end }}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.err }}
|
||||
{{ $list := slice }}
|
||||
|
||||
@@ -96,10 +100,14 @@
|
||||
) }}
|
||||
{{ end}}
|
||||
|
||||
{{- partial "assets/section-title.html" (dict "heading" $args.heading) -}}
|
||||
{{- partial "assets/section-title.html" (dict
|
||||
"heading" $args.heading
|
||||
"justify" $args.justify
|
||||
"class" (printf "pb-%d" $padding.y))
|
||||
-}}
|
||||
|
||||
{{ if eq $args.orientation "stacked" }}
|
||||
<div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto pb-{{ $padding.y }}">
|
||||
<div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
|
||||
{{ with $args.video }}
|
||||
{{- partial "inline/video.html" (dict
|
||||
"provider" .provider
|
||||
@@ -112,11 +120,17 @@
|
||||
) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="mt-{{ $padding.y }} pb-{{ $padding.y }}">
|
||||
{{- partial "inline/messages.html" (dict "list" $list "cols" $args.cols "type" $args.type "iconRounded" $args.iconRounded) -}}
|
||||
<div class="mt-{{ $padding.y }}">
|
||||
{{- partial "inline/messages.html" (dict
|
||||
"list" $list
|
||||
"cols" $args.cols
|
||||
"type" $args.type
|
||||
"iconRounded" $args.iconRounded
|
||||
"iconStyle" $args.iconStyle
|
||||
) -}}
|
||||
</div>
|
||||
{{ else }}
|
||||
<div class="container grid gap-4 pb-{{ $padding.y }}">
|
||||
<div class="container grid gap-{{ $padding.x }}">
|
||||
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
|
||||
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} p-0">
|
||||
{{ with $args.video }}
|
||||
@@ -132,7 +146,13 @@
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="col col-{{ $breakpoint.current }}-{{ sub 12 $args.width }} mt-{{ $padding.y }} mt-{{ $breakpoint.current }}-0">
|
||||
{{- partial "inline/messages.html" (dict "list" $list "cols" 1 "type" $args.type "iconRounded" $args.iconRounded) -}}
|
||||
{{- partial "inline/messages.html" (dict
|
||||
"list" $list
|
||||
"cols" 1
|
||||
"type" $args.type
|
||||
"iconRounded" $args.iconRounded
|
||||
"iconStyle" $args.iconStyle
|
||||
) -}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -16,6 +16,7 @@
|
||||
{{- $class := index . 2 | default "p-0" -}}
|
||||
{{- $bgclass := index . 3 | default "" -}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
{{- with index $component_props "padding" }}{{ $padding = dict "x" . "y" . }}{{ end -}}
|
||||
{{- $component_path := partial "_bookshop/helpers/component_key" $component_name -}}
|
||||
{{- $flat_component_path := partial "_bookshop/helpers/flat_component_key" $component_name -}}
|
||||
|
||||
@@ -31,10 +32,12 @@
|
||||
{{- $cover := index $component_props "cover" -}}
|
||||
{{- $background := index $component_props "background" -}}
|
||||
{{- $backdrop := "" -}}
|
||||
{{- $fluid := index $component_props "fluid" | default true -}}
|
||||
{{- $style := index $component_props "wrapper" -}}
|
||||
{{- $width := index $component_props "width" -}}
|
||||
{{- $justify := index $component_props "justify" | default "start" -}}
|
||||
{{- $padding := cond (ne $component_name "separator") (printf "px-%d px-xxl-0 py-%d" $padding.x $padding.y) "" -}}
|
||||
{{- $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" $style) }}
|
||||
@@ -42,14 +45,16 @@
|
||||
{{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{/* warnf "wrapper: '%s'" $wrapper */}}
|
||||
{{- $theme := index $component_props "theme" -}}
|
||||
{{- $overlayMode := (or (index $component_props "overlay-mode") page.Params.overlayMode) | default "dark" -}}
|
||||
{{ if not $backdrop }}{{ $overlayMode = page.Params.overlayMode }}{{ end }}
|
||||
{{ if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }}
|
||||
|
||||
{{ (printf "<!--bookshop-live name(%s)-->" $component_name) | safeHTML }}
|
||||
<section {{ with $id }}id="{{ . }}" {{ end }}class="{{ $component_name }} container-fluid {{ $class }} {{ with $wrapper }}{{ . }}{{ end -}}
|
||||
{{ if not $fluid }}<div class="container-xxl {{ $paddingOuter }}">{{ end }}
|
||||
<section {{ with $id }}id="{{ . }}" {{ end }}class="{{ $component_name }}
|
||||
container-fluid {{ $class }}
|
||||
{{ with $wrapper }}{{ . }}{{ end -}}
|
||||
{{- if and $backdrop $overlayMode }} background-container{{ end -}}
|
||||
{{- if $cover }} section-cover d-flex align-items-center{{ end }}"
|
||||
{{ with $overlayMode -}}
|
||||
@@ -60,12 +65,16 @@
|
||||
{{- end -}}
|
||||
>
|
||||
{{- if $backdrop -}}
|
||||
{{ partial "assets/live-image.html" (dict "src" $backdrop "class" (printf "background-img-fluid %s" $bgclass) "title" (T "backgroundImage")) }}
|
||||
{{ partial "assets/live-image.html" (dict
|
||||
"src" $backdrop
|
||||
"class" (printf "background-img-fluid %s" $bgclass)
|
||||
"title" (T "backgroundImage"))
|
||||
}}
|
||||
{{- end -}}
|
||||
|
||||
{{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }}
|
||||
|
||||
<div class="container-xxl {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
|
||||
<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 }}
|
||||
@@ -73,6 +82,7 @@
|
||||
{{ end}}
|
||||
</div>
|
||||
</section>
|
||||
{{ if not $fluid }}</div>{{ end }}
|
||||
{{ "<!--bookshop-live end-->" | safeHTML }}
|
||||
{{- else -}}
|
||||
{{- $file_loc := slicestr $component_path 9 -}}
|
||||
|
@@ -188,7 +188,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-lottie"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-mermaid/v2"
|
||||
path = "github.com/gethinode/mod-mermaid/v3"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-simple-datatables/v2"
|
||||
[[module.imports]]
|
||||
|
@@ -10,10 +10,10 @@
|
||||
footerBelowFold = false
|
||||
loading = "lazy"
|
||||
breakpoint = "md"
|
||||
titleCase = false
|
||||
[main.padding]
|
||||
x = 4
|
||||
y = 4
|
||||
titleCase = false
|
||||
[main.internalLinks]
|
||||
validate = true
|
||||
pretty = false
|
||||
@@ -84,6 +84,7 @@
|
||||
[navigation]
|
||||
anchor = true
|
||||
logo = "/img/logo_icon.svg"
|
||||
logo-height = 30
|
||||
color = "body"
|
||||
fixed = true
|
||||
overlay = false
|
||||
@@ -96,6 +97,9 @@
|
||||
toc = true
|
||||
sidebar = true
|
||||
size = "md"
|
||||
[navigation.padding]
|
||||
x = 4
|
||||
y = 4
|
||||
# toml-docs-end navigation
|
||||
|
||||
# toml-docs-start messages
|
||||
|
@@ -30,6 +30,7 @@ const purgecss = purgeCSSPlugin({
|
||||
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
|
||||
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
|
||||
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
|
||||
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
|
||||
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
|
||||
|
@@ -7,18 +7,18 @@ content_blocks:
|
||||
title: Welcome to Hinode!
|
||||
content: |-
|
||||
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
|
||||
align: start
|
||||
width: 6
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
illustration:
|
||||
image: /img/sunrise.jpg
|
||||
ratio: 16x9
|
||||
width: 8
|
||||
width: 6
|
||||
width: 8
|
||||
links:
|
||||
- title: Get started
|
||||
- title: Getting started
|
||||
url: https://gethinode.com/docs
|
||||
icon: fas book-open
|
||||
icon: fas chevron-right
|
||||
orientation: horizontal
|
||||
justify: center
|
||||
---
|
||||
|
@@ -4,12 +4,12 @@
|
||||
command = "npm run build:example"
|
||||
|
||||
[build.environment]
|
||||
DART_SASS_VERSION = "1.83.1"
|
||||
HUGO_VERSION = "0.140.2"
|
||||
DART_SASS_VERSION = "1.89.2"
|
||||
HUGO_VERSION = "0.147.9"
|
||||
HUGO_ENV = "production"
|
||||
HUGO_ENABLEGITINFO = "true"
|
||||
NODE_VERSION = "22.12.0"
|
||||
NPM_VERSION = "10.9.0"
|
||||
NODE_VERSION = "22.13.0"
|
||||
NPM_VERSION = "10.9.2"
|
||||
# toml-docs-end netlify
|
||||
|
||||
[context.deploy-preview]
|
||||
|
@@ -12,6 +12,7 @@ arguments:
|
||||
class:
|
||||
color:
|
||||
padding:
|
||||
default: 3
|
||||
gutter:
|
||||
release: v0.19.0
|
||||
header-style:
|
||||
@@ -22,7 +23,8 @@ arguments:
|
||||
release: 1.0.0
|
||||
list:
|
||||
cards:
|
||||
max:
|
||||
limit:
|
||||
release: v1.0.0
|
||||
cols:
|
||||
release: v0.19.0
|
||||
paginate:
|
||||
@@ -42,6 +44,7 @@ arguments:
|
||||
icon-rounded:
|
||||
release: v1.0.0
|
||||
align:
|
||||
default: start
|
||||
wrapper:
|
||||
default: p-0
|
||||
responsive:
|
||||
@@ -158,3 +161,12 @@ arguments:
|
||||
group: partial
|
||||
deprecated: v1.0.0
|
||||
alternative: href-title
|
||||
max:
|
||||
type: int
|
||||
optional: true
|
||||
comment: Maximum number of elements to display.
|
||||
group: partial
|
||||
options:
|
||||
min: 1
|
||||
deprecated: v1.0.0
|
||||
alternative: limit
|
||||
|
@@ -15,6 +15,7 @@ arguments:
|
||||
parent: cascade
|
||||
padding:
|
||||
parent: cascade
|
||||
default: 3
|
||||
gutter:
|
||||
default: 0
|
||||
parent: cascade
|
||||
@@ -45,6 +46,7 @@ arguments:
|
||||
icon-rounded:
|
||||
release: v1.0.0
|
||||
align:
|
||||
default: start
|
||||
parent: cascade
|
||||
release: v0.23.0
|
||||
scroll:
|
||||
|
36
data/structures/contact.yml
Normal file
36
data/structures/contact.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
comment: >-
|
||||
Displays a contact banner, typically placed at the bottom or right-hand side of the page.
|
||||
arguments:
|
||||
page:
|
||||
data:
|
||||
heading:
|
||||
contact:
|
||||
type: string
|
||||
optional: false
|
||||
comment: >-
|
||||
The full name of the contact to retrieve.
|
||||
caption-url:
|
||||
type:
|
||||
- string
|
||||
- template.URL
|
||||
optional: true
|
||||
comment: >-
|
||||
Address of the contact's page, either a local reference or an external
|
||||
address. Include the `scheme` when referencing an external address, such
|
||||
as `https://google.com`. Local references may include an optional anchor
|
||||
link such as `blog/bootstrap-elements/#docs`.
|
||||
illustration:
|
||||
background:
|
||||
link-type:
|
||||
links:
|
||||
align:
|
||||
order:
|
||||
default: first
|
||||
orientation:
|
||||
width:
|
||||
justify:
|
||||
class:
|
||||
width:
|
||||
default: 12
|
||||
hook:
|
||||
default: assets/hero-image.html
|
@@ -11,8 +11,8 @@ arguments:
|
||||
full:
|
||||
id:
|
||||
class:
|
||||
options:
|
||||
release: v0.27.6
|
||||
highlight-options:
|
||||
release: v1.0.0
|
||||
# deprecated arguments
|
||||
path:
|
||||
type: string
|
||||
@@ -22,3 +22,11 @@ arguments:
|
||||
the path of the repository is used as base path instead.
|
||||
deprecated: v1.0.0
|
||||
alternative: file
|
||||
options:
|
||||
type: string
|
||||
optional: true
|
||||
comment: >-
|
||||
Hugo highlighting options, see https://gohugo.io/shortcodes/highlight/#options-1.
|
||||
release: v0.27.6
|
||||
deprecated: v1.0.0
|
||||
alternative: highlight-options
|
||||
|
@@ -3,6 +3,7 @@ comment: >-
|
||||
supports a heading, featured illustration, and navigation links. You can
|
||||
can also add a background image with an overlay to improve contrast.
|
||||
arguments:
|
||||
page:
|
||||
breadcrumb:
|
||||
heading:
|
||||
background:
|
||||
@@ -18,6 +19,7 @@ arguments:
|
||||
justify:
|
||||
use-section:
|
||||
use-title:
|
||||
size:
|
||||
class:
|
||||
padding:
|
||||
default: px-4 px-xxl-0 py-4
|
||||
|
@@ -15,6 +15,9 @@ arguments:
|
||||
class:
|
||||
body:
|
||||
group: partial
|
||||
raw:
|
||||
group: partial
|
||||
release: v1.3.0
|
||||
navitem-type:
|
||||
release: v1.0.0
|
||||
illustration:
|
||||
|
@@ -7,8 +7,12 @@ arguments:
|
||||
group: partial
|
||||
list:
|
||||
group: partial
|
||||
nav-disabled:
|
||||
release: v1.0.0
|
||||
nav-items:
|
||||
release: v1.0.0
|
||||
nav-show:
|
||||
release: v1.0.0
|
||||
nav-titles:
|
||||
release: v1.0.0
|
||||
tab-type:
|
||||
@@ -18,6 +22,8 @@ arguments:
|
||||
release: v1.0.0
|
||||
class:
|
||||
pane:
|
||||
responsive:
|
||||
release: v1.4.0
|
||||
width:
|
||||
default: 12
|
||||
group: partial
|
||||
|
@@ -1,6 +1,6 @@
|
||||
comment: >-
|
||||
Includes a reference to a local or external JavaScript file. Hinode uses the
|
||||
template defined in `layouts/partials/templates/script.html` to generate the
|
||||
template defined in `layouts/_partials/templates/script.html` to generate the
|
||||
link to a (bundled) JavaScript file. It includes context such as the state,
|
||||
category, and integrity. For example, you can adapt this template to implement
|
||||
cookie consent management.
|
||||
@@ -44,3 +44,10 @@ arguments:
|
||||
optional: true
|
||||
comment: >-
|
||||
Cryptographic hash of the script to enable Subresource Integrity (SRI).
|
||||
script-type:
|
||||
type: string
|
||||
optional: true
|
||||
release: v1.7.0
|
||||
comment: >-
|
||||
Type of the attribute of the script. Set the value to `module` to import
|
||||
the script as a JavaScript module.
|
||||
|
@@ -1,20 +0,0 @@
|
||||
comment: >-
|
||||
Inserts a horizontal page section separator.
|
||||
arguments:
|
||||
_bookshop_name:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Unique name of the bookshop component
|
||||
group: partial
|
||||
page:
|
||||
type:
|
||||
- '*hugolib.pageState'
|
||||
- '*hugolib.pageForShortcode'
|
||||
optional: true
|
||||
comment: Context of the current page.
|
||||
group: partial
|
||||
theme:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Color theme to apply.
|
||||
release: v1.0.0-alpha
|
@@ -9,3 +9,4 @@ arguments:
|
||||
optional: false
|
||||
background:
|
||||
class:
|
||||
justify:
|
@@ -31,6 +31,11 @@ arguments:
|
||||
deprecated: v1.0.0
|
||||
alternative: media-id
|
||||
options:
|
||||
type: string
|
||||
optional: true
|
||||
comment: >-
|
||||
Optional query parameters to append to video asset's url. The query string
|
||||
is prepended with a `?` symbol. Only applicable to Cloudinary.
|
||||
release: v0.28.2
|
||||
deprecated: v1.0.0
|
||||
alternative: query-args
|
||||
|
BIN
exampleSite/assets/img/foto-sushi-6anudmpILw4-unsplash-1x1.png
Normal file
BIN
exampleSite/assets/img/foto-sushi-6anudmpILw4-unsplash-1x1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 665 KiB |
BIN
exampleSite/assets/img/jake-nackos-IF9TK5Uy-KI-unsplash.png
Normal file
BIN
exampleSite/assets/img/jake-nackos-IF9TK5Uy-KI-unsplash.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 MiB |
BIN
exampleSite/assets/img/joseph-gonzalez-iFgRcqHznqg-unsplash.png
Normal file
BIN
exampleSite/assets/img/joseph-gonzalez-iFgRcqHznqg-unsplash.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 MiB |
@@ -8,10 +8,10 @@
|
||||
footerBelowFold = false
|
||||
loading = "lazy"
|
||||
breakpoint = "md"
|
||||
titleCase = true
|
||||
[main.padding]
|
||||
x = 4
|
||||
y = 4
|
||||
titleCase = true
|
||||
[main.internalLinks]
|
||||
validate = true
|
||||
pretty = true
|
||||
@@ -37,6 +37,7 @@
|
||||
[navigation]
|
||||
anchor = true
|
||||
logo = "/img/logo_icon.svg"
|
||||
logo-height = 30
|
||||
color = "body"
|
||||
fixed = true
|
||||
overlay = false
|
||||
@@ -50,6 +51,9 @@
|
||||
toc = true
|
||||
sidebar = true
|
||||
size = "md"
|
||||
[navigation.padding]
|
||||
x = 4
|
||||
y = 4
|
||||
|
||||
[messages]
|
||||
placement = "bottom-right"
|
||||
@@ -165,3 +169,6 @@
|
||||
|
||||
[modules.cookieyes]
|
||||
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
|
||||
|
||||
[modules.mermaid]
|
||||
elk = true
|
||||
|
@@ -30,6 +30,7 @@ const purgecss = purgeCSSPlugin({
|
||||
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
|
||||
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
|
||||
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
|
||||
'./_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
|
||||
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
|
||||
|
@@ -37,7 +37,7 @@ content_blocks:
|
||||
more:
|
||||
title: More Posts
|
||||
padding: 0
|
||||
max: 3
|
||||
limit: 3
|
||||
class: border-0 card-zoom card-body-margin
|
||||
|
||||
- _bookshop_name: articles
|
||||
@@ -55,7 +55,8 @@ content_blocks:
|
||||
title: More articles
|
||||
cols: 1
|
||||
padding: 4
|
||||
max: 2
|
||||
limit: 2
|
||||
icon-style: fa-5x
|
||||
header-style: none
|
||||
footer-style: tags
|
||||
orientation: horizontal-sm
|
||||
|
@@ -6,18 +6,17 @@ content_blocks:
|
||||
- _bookshop_name: hero
|
||||
heading:
|
||||
title: Content blocks
|
||||
align: start
|
||||
breadcrumb: true
|
||||
|
||||
- _bookshop_name: articles
|
||||
heading:
|
||||
content: >-
|
||||
Hinode uses [Bookshop](https://github.com/CloudCannon/bookshop) to
|
||||
support so-called content blocks. Content blocks are reusable page
|
||||
elements, such as a hero, about panel, or an FAQ. Hinode includes
|
||||
several ready-to-use blocks. Click on a card for more details about
|
||||
a content block, including its frontmatter configuration.
|
||||
align: start
|
||||
width: 8
|
||||
breadcrumb: true
|
||||
|
||||
- _bookshop_name: articles
|
||||
hide-empty: false
|
||||
input:
|
||||
section: blocks
|
||||
@@ -26,9 +25,10 @@ content_blocks:
|
||||
more:
|
||||
title: More Posts
|
||||
cols: 3
|
||||
padding: 0
|
||||
max: 9
|
||||
padding: 3
|
||||
limit: 9
|
||||
paginate: true
|
||||
cover: false
|
||||
header-style: none
|
||||
class: border-1
|
||||
---
|
||||
|
@@ -25,6 +25,7 @@ The `about` content block renders a short message next to an illustration. You c
|
||||
subtle: true
|
||||
illustration:
|
||||
image: /assets/img/nat-9l98kFByiao-unsplash.jpg
|
||||
ratio: 1x1
|
||||
link-type: link
|
||||
links:
|
||||
- title: First link
|
||||
|
@@ -26,12 +26,12 @@ The `articles` content block renders a group of article cards.
|
||||
more:
|
||||
title: More Blogs
|
||||
padding: 0
|
||||
max: 3
|
||||
limit: 3
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
class: border-0 card-zoom card-body-margin
|
||||
justify: center
|
||||
justify: start
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
|
@@ -24,14 +24,19 @@ The `cards` content block renders a group of content cards.
|
||||
subtle: true
|
||||
orientation: stacked
|
||||
icon-rounded: true
|
||||
class: text-center
|
||||
icon-style: fa-xs
|
||||
padding: 0
|
||||
align: start
|
||||
elements:
|
||||
- title: First Card
|
||||
icon: fas 1
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
icon: fas 2
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
icon: fas 3
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
@@ -42,3 +47,145 @@ The `cards` content block renders a group of content cards.
|
||||
The content block supports the following arguments:
|
||||
|
||||
{{< args bookshop-cards >}}
|
||||
|
||||
## Examples
|
||||
|
||||
### Stacked cards with an image
|
||||
|
||||
Set the `image` attribute of each `element` to an image asset to render illustrated cards.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: stacked
|
||||
class: bg-body
|
||||
align: center
|
||||
elements:
|
||||
- title: First Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
- title: Second Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
- title: Third Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Horizontal cards with an image
|
||||
|
||||
Set the `orientation` attribute to `horizontal` to render horizontally oriented cards.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: horizontal
|
||||
class: bg-body
|
||||
align: center
|
||||
elements:
|
||||
- title: First Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Stacked cards with an icon
|
||||
|
||||
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: stacked
|
||||
icon-style: fa-xs text-primary
|
||||
align: start
|
||||
padding: 0
|
||||
elements:
|
||||
- title: First Card
|
||||
icon: fas 1
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
icon: fas 2
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
icon: fas 3
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Horizontal cards with an icon
|
||||
|
||||
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cards
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Cards content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: horizontal
|
||||
icon-rounded: true
|
||||
icon-style: fa-2xs text-primary
|
||||
align: start
|
||||
padding: 0
|
||||
elements:
|
||||
- title: First Card
|
||||
icon: fas 1
|
||||
content: Content of the first card
|
||||
- title: Second Card
|
||||
icon: fas 2
|
||||
content: Content of the second card
|
||||
- title: Third Card
|
||||
icon: fas 3
|
||||
content: Content of the third card
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
36
exampleSite/content/en/blocks/cta.md
Normal file
36
exampleSite/content/en/blocks/cta.md
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
_schema: default
|
||||
title: CTA
|
||||
description: Use the CTA content block to display an action link with an optional contact.
|
||||
icon: fas address-card
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The `cta` content block renders a call to action link or button. You can include an optional contact or provide your own illustration. By default, the `cta` uses a generic title and message. Set the `heading` attribute to override these values.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: cta
|
||||
contact: Betty White
|
||||
caption-url: /en/blocks/cta/
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
order: first
|
||||
links:
|
||||
- title: Get in touch
|
||||
url: '#!'
|
||||
icon: fas chevron-right
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Arguments
|
||||
|
||||
The content block supports the following arguments:
|
||||
|
||||
{{< args bookshop-cta >}}
|
189
exampleSite/content/en/blocks/panels.md
Normal file
189
exampleSite/content/en/blocks/panels.md
Normal file
@@ -0,0 +1,189 @@
|
||||
---
|
||||
_schema: default
|
||||
title: Panels
|
||||
description: Use the panels content block to display multiple toggable panels.
|
||||
icon: fa folder
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The `panels` content block displays multiple panels that are toggled by a tab control.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: underline
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Arguments
|
||||
|
||||
The content block supports the following arguments:
|
||||
|
||||
{{< args bookshop-panels >}}
|
||||
|
||||
## Examples
|
||||
|
||||
### Tabs
|
||||
|
||||
Set `tab-type` to `tabs` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: tabs
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Pills
|
||||
|
||||
Set `tab-type` to `pills` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: pills
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Underline
|
||||
|
||||
Set `tab-type` to `underline` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: underline
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
### Callout
|
||||
|
||||
Set `tab-type` to `callout` to adjust the panel controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example-bookshop lang="bookshop" >}}
|
||||
|
||||
```yml
|
||||
- _bookshop_name: panels
|
||||
heading:
|
||||
preheading: Preheading
|
||||
title: Heading
|
||||
content: Panels content. It supports multiple lines.
|
||||
align: start
|
||||
background:
|
||||
color: primary
|
||||
subtle: true
|
||||
width: 12
|
||||
tab-type: callout
|
||||
ratio: 1x1
|
||||
elements:
|
||||
- title: First Panel
|
||||
image: /img/sunrise.jpg
|
||||
content: content 1
|
||||
- title: Second Panel
|
||||
image: /img/nat-9l98kFByiao-unsplash.jpg
|
||||
content: content 2
|
||||
- title: Third Panel
|
||||
image: /img/pj-accetturo-XpD6Dkui-yg-unsplash.jpg
|
||||
content: content 3
|
||||
```
|
||||
|
||||
{{< /example-bookshop >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
@@ -24,6 +24,7 @@ The `video` content block renders a horizontal line to separate sections. The se
|
||||
color: primary
|
||||
subtle: true
|
||||
orientation: horizontal
|
||||
icon-style: fa-lg
|
||||
video:
|
||||
provider: vimeo
|
||||
media-id: "55073825"
|
||||
|
@@ -252,8 +252,6 @@ Use the `file` shortcode to print and highlight the full content of a given inpu
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
{{< file full="false" file="./config/_default/languages.toml" id="file-collapse-5" >}}
|
||||
|
||||
## Icon
|
||||
|
||||
As an example, the following shortcodes show a square check, a brand logo, a circle check, and a custom icon.
|
||||
@@ -364,14 +362,14 @@ As an example, the following shortcode displays a tab group with vertically alig
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* nav tab-type="pills" vertical="true" */>}}
|
||||
{{</* nav-item title="Nav Item #1" show="true" */>}}
|
||||
{{</* nav-item title="Nav Item #1" */>}}
|
||||
This is the first item's nav body. It supports Markdown content.
|
||||
The item is shown by adding the value `show` to the `class` argument.
|
||||
{{</* /nav-item */>}}
|
||||
{{</* nav-item title="Nav Item #2" */>}}
|
||||
{{</* nav-item title="Nav Item #2" show="true" */>}}
|
||||
This is the second item's nav body.
|
||||
{{</* /nav-item */>}}
|
||||
{{</* nav-item title="Nav Item #3" */>}}
|
||||
{{</* nav-item title="Nav Item #3" disabled="true" */>}}
|
||||
This is the third item's nav body.
|
||||
{{</* /nav-item */>}}
|
||||
{{</* /nav */>}}
|
||||
|
@@ -94,6 +94,22 @@ As an example, the following shortcode displays an interactive map of the city o
|
||||
|
||||
## Mermaid Diagrams
|
||||
|
||||
### Shortcode (with controls and frontmatter)
|
||||
|
||||
<!-- markdownlint-disable MD003 MD022 -->
|
||||
{{< mermaid controls=true >}}
|
||||
---
|
||||
config:
|
||||
layout: elk.stress
|
||||
look: handDrawn
|
||||
theme: forest
|
||||
---
|
||||
flowchart TD
|
||||
A --> B
|
||||
A --> C
|
||||
{{< /mermaid >}}
|
||||
<!-- markdownlint-enable MD003 MD022 -->
|
||||
|
||||
### Flowchart
|
||||
|
||||
```mermaid
|
||||
|
45
exampleSite/data/contacts.en.yml
Normal file
45
exampleSite/data/contacts.en.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
- name: Alex Smith
|
||||
preferred: Alex
|
||||
image: /assets/img/joseph-gonzalez-iFgRcqHznqg-unsplash.png
|
||||
function: Digital Strategy Lead
|
||||
linkedin: https://www.linkedin.com
|
||||
keywords:
|
||||
- transformation
|
||||
biography: >-
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut accumsan
|
||||
venenatis dapibus. Proin placerat mauris ac interdum gravida. Proin
|
||||
consequat feugiat sagittis. Sed vel augue nec est auctor semper. Curabitur
|
||||
mauris ante, euismod eu sem in, sagittis porttitor urna. Mauris sodales at
|
||||
quam condimentum malesuada. Vivamus erat augue, euismod nec ligula quis,
|
||||
molestie lobortis ante. Proin venenatis non diam ac interdum.
|
||||
|
||||
- name: Betty White
|
||||
preferred: Betty
|
||||
image: /assets/img/jake-nackos-IF9TK5Uy-KI-unsplash.png
|
||||
function: UX Expert
|
||||
linkedin: https://www.linkedin.com
|
||||
keywords:
|
||||
- experience
|
||||
biography: >-
|
||||
Duis rutrum, justo eleifend sagittis facilisis, leo orci hendrerit elit, ac
|
||||
tristique nisl justo non neque. Mauris semper egestas massa, nec dapibus ex
|
||||
tincidunt nec. Quisque lectus quam, finibus sed hendrerit id, accumsan eget
|
||||
sapien. Nam facilisis diam eu felis tempus euismod. Nullam id neque
|
||||
fringilla purus vestibulum mattis elementum vitae lectus. Fusce vel libero
|
||||
consectetur urna egestas molestie eget sit amet elit.
|
||||
|
||||
- name: Charles Green
|
||||
preferred: Charles
|
||||
image: /assets/img/foto-sushi-6anudmpILw4-unsplash-1x1.png
|
||||
function: UX Expert
|
||||
linkedin: https://www.linkedin.com
|
||||
keywords:
|
||||
- technology
|
||||
- transformation
|
||||
- experience
|
||||
biography: >-
|
||||
Suspendisse potenti. Aenean elit nisl, viverra eu volutpat at, sodales a sem.
|
||||
Aliquam blandit nunc non mi posuere, quis laoreet ex congue. Donec fringilla
|
||||
porttitor lacus accumsan porttitor. Integer vel sagittis diam. Nullam vehicula
|
||||
fermentum risus nec facilisis. Fusce eleifend gravida orci, in efficitur enim
|
||||
fermentum nec. Sed quis malesuada lorem. Ut vitae sodales sapien.
|
@@ -3,5 +3,5 @@ module github.com/gethinode/hinode/exampleSite
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.4 // indirect
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.5 // indirect
|
||||
)
|
||||
|
@@ -1,2 +1,2 @@
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.4 h1:MxKKNSpX2cb9+4l3mH/xfZUqiJ1buaGLj0AFRnPci5M=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.4/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.5 h1:xzTQ42qYViZ/LJJUHAEeDV9aayXVEX4MtnpS+m5Zekc=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.5/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
|
||||
|
@@ -14,6 +14,7 @@
|
||||
"figure",
|
||||
"footer",
|
||||
"form",
|
||||
"h1",
|
||||
"h2",
|
||||
"h3",
|
||||
"head",
|
||||
@@ -69,7 +70,6 @@
|
||||
],
|
||||
"classes": [
|
||||
"%!s(<nil>)",
|
||||
"%!s(MISSING)",
|
||||
"about",
|
||||
"accordion",
|
||||
"accordion-body",
|
||||
@@ -89,6 +89,7 @@
|
||||
"align-middle",
|
||||
"align-self-center",
|
||||
"align-self-end",
|
||||
"align-self-start",
|
||||
"anchor",
|
||||
"articles",
|
||||
"background-container",
|
||||
@@ -119,27 +120,15 @@
|
||||
"breadcrumb-item",
|
||||
"btn",
|
||||
"btn-close",
|
||||
"btn-danger",
|
||||
"btn-dark",
|
||||
"btn-group",
|
||||
"btn-info",
|
||||
"btn-lg",
|
||||
"btn-light",
|
||||
"btn-link",
|
||||
"btn-outline-danger",
|
||||
"btn-outline-dark",
|
||||
"btn-outline-info",
|
||||
"btn-outline-light",
|
||||
"btn-outline-primary",
|
||||
"btn-outline-secondary",
|
||||
"btn-outline-success",
|
||||
"btn-outline-warning",
|
||||
"btn-primary",
|
||||
"btn-secondary",
|
||||
"btn-sm",
|
||||
"btn-social",
|
||||
"btn-success",
|
||||
"btn-warning",
|
||||
"btn-xs",
|
||||
"card",
|
||||
"card-block-2",
|
||||
@@ -147,6 +136,7 @@
|
||||
"card-body-link",
|
||||
"card-body-margin",
|
||||
"card-button",
|
||||
"card-button-link",
|
||||
"card-container",
|
||||
"card-container-wrapper",
|
||||
"card-emphasize",
|
||||
@@ -154,6 +144,7 @@
|
||||
"card-icon-primary",
|
||||
"card-icon-secondary",
|
||||
"card-img-bg",
|
||||
"card-img-h100",
|
||||
"card-img-top",
|
||||
"card-img-wrap",
|
||||
"card-text",
|
||||
@@ -182,6 +173,7 @@
|
||||
"col-6",
|
||||
"col-8",
|
||||
"col-9",
|
||||
"col-auto",
|
||||
"col-lg-2",
|
||||
"col-lg-4",
|
||||
"col-lg-8",
|
||||
@@ -197,12 +189,17 @@
|
||||
"col-sm-12",
|
||||
"col-sm-3",
|
||||
"col-sm-6",
|
||||
"col-sm-8",
|
||||
"collapse",
|
||||
"collapsed",
|
||||
"contact-img",
|
||||
"container",
|
||||
"container-fluid",
|
||||
"container-xxl",
|
||||
"control-btn",
|
||||
"control-btn-expand",
|
||||
"control-btn-zoom-in",
|
||||
"control-btn-zoom-out",
|
||||
"cta",
|
||||
"custom",
|
||||
"d-block",
|
||||
"d-flex",
|
||||
@@ -219,9 +216,13 @@
|
||||
"d-sm-block",
|
||||
"d-sm-none",
|
||||
"data-table",
|
||||
"diagram-container",
|
||||
"diagram-controls",
|
||||
"diagram-wrapper",
|
||||
"disabled",
|
||||
"display-1",
|
||||
"display-4",
|
||||
"display-6",
|
||||
"dropdown",
|
||||
"dropdown-divider-bg",
|
||||
"dropdown-item",
|
||||
@@ -238,49 +239,47 @@
|
||||
"fa-2xs",
|
||||
"fa-3",
|
||||
"fa-4x",
|
||||
"fa-5x",
|
||||
"fa-activity",
|
||||
"fa-address-card",
|
||||
"fa-angle-left",
|
||||
"fa-arrow-left",
|
||||
"fa-arrow-right",
|
||||
"fa-book-open",
|
||||
"fa-bootstrap",
|
||||
"fa-check",
|
||||
"fa-chevron-right",
|
||||
"fa-circle",
|
||||
"fa-circle-check",
|
||||
"fa-circle-play",
|
||||
"fa-circle-question",
|
||||
"fa-code",
|
||||
"fa-display",
|
||||
"fa-divide",
|
||||
"fa-docker",
|
||||
"fa-ellipsis",
|
||||
"fa-expand",
|
||||
"fa-face-frown",
|
||||
"fa-facebook",
|
||||
"fa-fluid",
|
||||
"fa-font-awesome",
|
||||
"fa-folder",
|
||||
"fa-fw",
|
||||
"fa-github",
|
||||
"fa-globe",
|
||||
"fa-grip",
|
||||
"fa-h",
|
||||
"fa-hand-pointer",
|
||||
"fa-heart",
|
||||
"fa-house",
|
||||
"fa-info",
|
||||
"fa-inverse",
|
||||
"fa-lg",
|
||||
"fa-link",
|
||||
"fa-linkedin",
|
||||
"fa-magnifying-glass",
|
||||
"fa-markdown",
|
||||
"fa-magnifying-glass-minus",
|
||||
"fa-magnifying-glass-plus",
|
||||
"fa-medium",
|
||||
"fa-moon",
|
||||
"fa-robot",
|
||||
"fa-rocket",
|
||||
"fa-rotate-90",
|
||||
"fa-share-nodes",
|
||||
"fa-sitemap",
|
||||
"fa-sort",
|
||||
"fa-square-check",
|
||||
"fa-stack",
|
||||
@@ -288,11 +287,12 @@
|
||||
"fa-stack-2x",
|
||||
"fa-sun",
|
||||
"fa-timeline",
|
||||
"fa-trash-can",
|
||||
"fa-up-right-from-square",
|
||||
"fa-whatsapp",
|
||||
"fa-wrapper",
|
||||
"fa-x-twitter",
|
||||
"fa-xl",
|
||||
"fa-xs",
|
||||
"fab",
|
||||
"fade",
|
||||
"faq",
|
||||
@@ -345,12 +345,9 @@
|
||||
"img-wrap",
|
||||
"invisible",
|
||||
"is-search",
|
||||
"justify-content-around",
|
||||
"justify-content-between",
|
||||
"justify-content-center",
|
||||
"justify-content-end",
|
||||
"justify-content-evenly",
|
||||
"justify-content-md-end",
|
||||
"justify-content-md-start",
|
||||
"justify-content-start",
|
||||
"katex",
|
||||
@@ -366,15 +363,16 @@
|
||||
"lottie-animation",
|
||||
"m-0",
|
||||
"m-auto",
|
||||
"m-md-n4",
|
||||
"m-n1",
|
||||
"main",
|
||||
"main-nav-toggler",
|
||||
"mb-0",
|
||||
"mb-1",
|
||||
"mb-3",
|
||||
"mb-4",
|
||||
"mb-5",
|
||||
"mb-lg-5",
|
||||
"me-1",
|
||||
"me-3",
|
||||
"me-auto",
|
||||
"mermaid",
|
||||
@@ -384,6 +382,7 @@
|
||||
"ms-3",
|
||||
"ms-auto",
|
||||
"ms-md-3",
|
||||
"mt-1",
|
||||
"mt-2",
|
||||
"mt-3",
|
||||
"mt-4",
|
||||
@@ -391,23 +390,26 @@
|
||||
"mt-auto",
|
||||
"mt-md-0",
|
||||
"multi-docs-collapse-15",
|
||||
"multi-docs-collapse-19",
|
||||
"multi-docs-collapse-20",
|
||||
"multi-docs-collapse-16",
|
||||
"multi-file-collapse-1",
|
||||
"multi-file-collapse-5",
|
||||
"mx-auto",
|
||||
"mx-md-0",
|
||||
"mx-md-2",
|
||||
"mx-md-n4",
|
||||
"my-2",
|
||||
"my-4",
|
||||
"my-auto",
|
||||
"my-md-0",
|
||||
"my-md-auto",
|
||||
"my-md-n4",
|
||||
"nav",
|
||||
"nav-callout",
|
||||
"nav-item",
|
||||
"nav-link",
|
||||
"nav-panel",
|
||||
"nav-pills",
|
||||
"nav-tabs",
|
||||
"nav-underline",
|
||||
"navbar",
|
||||
"navbar-brand",
|
||||
"navbar-collapse",
|
||||
@@ -421,8 +423,6 @@
|
||||
"navbar-toggler",
|
||||
"next",
|
||||
"no-js",
|
||||
"offset-md-4",
|
||||
"offset-sm-2",
|
||||
"order-0",
|
||||
"order-1",
|
||||
"order-first",
|
||||
@@ -433,7 +433,12 @@
|
||||
"p-2",
|
||||
"p-3",
|
||||
"p-4",
|
||||
"p-md-4",
|
||||
"page-item",
|
||||
"page-link",
|
||||
"pagination",
|
||||
"pagination-terse",
|
||||
"panel-dropdown",
|
||||
"panels",
|
||||
"pb-3",
|
||||
"pb-4",
|
||||
"pb-5",
|
||||
@@ -458,14 +463,19 @@
|
||||
"ptw-5",
|
||||
"ptw-lg-5",
|
||||
"ptw-sm-4",
|
||||
"px-%!d(string=0)",
|
||||
"px-2",
|
||||
"px-3",
|
||||
"px-4",
|
||||
"px-md-4",
|
||||
"px-xxl-0",
|
||||
"py-%!d(string=0)",
|
||||
"py-1",
|
||||
"py-2",
|
||||
"py-3",
|
||||
"py-4",
|
||||
"py-md-1",
|
||||
"py-md-4",
|
||||
"ratio",
|
||||
"ratio-16x9",
|
||||
"releases",
|
||||
@@ -474,6 +484,7 @@
|
||||
"rounded-5",
|
||||
"rounded-bottom",
|
||||
"rounded-pill",
|
||||
"rounded-start",
|
||||
"rounded-top",
|
||||
"row",
|
||||
"row-cols-1",
|
||||
@@ -508,6 +519,7 @@
|
||||
"table-border-bottom-wrap",
|
||||
"table-responsive-md",
|
||||
"table-wrap",
|
||||
"tabs-dropdown",
|
||||
"tag-link",
|
||||
"text-",
|
||||
"text-bg-body-tertiary",
|
||||
@@ -523,7 +535,6 @@
|
||||
"text-decoration-none",
|
||||
"text-end",
|
||||
"text-info",
|
||||
"text-md-end",
|
||||
"text-muted",
|
||||
"text-nowrap",
|
||||
"text-primary",
|
||||
@@ -601,20 +612,14 @@
|
||||
"block-diagram",
|
||||
"blog",
|
||||
"body-docs-collapse-15",
|
||||
"body-docs-collapse-19",
|
||||
"body-docs-collapse-20",
|
||||
"body-docs-collapse-16",
|
||||
"body-file-collapse-1",
|
||||
"body-file-collapse-5",
|
||||
"bouton",
|
||||
"breadcrumb",
|
||||
"build-a-static-website-fast-and-flexible",
|
||||
"button",
|
||||
"button-group",
|
||||
"buttons-with-a-badge",
|
||||
"buttons-with-a-collapsible-panel",
|
||||
"buttons-with-a-tooltip",
|
||||
"buttons-with-an-icon",
|
||||
"c4-diagram",
|
||||
"callout",
|
||||
"card",
|
||||
"card-group",
|
||||
"carousel",
|
||||
@@ -626,7 +631,6 @@
|
||||
"cloudinary",
|
||||
"collapse",
|
||||
"collapse-1",
|
||||
"colored-buttons",
|
||||
"command-prompt",
|
||||
"comment-nous-partageons-vos-informations",
|
||||
"comment-utilisons-nous-les-cookies-",
|
||||
@@ -635,9 +639,14 @@
|
||||
"cookies-etc",
|
||||
"custom-activity",
|
||||
"data-tables",
|
||||
"developer-friendly-and-secure",
|
||||
"docs",
|
||||
"documentation",
|
||||
"dropdown-nav-0",
|
||||
"dropdown-panel-3db1162c8e923c363f53cdd77b3941dd",
|
||||
"dropdown-panel-3eb793f32a8332bf0f1580c4e0ee1af9",
|
||||
"dropdown-panel-a63cbde071d2b7909cdc915a407fc84a",
|
||||
"dropdown-panel-f3fb705824de1effb0fde452a156be28",
|
||||
"dropdown-panel-ff2a4aaf767d9d92977e27a5929980db",
|
||||
"elements-type",
|
||||
"entity-relationship-diagram",
|
||||
"example",
|
||||
@@ -645,70 +654,37 @@
|
||||
"exemple",
|
||||
"fa-address-card",
|
||||
"fa-face-frown",
|
||||
"fa-font-awesome",
|
||||
"fa-hand-pointer",
|
||||
"fa-folder",
|
||||
"fa-square-check",
|
||||
"fab-bootstrap",
|
||||
"fab-docker",
|
||||
"fab-facebook",
|
||||
"fab-github",
|
||||
"fab-linkedin",
|
||||
"fab-markdown",
|
||||
"fab-medium",
|
||||
"fab-whatsapp",
|
||||
"fab-x-twitter",
|
||||
"faq-03262a038417e1bab3887f63db7d440f",
|
||||
"faq-03262a038417e1bab3887f63db7d440f-heading-faq-03262a038417e1bab3887f63db7d440f",
|
||||
"faq-03262a038417e1bab3887f63db7d440f-item-0",
|
||||
"faq-03262a038417e1bab3887f63db7d440f-item-1",
|
||||
"faq-03262a038417e1bab3887f63db7d440f-item-2",
|
||||
"faq-516ddc5b7dd16bc24b857082a9aab4ed",
|
||||
"faq-516ddc5b7dd16bc24b857082a9aab4ed-heading-faq-516ddc5b7dd16bc24b857082a9aab4ed",
|
||||
"faq-516ddc5b7dd16bc24b857082a9aab4ed-item-0",
|
||||
"faq-516ddc5b7dd16bc24b857082a9aab4ed-item-1",
|
||||
"faq-516ddc5b7dd16bc24b857082a9aab4ed-item-2",
|
||||
"faq-56ff67870957c4eb63627fad0245b8b7",
|
||||
"faq-56ff67870957c4eb63627fad0245b8b7-heading-faq-56ff67870957c4eb63627fad0245b8b7",
|
||||
"faq-56ff67870957c4eb63627fad0245b8b7-item-0",
|
||||
"faq-56ff67870957c4eb63627fad0245b8b7-item-1",
|
||||
"faq-56ff67870957c4eb63627fad0245b8b7-item-2",
|
||||
"faq-a65942a4e80d8b9331232f2839b0b404",
|
||||
"faq-a65942a4e80d8b9331232f2839b0b404-heading-faq-a65942a4e80d8b9331232f2839b0b404",
|
||||
"faq-a65942a4e80d8b9331232f2839b0b404-item-0",
|
||||
"faq-a65942a4e80d8b9331232f2839b0b404-item-1",
|
||||
"faq-a65942a4e80d8b9331232f2839b0b404-item-2",
|
||||
"faq-b7d43cad454395dd12765b2970e95cbc",
|
||||
"faq-b7d43cad454395dd12765b2970e95cbc-heading-faq-b7d43cad454395dd12765b2970e95cbc",
|
||||
"faq-b7d43cad454395dd12765b2970e95cbc-item-0",
|
||||
"faq-b7d43cad454395dd12765b2970e95cbc-item-1",
|
||||
"faq-b7d43cad454395dd12765b2970e95cbc-item-2",
|
||||
"faq-c411b9f9b15c4b7a1a0d1de458f85fc9",
|
||||
"faq-c411b9f9b15c4b7a1a0d1de458f85fc9-heading-faq-c411b9f9b15c4b7a1a0d1de458f85fc9",
|
||||
"faq-c411b9f9b15c4b7a1a0d1de458f85fc9-item-0",
|
||||
"faq-c411b9f9b15c4b7a1a0d1de458f85fc9-item-1",
|
||||
"faq-c411b9f9b15c4b7a1a0d1de458f85fc9-item-2",
|
||||
"faq-e6bc2b3599e2d94773085876d5822076",
|
||||
"faq-e6bc2b3599e2d94773085876d5822076-heading-faq-e6bc2b3599e2d94773085876d5822076",
|
||||
"faq-e6bc2b3599e2d94773085876d5822076-item-0",
|
||||
"faq-e6bc2b3599e2d94773085876d5822076-item-1",
|
||||
"faq-e6bc2b3599e2d94773085876d5822076-item-2",
|
||||
"faq-fbb18b868ab666e41e781424cfa7856e",
|
||||
"faq-fbb18b868ab666e41e781424cfa7856e-heading-faq-fbb18b868ab666e41e781424cfa7856e",
|
||||
"faq-fbb18b868ab666e41e781424cfa7856e-item-0",
|
||||
"faq-fbb18b868ab666e41e781424cfa7856e-item-1",
|
||||
"faq-fbb18b868ab666e41e781424cfa7856e-item-2",
|
||||
"fas-1",
|
||||
"fas-2",
|
||||
"fas-3",
|
||||
"fas-address-card",
|
||||
"fas-angle-left",
|
||||
"fas-arrow-left",
|
||||
"fas-arrow-right",
|
||||
"fas-book-open",
|
||||
"fas-check",
|
||||
"fas-chevron-right",
|
||||
"fas-circle",
|
||||
"fas-circle-check",
|
||||
"fas-circle-play",
|
||||
"fas-circle-question",
|
||||
"fas-code",
|
||||
"fas-display",
|
||||
"fas-divide",
|
||||
"fas-ellipsis",
|
||||
"fas-expand",
|
||||
"fas-globe",
|
||||
"fas-grip",
|
||||
"fas-h",
|
||||
@@ -717,26 +693,23 @@
|
||||
"fas-info",
|
||||
"fas-link",
|
||||
"fas-magnifying-glass",
|
||||
"fas-magnifying-glass-minus",
|
||||
"fas-magnifying-glass-plus",
|
||||
"fas-moon",
|
||||
"fas-robot",
|
||||
"fas-rocket",
|
||||
"fas-share-nodes",
|
||||
"fas-sitemap",
|
||||
"fas-sort",
|
||||
"fas-sun",
|
||||
"fas-timeline",
|
||||
"fas-trash-can",
|
||||
"fas-up-right-from-square",
|
||||
"fichier",
|
||||
"fil-dariane",
|
||||
"file",
|
||||
"flexible--ready-to-use",
|
||||
"first-panel",
|
||||
"flowchart",
|
||||
"footer-docs-collapse-15",
|
||||
"footer-docs-collapse-19",
|
||||
"footer-docs-collapse-20",
|
||||
"footer-docs-collapse-16",
|
||||
"footer-file-collapse-1",
|
||||
"footer-file-collapse-5",
|
||||
"formula-katex",
|
||||
"formule-katex",
|
||||
"gantt-diagram",
|
||||
@@ -747,6 +720,8 @@
|
||||
"gérer-les-préférences-des-cookies",
|
||||
"heading",
|
||||
"heading-type",
|
||||
"horizontal-cards-with-an-icon",
|
||||
"horizontal-cards-with-an-image",
|
||||
"how-do-we-use-cookies",
|
||||
"how-we-share-your-information",
|
||||
"icon",
|
||||
@@ -758,6 +733,7 @@
|
||||
"infobulle",
|
||||
"input-type",
|
||||
"ins",
|
||||
"interested-in-this-topic",
|
||||
"invite-de-commandes",
|
||||
"items-type",
|
||||
"kaart",
|
||||
@@ -780,10 +756,15 @@
|
||||
"nav-0-0",
|
||||
"nav-0-1",
|
||||
"nav-0-2",
|
||||
"nav-0-btn-0",
|
||||
"nav-0-btn-1",
|
||||
"nav-0-btn-2",
|
||||
"nav-nav-0",
|
||||
"nav-nav-0-btn-0",
|
||||
"nav-nav-0-btn-1",
|
||||
"nav-nav-0-btn-2",
|
||||
"nav-panel-3db1162c8e923c363f53cdd77b3941dd",
|
||||
"nav-panel-3eb793f32a8332bf0f1580c4e0ee1af9",
|
||||
"nav-panel-a63cbde071d2b7909cdc915a407fc84a",
|
||||
"nav-panel-f3fb705824de1effb0fde452a156be28",
|
||||
"nav-panel-ff2a4aaf767d9d92977e27a5929980db",
|
||||
"navbar",
|
||||
"navbar-0-collapse",
|
||||
"navbar-mode",
|
||||
@@ -791,11 +772,40 @@
|
||||
"navbar-sample-collapse",
|
||||
"navigation",
|
||||
"notification",
|
||||
"outlined-buttons",
|
||||
"overview",
|
||||
"panel-3db1162c8e923c363f53cdd77b3941dd-0",
|
||||
"panel-3db1162c8e923c363f53cdd77b3941dd-1",
|
||||
"panel-3db1162c8e923c363f53cdd77b3941dd-2",
|
||||
"panel-3db1162c8e923c363f53cdd77b3941dd-btn-0",
|
||||
"panel-3db1162c8e923c363f53cdd77b3941dd-btn-1",
|
||||
"panel-3db1162c8e923c363f53cdd77b3941dd-btn-2",
|
||||
"panel-3eb793f32a8332bf0f1580c4e0ee1af9-0",
|
||||
"panel-3eb793f32a8332bf0f1580c4e0ee1af9-1",
|
||||
"panel-3eb793f32a8332bf0f1580c4e0ee1af9-2",
|
||||
"panel-3eb793f32a8332bf0f1580c4e0ee1af9-btn-0",
|
||||
"panel-3eb793f32a8332bf0f1580c4e0ee1af9-btn-1",
|
||||
"panel-3eb793f32a8332bf0f1580c4e0ee1af9-btn-2",
|
||||
"panel-a63cbde071d2b7909cdc915a407fc84a-0",
|
||||
"panel-a63cbde071d2b7909cdc915a407fc84a-1",
|
||||
"panel-a63cbde071d2b7909cdc915a407fc84a-2",
|
||||
"panel-a63cbde071d2b7909cdc915a407fc84a-btn-0",
|
||||
"panel-a63cbde071d2b7909cdc915a407fc84a-btn-1",
|
||||
"panel-a63cbde071d2b7909cdc915a407fc84a-btn-2",
|
||||
"panel-f3fb705824de1effb0fde452a156be28-0",
|
||||
"panel-f3fb705824de1effb0fde452a156be28-1",
|
||||
"panel-f3fb705824de1effb0fde452a156be28-2",
|
||||
"panel-f3fb705824de1effb0fde452a156be28-btn-0",
|
||||
"panel-f3fb705824de1effb0fde452a156be28-btn-1",
|
||||
"panel-f3fb705824de1effb0fde452a156be28-btn-2",
|
||||
"panel-ff2a4aaf767d9d92977e27a5929980db-0",
|
||||
"panel-ff2a4aaf767d9d92977e27a5929980db-1",
|
||||
"panel-ff2a4aaf767d9d92977e27a5929980db-2",
|
||||
"panel-ff2a4aaf767d9d92977e27a5929980db-btn-0",
|
||||
"panel-ff2a4aaf767d9d92977e27a5929980db-btn-1",
|
||||
"panel-ff2a4aaf767d9d92977e27a5929980db-btn-2",
|
||||
"persona",
|
||||
"pie-chart",
|
||||
"powered-by-open-source",
|
||||
"pills",
|
||||
"projecten",
|
||||
"projects",
|
||||
"projets",
|
||||
@@ -805,16 +815,20 @@
|
||||
"release",
|
||||
"requirement-chart",
|
||||
"réduire",
|
||||
"second-panel",
|
||||
"security",
|
||||
"sequence-diagram",
|
||||
"sized-buttons",
|
||||
"shortcode-with-controls-and-frontmatter",
|
||||
"spinner",
|
||||
"stacked-cards-with-an-icon",
|
||||
"stacked-cards-with-an-image",
|
||||
"state-diagram",
|
||||
"stateful-buttons",
|
||||
"sub",
|
||||
"sup",
|
||||
"sécurité",
|
||||
"table",
|
||||
"tabs",
|
||||
"third-panel",
|
||||
"third-party-links--use-of-your-information",
|
||||
"timeline",
|
||||
"title",
|
||||
@@ -828,6 +842,7 @@
|
||||
"tooltip",
|
||||
"types-de-cookies-que-nous-utilisons",
|
||||
"types-of-cookies-we-use",
|
||||
"underline",
|
||||
"user-journey",
|
||||
"video",
|
||||
"video-type",
|
||||
|
31
exampleSite/layouts/_partials/templates/script.html
Normal file
31
exampleSite/layouts/_partials/templates/script.html
Normal file
@@ -0,0 +1,31 @@
|
||||
{{/*
|
||||
Copyright © 2022 - 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.
|
||||
*/}}
|
||||
|
||||
<!-- TODO: this partial is not properly mounted for the exampleSite, possibly a bug with Hugo -->
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "script" "args" .) -}}
|
||||
{{- if or $args.err $args.warnmsg -}}
|
||||
{{- partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "templates/script.html"
|
||||
"warnid" "warn-invalid-arguments"
|
||||
"msg" "Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $category := cond (ne $args.category "other") $args.category "" -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{- if not $args.err -}}
|
||||
<script src="{{ $args.link }}"
|
||||
{{- with $args.scriptType }}{{ printf ` type="%s"` . | safeHTMLAttr }}{{ end -}}
|
||||
{{- with $category }} data-category="{{ . }}"{{ end -}}
|
||||
{{- with $args.integrity }} integrity="{{ . }}" crossorigin="anonymous"{{ end }}
|
||||
{{- with $args.state }} {{ . | safeHTMLAttr }}{{ end -}}></script>
|
||||
{{- end -}}
|
27
go.mod
27
go.mod
@@ -4,21 +4,18 @@ go 1.19
|
||||
|
||||
require (
|
||||
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
||||
github.com/cloudcannon/bookshop/hugo/v3 v3.16.1 // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.3.3 // indirect
|
||||
github.com/gethinode/mod-csp v1.0.7 // indirect
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.1.1 // indirect
|
||||
github.com/gethinode/mod-fontawesome/v2 v2.1.1 // indirect
|
||||
github.com/gethinode/mod-google-analytics v1.3.2 // indirect
|
||||
github.com/gethinode/mod-katex v1.1.3 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.3.0 // indirect
|
||||
github.com/gethinode/mod-lottie v1.6.0 // indirect
|
||||
github.com/gethinode/mod-mermaid v1.1.23 // indirect
|
||||
github.com/gethinode/mod-mermaid/v2 v2.0.1 // indirect
|
||||
github.com/gethinode/mod-simple-datatables v1.1.7 // indirect
|
||||
github.com/gethinode/mod-simple-datatables/v2 v2.0.1 // indirect
|
||||
github.com/gethinode/mod-utils/v3 v3.3.1 // indirect
|
||||
github.com/gethinode/mod-utils/v4 v4.6.0 // indirect
|
||||
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.3.4 // indirect
|
||||
github.com/gethinode/mod-csp v1.0.8 // indirect
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.1.3 // 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
|
||||
github.com/gethinode/mod-leaflet v1.3.1 // indirect
|
||||
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.13.0 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20250606060143-c28f52c09b7a // indirect
|
||||
github.com/twbs/bootstrap v5.3.7+incompatible // indirect
|
||||
)
|
||||
|
58
go.sum
58
go.sum
@@ -6,6 +6,8 @@ github.com/cloudcannon/bookshop/hugo/v3 v3.16.0 h1:Fb76ABHqTyPl9Z2QqYJCwiMBKPySh
|
||||
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/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=
|
||||
@@ -34,6 +36,8 @@ github.com/gethinode/mod-bootstrap v1.3.2 h1:mf9Qgr+xHZeHjZGYFdurETfdEKKldB158fp
|
||||
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=
|
||||
@@ -50,6 +54,8 @@ github.com/gethinode/mod-csp v1.0.6 h1:ufEKQldQe9ZCXbENTpwqVlYnPRgVv3WDhPjur5OLU
|
||||
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=
|
||||
@@ -108,6 +114,10 @@ github.com/gethinode/mod-flexsearch/v2 v2.1.0 h1:NzCruYAKQBMM1DwFFoH7/tzqmItR6sK
|
||||
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-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=
|
||||
@@ -160,6 +170,8 @@ github.com/gethinode/mod-fontawesome/v2 v2.1.0 h1:kRQ/4ady4Ih/m3bJ/1+/rkFhunuzjN
|
||||
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=
|
||||
@@ -188,6 +200,8 @@ github.com/gethinode/mod-google-analytics v1.3.1 h1:WPXrsO6Kpp0k8PYY9a1JyiZgYGMl
|
||||
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=
|
||||
@@ -214,6 +228,8 @@ github.com/gethinode/mod-katex v1.1.2 h1:TbeVIWeG5TqldlVxpM1upOWj11RljXy4fhpOQIw
|
||||
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=
|
||||
@@ -240,6 +256,8 @@ github.com/gethinode/mod-leaflet v1.2.1 h1:p0bKi+F5vbXwYknBvFEN9KymK8PRqKaYhVz5O
|
||||
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=
|
||||
@@ -298,10 +316,20 @@ github.com/gethinode/mod-lottie v1.5.14 h1:17wmpi4XQzmwSB2HKNVa7c6ZzULrRnpKdowOF
|
||||
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=
|
||||
@@ -342,6 +370,8 @@ github.com/gethinode/mod-simple-datatables v1.1.7 h1:wCY2bWFUxRHWbWzb/zefCACooCS
|
||||
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 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=
|
||||
@@ -440,6 +470,34 @@ github.com/gethinode/mod-utils/v4 v4.5.1 h1:VKmqi6+oC93noHUJ6HvFlelglHT/9+kXQjpJ
|
||||
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/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=
|
||||
|
@@ -31,9 +31,9 @@
|
||||
"use"
|
||||
],
|
||||
"classes": [
|
||||
"%!s(<nil>)",
|
||||
"active",
|
||||
"align-items-center",
|
||||
"align-items-start",
|
||||
"align-self-center",
|
||||
"align-self-end",
|
||||
"ball",
|
||||
@@ -53,8 +53,6 @@
|
||||
"col-12",
|
||||
"col-6",
|
||||
"col-8",
|
||||
"col-md-1",
|
||||
"col-md-11",
|
||||
"col-md-2",
|
||||
"col-md-6",
|
||||
"col-md-8",
|
||||
@@ -78,7 +76,7 @@
|
||||
"fa-10x",
|
||||
"fa-2x",
|
||||
"fa-angle-left",
|
||||
"fa-book-open",
|
||||
"fa-chevron-right",
|
||||
"fa-ellipsis",
|
||||
"fa-face-frown",
|
||||
"fa-fw",
|
||||
@@ -168,16 +166,17 @@
|
||||
"row-cols-1",
|
||||
"row-cols-2",
|
||||
"row-cols-sm-3",
|
||||
"script",
|
||||
"search",
|
||||
"search-input",
|
||||
"search-suggestions",
|
||||
"section-cover",
|
||||
"shadow",
|
||||
"svg-inline--fa",
|
||||
"text-",
|
||||
"text-body",
|
||||
"text-center",
|
||||
"text-decoration-none",
|
||||
"text-md-start",
|
||||
"text-muted",
|
||||
"text-secondary",
|
||||
"text-sm-start",
|
||||
@@ -196,7 +195,7 @@
|
||||
"fab-linkedin",
|
||||
"fab-medium",
|
||||
"fas-angle-left",
|
||||
"fas-book-open",
|
||||
"fas-chevron-right",
|
||||
"fas-ellipsis",
|
||||
"fas-moon",
|
||||
"fas-sun",
|
||||
|
@@ -177,3 +177,11 @@
|
||||
# Nav & Tab
|
||||
- id: clickToExpand
|
||||
translation: "Click to expand"
|
||||
|
||||
# Contact information
|
||||
- id: contactHeaderTopic
|
||||
translation: "Interested in this topic?"
|
||||
- id: contactBody
|
||||
translation: "Please leave your contact details so we can get in touch."
|
||||
- id: contactAction
|
||||
translation: "Get in touch"
|
||||
|
@@ -174,3 +174,11 @@
|
||||
# Nav & Tab
|
||||
- id: clickToExpand
|
||||
translation: "Klik om open te klappen"
|
||||
|
||||
# Contact information
|
||||
- id: contactHeaderTopic
|
||||
translation: "Wil je meer weten over dit onderwerp?"
|
||||
- id: contactBody
|
||||
translation: "Laat je gegevens achter en dan neem ik contact met je op."
|
||||
- id: contactAction
|
||||
translation: "Neem contact op"
|
||||
|
@@ -125,7 +125,9 @@
|
||||
{{ if in (slice "types" "both") $args.renderType }}
|
||||
{{ $prefix := strings.Repeat $args.headerLevel "#" }}
|
||||
{{ range $k, $v := $types.udt }}
|
||||
{{ printf "%s %s %s" $prefix $k (T "type") | $args.page.RenderString }}
|
||||
{{ $title := $k }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
{{ printf "%s %s %s" $prefix $title (T "type") | $args.page.RenderString }}
|
||||
{{ partial "inline/args-table.html" (merge $params (dict "args" $v)) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@@ -84,7 +84,7 @@
|
||||
{{- $params := dict -}}
|
||||
{{/* regular page */}}
|
||||
{{- if and $element.RelPermalink $element.File -}}
|
||||
{{- $params = merge $params (dict "path" $element.File.Path) -}}
|
||||
{{- $params = merge $params (dict "path" $element.Path) -}}
|
||||
{{/* headless page */}}
|
||||
{{- else -}}
|
||||
{{- $thumbnail := "" -}}
|
||||
@@ -113,7 +113,7 @@
|
||||
{{/* Limit list to max elements */}}
|
||||
{{- $count := len $elements -}}
|
||||
{{- $max := $count -}}
|
||||
{{- $max = math.Min ($args.max | default $count) $count -}}
|
||||
{{- $max = math.Min ((or $args.limit $args.max) | default $count) $count -}}
|
||||
{{- if not $args.paginate -}}
|
||||
{{- $elements = first $max $elements -}}
|
||||
{{- end -}}
|
||||
@@ -156,7 +156,7 @@
|
||||
"ratio" (partial "inline/style.html" (dict "styles" $args.styles "index" $index "key" "ratio" "default" $args.ratio))
|
||||
"portrait" (partial "inline/style.html" (dict "styles" $args.styles "index" $index "key" "portrait" "default" $args.portrait))
|
||||
"subtle" $args.subtle
|
||||
"icon-style" (or (index $element "$icon-style") $element.style)
|
||||
"icon-style" (or (index $element "icon-style") $element.style $args.iconStyle)
|
||||
"align" $args.align
|
||||
"button" $args.button
|
||||
"button-label" (or (index $element "button-label") $element.buttonLabel)
|
||||
|
@@ -62,6 +62,26 @@
|
||||
</small></p>
|
||||
{{- end -}}
|
||||
|
||||
{{/* Inline partial to render the card's icon */}}
|
||||
{{- define "_partials/inline/card-icon.html" -}}
|
||||
{{ $padding := .padding }}
|
||||
{{ $icon := .icon}}
|
||||
{{ $rounded := .rounded }}
|
||||
{{ $style := .style}}
|
||||
{{ $stack := .stack }}
|
||||
{{ $class := .class }}
|
||||
|
||||
<div class="card-icon{{ with $padding }} p-{{ . }}{{ end }}{{ if $rounded }} fa-stack {{ $style }} fa-fw {{ $stack }}{{ end }} {{ $class }}">
|
||||
{{ if $rounded }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "fas circle fa-stack-2x") "spacing" false) -}}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon) "spacing" false) -}}
|
||||
{{ else }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s fa-fw" $icon $style) "spacing" false) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/* Initialize global variables */}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
@@ -110,7 +130,6 @@
|
||||
{{- $icon := $args.icon -}}
|
||||
{{- $iconStyle := "" -}}
|
||||
{{- $anchor := $args.anchor }}
|
||||
{{- $style := $args.style }}
|
||||
|
||||
{{- with $page -}}
|
||||
{{- if not $args.title }}{{ $title = .Title }}{{ end -}}
|
||||
@@ -126,10 +145,11 @@
|
||||
{{- if not $args.anchor }}{{ $anchor = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.anchor) "") }}{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $style := $args.iconStyle }}
|
||||
{{ if (hasPrefix $args.orientation "horizontal") }}
|
||||
{{ if not $args.style }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
|
||||
{{ if not $args.iconStyle }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
|
||||
{{ else }}
|
||||
{{ if not $args.style }}{{ $style = "fa-4x" }}{{ end }}
|
||||
{{ if not $args.iconStyle }}{{ $style = "fa-4x" }}{{ end }}
|
||||
{{- $iconStyle = "pb-3" -}}
|
||||
{{ end }}
|
||||
|
||||
@@ -138,11 +158,19 @@
|
||||
{{- if eq $args.body "none" }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
{{- $thumbnailArgs := dict
|
||||
"src" $thumbnail
|
||||
"portrait" $args.portrait
|
||||
"anchor" $anchor
|
||||
"sizes" $args.sizes
|
||||
"title" (or $args.alt $title)
|
||||
"loading" $args.loading
|
||||
-}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }}">{{ end }}
|
||||
{{ if or (ne $args.gutter "0") ($args.wrapper) }}<div class="g-{{ $args.gutter }} {{ $args.wrapper }} h-100">{{ end }}
|
||||
|
||||
{{ $stack := "fa-2x" }}
|
||||
{{ $stack := "" }}
|
||||
|
||||
{{- if hasPrefix $args.orientation "horizontal" -}}
|
||||
{{ $col1 := "" }}
|
||||
@@ -157,74 +185,70 @@
|
||||
{{ $col1 = "col-4 pe-0" }}
|
||||
{{ $col2 = "col-8" }}
|
||||
{{ end }}
|
||||
{{ else if $icon }}
|
||||
{{ if eq $args.orientation "horizontal-sm" }}
|
||||
{{ $stack = "fa-1x" }}
|
||||
{{ $col1 = "col-4 col-md-2 pe-0" }}
|
||||
{{ $col2 = "col-8 col-md-10" }}
|
||||
{{ else }}
|
||||
{{ $col1 = "col-4 pe-0" }}
|
||||
{{ $col2 = "col-8" }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{/* Render horizontal card */}}
|
||||
<div class="card {{ $colorStyle }}{{ $args.class }}">
|
||||
<div class="row g-0 row-cols-2 h-100{{ if $args.button }} pb-{{ $padding.y }}{{ end }}">
|
||||
<div class="{{ if $thumbnail }}row-cols-2 row {{ end }} g-0 h-100{{ if $args.button }} pb-{{ $padding.y }}{{ end }}">
|
||||
{{- if $thumbnail -}}
|
||||
<div class="{{ $col1 }}">
|
||||
{{ $fullHeight := "card-img-h100" }}
|
||||
{{ $rounding := "rounded-start" }}
|
||||
{{ if eq (lower (path.Ext $thumbnail)) ".svg" }}{{ $fullHeight = "" }}{{ $rounding = "" }}{{ end }}
|
||||
{{- partial $args.hook (dict
|
||||
"src" $thumbnail
|
||||
"ratio" (or $ratio "1x1")
|
||||
"portrait" $args.portrait
|
||||
"sizes" $args.sizes
|
||||
"anchor" $anchor
|
||||
"wrapper" "h-100 card-img-wrap d-flex align-items-center"
|
||||
{{- partial $args.hook (merge $thumbnailArgs (dict
|
||||
"wrapper" "card-img-wrap h-100 d-flex align-items-center"
|
||||
"class" (printf "card-img-bg %s %s" $rounding $fullHeight)
|
||||
"title" $title
|
||||
"loading" $args.loading
|
||||
) -}}
|
||||
</div>
|
||||
{{- else if $icon -}}
|
||||
<div class="{{ $col1 }} p-{{ $args.padding }}">
|
||||
<div class="card-icon {{ if $args.iconRounded }}fa-stack {{ $args.stack }} mx-auto{{ else }}fa-wrapper h-100 {{ end }} d-flex align-items-{{ $args.align}} justify-content-center {{ $iconStyle }}">
|
||||
{{ if $args.iconRounded }}
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas circle fa-stack-2x") -}}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
|
||||
{{ else }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
"ratio" (or $ratio "auto")
|
||||
)) -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
<div class="{{ $col2 }}">
|
||||
<div class="card-body d-flex p-{{ $args.padding }} flex-column h-100 flex-fill">
|
||||
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.headerStyle "color" $args.color) }}</div>{{ end }}
|
||||
<div class="flex-fill">
|
||||
{{- partial "inline/card-body.html" (dict "title" $title "href" $href "color" $args.color "description" $description "button" $args.button) -}}
|
||||
</div>
|
||||
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
|
||||
{{ if and $href $args.button }}
|
||||
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
|
||||
{{ $buttonClass := "card-button mb-n4" }}
|
||||
{{ $buttonType := (or $args.linkType $args.buttonType) }}
|
||||
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link mb-n4" }}{{ end }}
|
||||
<div class="d-flex align-items-end">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" $label
|
||||
"icon" "fas chevron-right"
|
||||
"href" $href
|
||||
"outline" true
|
||||
"button-size" "sm"
|
||||
"class" $buttonClass
|
||||
"link-type" $buttonType
|
||||
)}}
|
||||
</div>
|
||||
<div class="card-body p-{{ $args.padding }} h-100 hstack">
|
||||
{{ if $icon }}
|
||||
{{- partial "inline/card-icon.html" (dict
|
||||
"icon" $icon
|
||||
"padding" $args.padding
|
||||
"rounded" $args.iconRounded
|
||||
"style" $style
|
||||
"stack" $args.stack
|
||||
"class" (printf "align-self-%s me-1 mt-1 col-auto" $args.align)
|
||||
)}}
|
||||
{{ end }}
|
||||
<div>
|
||||
{{ if $page }}
|
||||
<div>{{ partial "inline/card-caption.html" (dict
|
||||
"page" $page
|
||||
"keywords" $args.headerStyle
|
||||
"color" $args.color
|
||||
) }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- partial "inline/card-body.html" (dict
|
||||
"title" $title
|
||||
"href" $href
|
||||
"color" $args.color
|
||||
"description" $description
|
||||
"button" $args.button
|
||||
) -}}
|
||||
{{ if $page }}<div>{{ partial "inline/card-caption.html" (dict "page" $page "keywords" $args.footerStyle "color" $args.color) }}</div>{{ end }}
|
||||
{{ if and $href $args.button }}
|
||||
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
|
||||
{{ $buttonClass := "card-button mb-n4" }}
|
||||
{{ $buttonType := (or $args.linkType $args.buttonType) }}
|
||||
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link mb-n4" }}{{ end }}
|
||||
<div class="d-flex align-items-end">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" $label
|
||||
"icon" "fas chevron-right"
|
||||
"href" $href
|
||||
"outline" true
|
||||
"button-size" "sm"
|
||||
"class" $buttonClass
|
||||
"link-type" $buttonType
|
||||
)}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -232,30 +256,23 @@
|
||||
{{- else -}}
|
||||
{{/* Render stacked / default card */}}
|
||||
{{ $overlay := eq $args.orientation "overlay" }}
|
||||
<div class="card {{ $colorStyle }} {{ $args.class }} text-{{ $args.align }}">
|
||||
<div class="card {{ $colorStyle }} {{ $args.class }} text-{{ $args.align }}{{ if not $thumbnail }} p-{{ $args.padding }}{{ end }}">
|
||||
{{- if $thumbnail -}}
|
||||
{{- partial $args.hook (dict
|
||||
"src" $thumbnail
|
||||
"ratio" (or $ratio "16x9")
|
||||
"portrait" $args.portrait
|
||||
"anchor" $anchor
|
||||
"sizes" $args.sizes
|
||||
{{- partial $args.hook (merge $thumbnailArgs (dict
|
||||
"wrapper" "card-img-wrap"
|
||||
"class" "card-img-top card-img-bg"
|
||||
"title" (or $args.alt $title)
|
||||
"loading" $args.loading
|
||||
) -}}
|
||||
"ratio" (or $ratio "16x9")
|
||||
)) -}}
|
||||
{{- else if $icon -}}
|
||||
<div class="card-icon p-{{ $args.padding }} {{ $iconStyle }} text-{{ $args.align }} {{ if $args.iconRounded }}fa-stack {{ $args.stack }}{{ end }} w-100">
|
||||
{{ if $args.iconRounded }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "fas circle fa-stack-2x %s")) -}}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-stack-1x fa-inverse" $icon)) -}}
|
||||
{{ else }}
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{- partial "inline/card-icon.html" (dict
|
||||
"icon" $icon
|
||||
"rounded" $args.iconRounded
|
||||
"style" $style
|
||||
"stack" $args.stack
|
||||
"class" (printf "mb-1 m-0 text-%s" $args.align)
|
||||
)}}
|
||||
{{- end -}}
|
||||
<div class="card-body d-flex flex-column p-{{ $args.padding }} {{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
|
||||
<div class="card-body p-0 d-flex flex-column{{ if $thumbnail }} p-{{ $args.padding }}{{ end }}{{ if $overlay }}card-img-overlay card-overlay-gradient p-4{{ end }}" {{ if $overlay }}data-bs-theme="dark"{{ end }}>
|
||||
{{ if $args.overlay }}<div class="flex-grow-1"></div>{{ end }}
|
||||
{{ if $page }}{{- partial "inline/card-caption.html" (dict "page" $page "keywords" $args.headerStyle "color" $args.color) -}}{{ end }}
|
||||
{{- partial "inline/card-body.html" (dict "title" $title "href" $href "color" $args.color "description" $description) -}}
|
||||
@@ -263,7 +280,7 @@
|
||||
</div>
|
||||
{{ if $args.button }}
|
||||
{{ $label := (or $args.buttonLabel $title) | default (T "readMore") }}
|
||||
<div class="row p-{{ $args.padding }}" >
|
||||
<div class="row" >
|
||||
<div class="{{ if eq $args.orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $args.orientation "horizontal" }}col-4{{ end }}"></div>
|
||||
<div class="col d-flex align-items-end {{ if eq $args.orientation "horizontal-sm" }}px-2{{ else if eq $args.orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
|
||||
{{ $buttonClass := "card-button" }}
|
||||
@@ -276,7 +293,7 @@
|
||||
"button-size" "sm"
|
||||
"class" "card-button"
|
||||
"class" $buttonClass
|
||||
"link-type" $args.buttonType
|
||||
"link-type" $buttonType
|
||||
)}}
|
||||
</div>
|
||||
</div>
|
||||
|
66
layouts/_partials/assets/contact.html
Normal file
66
layouts/_partials/assets/contact.html
Normal file
@@ -0,0 +1,66 @@
|
||||
{{/*
|
||||
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.
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "contact" "args" . "group" "partial") }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "assets/contact.html"
|
||||
"warnid" "warn-invalid-arguments"
|
||||
"msg" "Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.err }}
|
||||
{{ $contact := partial "utilities/GetContact" (dict
|
||||
"contact" $args.contact
|
||||
"data" $args.data
|
||||
"language-tag" site.Language.Lang
|
||||
) }}
|
||||
|
||||
{{ $illustration := dict }}
|
||||
{{ if and $contact $contact.image }}
|
||||
{{ $illustration = dict
|
||||
"image" $contact.image
|
||||
"ratio" "1x1"
|
||||
"class" $args.class
|
||||
"caption" $contact.name
|
||||
"caption-url" $args.captionUrl
|
||||
}}
|
||||
{{ else if $args.illustration }}
|
||||
{{ $illustration = $args.illustration }}
|
||||
{{ end }}
|
||||
|
||||
{{ $heading := "" }}
|
||||
{{ if and (not $args.heading.title) (not $args.heading.content) }}
|
||||
{{ $heading = dict
|
||||
"title" (T "contactHeaderTopic")
|
||||
"content" (T "contactBody")
|
||||
"align" "start"
|
||||
"width" (cond $illustration.image 10 12)
|
||||
}}
|
||||
{{ else }}
|
||||
{{ $heading = $args.heading }}
|
||||
{{ 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
|
||||
)
|
||||
}}
|
||||
{{ end }}
|
@@ -77,10 +77,10 @@
|
||||
{{- with $wrapper }}<div class="{{ . }}">{{ end }}
|
||||
{{- end -}}
|
||||
{{- if $data -}}
|
||||
{{- if site.Params.debugging.includeSVGOrigin -}}
|
||||
{{- if and site.Params.debugging.includeSVGOrigin $.url -}}
|
||||
{{- printf "{{/* <svg src=\"%s\"> */}}" $.url | safeHTML -}}
|
||||
{{- end -}}
|
||||
{{- $data = replace $data "<svg" (printf "<svg class=\"%s\"" $args.class) -}}
|
||||
{{- with $args.class }}{{ $data = replace $data "<svg" (printf "<svg class=\"%s\"" .) }}{{ end -}}
|
||||
{{- $data | safeHTML -}}
|
||||
{{- else if not $fileAnchor -}}
|
||||
<img class="img-fluid {{ $args.class }}"
|
||||
|
@@ -67,7 +67,9 @@
|
||||
{{- if hasSuffix $src "svg" -}}
|
||||
{{- $res = partial "utilities/GetResource.html" (dict "url" $src "page" $args.page) -}}
|
||||
{{ if not $res }}
|
||||
{{- $targetURL := partial "utilities/GetStaticURL" (dict "url" (strings.TrimPrefix "/static" $src)) -}}
|
||||
{{- $targetURL := strings.TrimPrefix "/static" $src -}}
|
||||
{{- $u := urls.Parse site.BaseURL }}
|
||||
{{- $targetURL = strings.TrimPrefix $u.Path $src -}}
|
||||
{{- if not (fileExists (path.Join "/static" $targetURL)) -}}
|
||||
{{ warnf "Cannot find vector image resource: %q" $src -}}
|
||||
{{ else }}
|
||||
@@ -83,7 +85,7 @@
|
||||
{{ else }}
|
||||
{{ warnf "Unsupported media type '%s': %q" (string $res.MediaType) $src -}}
|
||||
{{ end }}
|
||||
{{ else if $args.ratio }}
|
||||
{{ else if and $args.ratio (ne $args.ratio "auto") }}
|
||||
{{ $transform = "fill" }}
|
||||
{{ $dims = partial "assets/helpers/GetDimension.html" (dict "ratio" $args.ratio) }}
|
||||
{{ if not $dims }}{{ errorf "partial [assets/image.html] - Cannot find dimension data: %s" $args.ratio }}{{ end }}
|
||||
@@ -148,12 +150,13 @@
|
||||
)}}
|
||||
{{ if $args.imageset }}
|
||||
{{- $set = partial "assets/helpers/image-set.html" (dict
|
||||
"src" $src
|
||||
"img" $img
|
||||
"dims" $dims
|
||||
"anchor" $args.anchor
|
||||
"transform" $transform
|
||||
"hook" $hook
|
||||
"src" $src
|
||||
"img" $img
|
||||
"dims" $dims
|
||||
"anchor" $args.anchor
|
||||
"transform" $transform
|
||||
"hook" $hook
|
||||
"include-width" true
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@@ -78,35 +78,54 @@
|
||||
|
||||
{{ if $args.icon }}{{ $imageWrapper = $iconWrapper }}{{ end }}
|
||||
|
||||
{{ $illustration := partial $args.hook (dict
|
||||
"page" $args.page
|
||||
"image" $args.illustration.image
|
||||
"icon" $args.illustration.icon
|
||||
"anchor" $args.illustration.anchor
|
||||
"mode" $args.illustration.mode
|
||||
"ratio" $args.illustration.ratio
|
||||
"sizes" $sizes
|
||||
"title" (T "heroImage")
|
||||
"wrapper" $imageWrapper
|
||||
"class" "hero-image"
|
||||
"image-overlay" $args.imageOverlay
|
||||
"justify" $imageJustify
|
||||
) }}
|
||||
{{ $caption := "" }}
|
||||
{{ if $args.illustration.caption }}
|
||||
{{ if index $args.illustration "caption-url" }}
|
||||
{{ $caption = partial "assets/link.html" (dict
|
||||
"href" (index $args.illustration "caption-url")
|
||||
"text" $args.illustration.caption
|
||||
"page" $args.page
|
||||
"class" "text-center"
|
||||
) }}
|
||||
{{ else }}
|
||||
{{ $caption = $args.illustration.caption }}
|
||||
{{ end }}
|
||||
{{ $caption = printf `<div class="text-center">%s</div>` $caption }}
|
||||
{{ end }}
|
||||
|
||||
{{ $illustration := "" }}
|
||||
{{ if or $args.illustration.image $args.illustration.icon }}
|
||||
{{ $illustration = partial $args.hook (dict
|
||||
"page" $args.page
|
||||
"image" $args.illustration.image
|
||||
"icon" $args.illustration.icon
|
||||
"anchor" $args.illustration.anchor
|
||||
"mode" $args.illustration.mode
|
||||
"ratio" $args.illustration.ratio
|
||||
"sizes" $sizes
|
||||
"title" (T "heroImage")
|
||||
"wrapper" $imageWrapper
|
||||
"class" (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
|
||||
"size" $args.size
|
||||
"links" $args.links
|
||||
"link-type" (or $args.linkType $args.type)
|
||||
"class" "hero-title"
|
||||
"arrangement" $arrangement
|
||||
"justify" $args.justify
|
||||
) }}
|
||||
|
||||
{{ if eq $args.orientation "stacked" }}
|
||||
{{/* Render stacked component */}}
|
||||
|
||||
{{ $illustration | safeHTML }}
|
||||
{{ $caption | safeHTML }}
|
||||
{{ $title | safeHTML }}
|
||||
{{ else }}
|
||||
{{/* Render horizontal component */}}
|
||||
@@ -121,12 +140,15 @@
|
||||
{{ $imgWidth := sub 12 (or $args.heading.width 12) }}
|
||||
{{ if lt $imgWidth 1 }}{{ $imgWidth = 1 }}{{ end }}
|
||||
|
||||
<div class="col col-12 col-md-{{sub 12 $imgWidth }} {{ $order1 }} my-md-auto pt-{{ $padding.y }} pt-md-0 hero-content">
|
||||
<div class="col col-12 {{ if $illustration }} col-md-{{sub 12 $imgWidth }}{{ end }} {{ $order1 }} my-md-auto pt-{{ $padding.y }} pt-md-0 hero-content">
|
||||
{{ $title | safeHTML }}
|
||||
</div>
|
||||
{{ if $illustration }}
|
||||
<div class="col col-8 col-md-{{ $imgWidth }} {{ $order2 }} m-auto my-md-auto align-self-end">
|
||||
{{ $illustration | safeHTML }}
|
||||
{{ $caption | safeHTML }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
@@ -34,7 +34,7 @@
|
||||
{{/* Retrieve the relevant context page, either current page or page identified by section */}}
|
||||
{{ $sectionPage := $args.page | default page }}
|
||||
{{ if $args.section }}
|
||||
{{ $sectionPage = site.GetPage "section" $args.section }}
|
||||
{{ $sectionPage = site.GetPage $args.section }}
|
||||
{{ if not $sectionPage }}
|
||||
{{ warnf "Cannot find section: %s" $args.section }}
|
||||
{{ end }}
|
||||
|
@@ -6,16 +6,16 @@
|
||||
*/}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "nav-item" "args" . "group" "partial") }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "nav-item" "args" . "group" "partial") -}}
|
||||
{{- if or $args.err $args.warnmsg -}}
|
||||
{{- partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "assets/nav-item.html"
|
||||
"warnid" "warn-invalid-arguments"
|
||||
"msg" "Invalid arguments"
|
||||
"details" ($args.errmsg | append $args.warnmsg)
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $parentID := or $args.parentId $args.parentID -}}
|
||||
@@ -36,16 +36,16 @@
|
||||
"class" "hero-image"
|
||||
"image-overlay" $args.imageOverlay
|
||||
) }}
|
||||
{{ else }}
|
||||
{{ $illustration = partial $args.hook (dict "page" $args.page "image" $args.illustration) }}
|
||||
{{ end }}
|
||||
{{- else -}}
|
||||
{{- $illustration = partial $args.hook (dict "page" $args.page "image" $args.illustration) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $args.err }}
|
||||
{{ if eq $type "accordion" }}
|
||||
{{- if not $args.err -}}
|
||||
{{- if eq $type "accordion" -}}
|
||||
<div class="accordion-item{{ if $args.show }} show{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
|
||||
{{- with $title -}}
|
||||
<h2 id="accordion-{{ $parentID }}-heading-{{ $args.id }}" class="accordion-header m-0" >
|
||||
<h2 id="accordion-{{ $parentID }}-heading-{{ $args.id }}" class="accordion-header m-0">
|
||||
<button
|
||||
class="accordion-button collapsed {{ if $args.disabled }} text-secondary{{ end }}"
|
||||
type="button"
|
||||
@@ -55,14 +55,14 @@
|
||||
aria-controls="accordion-{{ $parentID }}-item-{{ $args.id }}"
|
||||
{{ if $args.disabled }} disabled{{ end }}
|
||||
>
|
||||
{{ if $illustration }}
|
||||
{{- if $illustration -}}
|
||||
<div class="row">
|
||||
<div class="col-3 col-sm-2 my-auto">{{ $illustration | safeHTML }}</div>
|
||||
<div class="col-9 col-sm-10 fs-6 fs-sm-5 my-auto">{{ . }}</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
{{ . }}
|
||||
{{ end }}
|
||||
{{ end -}}
|
||||
</button>
|
||||
</h2>
|
||||
{{- end -}}
|
||||
@@ -72,22 +72,19 @@
|
||||
aria-labelledby="{{ $parentID }}-heading-{{ $args.id }}"
|
||||
data-bs-parent="#accordion-{{ $parentID }}"
|
||||
>
|
||||
<div class="accordion-body">{{ $args.body | $args.page.RenderString | safeHTML }}</div>
|
||||
<div class="accordion-body">{{ or $args.raw ($args.body | $args.page.RenderString) | safeHTML }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- else -}}
|
||||
<div
|
||||
id="{{ $parentID }}-{{ $args.id }}"
|
||||
class="tab-pane{{ if $args.show }} active {{ if $args.fade }}show{{ end }}{{ end }} {{ if $args.fade }}fade{{ end }}{{ with $args.class }} {{ . }}{{ end }}"
|
||||
class="tab-pane{{ if $args.show }} active{{ if $args.fade }} show{{ end }}{{ end }}{{ if $args.fade }} fade{{ end }}{{ with $args.class }} {{ . }}{{ end }}"
|
||||
role="tabpanel"
|
||||
aria-labelledby="{{ $parentID }}-btn-{{ $args.id }}"
|
||||
tabindex="0"
|
||||
data-header="{{ $title }}"
|
||||
{{ if $args.show }}data-show-id="{{ $args.id }}"{{ end }}
|
||||
data-has-content="{{ gt (len $args.body) 0 }}"
|
||||
{{ if $args.disabled }} data-disabled-id="{{ $args.id }}"{{ end }}
|
||||
data-has-content="{{ or (gt (len (or $args.raw "")) 0) (gt (len $args.body) 0 ) }}"
|
||||
>
|
||||
{{ $args.body | $args.page.RenderString | safeHTML }}
|
||||
{{ or $args.raw ($args.body | $args.page.RenderString) | safeHTML }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
@@ -6,6 +6,29 @@
|
||||
|
||||
{{- $error := false -}}
|
||||
|
||||
{{- define "_partials/inline/nav-dropdown.html" -}}
|
||||
{{ $id := .id }}
|
||||
{{ $class := .class }}
|
||||
{{ $titles := .titles }}
|
||||
{{ $wrap := .wrap }}
|
||||
|
||||
<div id="dropdown-{{ $id }}" class="dropdown panel-dropdown {{ $class }}">
|
||||
<a class="link-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
{{ cond (gt (len $titles) 0) (index $titles 0) (T "sectionMenu") }}
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
{{- range $index, $item := $titles -}}
|
||||
{{ $itemID := printf "%s-btn-%d" $id $index -}}
|
||||
{{- $show := eq $index 0 -}}
|
||||
<li>
|
||||
<a class="dropdown-item {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}"
|
||||
data-link="#{{ $id }}-btn-{{ $index }}" type="button">{{ $item }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "nav" "args" . "group" "partial") -}}
|
||||
{{- if or $args.err $args.warnmsg -}}
|
||||
@@ -19,58 +42,53 @@
|
||||
{{- $error = $args.err -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize global arguments */}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $page := $args.page -}}
|
||||
{{- $id := $args.id | default "0" -}}
|
||||
{{- $type := or $args.tabType $args.type -}}
|
||||
{{- $wrap := or $args.wordWrap $args.wrap -}}
|
||||
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||
{{- $titles := slice -}}
|
||||
{{- range $args.list }}{{ $titles = $titles | append .Title }} {{ end -}}
|
||||
{{- if reflect.IsSlice $args.navTitles }}{{ $titles = $titles | append $args.navTitles }}{{ end -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
|
||||
{{ if $args.vertical }}<div class="d-flex align-items-start">{{ end }}
|
||||
{{ if eq $type "callout" }}
|
||||
<div class="d-lg-none">
|
||||
<div id="accordion-{{ $id }}" class="accordion mb-3{{ with $args.class }} {{ . }}{{ end }} nav-callout">
|
||||
{{- range $index, $item := $args.list -}}
|
||||
{{ partial "assets/nav-item.html" (dict
|
||||
"page" $args.page
|
||||
"id" $index
|
||||
"parentID" $id
|
||||
"fade" false
|
||||
"header" $item.Title
|
||||
"class" $args.class
|
||||
"body" (or $item.Description $item.Content)
|
||||
"show" false
|
||||
"disabled" false
|
||||
"item_type" "accordion"
|
||||
"illustration" (partial "utilities/GetIllustration.html" (dict "item" $item "size" "col-12"))
|
||||
)
|
||||
}}
|
||||
{{ end -}}
|
||||
{{- $args.navItems | safeHTML -}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-none d-lg-block">
|
||||
{{ if $args.responsive }}
|
||||
{{ partial "inline/nav-dropdown.html" (dict
|
||||
"id" $id
|
||||
"class" (printf "d-%s-none py-%d" $breakpoint.current $padding.y)
|
||||
"titles" $titles
|
||||
"wrap" $wrap
|
||||
) }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<div class="{{ if $args.responsive }}d-none d-{{ $breakpoint.current }}-block{{ end }}">
|
||||
<ul
|
||||
class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ if $args.vertical }} flex-column{{ end }}"
|
||||
class="nav nav-panel{{ with $type }} nav-{{ . }}{{ end -}}{{ with $args.class }} {{ . }}{{ end }}{{ if $args.vertical }} flex-column{{ end }} tabs-dropdown"
|
||||
id="nav-{{ $id }}"
|
||||
role="tablist"{{ if $args.vertical }}
|
||||
aria-orientation="vertical"{{ end }}
|
||||
role="tablist"
|
||||
{{ if $args.vertical }}aria-orientation="vertical"{{ end }}
|
||||
data-companion="dropdown-{{ $id }}"
|
||||
>
|
||||
{{- $titles := slice -}}
|
||||
{{- range $args.list }}{{ $titles = $titles | append .Title }} {{ end -}}
|
||||
{{- if reflect.IsSlice $args.navTitles }}{{ $titles = $titles | append $args.navTitles }}{{ end -}}
|
||||
{{- range $index, $item := $titles -}}
|
||||
{{ $show := eq $index 0}}
|
||||
{{ $itemID := printf "%s-btn-%d" $args.id $index -}}
|
||||
{{- $show := eq $index 0 -}}
|
||||
{{- if $args.navShow }}{{ $show = eq $args.navShow $itemID }}{{ end -}}
|
||||
{{- $disabled := in $args.navDisabled $itemID -}}
|
||||
<li class="nav-item" role="presentation">
|
||||
<button
|
||||
class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}"
|
||||
id="nav-{{ $id }}-btn-{{ $index }}"
|
||||
class="nav-link{{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}{{ if $disabled }} disabled{{ end }}"
|
||||
id="{{ $itemID }}"
|
||||
data-bs-toggle="pill"
|
||||
data-bs-target="#{{ $id }}-{{ $index }}"
|
||||
data-bs-target="#{{ $id }}-{{ $index }}"
|
||||
type="button"
|
||||
role="tab"
|
||||
aria-controls="{{ $id }}-{{ $index }}"
|
||||
@@ -81,49 +99,9 @@
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $args.vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{- range $index, $item := $args.list -}}
|
||||
{{- $header := $item.Title -}}
|
||||
{-{ $body := $item.Content -}}
|
||||
{{- $show := eq $index 0 -}}
|
||||
{{- $thumbnail := "" -}}
|
||||
{{- if reflect.IsMap $item.Params.Thumbnail -}}
|
||||
{{- $thumbnail = $item.Params.Thumbnail.url -}}
|
||||
{{- else -}}
|
||||
{{- $thumbnail = $item.Params.Thumbnail -}}
|
||||
{{- end -}}
|
||||
<div
|
||||
class="tab-pane{{ if $show }} active{{ end }}"
|
||||
id="nav-{{ $id }}-{{ $index }}"
|
||||
role="tabpanel"
|
||||
aria-labelledby="{{ $id }}-btn-{{ $index }}"
|
||||
tabindex="0"
|
||||
>
|
||||
{{- if eq $args.pane "persona" -}}
|
||||
{{- partial "assets/persona.html" (dict
|
||||
"title" $item.Title
|
||||
"class" $args.class
|
||||
"color" $args.color
|
||||
"href" $item.Params.href
|
||||
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||
"thumbnail" $thumbnail
|
||||
) -}}
|
||||
{{- else -}}
|
||||
{{- $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) -}}
|
||||
{{- if $illustration -}}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
|
||||
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
|
||||
</div>
|
||||
{{- else -}}
|
||||
{{- (or $item.Description $item.Content) -}}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="tab-content {{ if in (slice "tabs" "callout") $type }}border p-3 bg-body {{ else if $args.vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{- $args.navItems | safeHTML -}}
|
||||
</div>
|
||||
{{- if eq $type "callout" }}</div>{{ end -}}
|
||||
{{- if $args.vertical }}</div>{{ end -}}
|
||||
</div>
|
||||
|
@@ -80,7 +80,7 @@
|
||||
{{ end }}
|
||||
|
||||
{{/* Initialize global variables */}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
{{- $padding := partial "utilities/GetPadding.html" (dict "section" "navigation") -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
|
||||
@@ -124,7 +124,8 @@
|
||||
|
||||
{{ $logo := "" }}
|
||||
{{ with $args.logo | default site.Params.navigation.logo }}
|
||||
{{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" 30) }}
|
||||
{{ $height := index site.Params.navigation "logo-height" | default 30 }}
|
||||
{{ $logo = partial "assets/image.html" (dict "src" . "loading" "eager" "title" $title "image-height" $height) }}
|
||||
{{ end }}
|
||||
|
||||
{{- $pre := $args.pre -}}
|
||||
|
@@ -19,15 +19,16 @@
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $size := (or $args.size site.Params.modules.bookshop.title.size) | default 4 -}}
|
||||
{{- $size := (or $args.heading.size site.Params.modules.bookshop.title.size) | default 4 -}}
|
||||
{{- $arrangement := (or $args.arrangement site.Params.modules.bookshop.title.arrangement) | default "above" -}}
|
||||
{{- $headingStyle := (or $args.headingStyle site.Params.modules.bookshop.title.headingStyle) | default "display" -}}
|
||||
{{- $contentStyle := (or $args.contentStyle site.Params.modules.bookshop.title.contentStyle) | default "lead text-muted" -}}
|
||||
{{- $preheading := $args.heading.preheading }}
|
||||
{{- $title := $args.heading.title }}
|
||||
{{- $width := $args.heading.width | default 12 -}}
|
||||
|
||||
{{ if and (not $preheading) $args.useSection }}{{ $preheading = page.CurrentSection.Name }}{{ end }}
|
||||
{{- $width = cond (lt $width 12) (printf "col-12 col-%s-%d" $breakpoint.current $width) "" }}
|
||||
{{- if and (not $preheading) $args.useSection }}{{ $preheading = page.CurrentSection.Name }}{{ end -}}
|
||||
{{- $justify := cond (eq $args.justify "start") "" (cond (eq $args.justify "end") "me-0" "mx-auto") -}}
|
||||
|
||||
{{ if site.Params.main.titleCase }}
|
||||
{{ $preheading = title $preheading }}
|
||||
@@ -84,8 +85,8 @@
|
||||
"mode" $args.mode
|
||||
}}
|
||||
|
||||
<!-- Main code -->
|
||||
<div class="text-{{ $args.heading.align }}{{ with $args.class }} {{ . }}{{ end }}{{ if lt $width 12 }} col-12 col-{{ $breakpoint.current }}-{{ $width }}{{ end }} py-{{ $padding.y }}">
|
||||
{{/* Main code */}}
|
||||
<div class="text-{{ $args.heading.align }}{{ with $justify }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ with $width }} {{ . }}{{ end }}">
|
||||
{{ if and $preheading (eq $arrangement "first") }}
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
|
@@ -45,7 +45,7 @@
|
||||
{{- end -}}
|
||||
|
||||
<div class="py-3 text-body-secondary hstack gap-1">
|
||||
{{ T "shareLink" "" }}
|
||||
{{ T "shareLink" " " }}
|
||||
{{- range $index, $item := $list -}}
|
||||
{{- $url := $item.url -}}
|
||||
{{- $url = replace $url "{url}" $page.Permalink -}}
|
||||
|
@@ -22,6 +22,7 @@
|
||||
|
||||
{{/* Initialize global variables */}}
|
||||
{{ $arrangement := site.Params.modules.bookshop.title.arrangement }}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $page := $args.page -}}
|
||||
@@ -104,11 +105,13 @@
|
||||
"links" $args.links
|
||||
"link-type" (or $args.linkType $args.type)
|
||||
"arrangement" $arrangement
|
||||
"justify" $args.justify
|
||||
"class" (printf "pb-%d" $padding.y)
|
||||
) }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Render default timeline */}}
|
||||
<div class="container p-0 d-none d-md-block mb-5 {{ with $background }} timeline-{{ . }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
|
||||
<div class="container p-0 d-none d-md-block {{ with $background }} timeline-{{ . }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}">
|
||||
{{ $title | safeHTML }}
|
||||
{{ range $index, $item := $data }}
|
||||
<div class="row timeline timeline-{{ $item.color }} timeline-dot g-0 ">
|
||||
|
@@ -7,7 +7,7 @@
|
||||
{{ $error := false }}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial")}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "assets/toc.html"
|
||||
@@ -31,8 +31,8 @@
|
||||
{{- if and (not $error) (ge (len .) $minNumHeadings) }}
|
||||
<div class="d-grid gap-2 mx-auto">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" (T "toc")
|
||||
"color" "secondary"
|
||||
"title" (T "toc")
|
||||
"color" "secondary"
|
||||
"outline" "true"
|
||||
"class" "toc-button"
|
||||
"icon" "fas sort"
|
||||
|
@@ -4,15 +4,11 @@
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{- $file := "package.json" -}}
|
||||
{{- $basePath := .Site.Params.docs.basePath -}}
|
||||
{{- $file = path.Join $basePath (path.Clean $file) -}}
|
||||
|
||||
{{- $regex := printf `"version":.*(\r\n|\r|\n)` -}}
|
||||
|
||||
{{- $file := "go.mod" -}}
|
||||
{{- $regex := printf `github.com\/gethinode\/hinode v.*(\r\n|\r|\n)` -}}
|
||||
{{- $match := findRE $regex (readFile $file) -}}
|
||||
{{- $match = index $match 0 -}}
|
||||
|
||||
{{- if $match -}}
|
||||
{{- printf "v%s" (trim (index (split $match ":") 1) " \r\n,\"") -}}
|
||||
{{- printf "%s" (trim (index (split $match " ") 1) " \r\n,\"") -}}
|
||||
{{- end -}}
|
||||
|
@@ -4,175 +4,204 @@
|
||||
Visit gethinode.com/license for more details.
|
||||
*/}}
|
||||
|
||||
{{ $error := false }}
|
||||
{{- $error := false -}}
|
||||
|
||||
{{/* Define inline partials */}}
|
||||
{{ define "_partials/inline/match.html" }}
|
||||
{{ $result := "" }}
|
||||
{{ $matches := slice }}
|
||||
{{ if gt (len .modules) 0 }}
|
||||
{{ range .modules }}
|
||||
{{ $matches = $matches | append (printf "js/modules/%s/**.js" .) }}
|
||||
{{ end }}
|
||||
{{ $result = printf "{%s}" (delimit $matches ",") }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $result }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "_partials/inline/bundle-script.html" }}
|
||||
{{ $page := .page }}
|
||||
{{ $match := .match }}
|
||||
{{ $destination := .destination }}
|
||||
{{ $cat := .cat }}
|
||||
{{ $localize := .localize }}
|
||||
{{ $modules := .modules }}
|
||||
{{ $skipTemplate := .skipTemplate }}
|
||||
{{ $absoluteURL := .absoluteURL }}
|
||||
{{ $state := cond (ne .state "immediate") .state "" }}
|
||||
|
||||
{{ if and $cat (ne $cat "other") }}
|
||||
{{ $destination = path.Join (path.Dir $destination) (printf "%s-%s%s" (path.BaseName $destination) $cat (path.Ext $destination)) }}
|
||||
{{ end }}
|
||||
|
||||
{{ if $localize }}
|
||||
{{ $destination = path.Join (path.Dir $destination) (printf "%s.%s%s" (path.BaseName $destination) $page.Language.Lang (path.Ext $destination)) }}
|
||||
{{ end }}
|
||||
|
||||
{{- $bundle := partial "utilities/bundle.html" (dict
|
||||
"match" $match
|
||||
"filename" $destination
|
||||
"modules" $modules
|
||||
"basepath" "js/modules"
|
||||
"all" true
|
||||
"debugging" site.Params.debugging.showJS
|
||||
) -}}
|
||||
{{- $js := $bundle -}}
|
||||
{{- if not $skipTemplate -}}
|
||||
{{- $js = $bundle | resources.ExecuteAsTemplate $destination $page -}}
|
||||
{{- define "_partials/inline/match.html" -}}
|
||||
{{- $result := "" -}}
|
||||
{{- $matches := slice -}}
|
||||
{{- if gt (len .modules) 0 -}}
|
||||
{{- range .modules -}}
|
||||
{{- $matches = $matches | append (printf "js/modules/%s/**.*js" .) -}}
|
||||
{{- end -}}
|
||||
{{- $result = printf "{%s}" (delimit $matches ",") -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- return $result -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "_partials/inline/bundle-script.html" -}}
|
||||
{{- $page := .page -}}
|
||||
{{- $match := .match -}}
|
||||
{{- $destination := .destination -}}
|
||||
{{- $cat := .cat -}}
|
||||
{{- $localize := .localize -}}
|
||||
{{- $modules := .modules -}}
|
||||
{{- $skipTemplate := .skipTemplate -}}
|
||||
{{- $enableTemplate := .enableTemplate }}
|
||||
{{- $absoluteURL := .absoluteURL -}}
|
||||
{{- $state := cond (ne .state "immediate") .state "" -}}
|
||||
|
||||
{{- if and $cat (ne $cat "other") -}}
|
||||
{{- $destination = path.Join (path.Dir $destination) (printf "%s-%s%s" (path.BaseName $destination) $cat (path.Ext $destination)) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if $localize -}}
|
||||
{{- $destination = path.Join (path.Dir $destination) (printf "%s.%s%s" (path.BaseName $destination) $page.Language.Lang (path.Ext $destination)) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $bundle := partial "utilities/bundlev2.html" (dict
|
||||
"page" $page
|
||||
"match" $match
|
||||
"filename" $destination
|
||||
"modules" $modules
|
||||
"basepath" "js/modules"
|
||||
"all" true
|
||||
"skip-template" $skipTemplate
|
||||
"enable-template" $enableTemplate
|
||||
"debugging" site.Params.debugging.showJS
|
||||
) -}}
|
||||
{{- $js := $bundle.bundle -}}
|
||||
{{- $jsmod := $bundle.module -}}
|
||||
|
||||
{{- if gt (len $js.Content) 0 -}}
|
||||
{{ $integrity := "" }}
|
||||
{{- $integrity := "" -}}
|
||||
{{- if hugo.IsProduction -}}
|
||||
{{ $js = $js | minify | fingerprint -}}
|
||||
{{ $integrity = $js.Data.Integrity }}
|
||||
{{ end -}}
|
||||
{{ partial "templates/script.html" (dict "link" (cond $absoluteURL $js.Permalink $js.RelPermalink) "category" $cat "state" $state "integrity" $integrity) }}
|
||||
{{ end -}}
|
||||
{{ end }}
|
||||
{{- $js = $js | minify | fingerprint -}}
|
||||
{{- $integrity = $js.Data.Integrity -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- partial "templates/script.html" (dict
|
||||
"link" (cond $absoluteURL $js.Permalink $js.RelPermalink)
|
||||
"category" $cat
|
||||
"state" $state
|
||||
"integrity" $integrity
|
||||
) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if gt (len $jsmod.Content) 0 -}}
|
||||
{{- $integrity := "" -}}
|
||||
{{- if hugo.IsProduction -}}
|
||||
{{- $jsmod = $jsmod | minify | fingerprint -}}
|
||||
{{- $integrity = $jsmod.Data.Integrity -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- partial "templates/script.html" (dict
|
||||
"link" (cond $absoluteURL $jsmod.Permalink $jsmod.RelPermalink)
|
||||
"category" $cat
|
||||
"state" $state
|
||||
"integrity" $integrity
|
||||
"script-type" "module"
|
||||
) -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "scripts" "args" .) }}
|
||||
{{ if $args.err }}
|
||||
{{ partial "utilities/LogErr.html" (dict
|
||||
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "scripts" "args" .) -}}
|
||||
{{- if $args.err -}}
|
||||
{{- partial "utilities/LogErr.html" (dict
|
||||
"partial" "footer/scripts.html"
|
||||
"msg" "Invalid arguments"
|
||||
"details" $args.errmsg
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ $error = true }}
|
||||
{{ end }}
|
||||
{{- $error = true -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ $page := $args.page | default page }}
|
||||
{{- $page := $args.page | default page -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{ $patterns := dict
|
||||
"other" "js/critical/*.js"
|
||||
"functional" "js/critical/functional/**.js"
|
||||
"analytics" "js/critical/analytics/**.js"
|
||||
"performance" "js/critical/performance/**.js"
|
||||
"advertisement" "js/critical/advertisement/**.js"
|
||||
"core" "{js/*.js,js/vendor/**.js}"
|
||||
{{- $patterns := dict
|
||||
"other" "js/critical/*.*js"
|
||||
"functional" "js/critical/functional/**.*js"
|
||||
"analytics" "js/critical/analytics/**.*js"
|
||||
"performance" "js/critical/performance/**.*js"
|
||||
"advertisement" "js/critical/advertisement/**.*js"
|
||||
"core" "{js/*.*js,js/vendor/**.*js}"
|
||||
}}
|
||||
|
||||
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
|
||||
{{ $state := "immediate" }}
|
||||
{{ $config := $page.Scratch.Get "modules" }}
|
||||
{{- $state := "immediate" -}}
|
||||
{{- $config := $page.Scratch.Get "modules" -}}
|
||||
|
||||
{{ $page_modules := slice }}
|
||||
{{ if reflect.IsMap $page.Params.modules }}
|
||||
{{ $page_modules = $page.Params.modules }}
|
||||
{{ else }}
|
||||
{{ $page_modules = $page_modules | append $page.Params.modules }}
|
||||
{{ end }}
|
||||
{{ with $page.Scratch.Get "dependencies" }}{{ $page_modules = append $page_modules . | uniq }}{{ end }}
|
||||
{{- $page_modules := slice -}}
|
||||
{{- if reflect.IsMap $page.Params.modules -}}
|
||||
{{- $page_modules = $page.Params.modules -}}
|
||||
{{- else -}}
|
||||
{{- $page_modules = $page_modules | append $page.Params.modules -}}
|
||||
{{- end -}}
|
||||
{{- with $page.Scratch.Get "dependencies" -}}{{- $page_modules = append $page_modules . | uniq -}}{{- end -}}
|
||||
|
||||
{{- $categories := dict "other" slice -}}
|
||||
|
||||
{{ $modules := slice }}
|
||||
{{ if eq $args.type "critical" }}
|
||||
{{- $modules := slice -}}
|
||||
{{- if eq $args.type "critical" -}}
|
||||
{{- $modules = $config.critical -}}
|
||||
{{ $categories = merge $categories (dict "functional" slice "analytics" slice "performance" slice "advertisement" slice) }}
|
||||
{{ else if eq $args.type "core" }}
|
||||
{{- $categories = merge $categories (dict "functional" slice "analytics" slice "performance" slice "advertisement" slice) -}}
|
||||
{{- else if eq $args.type "core" -}}
|
||||
{{- $modules = $config.core -}}
|
||||
{{ else if eq $args.type "optional" }}
|
||||
{{- else if eq $args.type "optional" -}}
|
||||
{{- $modules = $config.optional | intersect $page_modules -}}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
|
||||
{{ range $cat, $val := $config.categories }}
|
||||
{{ $categories = merge $categories (dict $cat (intersect $val $modules)) }}
|
||||
{{ end }}
|
||||
{{- range $cat, $val := $config.categories -}}
|
||||
{{- $categories = merge $categories (dict $cat (intersect $val $modules)) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ $localize := false }}
|
||||
{{ if gt (intersect (or $config.localize slice) $modules | len) 0 }}{{ $localize = true }}{{ end }}
|
||||
{{- $localize := false -}}
|
||||
{{- if gt (intersect (or $config.localize slice) $modules | len) 0 }}{{ $localize = true }}{{ end -}}
|
||||
|
||||
{{ $skipTemplate := false }}
|
||||
{{ if gt (intersect (or $config.skipTemplate slice) $modules | len) 0 }}{{ $skipTemplate = true }}{{ end }}
|
||||
{{- $skipTemplate := false -}}
|
||||
{{- if gt (intersect (or $config.skipTemplate slice) $modules | len) 0 }}{{ $skipTemplate = true }}{{ end -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $error }}
|
||||
{{- if not $error -}}
|
||||
{{/* include external scripts first */}}
|
||||
{{ range $mod, $cfg := $config.modules }}
|
||||
{{ if in $modules $mod }}
|
||||
{{ if or (index $cfg "local") (not hugo.IsServer) }}
|
||||
{{ with index $cfg "url" }}
|
||||
{{ partial "templates/script.html" (dict "link" . "category" (index $cfg "category") "state" (index $cfg "state")) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- range $mod, $cfg := $config.modules -}}
|
||||
{{- if in $modules $mod -}}
|
||||
{{- if or (index $cfg "local") (not hugo.IsServer) -}}
|
||||
{{- with index $cfg "url" -}}
|
||||
{{- partial "templates/script.html" (dict
|
||||
"link" .
|
||||
"category" (index $cfg "category")
|
||||
"state" (index $cfg "state"))
|
||||
-}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Bundle the critical and core scripts by category */}}
|
||||
{{ if ne $args.type "optional" }}
|
||||
{{ range $cat, $val := $categories }}
|
||||
{{ if or (gt ($val | len) 0) (eq $args.type "critical") }}
|
||||
{{ $match := "" }}
|
||||
{{ if eq $args.type "critical" }}
|
||||
{{ $match = index $patterns $cat }}
|
||||
{{ else if eq $cat "other" }}
|
||||
{{ $match = index $patterns $args.type }}
|
||||
{{ end }}
|
||||
{{- if ne $args.type "optional" -}}
|
||||
{{- range $cat, $val := $categories -}}
|
||||
{{- if or (gt ($val | len) 0) (eq $args.type "critical") -}}
|
||||
{{- $match := "" -}}
|
||||
{{- if eq $args.type "critical" -}}
|
||||
{{- $match = index $patterns $cat -}}
|
||||
{{- else if eq $cat "other" -}}
|
||||
{{- $match = index $patterns $args.type -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ partial "inline/bundle-script.html" (dict
|
||||
"page" $page
|
||||
"match" $match
|
||||
"destination" (printf "js/%s.bundle.js" $args.type)
|
||||
"cat" $cat
|
||||
"modules" $val
|
||||
"localize" $localize
|
||||
"skipTemplate" $skipTemplate
|
||||
"absoluteURL" $absoluteURL
|
||||
"state" (cond (eq $args.type "critical") "immediate" "async")
|
||||
{{- partial "inline/bundle-script.html" (dict
|
||||
"page" $page
|
||||
"match" $match
|
||||
"destination" (printf "js/%s.bundle.js" $args.type)
|
||||
"cat" $cat
|
||||
"modules" $val
|
||||
"localize" $localize
|
||||
"skipTemplate" $skipTemplate
|
||||
"absoluteURL" $absoluteURL
|
||||
"state" (cond (eq $args.type "critical") "immediate" "async")
|
||||
)}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{/* Bundle the optional scripts by module name and category */}}
|
||||
{{ range $cat, $val := $categories }}
|
||||
{{ range $val }}
|
||||
{{ $modconfig := index $config.modules . }}
|
||||
{{ partial "inline/bundle-script.html" (dict
|
||||
"page" $page
|
||||
"destination" (printf "js/%s.js" .)
|
||||
"cat" $cat
|
||||
"modules" (slice .)
|
||||
"localize" $modconfig.localize
|
||||
"skipTemplate" $modconfig.disabletemplate
|
||||
"absoluteURL" $absoluteURL
|
||||
"state" $modconfig.state
|
||||
{{- range $cat, $val := $categories -}}
|
||||
{{- range $val -}}
|
||||
{{- $modconfig := index $config.modules . -}}
|
||||
{{- partial "inline/bundle-script.html" (dict
|
||||
"page" $page
|
||||
"destination" (printf "js/%s.js" .)
|
||||
"cat" $cat
|
||||
"modules" (slice .)
|
||||
"localize" $modconfig.localize
|
||||
"skipTemplate" $modconfig.disabletemplate
|
||||
"enableTemplate" $modconfig.enableTemplate
|
||||
"absoluteURL" $absoluteURL
|
||||
"state" $modconfig.state
|
||||
)}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
@@ -66,11 +66,24 @@
|
||||
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)
|
||||
-}}
|
||||
|
||||
{{- $options := (dict "transpiler" $transpiler "silenceDeprecations" $silence "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
|
||||
{{- $bundle := partial "utilities/bundle.html" (dict "match" $source "filename" (printf "scss/bundle-%d.scss" now.UnixNano) "modules" $modules "basepath" "scss" "debugging" site.Params.debugging.showSCSS) -}}
|
||||
{{- $options := (dict
|
||||
"transpiler" $transpiler
|
||||
"silenceDeprecations" $silence
|
||||
"targetPath" $target
|
||||
"enableSourceMap" (not hugo.IsProduction)
|
||||
"vars" $vars
|
||||
) -}}
|
||||
{{- $bundle := partial "utilities/bundlev2.html" (dict
|
||||
"page" page
|
||||
"match" $source
|
||||
"filename" (printf "scss/bundle-%d.scss" now.UnixNano)
|
||||
"modules" $modules
|
||||
"basepath" "scss"
|
||||
"debugging" site.Params.debugging.showSCSS
|
||||
) -}}
|
||||
|
||||
{{- if gt ($bundle.Content | len) 0 }}
|
||||
{{- $css := $bundle | resources.ExecuteAsTemplate $target . | toCSS $options -}}
|
||||
{{- if gt ($bundle.bundle.Content | len) 0 }}
|
||||
{{- $css := $bundle.bundle | resources.ExecuteAsTemplate $target . | toCSS $options -}}
|
||||
|
||||
{{ if $core }}
|
||||
{{- partial "head/icons.html" (dict "css" $css) -}}
|
||||
|
@@ -33,10 +33,6 @@
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{- $thumbnail = $page.Params.Thumbnail -}}
|
||||
{{ if or $page.Params.photoCredits $page.Params.photoSource }}
|
||||
{{ warnf "DEPRECATED: frontmatter variables `photoCredits` and `photoSource` have been deprecated in release v0.18: %s" $page.RelPermalink }}
|
||||
{{ end }}
|
||||
{{- if and $page.Params.photoCredits $page.Params.PhotoSource }}{{ $credits = printf (T "photoFull") $page.Params.photoCredits $page.Params.PhotoSource }}{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ if $thumbnail -}}
|
@@ -6,7 +6,7 @@
|
||||
|
||||
{{/* Initialize arguments */}}
|
||||
{{- $args := partial "utilities/InitArgs.html" (dict "structure" "script" "args" .) -}}
|
||||
{{ if or $args.err $args.warnmsg }}
|
||||
{{- if or $args.err $args.warnmsg -}}
|
||||
{{- partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
|
||||
"partial" "templates/script.html"
|
||||
"warnid" "warn-invalid-arguments"
|
||||
@@ -16,15 +16,15 @@
|
||||
) -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $category := cond (ne $args.category "other") $args.category "" -}}
|
||||
|
||||
{{/* Main code */}}
|
||||
{{- if not $args.err -}}
|
||||
<script src="{{ $args.link }}"
|
||||
{{/* with $args.scriptType generates an error when using type="{{ . }}", possibly a Hugo bug */}}
|
||||
{{- with $args.scriptType }}{{ printf ` type="%s"` . | safeHTMLAttr }}{{ end -}}
|
||||
{{- with $category }} data-category="{{ . }}"{{ end -}}
|
||||
{{- with $args.integrity }}integrity="{{ . }}" crossorigin="anonymous"{{ end }}
|
||||
{{- with $args.state }} {{ . | safeHTMLAttr }}{{ end -}}>
|
||||
</script>
|
||||
{{- with $args.integrity }} integrity="{{ . }}" crossorigin="anonymous"{{ end }}
|
||||
{{- with $args.state }} {{ . | safeHTMLAttr }}{{ end -}}></script>
|
||||
{{- end -}}
|
@@ -45,14 +45,14 @@
|
||||
{{ end }}
|
||||
|
||||
{{ $modules := dict
|
||||
"modules" $modules
|
||||
"critical" $critical
|
||||
"core" $core
|
||||
"optional" $optional
|
||||
"excludeSCSS" $excludeSCSS
|
||||
"modules" $modules
|
||||
"critical" $critical
|
||||
"core" $core
|
||||
"optional" $optional
|
||||
"excludeSCSS" $excludeSCSS
|
||||
"disableTemplate" $disableTemplate
|
||||
"localize" $localize
|
||||
"categories" $category
|
||||
"localize" $localize
|
||||
"categories" $category
|
||||
}}
|
||||
|
||||
{{- if and .IsPage (not (in $core "bootstrap")) -}}
|
||||
|
@@ -17,7 +17,9 @@
|
||||
|
||||
{{/* Insert a default hero and article block (for list pages) when no content blocks are available */}}
|
||||
{{ if and .blocks (gt (len .blocks) 0 )}}
|
||||
{{ $blocks = .blocks }}
|
||||
{{ range $i, $b := .blocks }}
|
||||
{{ $blocks = $blocks | append (merge (dict "_ordinal" $i) $b) }}
|
||||
{{ end }}
|
||||
{{ else if $default }}
|
||||
{{ $err := (hasPrefix $page.LinkTitle "404") }}
|
||||
{{ $pageTitle := $page.LinkTitle }}
|
||||
@@ -35,21 +37,23 @@
|
||||
|
||||
{{ $blocks = $blocks | append (dict
|
||||
"_bookshop_name" "hero"
|
||||
"heading" (dict "title" $pageTitle "align" $page.Site.Params.modules.bookshop.hero.align)
|
||||
"breadcrumb" $breadcrumb
|
||||
"background" (dict "backdrop" $page.Site.Params.modules.bookshop.hero.backdrop)
|
||||
"overlay-mode" $page.Site.Params.modules.bookshop.hero.overlayMode
|
||||
"heading" (dict "title" $pageTitle "align" $page.Site.Params.modules.bookshop.hero.align)
|
||||
"breadcrumb" $breadcrumb
|
||||
"background" (dict "backdrop" $page.Site.Params.modules.bookshop.hero.backdrop)
|
||||
"overlay-mode" $page.Site.Params.modules.bookshop.hero.overlayMode
|
||||
"justify" "start"
|
||||
)}}
|
||||
|
||||
{{ if eq $page.Kind "section" }}
|
||||
{{ $blocks = $blocks | append (dict
|
||||
"_bookshop_name" "articles"
|
||||
"hide-empty" false
|
||||
"input" (dict "section" $page.Section "reverse" true "sort" "date" "nested" true)
|
||||
"cols" 3
|
||||
"padding" "0"
|
||||
"paginate" true
|
||||
"scroll" false
|
||||
"hide-empty" false
|
||||
"input" (dict "section" $page.Section "reverse" true "sort" "date" "nested" true)
|
||||
"cols" 3
|
||||
"padding" "0"
|
||||
"paginate" true
|
||||
"scroll" false
|
||||
"justify" "start"
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
|
@@ -26,27 +26,27 @@
|
||||
{{- $class := partial "utilities/GetArgParent" (dict "page" . "arg" "class" "merge" true) -}}
|
||||
{{- $color := partial "utilities/GetArgParent" (dict "page" . "arg" "color") -}}
|
||||
{{- $description := trim .Inner " \r\n" | .Page.RenderString | safeHTML -}}
|
||||
{{- $footer := partial "utilities/GetArgParent" (dict "page" . "arg" "footer-style") | partial "utilities/GetArgParent" (dict "page" . "arg" "footer") | default "none" -}}
|
||||
{{- $gutter := partial "utilities/GetArgParent" (dict "page" . "arg" "gutter") | default "0" -}}
|
||||
{{- $header := partial "utilities/GetArgParent" (dict "page" . "arg" "header-style") | partial "utilities/GetArgParent" (dict "page" . "arg" "header") | default "full" -}}
|
||||
{{- $footer := or (partial "utilities/GetArgParent" (dict "page" . "arg" "footer-style")) (partial "utilities/GetArgParent" (dict "page" . "arg" "footer")) -}}
|
||||
{{- $gutter := partial "utilities/GetArgParent" (dict "page" . "arg" "gutter") -}}
|
||||
{{- $header := or (partial "utilities/GetArgParent" (dict "page" . "arg" "header-style")) (partial "utilities/GetArgParent" (dict "page" . "arg" "header")) -}}
|
||||
{{- $icon := .Get "icon" -}}
|
||||
{{- $iconRounded := partial "utilities/GetArgParent" (dict "page" . "arg" "icon-rounded") | partial "utilities/GetArgParent" (dict "page" . "arg" "iconRounded") | default false -}}
|
||||
{{- $iconRounded := or (partial "utilities/GetArgParent" (dict "page" . "arg" "icon-rounded")) (partial "utilities/GetArgParent" (dict "page" . "arg" "iconRounded")) -}}
|
||||
{{- $align := partial "utilities/GetArgParent" (dict "page" . "arg" "align") | default "start" -}}
|
||||
{{- $style := partial "utilities/GetArgParent" (dict "page" . "arg" "icon-style") | partial "utilities/GetArgParent" (dict "page" . "arg" "style") | default "" -}}
|
||||
{{- $subtle := partial "utilities/GetArgParent" (dict "page" . "arg" "subtle") | default false -}}
|
||||
{{- $style := or (partial "utilities/GetArgParent" (dict "page" . "arg" "icon-style")) (partial "utilities/GetArgParent" (dict "page" . "arg" "style")) -}}
|
||||
{{- $subtle := partial "utilities/GetArgParent" (dict "page" . "arg" "subtle") -}}
|
||||
{{- $loading := .Get "loading" -}}
|
||||
{{- $orientation := partial "utilities/GetArgParent" (dict "page" . "arg" "orientation") | default "stacked" -}}
|
||||
{{- $orientation := partial "utilities/GetArgParent" (dict "page" . "arg" "orientation") -}}
|
||||
{{- $padding := partial "utilities/GetArgParent" (dict "page" . "arg" "padding") | default 3 -}}
|
||||
{{- $ratio := partial "utilities/GetArgParent" (dict "page" . "arg" "ratio") | default "" -}}
|
||||
{{- $ratio := partial "utilities/GetArgParent" (dict "page" . "arg" "ratio") -}}
|
||||
{{- $page := .Page -}}
|
||||
{{- $path := .Get "path" -}}
|
||||
{{- $thumbnail := .Get "thumbnail" -}}
|
||||
{{- $anchor := .Get "anchor" -}}
|
||||
{{- $title := .Get "title" -}}
|
||||
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
|
||||
{{- $linkType := partial "utilities/GetArgParent" (dict "page" . "arg" "link-type") | partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}}
|
||||
{{- $cols := partial "utilities/GetArgParent" (dict "page" . "arg" "cols") | default 3 -}}
|
||||
{{- $scroll := partial "utilities/GetArgParent" (dict "page" . "arg" "scroll") | default false -}}
|
||||
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") -}}
|
||||
{{- $linkType := or (partial "utilities/GetArgParent" (dict "page" . "arg" "link-type")) (partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType")) -}}
|
||||
{{- $cols := partial "utilities/GetArgParent" (dict "page" . "arg" "cols") -}}
|
||||
{{- $scroll := partial "utilities/GetArgParent" (dict "page" . "arg" "scroll") -}}
|
||||
{{- $wrapper := "" -}}
|
||||
|
||||
{{/* Override arguments */}}
|
||||
@@ -66,7 +66,6 @@
|
||||
{{ $wrapper = printf "card-block-%d p-0" $cols }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
{{/* Main code */}}
|
||||
{{ if not $error -}}
|
||||
{{/* Render card */}}
|
||||
|
@@ -54,7 +54,13 @@
|
||||
{{ errorf "Expected '_bookshop_name': %s" .Position -}}
|
||||
{{ $error = true }}
|
||||
{{ else }}
|
||||
{{ $partial = partial "_bookshop/helpers/component.html" (slice $component_name $data "p-1 p-md-4" "m-n1 m-md-n4") }}
|
||||
{{- $padding := partial "utilities/GetPadding.html" -}}
|
||||
{{ $partial = partial "_bookshop/helpers/component.html" (slice
|
||||
$component_name
|
||||
$data
|
||||
(printf "p-1 px-md-%d py-md-%d" $padding.x $padding.y)
|
||||
(printf "m-n1 mx-md-n%d my-md-n%d" $padding.x $padding.y)
|
||||
) }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ errorf "Expected frontmatter codeblock as input: %s" .Position -}}
|
||||
|
@@ -73,7 +73,7 @@
|
||||
</ul>
|
||||
<div class="border-start border-end border-bottom mb-3">
|
||||
<div class="collapse multi-{{ $id }}{{ if $args.show }} show{{ end }} syntax-highlight" id="body-{{ $id }}">
|
||||
{{- highlight (trim $content "\r\n") $lang $args.options -}}
|
||||
{{- highlight (trim $content "\r\n") $lang (or $args.highlightOptions $args.options) -}}
|
||||
</div>
|
||||
<div class="collapse multi-{{ $id }}{{ if not $args.show }} show{{ end }} p-3" id="footer-{{ $id }}">
|
||||
<a class="nav-link active"
|
||||
|
@@ -21,7 +21,7 @@
|
||||
{{- end -}}
|
||||
|
||||
{{/* Initialize local arguments */}}
|
||||
{{- $text := or $args.text $args.title }}
|
||||
{{- $text := trim (or $args.text $args.title) " \n\r" }}
|
||||
{{- if not $text -}}
|
||||
{{- partial "utilities/LogErr.html" (dict
|
||||
"partial" "shortcodes/kbd.html"
|
||||
@@ -36,6 +36,6 @@
|
||||
{{/* Main code */}}
|
||||
{{- if not $error }}
|
||||
<kbd {{ if or $args.color $args.class }}class="{{ with $args.color }}text-bg-{{ . }} {{ end }}{{ $args.class }}"{{ end }}>
|
||||
{{ $text | plainify }}
|
||||
{{- $text -}}
|
||||
</kbd>
|
||||
{{ end -}}
|
||||
|
@@ -30,6 +30,8 @@
|
||||
{{- if isset .Parent.Params "fade" }}{{ $parentFade = partial "utilities/CastBool.html" (.Parent.Get "fade") }}{{ end -}}
|
||||
{{- $fade = or $fade $parentFade -}}
|
||||
{{- $title := or $args.title $args.header -}}
|
||||
{{- $itemID := printf "%s-btn-%d" $parent $id }}
|
||||
{{- $disabledID := cond $args.disabled $itemID "" }}
|
||||
{{- $body := trim .Inner " \r\n" -}}
|
||||
{{- $current := "" -}}
|
||||
|
||||
@@ -49,15 +51,19 @@
|
||||
|
||||
{{- $current := .Parent.Scratch.Get "inner" -}}
|
||||
{{- $titles := .Parent.Scratch.Get "inner-title" -}}
|
||||
{{- $disabled := .Parent.Scratch.Get "inner-disabled" -}}
|
||||
{{- if $args.show }}{{ .Parent.Scratch.Set "inner-show" $itemID }}{{ end -}}
|
||||
{{- if $current -}}
|
||||
{{- .Parent.Scratch.Set "inner" (print $current $output) -}}
|
||||
{{- .Parent.Scratch.Set "inner-title" ($titles | append $title) -}}
|
||||
{{- .Parent.Scratch.Set "inner-disabled" ($disabled | append $disabledID) -}}
|
||||
{{- else -}}
|
||||
{{- .Parent.Scratch.Set "inner" $output -}}
|
||||
{{- .Parent.Scratch.Set "inner-title" (slice $title) -}}
|
||||
{{- .Parent.Scratch.Set "inner-disabled" (slice $disabledID) -}}
|
||||
{{- end }}
|
||||
|
||||
{{- $alternative := partial "assets/nav-item" (dict
|
||||
{{- $alternative := partial "assets/nav-item.html" (dict
|
||||
"page" .Page
|
||||
"id" $id
|
||||
"parent-id" $parent
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user