Compare commits

..

55 Commits

Author SHA1 Message Date
Mark Dumay
408799c3e2 Merge pull request #1528 from gethinode/develop
feat: enable customization of content blocks rendering
2025-08-06 14:27:38 +02:00
Mark Dumay
7b4a46121c Merge branch 'main' into develop 2025-08-06 14:18:01 +02:00
Mark Dumay
7af4c37c88 feat: enable customization of content blocks rendering 2025-08-06 14:17:34 +02:00
Mark Dumay
9cc7174030 Merge pull request #1527 from gethinode/develop
Develop
2025-08-06 09:13:55 +02:00
Mark Dumay
f8de99173f feat: enable global site robots config 2025-08-06 08:58:47 +02:00
Mark Dumay
68f7b466fb fix: improve aria handling of modal messages 2025-08-06 08:58:27 +02:00
github-actions[bot]
3a9a57cc5d Merge pull request #1526 from gethinode/dependabot/npm_and_yarn/stylelint-16.23.0
build(deps-dev): bump stylelint from 16.22.0 to 16.23.0
2025-07-29 14:07:10 +00:00
dependabot[bot]
f3c264ead2 build(deps-dev): bump stylelint from 16.22.0 to 16.23.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.22.0 to 16.23.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.22.0...16.23.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.23.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 13:59:51 +00:00
github-actions[bot]
1dd2971893 Merge pull request #1525 from gethinode/dependabot/npm_and_yarn/eslint-9.32.0
build(deps-dev): bump eslint from 9.31.0 to 9.32.0
2025-07-28 18:04:51 +00:00
dependabot[bot]
7ac6b89ece build(deps-dev): bump eslint from 9.31.0 to 9.32.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.31.0 to 9.32.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.31.0...v9.32.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.32.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 17:59:30 +00:00
github-actions[bot]
458e8fb605 Merge pull request #1524 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.2
build(deps): bump hugo-bin from 0.145.1 to 0.145.2
2025-07-28 17:54:34 +00:00
dependabot[bot]
b268c1bad0 build(deps): bump hugo-bin from 0.145.1 to 0.145.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.1 to 0.145.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.1...v0.145.2)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-version: 0.145.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 17:49:07 +00:00
Mark Dumay
d414c111f4 Merge pull request #1523 from gethinode/develop
Develop
2025-07-23 14:19:07 +02:00
Mark Dumay
62f7ca0c79 fix: add mermaid to scss purge config 2025-07-23 14:05:13 +02:00
Mark Dumay
6ebd03b4db feat: support interactive Mermaid diagrams 2025-07-23 07:39:57 +02:00
Mark Dumay
a3e5b7cbc4 feat: support JavaScript modules 2025-07-23 07:39:35 +02:00
Mark Dumay
7335014a55 docs: improve code layout 2025-07-22 07:28:45 +02:00
Mark Dumay
f43dc337d1 Merge branch 'main' into develop 2025-07-21 16:56:38 +02:00
Mark Dumay
50de255e59 docs: improve layout of scripts file 2025-07-21 10:06:59 +02:00
github-actions[bot]
3166ce9bb3 Merge pull request #1522 from gethinode/dependabot/npm_and_yarn/stylelint-16.22.0
build(deps-dev): bump stylelint from 16.21.1 to 16.22.0
2025-07-18 13:55:05 +00:00
dependabot[bot]
d8c331e35d build(deps-dev): bump stylelint from 16.21.1 to 16.22.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.21.1 to 16.22.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.21.1...16.22.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.22.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 13:48:25 +00:00
github-actions[bot]
cef686243a Merge pull request #1520 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.8
build(deps): bump cssnano-preset-advanced from 7.0.7 to 7.0.8
2025-07-15 13:43:27 +00:00
dependabot[bot]
c4bdbb242c build(deps): bump cssnano-preset-advanced from 7.0.7 to 7.0.8
---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-version: 7.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 13:37:22 +00:00
github-actions[bot]
cb70afd5f0 Merge pull request #1521 from gethinode/dependabot/npm_and_yarn/cssnano-7.1.0
build(deps): bump cssnano from 7.0.7 to 7.1.0
2025-07-15 13:36:10 +00:00
dependabot[bot]
fbf758cced build(deps): bump cssnano from 7.0.7 to 7.1.0
---
updated-dependencies:
- dependency-name: cssnano
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 13:29:32 +00:00
github-actions[bot]
abd69af2f2 Merge pull request #1517 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.1
build(deps): bump hugo-bin from 0.145.0 to 0.145.1
2025-07-14 17:08:49 +00:00
dependabot[bot]
1190a96694 build(deps): bump hugo-bin from 0.145.0 to 0.145.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.0 to 0.145.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.0...v0.145.1)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-version: 0.145.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 17:03:26 +00:00
github-actions[bot]
d310648950 Merge pull request #1518 from gethinode/dependabot/npm_and_yarn/semantic-release-24.2.7
build(deps-dev): bump semantic-release from 24.2.6 to 24.2.7
2025-07-14 17:02:09 +00:00
dependabot[bot]
8c7fea7670 build(deps-dev): bump semantic-release from 24.2.6 to 24.2.7
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 24.2.6 to 24.2.7.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v24.2.6...v24.2.7)

