mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
36 Commits
v0.27.0-al
...
v0.27.0-al
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d48fb1a300 | ||
![]() |
f2aa9d2661 | ||
![]() |
d721e1cfc2 | ||
![]() |
7f7bf2152c | ||
![]() |
a9543de1e7 | ||
![]() |
39e4073837 | ||
![]() |
d2782349d5 | ||
![]() |
fe97815460 | ||
![]() |
7bcaa69d5b | ||
![]() |
30ae3f6b3c | ||
![]() |
6540e11fa9 | ||
![]() |
14f2145239 | ||
![]() |
856a0aed08 | ||
![]() |
5c6b91f1ce | ||
![]() |
152b8ca060 | ||
![]() |
0f8870fed0 | ||
![]() |
742ae6784b | ||
![]() |
ce4c8c0a7c | ||
![]() |
40de449fed | ||
![]() |
4c27864248 | ||
![]() |
3efb2b7451 | ||
![]() |
721e222849 | ||
![]() |
77b9d62d76 | ||
![]() |
efe3c947c2 | ||
![]() |
beee2e40e0 | ||
![]() |
895d606175 | ||
![]() |
9a17df96f3 | ||
![]() |
d2e1a1678a | ||
![]() |
d8451e2699 | ||
![]() |
f98ab74905 | ||
![]() |
6e453ea2ab | ||
![]() |
d6ca890c80 | ||
![]() |
46aecfe65a | ||
![]() |
496c07ff7e | ||
![]() |
3a63f4fad7 | ||
![]() |
bbf99507d6 |
@@ -123,7 +123,7 @@ Hinode is inspired by the following themes:
|
|||||||
## Donate
|
## Donate
|
||||||
|
|
||||||
<!-- markdownlint-disable MD033 -->
|
<!-- markdownlint-disable MD033 -->
|
||||||
<a href="https://www.buymeacoffee.com/markdumay" target="_blank" rel="noopener noreferrer"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
|
<a href="https://www.buymeacoffee.com/markdumay" target="_blank" rel="noopener noreferrer nofollow"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
|
||||||
<!-- markdownlint-enable MD033 -->
|
<!-- markdownlint-enable MD033 -->
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
@@ -11,5 +11,5 @@
|
|||||||
title = "Follow me"
|
title = "Follow me"
|
||||||
caption = "I work on everything coding and tweet developer memes"
|
caption = "I work on everything coding and tweet developer memes"
|
||||||
[en.params.footer]
|
[en.params.footer]
|
||||||
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
|
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer nofollow'>CC BY-NC-SA 4.0</a>)."
|
||||||
# toml-docs-end lang-param
|
# toml-docs-end lang-param
|
||||||
|
@@ -10,7 +10,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
|
|||||||
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
||||||
},
|
},
|
||||||
dynamicAttributes: ['data-bs-theme'],
|
dynamicAttributes: ['data-bs-theme'],
|
||||||
safelist: [
|
safelist: ['was-validated',
|
||||||
...whitelister([
|
...whitelister([
|
||||||
'./assets/scss/components/_clipboard.scss',
|
'./assets/scss/components/_clipboard.scss',
|
||||||
'./assets/scss/components/_command.scss',
|
'./assets/scss/components/_command.scss',
|
||||||
|
@@ -11,7 +11,7 @@ tagline = "A Hugo Theme"
|
|||||||
title = "Follow me"
|
title = "Follow me"
|
||||||
caption = "I work on everything coding and tweet developer memes"
|
caption = "I work on everything coding and tweet developer memes"
|
||||||
[en.params.footer]
|
[en.params.footer]
|
||||||
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
|
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer nofollow'>CC BY-NC-SA 4.0</a>)."
|
||||||
# toml-docs-end lang-param
|
# toml-docs-end lang-param
|
||||||
[en.params.sections.blog]
|
[en.params.sections.blog]
|
||||||
reference = "More Posts"
|
reference = "More Posts"
|
||||||
@@ -30,7 +30,7 @@ tagline = "Een Hugo Thema"
|
|||||||
title = "Volg mij"
|
title = "Volg mij"
|
||||||
caption = "Ik doe aan programmeren en tweet memes"
|
caption = "Ik doe aan programmeren en tweet memes"
|
||||||
[nl.params.footer]
|
[nl.params.footer]
|
||||||
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
|
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer nofollow'>CC BY-NC-SA 4.0</a>)."
|
||||||
[nl.params.sections.blog]
|
[nl.params.sections.blog]
|
||||||
reference = "Meer artikelen"
|
reference = "Meer artikelen"
|
||||||
[nl.params.sections.projects]
|
[nl.params.sections.projects]
|
||||||
@@ -49,7 +49,7 @@ tagline = "Un thème Hugo"
|
|||||||
title = "Suivez-moi"
|
title = "Suivez-moi"
|
||||||
caption = "Je code et je tweet des mèmes de développeurs."
|
caption = "Je code et je tweet des mèmes de développeurs."
|
||||||
[fr.params.footer]
|
[fr.params.footer]
|
||||||
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
|
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer nofollow'>CC BY-NC-SA 4.0</a>)."
|
||||||
[fr.params.sections.blog]
|
[fr.params.sections.blog]
|
||||||
reference = "Plus d'articles"
|
reference = "Plus d'articles"
|
||||||
[fr.params.sections.projects]
|
[fr.params.sections.projects]
|
||||||
|
@@ -10,7 +10,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
|
|||||||
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
||||||
},
|
},
|
||||||
dynamicAttributes: ['data-bs-theme'],
|
dynamicAttributes: ['data-bs-theme'],
|
||||||
safelist: [
|
safelist: ['was-validated',
|
||||||
...whitelister([
|
...whitelister([
|
||||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_clipboard.scss',
|
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_clipboard.scss',
|
||||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_command.scss',
|
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_command.scss',
|
||||||
|
@@ -14,7 +14,7 @@ As an example, the following shortcode displays an image with rounded corners an
|
|||||||
|
|
||||||
<!-- markdownlint-disable MD037 -->
|
<!-- markdownlint-disable MD037 -->
|
||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* image src="https://res.cloudinary.com/demo/image/upload/dog.webp"
|
{{</* image src="https://res.cloudinary.com/demo/dog.webp"
|
||||||
ratio="21x9" caption="Cloudinary image" class="rounded" plain=true */>}}
|
ratio="21x9" caption="Cloudinary image" class="rounded" plain=true */>}}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
2
go.mod
2
go.mod
@@ -11,7 +11,7 @@ require (
|
|||||||
github.com/gethinode/mod-leaflet v1.1.1 // indirect
|
github.com/gethinode/mod-leaflet v1.1.1 // indirect
|
||||||
github.com/gethinode/mod-lottie v1.5.8 // indirect
|
github.com/gethinode/mod-lottie v1.5.8 // indirect
|
||||||
github.com/gethinode/mod-simple-datatables v1.0.10 // indirect
|
github.com/gethinode/mod-simple-datatables v1.0.10 // indirect
|
||||||
github.com/gethinode/mod-utils/v2 v2.7.0 // indirect
|
github.com/gethinode/mod-utils/v2 v2.8.0 // indirect
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
||||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
||||||
)
|
)
|
||||||
|
2
go.sum
2
go.sum
@@ -280,6 +280,8 @@ github.com/gethinode/mod-utils/v2 v2.6.0 h1:r7l/E6fbPZHnjFyJY4T/xzekd7Xp3czNVCMg
|
|||||||
github.com/gethinode/mod-utils/v2 v2.6.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
github.com/gethinode/mod-utils/v2 v2.6.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||||
github.com/gethinode/mod-utils/v2 v2.7.0 h1:5CKygjsc7X4dFtb90ihWyDVvUp2iqoJE8C7M+jeWYus=
|
github.com/gethinode/mod-utils/v2 v2.7.0 h1:5CKygjsc7X4dFtb90ihWyDVvUp2iqoJE8C7M+jeWYus=
|
||||||
github.com/gethinode/mod-utils/v2 v2.7.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
github.com/gethinode/mod-utils/v2 v2.7.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.8.0 h1:BdB+onItuO29g5ZLEz/HEwq9c4xBEM4GGqQc3kQ++js=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.8.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
|
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-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
||||||
|
@@ -9,10 +9,18 @@
|
|||||||
}}
|
}}
|
||||||
|
|
||||||
{{ if eq .Type "alert" }}
|
{{ if eq .Type "alert" }}
|
||||||
<blockquote class="blockquote-alert blockquote-alert-{{ .AlertType }}">
|
{{ $alert := .AlertType }}
|
||||||
|
{{ $icon := (index $icons $alert) }}
|
||||||
|
|
||||||
|
<blockquote class="blockquote-alert blockquote-alert-{{ $alert }}">
|
||||||
<p class="blockquote-alert-heading">
|
<p class="blockquote-alert-heading">
|
||||||
{{ partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" (index $icons .AlertType))) }}
|
{{ with $icon }}
|
||||||
{{ or (i18n .AlertType) (title .AlertType) }}
|
{{ partial "assets/icon.html" (dict "icon" (printf "%s fa-fw" .)) }}
|
||||||
|
{{ or (i18n $alert) (title $alert) }}
|
||||||
|
{{ else }}
|
||||||
|
{{ title $alert }}
|
||||||
|
{{ warnf "Unsupported alert type: '%s'. See %s" $alert $.Position }}
|
||||||
|
{{ end }}
|
||||||
</p>
|
</p>
|
||||||
{{ trim .Text "\n\r" | safeHTML }}
|
{{ trim .Text "\n\r" | safeHTML }}
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- /* Initialize module configuration */ -}}
|
{{- /* Initialize module configuration */ -}}
|
||||||
{{- $modules := partial "utilities/InitModules.html" (dict "page" .) -}}
|
{{- $modules := partialCached "utilities/InitModules.html" . -}}
|
||||||
{{- $.Scratch.Set "modules" $modules -}}
|
{{- $.Scratch.Set "modules" $modules -}}
|
||||||
|
|
||||||
{{- $fullCover := or (or (and .IsHome .Site.Params.home.fullCover) .Page.Params.fullCover) .Site.Params.main.footerBelowFold }}
|
{{- $fullCover := or (or (and .IsHome .Site.Params.home.fullCover) .Page.Params.fullCover) .Site.Params.main.footerBelowFold }}
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
{{- $.Scratch.Set "sections" $sections -}}
|
{{- $.Scratch.Set "sections" $sections -}}
|
||||||
|
|
||||||
{{- /* Define main breakpoint */ -}}
|
{{- /* Define main breakpoint */ -}}
|
||||||
{{- $.Scratch.Set "breakpoint" (partial "utilities/GetBreakpoint.html") }}
|
{{- $.Scratch.Set "breakpoint" (partialCached "utilities/GetBreakpoint.html" .) }}
|
||||||
|
|
||||||
{{- /* Define base URL */ -}}
|
{{- /* Define base URL */ -}}
|
||||||
{{ $lang := site.LanguageCode | default site.Language.Lang }}
|
{{ $lang := site.LanguageCode | default site.Language.Lang }}
|
||||||
|
@@ -39,13 +39,22 @@
|
|||||||
{{ $element := "" }}
|
{{ $element := "" }}
|
||||||
|
|
||||||
<!-- Split path between upload dir and sub dir -->
|
<!-- Split path between upload dir and sub dir -->
|
||||||
{{ $newdir := partial "utilities/URLJoin.html" (dict "base" (index (split $dir "upload") 0) "path" "upload") }}
|
{{ $dir = path.Clean (trim .dir "/") }}
|
||||||
{{ $file = partial "utilities/URLJoin.html" (dict "base" (index (split $dir "upload") 1) "path" $file) }}
|
{{ $api := "image/upload" }}
|
||||||
{{ $dir = $newdir }}
|
|
||||||
|
<!-- Define the account, optional API segment, and directory -->
|
||||||
|
{{ $elements := split $dir "/" }}
|
||||||
|
{{ $account := index $elements 0 }}
|
||||||
|
{{ $operation := "" }}
|
||||||
|
{{ if and (in (slice "image" "video") (index $elements 1)) (eq (index $elements 2) "upload") }}
|
||||||
|
{{ $api = delimit (slice | append (index $elements 1) | append (index $elements 2)) "/" }}
|
||||||
|
{{ $dir = delimit (after 3 $elements) "/" }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $dir = delimit (after 1 $elements) "/" }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<!-- Generate image URL -->
|
<!-- Generate image URL -->
|
||||||
{{ if not $error }}
|
{{ if not $error }}
|
||||||
{{ $operation := "" }}
|
|
||||||
{{ if $format }}
|
{{ if $format }}
|
||||||
{{ $operation = printf "%s,h_%d,w_%d" $transform $height $width }}
|
{{ $operation = printf "%s,h_%d,w_%d" $transform $height $width }}
|
||||||
{{ $file = printf "%s.%s" (strings.TrimSuffix (path.Ext $file) $file) $format }}
|
{{ $file = printf "%s.%s" (strings.TrimSuffix (path.Ext $file) $file) $format }}
|
||||||
@@ -55,7 +64,7 @@
|
|||||||
{{ with $anchor }}
|
{{ with $anchor }}
|
||||||
{{ $operation = printf "%s,g_%s" $operation . }}
|
{{ $operation = printf "%s,g_%s" $operation . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- $element = partial "utilities/URLJoin.html" (dict "elements" (slice "https://" $host $dir $operation $file)) -}}
|
{{- $element = partial "utilities/URLJoin.html" (dict "elements" (slice "https://" $host $account $api $operation $dir $file)) -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ return $element }}
|
{{ return $element }}
|
||||||
|
@@ -64,7 +64,7 @@
|
|||||||
{{- if $isExternal -}}
|
{{- if $isExternal -}}
|
||||||
{{- if $tab -}}
|
{{- if $tab -}}
|
||||||
{{- $target = "_blank" -}}
|
{{- $target = "_blank" -}}
|
||||||
{{- $rel = "noopener noreferrer" -}}
|
{{- $rel = "noopener noreferrer nofollow" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- if and $title $cue -}}
|
{{- if and $title $cue -}}
|
||||||
|
@@ -58,7 +58,7 @@
|
|||||||
{{ else }}
|
{{ else }}
|
||||||
{{ $paginator = $args.page.Paginate $list }}
|
{{ $paginator = $args.page.Paginate $list }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $list = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $list) }}
|
{{ $list = first $paginator.PagerSize (after (mul (sub $paginator.PageNumber 1) $paginator.PagerSize) $list) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<!-- Initialize list elements -->
|
<!-- Initialize list elements -->
|
||||||
|
@@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
{{- if $tab -}}
|
{{- if $tab -}}
|
||||||
{{- $target = "_blank" -}}
|
{{- $target = "_blank" -}}
|
||||||
{{- $rel = "noopener noreferrer" -}}
|
{{- $rel = "noopener noreferrer nofollow" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- if $cue -}}
|
{{- if $cue -}}
|
||||||
|
@@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
{{- if $isExternal }}
|
{{- if $isExternal }}
|
||||||
{{- if $tab -}}
|
{{- if $tab -}}
|
||||||
{{ $externalHref = "target=\"_blank\" rel=\"noopener noreferrer\"" }}
|
{{ $externalHref = "target=\"_blank\" rel=\"noopener noreferrer nofollow\"" }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- if $cue -}}
|
{{- if $cue -}}
|
||||||
|
@@ -45,7 +45,7 @@
|
|||||||
{{- $rel := "" -}}
|
{{- $rel := "" -}}
|
||||||
{{- if and $isExternal $tab -}}
|
{{- if and $isExternal $tab -}}
|
||||||
{{- $target = "_blank" -}}
|
{{- $target = "_blank" -}}
|
||||||
{{- $rel = "noopener noreferrer" -}}
|
{{- $rel = "noopener noreferrer nofollow" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
<!-- Inline partial to render the card's body -->
|
<!-- Inline partial to render the card's body -->
|
||||||
|
@@ -143,7 +143,7 @@
|
|||||||
|
|
||||||
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
|
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
|
||||||
<div class="container-xxl {{ $wrapper }}">
|
<div class="container-xxl {{ $wrapper }}">
|
||||||
{{- partial "assets/section-header.html" (dict "title" $title "description" $description "content" $content) -}}
|
{{- partial "assets/section-header.html" (dict "title" $title "description" $description "content" $content) -}}
|
||||||
{{ if eq $layout "card" }}
|
{{ if eq $layout "card" }}
|
||||||
{{- $partial = "assets/card-group.html" -}}
|
{{- $partial = "assets/card-group.html" -}}
|
||||||
{{- $params = merge $params (dict
|
{{- $params = merge $params (dict
|
||||||
|
@@ -20,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col col-6 text-sm-start">
|
<div class="col col-6 text-sm-start">
|
||||||
{{ range .Site.Menus.social -}}
|
{{ range .Site.Menus.social -}}
|
||||||
<a href="{{ .URL }}" {{ if $tab }} target="_blank" rel="noopener noreferrer"{{ end }} aria-label="{{ .Name | safeHTML }}" class="text-decoration-none link-secondary d-inline p-2">
|
<a href="{{ .URL }}" {{ if $tab }} target="_blank" rel="noopener noreferrer nofollow"{{ end }} aria-label="{{ .Name | safeHTML }}" class="text-decoration-none link-secondary d-inline p-2">
|
||||||
{{ if hasPrefix .Pre "<i" }}
|
{{ if hasPrefix .Pre "<i" }}
|
||||||
{{ .Pre | safeHTML }}
|
{{ .Pre | safeHTML }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
|
@@ -1,13 +1,17 @@
|
|||||||
<!-- TODO: replace scratch with dict -->
|
<!-- TODO: replace scratch with dict -->
|
||||||
|
|
||||||
<!-- Adapted from doks -->
|
<!-- Adapted from doks -->
|
||||||
{{ with .Title -}}
|
{{ with .Params.meta.title }}
|
||||||
{{ $.Scratch.Set "title" . -}}
|
{{ $.Scratch.Set "title" . -}}
|
||||||
{{ else -}}
|
{{ else }}
|
||||||
{{ $.Scratch.Set "title" .Site.Title -}}
|
{{ with .Title -}}
|
||||||
{{ end -}}
|
{{ $.Scratch.Set "title" . -}}
|
||||||
|
{{ else -}}
|
||||||
|
{{ $.Scratch.Set "title" .Site.Title -}}
|
||||||
|
{{ end -}}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{ $description := or (partial "utilities/GetDescription.html" (dict "page" .)) .Site.Params.main.description }}
|
{{ $description := or (partial "utilities/GetDescription.html" (dict "page" . "meta" true)) .Site.Params.main.description }}
|
||||||
{{ if gt (strings.RuneCount $description) 150 }}
|
{{ if gt (strings.RuneCount $description) 150 }}
|
||||||
{{ $description = print (substr $description 0 150) "..." }}
|
{{ $description = print (substr $description 0 150) "..." }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
{{ $page := .page }}
|
|
||||||
|
|
||||||
{{ $core := slice }}
|
{{ $core := slice }}
|
||||||
{{ $optional := slice }}
|
{{ $optional := slice }}
|
||||||
{{ $excludeSCSS := slice }}
|
{{ $excludeSCSS := slice }}
|
||||||
@@ -7,7 +5,7 @@
|
|||||||
{{ $localize := slice }}
|
{{ $localize := slice }}
|
||||||
{{ $modules := dict }}
|
{{ $modules := dict }}
|
||||||
|
|
||||||
{{ range $key, $mod := $page.Site.Params.modules }}
|
{{ range $key, $mod := .Site.Params.modules }}
|
||||||
{{ if eq $key "core" }}
|
{{ if eq $key "core" }}
|
||||||
{{ warnf "DEPRECATED: module parameter `core` has been deprecated in release v0.24.0" }}
|
{{ warnf "DEPRECATED: module parameter `core` has been deprecated in release v0.24.0" }}
|
||||||
{{ $core = $core | append $mod }}
|
{{ $core = $core | append $mod }}
|
||||||
@@ -57,7 +55,7 @@
|
|||||||
"localize" $localize
|
"localize" $localize
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{- if and $page.IsPage (not (in $core "bootstrap")) -}}
|
{{- if and .IsPage (not (in $core "bootstrap")) -}}
|
||||||
{{- errorf "Bootstrap is a required module, please add it to 'modules.core' in your site parameters" -}}
|
{{- errorf "Bootstrap is a required module, please add it to 'modules.core' in your site parameters" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
@@ -4,12 +4,12 @@
|
|||||||
command = "npm run build:example"
|
command = "npm run build:example"
|
||||||
|
|
||||||
[build.environment]
|
[build.environment]
|
||||||
DART_SASS_VERSION = "1.77.5"
|
DART_SASS_VERSION = "1.78.0"
|
||||||
HUGO_VERSION = "0.131.0"
|
HUGO_VERSION = "0.134.1"
|
||||||
HUGO_ENV = "production"
|
HUGO_ENV = "production"
|
||||||
HUGO_ENABLEGITINFO = "true"
|
HUGO_ENABLEGITINFO = "true"
|
||||||
NODE_VERSION = "20.16.0"
|
NODE_VERSION = "20.17.0"
|
||||||
NPM_VERSION = "10.8.1"
|
NPM_VERSION = "10.8.2"
|
||||||
# toml-docs-end netlify
|
# toml-docs-end netlify
|
||||||
|
|
||||||
[[headers]]
|
[[headers]]
|
||||||
|
53
package-lock.json
generated
53
package-lock.json
generated
@@ -1,26 +1,26 @@
|
|||||||
{
|
{
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.27.0-alpha4",
|
"version": "0.27.0-alpha7",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.27.0-alpha4",
|
"version": "0.27.0-alpha7",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fullhuman/postcss-purgecss": "^6.0.0",
|
"@fullhuman/postcss-purgecss": "^6.0.0",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"cssnano": "^7.0.6",
|
"cssnano": "^7.0.6",
|
||||||
"cssnano-preset-advanced": "^7.0.6",
|
"cssnano-preset-advanced": "^7.0.6",
|
||||||
"hugo-bin": "0.131.1",
|
"hugo-bin": "0.131.2",
|
||||||
"purgecss-whitelister": "^2.4.0"
|
"purgecss-whitelister": "^2.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
||||||
"eslint": "^9.9.1",
|
"eslint": "^9.10.0",
|
||||||
"markdownlint-cli2": "^0.14.0",
|
"markdownlint-cli2": "^0.14.0",
|
||||||
"neostandard": "^0.11.4",
|
"neostandard": "^0.11.5",
|
||||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"postcss-cli": "^11.0.0",
|
"postcss-cli": "^11.0.0",
|
||||||
@@ -381,9 +381,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "9.9.1",
|
"version": "9.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz",
|
||||||
"integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==",
|
"integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -398,6 +398,18 @@
|
|||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@eslint/plugin-kit": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz",
|
||||||
|
"integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"levn": "^0.4.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@fullhuman/postcss-purgecss": {
|
"node_modules/@fullhuman/postcss-purgecss": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-6.0.0.tgz",
|
||||||
@@ -2427,16 +2439,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "9.9.1",
|
"version": "9.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz",
|
||||||
"integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==",
|
"integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.11.0",
|
"@eslint-community/regexpp": "^4.11.0",
|
||||||
"@eslint/config-array": "^0.18.0",
|
"@eslint/config-array": "^0.18.0",
|
||||||
"@eslint/eslintrc": "^3.1.0",
|
"@eslint/eslintrc": "^3.1.0",
|
||||||
"@eslint/js": "9.9.1",
|
"@eslint/js": "9.10.0",
|
||||||
|
"@eslint/plugin-kit": "^0.1.0",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@humanwhocodes/retry": "^0.3.0",
|
"@humanwhocodes/retry": "^0.3.0",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
@@ -2459,7 +2472,6 @@
|
|||||||
"is-glob": "^4.0.0",
|
"is-glob": "^4.0.0",
|
||||||
"is-path-inside": "^3.0.3",
|
"is-path-inside": "^3.0.3",
|
||||||
"json-stable-stringify-without-jsonify": "^1.0.1",
|
"json-stable-stringify-without-jsonify": "^1.0.1",
|
||||||
"levn": "^0.4.1",
|
|
||||||
"lodash.merge": "^4.6.2",
|
"lodash.merge": "^4.6.2",
|
||||||
"minimatch": "^3.1.2",
|
"minimatch": "^3.1.2",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@@ -3668,9 +3680,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/hugo-bin": {
|
"node_modules/hugo-bin": {
|
||||||
"version": "0.131.1",
|
"version": "0.131.2",
|
||||||
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.131.1.tgz",
|
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.131.2.tgz",
|
||||||
"integrity": "sha512-bfUFKhQ6felvBNng06vwimNuvV+88yYwU6xTuAoTmtdY0g13Z03pf9rrg3AualxpMOu+dV/Yl/n90EvutKPzIQ==",
|
"integrity": "sha512-5NrvwHUwu67IQywxXcR9IPc44wT7M0h/gtYxd8b8V1lbUsHywTBCRzKbAFMnbaE/pHey2MEVAzpQt6rY2XTXWA==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -4715,14 +4727,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/neostandard": {
|
"node_modules/neostandard": {
|
||||||
"version": "0.11.4",
|
"version": "0.11.5",
|
||||||
"resolved": "https://registry.npmjs.org/neostandard/-/neostandard-0.11.4.tgz",
|
"resolved": "https://registry.npmjs.org/neostandard/-/neostandard-0.11.5.tgz",
|
||||||
"integrity": "sha512-rBdlVeUdM0NhBc2S7Vr/l98Y/FTYY+YGdOqSgv60HzP3LF7ruX9Mceur4Nc/qkXf7UT1IOjofLS7OSLAObPi2A==",
|
"integrity": "sha512-TgCL4CbPtqyoKoCGjqlK71rdbqTzXS9GFqgwyI69Np/Bo+mXVOLqM6mfXAYjEKK0d/TEDsEDVVeLzbVvkqKlmQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
|
"@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
|
||||||
"@stylistic/eslint-plugin": "^2.6.3",
|
"@stylistic/eslint-plugin": "^2.6.4",
|
||||||
"@types/eslint": "^9.6.0",
|
|
||||||
"eslint-plugin-n": "^17.10.2",
|
"eslint-plugin-n": "^17.10.2",
|
||||||
"eslint-plugin-promise": "^7.1.0",
|
"eslint-plugin-promise": "^7.1.0",
|
||||||
"eslint-plugin-react": "^7.35.0",
|
"eslint-plugin-react": "^7.35.0",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.27.0-alpha4",
|
"version": "0.27.0-alpha7",
|
||||||
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"hugo",
|
"hugo",
|
||||||
@@ -71,14 +71,14 @@
|
|||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"cssnano": "^7.0.6",
|
"cssnano": "^7.0.6",
|
||||||
"cssnano-preset-advanced": "^7.0.6",
|
"cssnano-preset-advanced": "^7.0.6",
|
||||||
"hugo-bin": "0.131.1",
|
"hugo-bin": "0.131.2",
|
||||||
"purgecss-whitelister": "^2.4.0"
|
"purgecss-whitelister": "^2.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
||||||
"eslint": "^9.9.1",
|
"eslint": "^9.10.0",
|
||||||
"markdownlint-cli2": "^0.14.0",
|
"markdownlint-cli2": "^0.14.0",
|
||||||
"neostandard": "^0.11.4",
|
"neostandard": "^0.11.5",
|
||||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"postcss-cli": "^11.0.0",
|
"postcss-cli": "^11.0.0",
|
||||||
|
Reference in New Issue
Block a user