---
updated-dependencies:
- dependency-name: semantic-release
  dependency-version: 24.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:56:39 +00:00
github-actions[bot]
9e5d786ca3 Merge pull request #1516 from gethinode/dependabot/npm_and_yarn/eslint-9.31.0
build(deps-dev): bump eslint from 9.30.1 to 9.31.0
2025-07-14 16:55:41 +00:00
dependabot[bot]
2bfb9d6991 build(deps-dev): bump eslint from 9.30.1 to 9.31.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.30.1 to 9.31.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.30.1...v9.31.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.31.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:50:27 +00:00
Mark Dumay
294f1ae91d fix: correct init of stack when articles use scroll style 2025-07-12 11:47:18 +02:00
Mark Dumay
8f5f1caef6 Merge pull request #1514 from gethinode/develop
fix: improve handling of generated content pages
2025-07-12 11:21:25 +02:00
Mark Dumay
d342496336 Merge branch 'main' into develop 2025-07-12 10:15:53 +02:00
Mark Dumay
24c5ecda82 Merge pull request #1512 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-07-12 10:15:07 +02:00
Mark Dumay
dbf3be5528 fix: improve handling of generated content pages 2025-07-12 10:13:45 +02:00
markdumay
d4e516065d fix: update Hugo module dependencies 2025-07-10 03:32:00 +00:00
github-actions[bot]
5b2b996948 Merge pull request #1510 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.0
build(deps): bump hugo-bin from 0.144.9 to 0.145.0
2025-07-09 13:28:23 +00:00
dependabot[bot]
33056742af build(deps): bump hugo-bin from 0.144.9 to 0.145.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.144.9 to 0.145.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.144.9...v0.145.0)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-version: 0.145.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:18:03 +00:00
Mark Dumay
8fa4b251b1 Merge pull request #1505 from gethinode/develop
Develop
2025-07-08 10:53:36 +02:00
Mark Dumay
dcbbf2a55a fix: update Hugo modules 2025-07-08 10:44:06 +02:00
Mark Dumay
c7a4edee1f Merge branch 'main' into develop 2025-07-08 10:34:49 +02:00
Mark Dumay
f69f536dca fix: use go.mod for version info instead of package.json
The package.json no longer contains version info, as it is locked due semantic release.
2025-07-08 10:34:10 +02:00
Mark Dumay
4bd20f6bb0 Merge pull request #1504 from gethinode/develop
Develop
2025-07-08 07:41:00 +02:00
Mark Dumay
6db9cbec0e Merge branch 'main' into develop 2025-07-08 07:31:22 +02:00
Mark Dumay
0170417ddc fix: correct responsive behavior of cards content block 2025-07-08 07:30:27 +02:00
Mark Dumay
3eb2e36429 fix: standardize bottom padding of section title 2025-07-08 07:29:46 +02:00
Mark Dumay
773b365b1c Merge pull request #1503 from gethinode/develop
Develop
2025-07-08 06:58:46 +02:00
Mark Dumay
550945f0f6 fix: correct arguments of panels content block 2025-07-08 06:48:09 +02:00
Mark Dumay
b60ad8fd0b docs: drop npm badge 2025-07-08 06:41:07 +02:00
Mark Dumay
38d1ddb86d Merge pull request #1502 from gethinode/develop
Develop
2025-07-08 06:39:23 +02:00
Mark Dumay
17287492e5 fix: adjust padding of section title 2025-07-08 06:31:12 +02:00
Mark Dumay
992d724a6f Merge branch 'main' into develop 2025-07-08 06:17:21 +02:00
Mark Dumay
0a5e8bed92 fix: standardize padding of content blocks 2025-07-08 06:07:14 +02:00
Mark Dumay
a387adca66 feat: add support for configurable icon style to video message 2025-07-08 06:06:28 +02:00
38 changed files with 829 additions and 652 deletions

View File

@@ -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>

6
assets/js/modal.js Normal file
View File

@@ -0,0 +1,6 @@
document.addEventListener('hide.bs.modal', function (event) {
// Remove the focus from the active element
if (document.activeElement) {
document.activeElement.blur()
}
})

View File

@@ -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,10 +64,14 @@
{{ $paginate = false }}
{{ end }}
<!-- Main code -->
{{/* Main code */}}
{{ if not $error }}
{{ if or (gt (len $pages) 0) (not $args.hideEmpty) }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
{{- 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 }}
@@ -80,7 +88,7 @@
)}}
{{ if $args.scroll }}
{{ $partial := "assets/stack.html" }}
{{ $partial = "assets/stack.html" }}
{{ $params = merge $params (dict
"header-style" "none"
"body-style" "title"
@@ -107,7 +115,6 @@
{{ if gt (len $pages) 0 }}
{{ partial $partial $params }}
{{ else }}
{{- $padding := partial "utilities/GetPadding.html" -}}
<p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p>
{{ end }}
{{ end }}

View File

@@ -21,6 +21,7 @@
{{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $list := slice }}
@@ -34,13 +35,20 @@
) }}
{{ end}}
{{/* Main code */}}
{{ if not $error }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
{{- 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 (or $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
@@ -53,10 +61,12 @@
"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 (or $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

View File

@@ -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 "justify" $args.justify) -}}
{{- 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 -}}

View File

@@ -16,7 +16,6 @@ blueprint:
align:
width:
cols:
icon-rounded:
padding:
background:
backdrop:
@@ -30,6 +29,7 @@ blueprint:
content:
tab-type:
ratio:
responsive:
class:
width:
justify:

View File

@@ -21,6 +21,7 @@
{{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $list := slice }}
@@ -60,8 +61,13 @@
{{ $titles = $titles | append $element.title }}
{{ end}}
{{/* Main code */}}
{{ if not $error }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "justify" $args.justify) -}}
{{- 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)

View File

@@ -24,6 +24,7 @@ blueprint:
link-type:
orientation:
icon-rounded:
icon-style:
video:
provider:
account:

View File

@@ -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 "justify" $args.justify) -}}
{{- 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>

View File

@@ -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]]

View File

@@ -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',

View File

@@ -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.

View File

@@ -129,7 +129,7 @@
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
purge = false
purge = true
# toml-docs-end theme-colors
[schema]
@@ -169,3 +169,6 @@
[modules.cookieyes]
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
[modules.mermaid]
elk = true

View File

@@ -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',

View File

@@ -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"

View File

@@ -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

View File

@@ -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
)

View File

@@ -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=

View File

@@ -195,6 +195,10 @@
"container",
"container-fluid",
"container-xxl",
"control-btn",
"control-btn-expand",
"control-btn-zoom-in",
"control-btn-zoom-out",
"cta",
"custom",
"d-block",
@@ -212,6 +216,9 @@
"d-sm-block",
"d-sm-none",
"data-table",
"diagram-container",
"diagram-controls",
"diagram-wrapper",
"disabled",
"display-1",
"display-4",
@@ -236,9 +243,6 @@
"fa-activity",
"fa-address-card",
"fa-angle-left",
"fa-angle-right",
"fa-angles-left",
"fa-angles-right",
"fa-arrow-left",
"fa-arrow-right",
"fa-bootstrap",
@@ -251,6 +255,7 @@
"fa-divide",
"fa-docker",
"fa-ellipsis",
"fa-expand",
"fa-face-frown",
"fa-facebook",
"fa-fluid",
@@ -264,9 +269,12 @@
"fa-house",
"fa-info",
"fa-inverse",
"fa-lg",
"fa-link",
"fa-linkedin",
"fa-magnifying-glass",
"fa-magnifying-glass-minus",
"fa-magnifying-glass-plus",
"fa-medium",
"fa-moon",
"fa-rocket",
@@ -283,6 +291,7 @@
"fa-whatsapp",
"fa-wrapper",
"fa-x-twitter",
"fa-xl",
"fa-xs",
"fab",
"fade",
@@ -354,7 +363,6 @@
"lottie-animation",
"m-0",
"m-auto",
"m-md-n4",
"m-n1",
"main",
"main-nav-toggler",
@@ -387,11 +395,13 @@
"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",
@@ -423,7 +433,6 @@
"p-2",
"p-3",
"p-4",
"p-md-4",
"page-item",
"page-link",
"pagination",
@@ -458,6 +467,7 @@
"px-2",
"px-3",
"px-4",
"px-md-4",
"px-xxl-0",
"py-%!d(string=0)",
"py-1",
@@ -465,6 +475,7 @@
"py-3",
"py-4",
"py-md-1",
"py-md-4",
"ratio",
"ratio-16x9",
"releases",
@@ -631,16 +642,11 @@
"docs",
"documentation",
"dropdown-nav-0",
"dropdown-panel-238964a04aea6f8244486a01aed3980e",
"dropdown-panel-2e7f06bd7d5712159e2b7e5ac229ee72",
"dropdown-panel-4ebb6a36beb73ac83f451cd6ec26838d",
"dropdown-panel-4fdf233f48f3ac0b803d8f61d31061f8",
"dropdown-panel-614a2684d4bdf8e5fe22a20d7d9c0a35",
"dropdown-panel-6d6a7601d2a9e04ae94f19b456563e16",
"dropdown-panel-741ce6efb5ef84856ecec7bb8244f44d",
"dropdown-panel-81fe53c7c723ca3d94d01401dc7e00c0",
"dropdown-panel-a446e03ac74b582fa6a24fefbc8dd1bf",
"dropdown-panel-c652a97140bc598c5580e01bdc444e65",
"dropdown-panel-1fc243c4b5ad24b4cffa6cf051aa6720",
"dropdown-panel-614a5456d60a677001aadb3af61a05e2",
"dropdown-panel-bcd9ad2a497bbdf189c8730eb6b9b56e",
"dropdown-panel-d0230f64802bba090b5743302d1e23f1",
"dropdown-panel-da2692e92f2f512a892fe75378113ea4",
"elements-type",
"entity-relationship-diagram",
"example",
@@ -658,24 +664,16 @@
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"faq-7533b3556b81a10b7e52b91bbf81d758",
"faq-7533b3556b81a10b7e52b91bbf81d758-heading-faq-7533b3556b81a10b7e52b91bbf81d758",
"faq-7533b3556b81a10b7e52b91bbf81d758-item-0",
"faq-7533b3556b81a10b7e52b91bbf81d758-item-1",
"faq-7533b3556b81a10b7e52b91bbf81d758-item-2",
"faq-f9bb3b20a95e205fbad9e433c2899cbe",
"faq-f9bb3b20a95e205fbad9e433c2899cbe-heading-faq-f9bb3b20a95e205fbad9e433c2899cbe",
"faq-f9bb3b20a95e205fbad9e433c2899cbe-item-0",
"faq-f9bb3b20a95e205fbad9e433c2899cbe-item-1",
"faq-f9bb3b20a95e205fbad9e433c2899cbe-item-2",
"faq-5ea6070f0b28af63133c8703bfe706cb",
"faq-5ea6070f0b28af63133c8703bfe706cb-heading-faq-5ea6070f0b28af63133c8703bfe706cb",
"faq-5ea6070f0b28af63133c8703bfe706cb-item-0",
"faq-5ea6070f0b28af63133c8703bfe706cb-item-1",
"faq-5ea6070f0b28af63133c8703bfe706cb-item-2",
"fas-1",
"fas-2",
"fas-3",
"fas-address-card",
"fas-angle-left",
"fas-angle-right",
"fas-angles-left",
"fas-angles-right",
"fas-arrow-left",
"fas-arrow-right",
"fas-chevron-right",
@@ -686,6 +684,7 @@
"fas-code",
"fas-divide",
"fas-ellipsis",
"fas-expand",
"fas-globe",
"fas-grip",
"fas-h",
@@ -694,6 +693,8 @@
"fas-info",
"fas-link",
"fas-magnifying-glass",
"fas-magnifying-glass-minus",
"fas-magnifying-glass-plus",
"fas-moon",
"fas-rocket",
"fas-share-nodes",
@@ -759,16 +760,11 @@
"nav-0-btn-1",
"nav-0-btn-2",
"nav-nav-0",
"nav-panel-238964a04aea6f8244486a01aed3980e",
"nav-panel-2e7f06bd7d5712159e2b7e5ac229ee72",
"nav-panel-4ebb6a36beb73ac83f451cd6ec26838d",
"nav-panel-4fdf233f48f3ac0b803d8f61d31061f8",
"nav-panel-614a2684d4bdf8e5fe22a20d7d9c0a35",
"nav-panel-6d6a7601d2a9e04ae94f19b456563e16",
"nav-panel-741ce6efb5ef84856ecec7bb8244f44d",
"nav-panel-81fe53c7c723ca3d94d01401dc7e00c0",
"nav-panel-a446e03ac74b582fa6a24fefbc8dd1bf",
"nav-panel-c652a97140bc598c5580e01bdc444e65",
"nav-panel-1fc243c4b5ad24b4cffa6cf051aa6720",
"nav-panel-614a5456d60a677001aadb3af61a05e2",
"nav-panel-bcd9ad2a497bbdf189c8730eb6b9b56e",
"nav-panel-d0230f64802bba090b5743302d1e23f1",
"nav-panel-da2692e92f2f512a892fe75378113ea4",
"navbar",
"navbar-0-collapse",
"navbar-mode",
@@ -777,66 +773,36 @@
"navigation",
"notification",
"overview",
"panel-238964a04aea6f8244486a01aed3980e-0",
"panel-238964a04aea6f8244486a01aed3980e-1",
"panel-238964a04aea6f8244486a01aed3980e-2",
"panel-238964a04aea6f8244486a01aed3980e-btn-0",
"panel-238964a04aea6f8244486a01aed3980e-btn-1",
"panel-238964a04aea6f8244486a01aed3980e-btn-2",
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-0",
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-1",
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-2",
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-btn-0",
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-btn-1",
"panel-2e7f06bd7d5712159e2b7e5ac229ee72-btn-2",
"panel-4ebb6a36beb73ac83f451cd6ec26838d-0",
"panel-4ebb6a36beb73ac83f451cd6ec26838d-1",
"panel-4ebb6a36beb73ac83f451cd6ec26838d-2",
"panel-4ebb6a36beb73ac83f451cd6ec26838d-btn-0",
"panel-4ebb6a36beb73ac83f451cd6ec26838d-btn-1",
"panel-4ebb6a36beb73ac83f451cd6ec26838d-btn-2",
"panel-4fdf233f48f3ac0b803d8f61d31061f8-0",
"panel-4fdf233f48f3ac0b803d8f61d31061f8-1",
"panel-4fdf233f48f3ac0b803d8f61d31061f8-2",
"panel-4fdf233f48f3ac0b803d8f61d31061f8-btn-0",
"panel-4fdf233f48f3ac0b803d8f61d31061f8-btn-1",
"panel-4fdf233f48f3ac0b803d8f61d31061f8-btn-2",
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-0",
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-1",
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-2",
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-btn-0",
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-btn-1",
"panel-614a2684d4bdf8e5fe22a20d7d9c0a35-btn-2",
"panel-6d6a7601d2a9e04ae94f19b456563e16-0",
"panel-6d6a7601d2a9e04ae94f19b456563e16-1",
"panel-6d6a7601d2a9e04ae94f19b456563e16-2",
"panel-6d6a7601d2a9e04ae94f19b456563e16-btn-0",
"panel-6d6a7601d2a9e04ae94f19b456563e16-btn-1",
"panel-6d6a7601d2a9e04ae94f19b456563e16-btn-2",
"panel-741ce6efb5ef84856ecec7bb8244f44d-0",
"panel-741ce6efb5ef84856ecec7bb8244f44d-1",
"panel-741ce6efb5ef84856ecec7bb8244f44d-2",
"panel-741ce6efb5ef84856ecec7bb8244f44d-btn-0",
"panel-741ce6efb5ef84856ecec7bb8244f44d-btn-1",
"panel-741ce6efb5ef84856ecec7bb8244f44d-btn-2",
"panel-81fe53c7c723ca3d94d01401dc7e00c0-0",
"panel-81fe53c7c723ca3d94d01401dc7e00c0-1",
"panel-81fe53c7c723ca3d94d01401dc7e00c0-2",
"panel-81fe53c7c723ca3d94d01401dc7e00c0-btn-0",
"panel-81fe53c7c723ca3d94d01401dc7e00c0-btn-1",
"panel-81fe53c7c723ca3d94d01401dc7e00c0-btn-2",
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-0",
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-1",
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-2",
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-btn-0",
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-btn-1",
"panel-a446e03ac74b582fa6a24fefbc8dd1bf-btn-2",
"panel-c652a97140bc598c5580e01bdc444e65-0",
"panel-c652a97140bc598c5580e01bdc444e65-1",
"panel-c652a97140bc598c5580e01bdc444e65-2",
"panel-c652a97140bc598c5580e01bdc444e65-btn-0",
"panel-c652a97140bc598c5580e01bdc444e65-btn-1",
"panel-c652a97140bc598c5580e01bdc444e65-btn-2",
"panel-1fc243c4b5ad24b4cffa6cf051aa6720-0",
"panel-1fc243c4b5ad24b4cffa6cf051aa6720-1",
"panel-1fc243c4b5ad24b4cffa6cf051aa6720-2",
"panel-1fc243c4b5ad24b4cffa6cf051aa6720-btn-0",
"panel-1fc243c4b5ad24b4cffa6cf051aa6720-btn-1",
"panel-1fc243c4b5ad24b4cffa6cf051aa6720-btn-2",
"panel-614a5456d60a677001aadb3af61a05e2-0",
"panel-614a5456d60a677001aadb3af61a05e2-1",
"panel-614a5456d60a677001aadb3af61a05e2-2",
"panel-614a5456d60a677001aadb3af61a05e2-btn-0",
"panel-614a5456d60a677001aadb3af61a05e2-btn-1",
"panel-614a5456d60a677001aadb3af61a05e2-btn-2",
"panel-bcd9ad2a497bbdf189c8730eb6b9b56e-0",
"panel-bcd9ad2a497bbdf189c8730eb6b9b56e-1",
"panel-bcd9ad2a497bbdf189c8730eb6b9b56e-2",
"panel-bcd9ad2a497bbdf189c8730eb6b9b56e-btn-0",
"panel-bcd9ad2a497bbdf189c8730eb6b9b56e-btn-1",
"panel-bcd9ad2a497bbdf189c8730eb6b9b56e-btn-2",
"panel-d0230f64802bba090b5743302d1e23f1-0",
"panel-d0230f64802bba090b5743302d1e23f1-1",
"panel-d0230f64802bba090b5743302d1e23f1-2",
"panel-d0230f64802bba090b5743302d1e23f1-btn-0",
"panel-d0230f64802bba090b5743302d1e23f1-btn-1",
"panel-d0230f64802bba090b5743302d1e23f1-btn-2",
"panel-da2692e92f2f512a892fe75378113ea4-0",
"panel-da2692e92f2f512a892fe75378113ea4-1",
"panel-da2692e92f2f512a892fe75378113ea4-2",
"panel-da2692e92f2f512a892fe75378113ea4-btn-0",
"panel-da2692e92f2f512a892fe75378113ea4-btn-1",
"panel-da2692e92f2f512a892fe75378113ea4-btn-2",
"persona",
"pie-chart",
"pills",
@@ -852,6 +818,7 @@
"second-panel",
"security",
"sequence-diagram",
"shortcode-with-controls-and-frontmatter",
"spinner",
"stacked-cards-with-an-icon",
"stacked-cards-with-an-image",

View 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 -}}

25
go.mod
View File

@@ -5,20 +5,17 @@ go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/cloudcannon/bookshop/hugo/v3 v3.16.3 // 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.11.0 // 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
)

34
go.sum
View File

@@ -36,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=
@@ -52,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=
@@ -110,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=
@@ -162,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=
@@ -190,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=
@@ -216,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=
@@ -242,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=
@@ -300,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=
@@ -344,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=
@@ -464,6 +492,12 @@ github.com/gethinode/mod-utils/v4 v4.10.0 h1:CfVa57r52wXd0bUqSJlpux2cloHQNBBe13a
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=

View File

@@ -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 := "" -}}

View File

@@ -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 }}

View File

@@ -85,8 +85,8 @@
"mode" $args.mode
}}
<!-- Main code -->
<div class="text-{{ $args.heading.align }}{{ with $justify }} {{ . }}{{ end }}{{ with $args.class }} {{ . }}{{ end }}{{ with $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">

View File

@@ -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 -}}
@@ -105,11 +106,12 @@
"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 ">

View File

@@ -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 -}}

View File

@@ -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 -}}

View File

@@ -46,7 +46,7 @@
{{ if eq .Kind "404" -}}
<meta name="robots" content="noindex, follow">
{{ else }}
{{ with or .Params.robots .Params.meta.robots -}}
{{ with or .Params.robots .Params.meta.robots .Site.Params.meta.robots -}}
<meta name="robots" content="{{ . }}">
{{ else -}}
<meta name="robots" content="index, follow">

View File

@@ -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) -}}

View File

@@ -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 -}}

View File

@@ -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")) -}}

View File

@@ -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 -}}

View File

@@ -23,8 +23,9 @@
{{- /* Define main breakpoint */ -}}
{{- $.Scratch.Set "breakpoint" (partialCached "utilities/GetBreakpoint.html" .) }}
{{- /* Render blocks and establish overlay mode */ -}}
{{- /* Prepare content blocks and establish overlay mode */ -}}
{{ $blocks := partial "utilities/RenderContentBlocks.html" (dict "page" . "blocks" .Params.content_blocks) }}
{{ $.Scratch.Set "blocks" $blocks }}
{{ $overlayMode := $.Scratch.Get "overlayMode" }}
{{- /* Define base URL */ -}}
@@ -51,7 +52,6 @@
-}}
<div id="container" class="main">
{{ $blocks }}
{{ block "main" . }}{{ end -}}
</div>

View File

@@ -1,5 +1,8 @@
{{ define "main" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{- $blocks := $.Scratch.Get "blocks" -}}
{{ $blocks | safeHTML }}
<div class="container-xxl flex-fill p-4 px-xxl-0">
{{ .Render "body" }}

View File

@@ -1,4 +1,5 @@
{{ define "main" -}}
{{- $blocks := $.Scratch.Get "blocks" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{- $sidebar := partial "page/sidebar" . -}}
{{- $toc := partial "page/panel-toc" . -}}
@@ -15,6 +16,8 @@
</div>
{{ end }}
{{ $blocks | safeHTML }}
<div class="container-xxl flex-fill p-4 px-xxl-0">
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">

695
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -73,9 +73,9 @@
"dependencies": {
"@fullhuman/postcss-purgecss": "^7.0.2",
"autoprefixer": "^10.4.21",
"cssnano": "^7.0.7",
"cssnano-preset-advanced": "^7.0.7",
"hugo-bin": "0.144.9",
"cssnano": "^7.1.0",
"cssnano-preset-advanced": "^7.0.8",
"hugo-bin": "0.145.2",
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
@@ -87,7 +87,7 @@
"commitizen": "^4.3.1",
"cpy-cli": "^5.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.30.1",
"eslint": "^9.32.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.2",
@@ -96,9 +96,9 @@
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.6",
"semantic-release": "^24.2.7",
"shx": "^0.4.0",
"stylelint": "^16.21.1",
"stylelint": "^16.23.0",
"stylelint-config-standard-scss": "^15.0.1"
},
"optionalDependencies": {