Compare commits

...

70 Commits

Author SHA1 Message Date
Mark Dumay
d20d00e42f Merge pull request #1065 from gethinode/develop
Support localization of script bundles
2024-08-02 09:55:56 +02:00
Mark Dumay
348981a1a0 Support localization of script bundles 2024-08-02 09:49:10 +02:00
Mark Dumay
0942d79e2c Merge pull request #1062 from gethinode/develop
Bump package release
2024-07-31 14:16:48 +02:00
Mark Dumay
0251bd1838 Merge branch 'main' into develop 2024-07-31 14:10:24 +02:00
Mark Dumay
ae5e240cf1 Bump package release 2024-07-31 14:09:58 +02:00
Mark Dumay
dd127b973a Merge pull request #1061 from gethinode/develop
Optimize image size of scrollable card group
2024-07-31 07:43:59 +02:00
Mark Dumay
63b186a2e5 Merge branch 'main' into develop 2024-07-31 07:13:44 +02:00
github-actions[bot]
bc71ba1d19 Merge pull request #1059 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.127.0
Bump hugo-bin from 0.126.0 to 0.127.0
2024-07-31 04:59:09 +00:00
Mark Dumay
9c3bd970a5 Merge branch 'main' into dependabot/npm_and_yarn/hugo-bin-0.127.0 2024-07-31 06:52:24 +02:00
Mark Dumay
9f143786af Optimize image size of scrollable card group 2024-07-31 06:51:52 +02:00
github-actions[bot]
e8ccada6f3 Merge pull request #1058 from gethinode/dependabot/npm_and_yarn/stylelint-16.8.1
Bump stylelint from 16.7.0 to 16.8.1
2024-07-30 14:07:33 +00:00
dependabot[bot]
a40092b1eb Bump hugo-bin from 0.126.0 to 0.127.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.126.0 to 0.127.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.126.0...v0.127.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 14:01:31 +00:00
dependabot[bot]
00965b5224 Bump stylelint from 16.7.0 to 16.8.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.7.0 to 16.8.1.
- [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.7.0...16.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 14:01:24 +00:00
Mark Dumay
92dc97d325 Merge pull request #1056 from gethinode/develop
Add anchor support to cards
2024-07-29 17:33:12 +02:00
Mark Dumay
2394f148e5 Merge branch 'main' into develop 2024-07-29 17:11:42 +02:00
Mark Dumay
8d259a3e3a Add anchor support to cards 2024-07-29 17:10:32 +02:00
Mark Dumay
1c8912e92e Merge pull request #1055 from gethinode/develop
Support image crop box placement
2024-07-29 11:05:05 +02:00
Mark Dumay
207c08431f Merge branch 'main' into develop 2024-07-29 08:33:16 +02:00
Mark Dumay
d2703d4885 Support image crop box placement 2024-07-29 08:32:37 +02:00
Mark Dumay
4728191370 Merge pull request #1054 from gethinode/develop
Adjust card title size on small screens
2024-07-28 08:16:23 +02:00
Mark Dumay
cd40d75962 Merge branch 'main' into develop 2024-07-28 08:10:15 +02:00
Mark Dumay
2d4732d03b Adjust card title size on small screens 2024-07-28 08:09:35 +02:00
Mark Dumay
e3c256b41f Merge pull request #1053 from gethinode/develop
Fix priority of card's thumbnail and icon args
2024-07-28 08:07:35 +02:00
Mark Dumay
f0a53f252c Merge branch 'main' into develop 2024-07-27 14:35:48 +02:00
Mark Dumay
a1273d99d5 Fix priority of card's thumbnail and icon args 2024-07-27 14:35:17 +02:00
Mark Dumay
4e62956c82 Merge pull request #1052 from gethinode/develop
Fix layout of scrollable card group
2024-07-27 14:32:52 +02:00
Mark Dumay
cf096a7f6a Merge branch 'main' into develop 2024-07-27 14:13:47 +02:00
Mark Dumay
ee790dc6fd Fix layout of scrollable card group 2024-07-27 14:13:20 +02:00
Mark Dumay
df9bc9ed6c Merge pull request #1050 from gethinode/develop
Adjust main cover style
2024-07-25 07:23:58 +02:00
Mark Dumay
69338b4abf Merge branch 'main' into develop 2024-07-25 07:16:28 +02:00
Mark Dumay
c206054dc8 Adjust main cover style 2024-07-25 07:15:57 +02:00
Mark Dumay
a2bcba5916 Merge pull request #1043 from d-oit/patch-3
Add missing params.opengraph locale for fr_FR, nl_NL
2024-07-25 07:11:26 +02:00
d.o.it
788b68f6bc add missing config for the meta tag og:locale nl + fr 2024-07-24 21:22:43 +02:00
Dominik Oswald
73697f43aa Merge branch 'gethinode:main' into patch-3 2024-07-24 20:27:53 +02:00
Mark Dumay
129df382cd Merge pull request #1048 from gethinode/develop
Add maximized cover style
2024-07-24 16:32:36 +02:00
Mark Dumay
c15eb4edc3 Make style compatible with libsass 2024-07-24 16:27:00 +02:00
Mark Dumay
12725caa1c Merge branch 'main' into develop 2024-07-24 13:39:26 +02:00
Mark Dumay
6077c33fcc Add maximized cover style 2024-07-24 13:38:10 +02:00
Mark Dumay
b944d818c8 Merge pull request #1047 from gethinode/develop
Suppress undefined navbar links
2024-07-23 12:16:34 +02:00
Mark Dumay
f25fbb3440 Merge branch 'main' into develop 2024-07-23 11:55:18 +02:00
Mark Dumay
0b9d43f130 Suppress undefined navbar links 2024-07-23 11:54:47 +02:00
github-actions[bot]
884da31fd0 Merge pull request #1046 from gethinode/dependabot/npm_and_yarn/eslint-plugin-promise-6.6.0
Bump eslint-plugin-promise from 6.4.0 to 6.6.0
2024-07-22 14:03:48 +00:00
dependabot[bot]
6dbfb0ac64 Bump eslint-plugin-promise from 6.4.0 to 6.6.0
Bumps [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) from 6.4.0 to 6.6.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-promise/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-promise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-community/eslint-plugin-promise/compare/v6.4.0...v6.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 13:57:31 +00:00
Mark Dumay
3bef9579b4 Merge branch 'main' into patch-3 2024-07-22 11:01:37 +02:00
Mark Dumay
0ea1f92d4c Merge pull request #1039 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-07-22 11:01:22 +02:00
Mark Dumay
77d44d44c6 Merge branch 'main' into hugo-mod-dependencies 2024-07-22 10:50:04 +02:00
Mark Dumay
e8c1eac2af Merge pull request #1045 from gethinode/develop
Suppress image container when wrapper class is empty
2024-07-22 10:49:51 +02:00
Mark Dumay
2f992b82cf Merge branch 'main' into develop 2024-07-22 10:44:15 +02:00
Mark Dumay
fe70b24859 Suppress image container when wrapper class is empty 2024-07-22 10:41:52 +02:00
Dominik Oswald
d18f0469fc Add missing params.opengraph locale for fr_FR, nl_NL
Add missing "params.opengraph" > "locale" for fr_FR, nl_NL instead of the default en_US:
<meta property="og:locale" content="en_US" /
2024-07-21 10:05:46 +02:00
markdumay
497c5d0e5e fix: update Hugo module dependencies 2024-07-21 03:05:30 +00:00
Mark Dumay
834435db00 Adjust warning for invalid local url 2024-07-20 07:01:13 +02:00
Mark Dumay
3d8195e24b Merge pull request #1042 from gethinode/develop
Validate local url of menu entries
2024-07-20 06:59:18 +02:00
Mark Dumay
ce31587f22 Merge branch 'main' into develop 2024-07-20 06:52:50 +02:00
Mark Dumay
6342ae1a33 Validate local url of menu entries 2024-07-20 06:51:49 +02:00
Mark Dumay
88eb894fde Merge pull request #1041 from gethinode/develop
Develop
2024-07-18 16:40:26 +02:00
Mark Dumay
8870668c21 Merge branch 'main' into develop 2024-07-18 16:33:40 +02:00
Mark Dumay
cd379fa8d7 Extend card parameters 2024-07-18 16:32:53 +02:00
Mark Dumay
fd029492f7 Fix rendering of scrollable card group 2024-07-18 16:31:45 +02:00
github-actions[bot]
29b0d6f978 Merge pull request #1040 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.126.0
Bump hugo-bin from 0.125.2 to 0.126.0
2024-07-18 13:25:34 +00:00
dependabot[bot]
bed2afe44d Bump hugo-bin from 0.125.2 to 0.126.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.125.2 to 0.126.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.125.2...v0.126.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-18 13:19:49 +00:00
Mark Dumay
8c3ea99429 Merge pull request #1038 from gethinode/develop
Fix image portrait mode
2024-07-17 09:53:21 +02:00
Mark Dumay
d8929da5ec Merge branch 'main' into develop 2024-07-17 09:47:48 +02:00
Mark Dumay
4a5e8c7311 Fix image portrait mode 2024-07-17 09:47:18 +02:00
Mark Dumay
600b487f43 Merge pull request #1037 from d-oit/patch-1
Update de.yaml
2024-07-15 06:48:07 +02:00
Dominik Oswald
ed013e9b6f Update de.yaml 2024-07-14 15:44:15 +02:00
Mark Dumay
5a299a73dc Adjust datatable padding 2024-07-14 12:19:45 +02:00
Mark Dumay
bf76ee7108 Merge pull request #1036 from gethinode/develop
Fix purging of data tables styles
2024-07-13 09:13:01 +02:00
Mark Dumay
7a1c3970ea Merge branch 'main' into develop 2024-07-13 09:00:36 +02:00
Mark Dumay
a679b1c7e0 Fix purging of data tables styles 2024-07-13 09:00:03 +02:00
35 changed files with 492 additions and 102 deletions

2
.gitignore vendored
View File

@@ -1,4 +1,4 @@
/_vendor _vendor/
public/ public/
resources/ resources/
node_modules/ node_modules/

View File

@@ -146,6 +146,24 @@ $utilities: map-merge(
} }
} }
.main-cover {
min-height: 100vh;
}
@include media-breakpoint-up(xxl) {
.main-cover {
min-height: calc(min(100vh, 1000px));
}
}
/* stylelint-disable media-feature-range-notation */
@media (min-height: 1400px) {
.main-cover {
min-height: calc(min(100vh, 1000px));
}
}
/* stylelint-enable media-feature-range-notation */
$utilities: map-merge( $utilities: map-merge(
$utilities, $utilities,
( (

View File

@@ -7,6 +7,7 @@
} }
.datatable-sorter { .datatable-sorter {
padding-left: 0;
padding-right: 1rem; padding-right: 1rem;
} }

View File

@@ -125,7 +125,7 @@ home = ["HTML", "RSS", "REDIR"]
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-bootstrap" path = "github.com/gethinode/mod-bootstrap"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-flexsearch" path = "github.com/gethinode/mod-flexsearch/v2"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-fontawesome" path = "github.com/gethinode/mod-fontawesome"
[[module.imports]] [[module.imports]]

View File

@@ -27,6 +27,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss', './_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss', './_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss', './_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss', './_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss', './_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss', './_vendor/github.com/twbs/bootstrap/scss/_modal.scss',

View File

@@ -122,6 +122,13 @@ arguments:
Enables horizontal scrolling of the cards. By default, the card group Enables horizontal scrolling of the cards. By default, the card group
wraps any cards beyond the amount of defined columns to a new line. When wraps any cards beyond the amount of defined columns to a new line. When
`scroll` is set to true, a horizontal scroll bar is added instead. `scroll` is set to true, a horizontal scroll bar is added instead.
spacer:
type: bool
optional: true
comment: >-
Inserts a spacer before the card.
release: v0.24.16
group: partial
hook: hook:
type: string type: string
optional: true optional: true

View File

@@ -90,6 +90,18 @@ arguments:
- publication - publication
- tags - tags
- none - none
body:
type: select
optional: true
default: full
parent: cascade
release: v0.24.16
comment: >-
Body of the card.
options:
values:
- full
- none
footer: footer:
type: select type: select
optional: true optional: true
@@ -146,6 +158,16 @@ arguments:
- 16x9 - 16x9
- 21x9 - 21x9
group: partial group: partial
portrait:
type: bool
parent: cascade
optional: true
default: false
release: v0.24.16
comment: >-
Flag to adjust the ratio from landscape to portrait. The image itself is
not rotated, only the crop area is adjusted. Not applicable to vector
graphics.
alt: alt:
type: string type: string
optional: true optional: true
@@ -249,6 +271,25 @@ arguments:
One or more strings separated by commas, indicating the source sizes of an One or more strings separated by commas, indicating the source sizes of an
image set. image set.
group: partial group: partial
anchor:
type: select
optional: true
comment:
Anchor of the thumbnail's crop box, defaults to anchor value set in
`imaging` section of the site configuration (usually `Smart`).
options:
values:
- TopLeft
- Top
- TopRight
- Left
- Center
- Right
- BottomLeft
- Bottom
- BottomRight
- Smart
release: v0.24.23
body: body:
optional: true optional: true
comment: >- comment: >-

View File

@@ -60,3 +60,20 @@ arguments:
type: int type: int
optional: false optional: false
comment: Width of the image in pixels. comment: Width of the image in pixels.
anchor:
type: select
optional: true
comment: Anchor of the crop box.
options:
values:
- TopLeft
- Top
- TopRight
- Left
- Center
- Right
- BottomLeft
- Bottom
- BottomRight
- Smart

View File

@@ -138,3 +138,22 @@ arguments:
Flag to indicate if the image should render a plain image instead of an Flag to indicate if the image should render a plain image instead of an
image set. When set, no transformations are applied to the image. image set. When set, no transformations are applied to the image.
release: v0.24.0 release: v0.24.0
anchor:
type: select
optional: true
comment:
Anchor of the crop box, defaults to anchor value set in `imaging` section
of the site configuration (usually `Smart`).
options:
values:
- TopLeft
- Top
- TopRight
- Left
- Center
- Right
- BottomLeft
- Bottom
- BottomRight
- Smart
release: v0.24.22

View File

@@ -0,0 +1,69 @@
comment: >-
Bundles a JavaScript file for client-side processing. Scripts can be included
as critical, core, or optional file.
arguments:
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: false
comment: Context of the current page.
core:
type: bool
default: false
optional: true
comment: >-
Trigger to include all core files in the script bundle. Core bundles are
loaded asynchronously in each page of the site.
filename:
type: string
default: js/main.bundle.js
optional: true
comment: >-
Path of the target bundle file, relative to the site root.
match:
type: string
default: {js/*.js,js/vendor/**.js}
optional: true
comment: >-
Regular expression that defines the pattern of source files to be included
in the bundle. The pattern is relative to the project's `asset` folder.
header:
type: bool
default: false
comment: >-
Trigger to consider the script as loaded in the page header. When enabled,
it includes a script to load Google Analytics adjacent to any bundle
input.
localize:
type: bool
default: false
optional: true
comment: >-
Triggers the creation of a language-specific bundle file. The language
code is appended as suffix to the base name. For example, the English
version of `js/main.bundle.js` becomes `js/main.bundle.en.js`.
skipTemplate:
type: bool
default: false
optional: true
comment: >-
Script source input can contain Go Template magic. As such, Hinode
processes all input files with `resources.ExecuteAsTemplate`. However,
certain input files may be incompatible. Set `skipTemplate` to true to
skip template processing.
state:
type: select
optional: true
default: async
comment: >-
Defines the loading behavior of the script bundle. By default, scripts are
processed in the background and loaded when ready (`async`). Set the state
to `immediate` to load the script immediately (such as critical scripts).
Use 'defer' to load the script in relative order when the DOM is fully
built.
options:
values:
- async
- defer
- immediate

View File

@@ -22,6 +22,8 @@ reference = "More Projects"
languageName = "Nederlands" languageName = "Nederlands"
contentDir = "content/nl" contentDir = "content/nl"
weight = 2 weight = 2
[nl.params.opengraph]
locale = "nl_NL"
[nl.params.head] [nl.params.head]
tagline = "Een Hugo Thema" tagline = "Een Hugo Thema"
[nl.params.social] [nl.params.social]
@@ -39,6 +41,8 @@ reference = "Meer projecten"
languageName = "Français" languageName = "Français"
contentDir = "content/fr" contentDir = "content/fr"
weight = 2 weight = 2
[fr.params.opengraph]
locale = "fr_FR"
[fr.params.head] [fr.params.head]
tagline = "Un thème Hugo" tagline = "Un thème Hugo"
[fr.params.social] [fr.params.social]

View File

@@ -255,11 +255,12 @@ As an example, the following shortcodes show a square check, a brand logo, a cir
## Image ## Image
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio. As an example, the following shortcode displays an image with rounded corners and a 4x3 aspect ratio in portrait mode.
<!-- markdownlint-disable MD037 --> <!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}} {{< example lang="hugo" >}}
{{</* image src="img/flowers.jpg" ratio="21x9" caption="Figure caption" class="rounded" */>}} {{</* image src="img/flowers.jpg" ratio="4x3" caption="Figure caption" class="rounded col-md-6"
portrait=true wrapper="text-center" */>}}
{{< /example >}} {{< /example >}}
<!-- markdownlint-enable MD037 --> <!-- markdownlint-enable MD037 -->

View File

@@ -26,7 +26,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://ik.imagekit.io/demo/default-image.jpg" {{</* image src="https://ik.imagekit.io/demo/default-image.jpg"
ratio="21x9" caption="ImageKit.io image" class="rounded" */>}} ratio="21x9" caption="ImageKit.io image" class="rounded" anchor="Center" */>}}
{{< /example >}} {{< /example >}}
<!-- markdownlint-enable MD037 --> <!-- markdownlint-enable MD037 -->
@@ -37,6 +37,6 @@ 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://assets.imgix.net/examples/bluehat.jpg" {{</* image src="https://assets.imgix.net/examples/bluehat.jpg"
ratio="21x9" caption="imgix image" class="rounded" */>}} ratio="21x9" caption="imgix image" class="rounded" anchor="Top" */>}}
{{< /example >}} {{< /example >}}
<!-- markdownlint-enable MD037 --> <!-- markdownlint-enable MD037 -->

View File

@@ -145,6 +145,7 @@
"col-md-2", "col-md-2",
"col-md-3", "col-md-3",
"col-md-4", "col-md-4",
"col-md-6",
"col-md-8", "col-md-8",
"col-md-9", "col-md-9",
"col-md-auto", "col-md-auto",
@@ -238,6 +239,7 @@
"fs-3", "fs-3",
"fs-5", "fs-5",
"fs-6", "fs-6",
"fs-lg-5",
"fs-md-5", "fs-md-5",
"fw-30", "fw-30",
"fw-bold", "fw-bold",

16
go.mod
View File

@@ -4,14 +4,14 @@ go 1.19
require ( require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/gethinode/mod-bootstrap v1.3.0 // indirect github.com/gethinode/mod-bootstrap v1.3.1 // indirect
github.com/gethinode/mod-flexsearch v1.12.0 // indirect github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
github.com/gethinode/mod-fontawesome v1.9.0 // indirect github.com/gethinode/mod-fontawesome v1.9.1 // indirect
github.com/gethinode/mod-katex v1.1.0 // indirect github.com/gethinode/mod-katex v1.1.1 // indirect
github.com/gethinode/mod-leaflet v1.1.0 // indirect github.com/gethinode/mod-leaflet v1.1.1 // indirect
github.com/gethinode/mod-lottie v1.5.5 // indirect github.com/gethinode/mod-lottie v1.5.6 // indirect
github.com/gethinode/mod-simple-datatables v1.0.2 // indirect github.com/gethinode/mod-simple-datatables v1.0.5 // indirect
github.com/gethinode/mod-utils/v2 v2.3.10 // indirect github.com/gethinode/mod-utils/v2 v2.3.10 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // 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
) )

20
go.sum
View File

@@ -22,6 +22,8 @@ github.com/gethinode/mod-bootstrap v1.2.8 h1:kIKSO6qqE8xA0KQC5s6kkEv5UDc8oT17Hal
github.com/gethinode/mod-bootstrap v1.2.8/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ= github.com/gethinode/mod-bootstrap v1.2.8/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+txB0pwBk= github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+txB0pwBk=
github.com/gethinode/mod-bootstrap v1.3.0/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ= github.com/gethinode/mod-bootstrap v1.3.0/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-bootstrap v1.3.1 h1:ZUX72St0WZ5tyXpEPBJlayX/dmCH3cGErzsozkUKCok=
github.com/gethinode/mod-bootstrap v1.3.1/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA= 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.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4= github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
@@ -68,6 +70,10 @@ github.com/gethinode/mod-flexsearch v1.11.3 h1:ykxpUg8M4vr1C4QzxJOPGt+1ZmPAD/gOC
github.com/gethinode/mod-flexsearch v1.11.3/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ= github.com/gethinode/mod-flexsearch v1.11.3/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.12.0 h1:zg1IHvc8VO9WEtQuQnuG6HeWFNByvyqC9JYWDtpsP6s= github.com/gethinode/mod-flexsearch v1.12.0 h1:zg1IHvc8VO9WEtQuQnuG6HeWFNByvyqC9JYWDtpsP6s=
github.com/gethinode/mod-flexsearch v1.12.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ= github.com/gethinode/mod-flexsearch v1.12.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.12.1 h1:clkGUWaNPe9Dt/66Apy7oH9NwVQfnD6OpGSLffeC9sY=
github.com/gethinode/mod-flexsearch v1.12.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch/v2 v2.0.1 h1:5unGUSb1tX1LBtKygnLfdt7CnVJuFKSt6VXiKRxdojc=
github.com/gethinode/mod-flexsearch/v2 v2.0.1/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg= 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.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk= github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
@@ -108,6 +114,8 @@ github.com/gethinode/mod-fontawesome v1.8.2 h1:LAzLytyh9c9gLzBWMju6Gtp3uEojhBQEY
github.com/gethinode/mod-fontawesome v1.8.2/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y= github.com/gethinode/mod-fontawesome v1.8.2/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.9.0 h1:xqUB8AnezMHAt8lye4ksqvmHSVPCOkiHsHGUbqNoeP0= github.com/gethinode/mod-fontawesome v1.9.0 h1:xqUB8AnezMHAt8lye4ksqvmHSVPCOkiHsHGUbqNoeP0=
github.com/gethinode/mod-fontawesome v1.9.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y= github.com/gethinode/mod-fontawesome v1.9.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-fontawesome v1.9.1 h1:cQk84vriqffM4fuUUoM9j3SSD+3ppeW2j4ta7AiToMU=
github.com/gethinode/mod-fontawesome v1.9.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc= 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.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs= github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
@@ -128,6 +136,8 @@ github.com/gethinode/mod-katex v1.0.9 h1:cCJoR28tZwkDvXps17o9Jwfe3aQQAZ3Rxk0jCNR
github.com/gethinode/mod-katex v1.0.9/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.0.9/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.0 h1:PxST3HPUt6F2X/xKakTVeTkwWqCtEr53K1vYEOyQu3I= github.com/gethinode/mod-katex v1.1.0 h1:PxST3HPUt6F2X/xKakTVeTkwWqCtEr53K1vYEOyQu3I=
github.com/gethinode/mod-katex v1.1.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg= github.com/gethinode/mod-katex v1.1.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.1.1 h1:z8+mfVI6UTWcfpQMVPIzxQzt6Lp9BcmXxSOILQ84qFg=
github.com/gethinode/mod-katex v1.1.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk= 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.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc= github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
@@ -146,6 +156,8 @@ github.com/gethinode/mod-leaflet v1.0.1 h1:L4Coe6HTD9O0Txs1S8AtVg+6/TEneSF9i6fJK
github.com/gethinode/mod-leaflet v1.0.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE= github.com/gethinode/mod-leaflet v1.0.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.1.0 h1:FXzPCic5XmUluxQ6e7LYUhhLnxuQOBwry8qjG9k30UY= github.com/gethinode/mod-leaflet v1.1.0 h1:FXzPCic5XmUluxQ6e7LYUhhLnxuQOBwry8qjG9k30UY=
github.com/gethinode/mod-leaflet v1.1.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE= github.com/gethinode/mod-leaflet v1.1.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-leaflet v1.1.1 h1:AIHR4k8SjmeoZxtjLgSS6/N3jKeZNZGdZTgu/7MwP4c=
github.com/gethinode/mod-leaflet v1.1.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE= 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.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0= github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
@@ -184,10 +196,16 @@ github.com/gethinode/mod-lottie v1.5.4 h1:+xbamSsjcnP2tyzGl0CA1enma7gkAp67wenmuP
github.com/gethinode/mod-lottie v1.5.4/go.mod h1:gALqz48aYpoDLxJOI3LzIpdy0Eq/lOBNtlcOxABa9tg= github.com/gethinode/mod-lottie v1.5.4/go.mod h1:gALqz48aYpoDLxJOI3LzIpdy0Eq/lOBNtlcOxABa9tg=
github.com/gethinode/mod-lottie v1.5.5 h1:uEJKsz+ovsZtbGkMhPONcIhtG6M3RjYiK+iVoScLOVo= github.com/gethinode/mod-lottie v1.5.5 h1:uEJKsz+ovsZtbGkMhPONcIhtG6M3RjYiK+iVoScLOVo=
github.com/gethinode/mod-lottie v1.5.5/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0= github.com/gethinode/mod-lottie v1.5.5/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
github.com/gethinode/mod-lottie v1.5.6 h1:dxz5nmD0XXEt/DAOc1s5fIPynj5bhzDL32EEwLFCSmk=
github.com/gethinode/mod-lottie v1.5.6/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ= 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.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA= github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
github.com/gethinode/mod-simple-datatables v1.0.2/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc= github.com/gethinode/mod-simple-datatables v1.0.2/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.3 h1:JL2nBlEHWMmkE7EZrpfpmzka47dklJUh23/xKJkOQoI=
github.com/gethinode/mod-simple-datatables v1.0.3/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-simple-datatables v1.0.5 h1:2Aa4k1Bd1WEYHbskFQj+1X35BB7abB8RXHE7Uk2N4pg=
github.com/gethinode/mod-simple-datatables v1.0.5/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY= 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.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE= github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
@@ -240,6 +258,8 @@ github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8Fxb
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU= github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA= github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU= github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 h1:6PNbL0/LxO8Xl8MZSe5uvCidYNpFTz9nlWTqj2qdlzA=
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ= github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ= github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=

View File

@@ -28,7 +28,7 @@
- id: shareLink - id: shareLink
translation: "Diese Seite teilen per {{ . }}" translation: "Diese Seite teilen per {{ . }}"
- id: shareSystem - id: shareSystem
translation: "Betriebssystem" translation: "System"
- id: copyToClipboard - id: copyToClipboard
translation: "In die Zwischenablage kopieren" translation: "In die Zwischenablage kopieren"
- id: copiedToClipboard - id: copiedToClipboard
@@ -52,7 +52,7 @@
# Navigation # Navigation
- id: colorMode - id: colorMode
translation: "Thema umschalten" translation: "Modus umschalten"
- id: colorLight - id: colorLight
translation: "Light" translation: "Light"
- id: colorDark - id: colorDark
@@ -76,7 +76,7 @@
# Sidebar # Sidebar
- id: toggleSidebar - id: toggleSidebar
translation: "Menünavigation anzuzeigen oder auszublenden" translation: "Menünavigation anzeigen oder ausblenden"
# Feature # Feature
- id: addedFeature - id: addedFeature

View File

@@ -6,6 +6,19 @@
{{ $error := false }} {{ $error := false }}
{{ $anchorMap := dict
"TopLeft" "north_west"
"Top" "north"
"TopRight" "north_east"
"Left" "west"
"Center" "center"
"Right" "east"
"BottomLeft" "south_west"
"Bottom" "south"
"BottomRight" "south_east"
"Smart" "auto"
}}
<!-- Validate arguments --> <!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
{{ errorf "partial [assets/adapter/cloudinary.html] - Invalid arguments" -}} {{ errorf "partial [assets/adapter/cloudinary.html] - Invalid arguments" -}}
@@ -20,6 +33,8 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := "" }}
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
{{ if eq $transform "fill" }}{{ $transform = "c_fill" }}{{ else }}{{ $transform = "c_fit" }}{{ end }} {{ if eq $transform "fill" }}{{ $transform = "c_fill" }}{{ else }}{{ $transform = "c_fit" }}{{ end }}
{{ $element := "" }} {{ $element := "" }}
@@ -37,6 +52,9 @@
{{ else }} {{ else }}
{{ $operation = printf "f_auto,%s,h_%d,w_%d" $transform $height $width }} {{ $operation = printf "f_auto,%s,h_%d,w_%d" $transform $height $width }}
{{ end }} {{ end }}
{{ with $anchor }}
{{ $operation = printf "%s,g_%s" $operation . }}
{{ end }}
{{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}} {{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}}
{{ end }} {{ end }}

View File

@@ -20,6 +20,7 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := .anchor | default "" }}
{{ $element := "" }} {{ $element := "" }}
{{ $absoluteURL := .absoluteURL }} {{ $absoluteURL := .absoluteURL }}
{{ $url := urls.JoinPath $dir $file }} {{ $url := urls.JoinPath $dir $file }}
@@ -46,13 +47,20 @@
{{ if not $error }} {{ if not $error }}
{{ $scaled := "" }} {{ $scaled := "" }}
{{ if eq $transform "fill" }} {{ if eq $transform "fill" }}
{{- $scaled = $img.Fill (printf "%dx%d %s" $width $height $format) -}} {{- $scaled = $img.Fill (printf "%dx%d %s %s" $width $height $anchor $format) -}}
{{ else }} {{ else }}
{{- $scaled = $img.Fit (printf "%dx%d %s" $width $height $format) -}} {{- $scaled = $img.Fit (printf "%dx%d %s" $width $height $format) -}}
{{ end }} {{ end }}
{{- $clean := path.Ext $img.RelPermalink -}} {{- $clean := path.Ext $img.RelPermalink -}}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean (printf "-%dx%d.%s" $width $height $format)) -}} {{ $destination := "" }}
{{ if $anchor }}
{{ $destination = printf "-%dx%d-%s.%s" $width $height (lower $anchor) $format }}
{{ else }}
{{ $destination = printf "-%dx%d.%s" $width $height $format }}
{{ end }}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean $destination) -}}
{{- if $absoluteURL -}} {{- if $absoluteURL -}}
{{- $element = $scaled.Permalink -}} {{- $element = $scaled.Permalink -}}
{{- else -}} {{- else -}}

View File

@@ -6,6 +6,19 @@
{{ $error := false }} {{ $error := false }}
{{ $anchorMap := dict
"TopLeft" "top_left"
"Top" "top"
"TopRight" "top_right"
"Left" "left"
"Center" "center"
"Right" "right"
"BottomLeft" "bottom_left"
"Bottom" "bottom"
"BottomRight" "bottom_right"
"Smart" "auto"
}}
<!-- Validate arguments --> <!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
{{ errorf "partial [assets/adapter/imagekit.html] - Invalid arguments" -}} {{ errorf "partial [assets/adapter/imagekit.html] - Invalid arguments" -}}
@@ -20,6 +33,8 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := "" }}
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
{{ if eq $transform "fill" }}{{ $transform = "c-maintain_ratio" }}{{ else }}{{ $transform = "c-at_max" }}{{ end }} {{ if eq $transform "fill" }}{{ $transform = "c-maintain_ratio" }}{{ else }}{{ $transform = "c-at_max" }}{{ end }}
{{ $element := "" }} {{ $element := "" }}
@@ -42,6 +57,9 @@
{{ else }} {{ else }}
{{ $operation = printf "tr:f-auto,%s,h-%d,w-%d" $transform $height $width }} {{ $operation = printf "tr:f-auto,%s,h-%d,w-%d" $transform $height $width }}
{{ end }} {{ end }}
{{ with $anchor }}
{{ $operation = printf "%s,fo-%s" $operation . }}
{{ end }}
{{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}} {{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}}
{{ end }} {{ end }}

View File

@@ -6,6 +6,19 @@
{{ $error := false }} {{ $error := false }}
{{ $anchorMap := dict
"TopLeft" "top,left"
"Top" "top"
"TopRight" "top,right"
"Left" "left"
"Center" "center"
"Right" "right"
"BottomLeft" "bottom,left"
"Bottom" "bottom"
"BottomRight" "bottom,right"
"Smart" "faces,edges,center"
}}
<!-- Validate arguments --> <!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
{{ errorf "partial [assets/adapter/imgix.html] - Invalid arguments" -}} {{ errorf "partial [assets/adapter/imgix.html] - Invalid arguments" -}}
@@ -20,6 +33,8 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $height := .height }} {{ $height := .height }}
{{ $width := .width }} {{ $width := .width }}
{{ $anchor := "" }}
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
{{ if eq $transform "fill" }}{{ $transform = "crop" }}{{ else }}{{ $transform = "max" }}{{ end }} {{ if eq $transform "fill" }}{{ $transform = "crop" }}{{ else }}{{ $transform = "max" }}{{ end }}
{{ $element := "" }} {{ $element := "" }}
@@ -37,6 +52,9 @@
{{ else }} {{ else }}
{{ $operation = printf "f_auto&fit=%s&h=%d&w=%d" $transform $height $width }} {{ $operation = printf "f_auto&fit=%s&h=%d&w=%d" $transform $height $width }}
{{ end }} {{ end }}
{{ with $anchor }}
{{ $operation = printf "%s&crop=%s" $operation . }}
{{ end }}
{{- $element = printf "%s?%s" (urls.JoinPath (slice "https://" $host $dir $file)) $operation -}} {{- $element = printf "%s?%s" (urls.JoinPath (slice "https://" $host $dir $file)) $operation -}}
{{ end }} {{ end }}

View File

@@ -23,9 +23,11 @@
{{- $color := .color -}} {{- $color := .color -}}
{{- $padding := .padding -}} {{- $padding := .padding -}}
{{- $header := .header -}} {{- $header := .header -}}
{{- $body := .body -}}
{{- $footer := .footer -}} {{- $footer := .footer -}}
{{- $orientation := .orientation -}} {{- $orientation := .orientation -}}
{{- $ratio := .ratio -}} {{- $ratio := .ratio -}}
{{- $portrait := .portrait | default false -}}
{{- $wrapper := .wrapper | default "p-0" -}} {{- $wrapper := .wrapper | default "p-0" -}}
{{- $style := .style -}} {{- $style := .style -}}
{{- $align := .align -}} {{- $align := .align -}}
@@ -36,7 +38,9 @@
{{- $buttonType := .buttonType -}} {{- $buttonType := .buttonType -}}
{{- $iconRounded := .iconRounded }} {{- $iconRounded := .iconRounded }}
{{- $scroll := .scroll | default false }} {{- $scroll := .scroll | default false }}
{{- $spacer := .spacer | default false }}
{{- $hook := .hook | default "assets/card.html" }} {{- $hook := .hook | default "assets/card.html" }}
{{- $cols := string .cols | default "3" -}}
<!-- Override arguments --> <!-- Override arguments -->
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }} {{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }}
@@ -50,6 +54,13 @@
{{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }} {{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }}
{{ end }} {{ end }}
{{ $cardWrapper := "" }}
{{ if $scroll }}
{{ $cardWrapper = printf "card-block card-block-%d" (int $cols) }}
{{ end }}
{{ if not $spacer }}{{ $class = printf "%s h-100" $class }}{{ end }}
{{ $list := slice }} {{ $list := slice }}
{{ if $isPages }} {{ if $isPages }}
{{ range $index, $element := $pages }} {{ range $index, $element := $pages }}
@@ -60,11 +71,13 @@
<!-- headless page --> <!-- headless page -->
{{- else -}} {{- else -}}
{{- $thumbnail := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.url) $element.Params.Thumbnail) -}} {{- $thumbnail := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.url) $element.Params.Thumbnail) -}}
{{- $anchor := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.anchor) "") -}}
{{- $params = merge $params (dict {{- $params = merge $params (dict
"title" $element.Title "title" $element.Title
"href" $element.RelPermalink "href" $element.RelPermalink
"description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true)) "description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true))
"thumbnail" $thumbnail "thumbnail" $thumbnail
"anchor" $anchor
"icon" $element.Params.icon "icon" $element.Params.icon
) -}} ) -}}
{{- end -}} {{- end -}}
@@ -79,13 +92,10 @@
{{- $max := $count -}} {{- $max := $count -}}
{{- $max = math.Min (.max | default $count) $count -}} {{- $max = math.Min (.max | default $count) $count -}}
{{- $responsive := .responsive | default true -}} {{- $responsive := .responsive | default true -}}
{{- $cols := string .cols | default "3" -}}
{{- $sizes := "100vw" }} {{- $sizes := "100vw" }}
{{- $colGrid := "" -}} {{- $colGrid := "" -}}
{{ if $scroll }} {{ if not $scroll }}
{{- $colGrid = (printf "card-block-%d" $cols) -}}
{{ else }}
{{ $colGrid = printf "row-cols-%s" $cols }} {{ $colGrid = printf "row-cols-%s" $cols }}
{{- if eq $cols "1" }} {{- if eq $cols "1" }}
{{ $colGrid = "row-cols-1" -}} {{ $colGrid = "row-cols-1" -}}
@@ -110,6 +120,10 @@
{{ end -}} {{ end -}}
{{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }} {{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
{{ end -}} {{ end -}}
{{ else }}
{{ if in (slice "2" "3" "4" "5") $cols }}
{{ $sizes = replace (printf "%.1fvw" (div 100.0 (int $cols))) ".0" "" }}
{{ end }}
{{ end }} {{ end }}
{{- if not $paginate -}} {{- if not $paginate -}}
@@ -119,19 +133,21 @@
{{- if and (eq $cols "1") (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}} {{- if and (eq $cols "1") (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
<!-- Main code --> <!-- Main code -->
<div class="container {{ $wrapper }} {{ if $scroll }}card-container-wrapper{{ end }}"> <div class="container-fluid {{ $wrapper }} {{ if $scroll }}card-container-wrapper{{ end }}">
<div class="row g-{{ $gutter }} {{ if $scroll }}d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100{{ else }}{{ $colGrid }}{{ end }}"> <div class="row g-{{ $gutter }} {{ if $scroll }}d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100 {{ end }} {{ $colGrid }}">
{{ range $index, $element := $list }} {{ range $index, $element := $list }}
{{- $params := (dict {{- $params := (dict
"class" (printf "h-100 %s" $class) "class" (printf " %s" $class)
"color" $color "color" $color
"footer" $footer "footer" $footer
"body" $body
"header" $header "header" $header
"loading" $loading "loading" $loading
"sizes" $sizes "sizes" $sizes
"orientation" $orientation "orientation" $orientation
"padding" $padding "padding" $padding
"ratio" $ratio "ratio" $ratio
"portrait" $portrait
"subtle" $subtle "subtle" $subtle
"style" $style "style" $style
"align" $align "align" $align
@@ -142,7 +158,8 @@
) -}} ) -}}
{{- $params = merge $element $params }} {{- $params = merge $element $params }}
<div class="col"> <div class="{{ with $cardWrapper }}{{ . }}{{ else }}col{{ end }}">
{{ if $spacer }}<div class="spacer"></div>{{ end }}
{{- partial $hook $params -}} {{- partial $hook $params -}}
</div> </div>
{{- if and (lt $index (sub $max 1)) $separator -}} {{- if and (lt $index (sub $max 1)) $separator -}}

View File

@@ -15,6 +15,7 @@
{{- $class := .class -}} {{- $class := .class -}}
{{- $color := .color -}} {{- $color := .color -}}
{{- $description := .description -}} {{- $description := .description -}}
{{- $body := .body | default "full" -}}
{{- $footer := .footer | default "none" -}} {{- $footer := .footer | default "none" -}}
{{- $gutter := .gutter | default "0" -}} {{- $gutter := .gutter | default "0" -}}
{{- $header := .header | default "full" -}} {{- $header := .header | default "full" -}}
@@ -29,7 +30,9 @@
{{- $orientation := .orientation | default "stacked" -}} {{- $orientation := .orientation | default "stacked" -}}
{{- $padding := (string .padding) | default "auto" -}} {{- $padding := (string .padding) | default "auto" -}}
{{- $ratio := .ratio -}} {{- $ratio := .ratio -}}
{{- $portrait := .portrait | default false -}}
{{- $thumbnail := .thumbnail -}} {{- $thumbnail := .thumbnail -}}
{{- $anchor := .anchor | default "" -}}
{{- $title := .title -}} {{- $title := .title -}}
{{- $subtle := .subtle -}} {{- $subtle := .subtle -}}
{{- $button := .button -}} {{- $button := .button -}}
@@ -57,8 +60,12 @@
{{- if not $title }}{{ $title = .Title }}{{ end -}} {{- if not $title }}{{ $title = .Title }}{{ end -}}
{{- if not $href }}{{ $href = .RelPermalink }}{{ end -}} {{- if not $href }}{{ $href = .RelPermalink }}{{ end -}}
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}} {{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}}
{{- if not $thumbnail }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}} {{- if and (not $thumbnail) (not $icon) }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
{{ if not $ratio }}
{{- if and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.ratio }}{{ $ratio = .Params.Thumbnail.ratio }}{{ end -}}
{{ end }}
{{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}} {{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}}
{{- if not $anchor }}{{ $anchor = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.anchor) "") }}{{ end -}}
{{- end -}} {{- end -}}
{{ if (hasPrefix $orientation "horizontal") }} {{ if (hasPrefix $orientation "horizontal") }}
@@ -69,6 +76,7 @@
{{ end }} {{ end }}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}} {{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
{{- if eq $body "none" }}{{ $description = "" }}{{ end -}}
<!-- Inline partial to render the card's body --> <!-- Inline partial to render the card's body -->
{{- define "partials/card-body.html" -}} {{- define "partials/card-body.html" -}}
@@ -80,7 +88,7 @@
{{- if $href -}} {{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link"> <a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
<p class="card-title fs-5 fw-bold">{{ $title }}</p> <p class="card-title fs-lg-5 fs-6 fw-bold">{{ $title }}</p>
{{ with $description }} {{ with $description }}
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}"> <div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
{{ . | safeHTML }} {{ . | safeHTML }}
@@ -89,7 +97,7 @@
</a> </a>
{{- else -}} {{- else -}}
<div> <div>
{{ with $title }}<p class="card-title fs-5 fw-bold">{{ . }}</p>{{ end -}} {{ with $title }}<p class="card-title fs-lg-5 fs-6 fw-bold">{{ . }}</p>{{ end -}}
{{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}} {{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
</div> </div>
{{- end -}} {{- end -}}
@@ -161,7 +169,7 @@
<div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}"> <div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}">
{{- if $thumbnail -}} {{- if $thumbnail -}}
<div class="{{ $col1 }}"> <div class="{{ $col1 }}">
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}} {{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "portrait" $portrait "sizes" $sizes "anchor" $anchor "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
</div> </div>
{{- else if $icon -}} {{- else if $icon -}}
<div class="{{ $col1 }} p-{{ $padding }}"> <div class="{{ $col1 }} p-{{ $padding }}">
@@ -206,7 +214,7 @@
<!-- Render stacked / default card --> <!-- Render stacked / default card -->
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}"> <div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
{{- if $thumbnail -}} {{- if $thumbnail -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}} {{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "portrait" $portrait "anchor" $anchor "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}}
{{- else if $icon -}} {{- else if $icon -}}
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }} {{ if $iconRounded }}fa-stack {{ $stack }}{{ end }} w-100"> <div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }} {{ if $iconRounded }}fa-stack {{ $stack }}{{ end }} w-100">
{{ if $iconRounded }} {{ if $iconRounded }}

View File

@@ -15,15 +15,16 @@
{{- $mode := .mode -}} {{- $mode := .mode -}}
{{- $modes := .modes -}} {{- $modes := .modes -}}
{{- $plain := .plain | default false }} {{- $plain := .plain | default false }}
{{- $anchor := .anchor }}
<!-- Split url into base and anchor when applicable (only relevant for vector images) --> <!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $anchor := "" -}} {{- $fileAnchor := "" -}}
{{- $segments := split $url "#" -}} {{- $segments := split $url "#" -}}
{{- if gt (len $segments) 2 -}} {{- if gt (len $segments) 2 -}}
{{- errorf "Invalid path or url: %q" $url -}} {{- errorf "Invalid path or url: %q" $url -}}
{{- else if eq (len $segments) 2 }} {{- else if eq (len $segments) 2 }}
{{- $url = index $segments 0 -}} {{- $url = index $segments 0 -}}
{{- $anchor = index $segments 1 -}} {{- $fileAnchor = index $segments 1 -}}
{{- end -}} {{- end -}}
<!-- Obtain fallback URL and imageset definition --> <!-- Obtain fallback URL and imageset definition -->
@@ -31,8 +32,10 @@
"page" $page "page" $page
"url" .url "url" .url
"ratio" $ratio "ratio" $ratio
"portrait" $portrait
"plain" $plain "plain" $plain
"imageset" true "imageset" true
"anchor" $anchor
) }} ) }}
{{ $fallbackURL := index $target "target" }} {{ $fallbackURL := index $target "target" }}
{{ $imgset := index $target "set" }} {{ $imgset := index $target "set" }}
@@ -49,24 +52,26 @@
<!-- Generate image definition --> <!-- Generate image definition -->
{{- if $caption -}} {{- if $caption -}}
<figure {{ with $wrapper }}class="{{ . }}"{{ end }}> <figure {{ with $wrapper }}class="{{ . }}"{{ end }}>
{{ else }}
{{ with $wrapper }}<div class="{{ . }}">{{ end }}
{{ end }}
{{- if not $fileAnchor -}}
<img class="img-fluid {{ $class }}"
src="{{ $fallbackURL }}"
{{ if $lazy }}loading="lazy"{{ end }}
{{ with $priority }}fetchpriority="{{ . }}"{{ end }}
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }}
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
{{- else }}
<svg class="{{ $class }}">
<use href="{{ $fallbackURL }}#{{ $fileAnchor }}"></use>
</svg>
{{ end }} {{ end }}
<div class="{{ if not $caption }}{{ $wrapper }}{{ end }}">
{{- if not $anchor -}}
<img class="img-fluid {{ $class }}"
src="{{ $fallbackURL }}"
{{ if $lazy }}loading="lazy"{{ end }}
{{ with $priority }}fetchpriority="{{ . }}"{{ end }}
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
{{ with $height }}height="{{ . }}"{{ end }}
{{ with $width }}width="{{ . }}"{{ end }}
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
{{- else }}
<svg class="{{ $class }}">
<use href="{{ $fallbackURL }}#{{ $anchor }}"></use>
</svg>
{{ end }}
</div>
{{- if $caption -}} {{- if $caption -}}
<figcaption class="figure-caption{{ with $figclass }} {{ . }}{{ end }}">{{ $caption | safeHTML }}</figcaption> <figcaption class="figure-caption{{ with $figclass }} {{ . }}{{ end }}">{{ $caption | safeHTML }}</figcaption>
</figure> </figure>
{{ else if $wrapper }}
</div>
{{- end -}} {{- end -}}

View File

@@ -2,12 +2,14 @@
{{- $page := .page -}} {{- $page := .page -}}
{{- $url := .url -}} {{- $url := .url -}}
{{- $ratio := .ratio -}} {{- $ratio := .ratio -}}
{{- $portrait := .portrait -}}
{{- $height := .height -}} {{- $height := .height -}}
{{- $width := .width -}} {{- $width := .width -}}
{{- $plain := .plain | default false }} {{- $plain := .plain | default false }}
{{- $targetURL := "" -}} {{- $targetURL := "" -}}
{{- $set := "" -}} {{- $set := "" -}}
{{- $imageset := .imageset | default false }} {{- $imageset := .imageset | default false }}
{{- $anchor := .anchor | default "" -}}
<!-- Split url into base and anchor when applicable (only relevant for vector images) --> <!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $segments := split $url "#" -}} {{- $segments := split $url "#" -}}
@@ -84,10 +86,27 @@
<!-- Derive image width and height --> <!-- Derive image width and height -->
{{ if not $plain }} {{ if not $plain }}
{{ with $dims }} {{ if $portrait }}
{{ range $dim := (. | last 1) }} {{ with $dims }}
{{ $width = (int (index (split $dim "x") 0)) }} {{ $newDims := slice }}
{{ $height = (int (index (split $dim "x") 1)) }} {{ range $dim := . }}
{{ $width = (int (index (split $dim "x") 1)) }}
{{ $height = (int (index (split $dim "x") 0)) }}
{{- $newDims = $newDims | append (printf "%dx%d" (int $width) $height ) -}}
{{ end }}
{{ $dims = $newDims }}
{{ end }}
{{ $newWidth := $height }}
{{ $newHeight := $width }}
{{ $width = $newWidth }}
{{ $height = $newHeight }}
{{ else }}
{{ with $dims }}
{{ range $dim := (. | last 1) }}
{{ $width = (int (index (split $dim "x") 0)) }}
{{ $height = (int (index (split $dim "x") 1)) }}
{{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}
@@ -100,13 +119,21 @@
"url" $url "url" $url
"img" $img "img" $img
"dims" ($dims | last 1) "dims" ($dims | last 1)
"anchor" $anchor
"transform" $transform "transform" $transform
"hook" $hook "hook" $hook
"format" "jpg" "format" "png"
"includeWidth" false "includeWidth" false
)}} )}}
{{ if $imageset }} {{ if $imageset }}
{{- $set = partial "assets/helpers/image-set.html" (dict "url" $url "img" $img "dims" $dims "transform" $transform "hook" $hook) -}} {{- $set = partial "assets/helpers/image-set.html" (dict
"url" $url
"img" $img
"dims" $dims
"anchor" $anchor
"transform" $transform
"hook" $hook
) -}}
{{ end }} {{ end }}
{{ end }} {{ end }}

View File

@@ -7,6 +7,7 @@
{{ $transform := .transform }} {{ $transform := .transform }}
{{ $format := .format }} {{ $format := .format }}
{{ $includeWidth := .includeWidth | default true }} {{ $includeWidth := .includeWidth | default true }}
{{ $anchor := .anchor | default "" }}
{{ $host := (urls.Parse $url).Hostname }} {{ $host := (urls.Parse $url).Hostname }}
{{ $dir := (urls.Parse $url).Path }} {{ $dir := (urls.Parse $url).Path }}
@@ -35,6 +36,7 @@
"width" $width "width" $width
"height" $height "height" $height
"format" $format "format" $format
"anchor" $anchor
)}} )}}
{{ if $includeWidth }} {{ if $includeWidth }}
{{ $imgset = $imgset | append (printf "%s %dw" $element $width) }} {{ $imgset = $imgset | append (printf "%s %dw" $element $width) }}

View File

@@ -27,6 +27,7 @@
{{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}} {{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}}
{{- $sizes := .sizes | default "100vw" -}} {{- $sizes := .sizes | default "100vw" -}}
{{- $plain := .plain | default false -}} {{- $plain := .plain | default false -}}
{{- $anchor := .anchor | default "" -}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}} {{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $url := .url -}} {{- $url := .url -}}
@@ -49,6 +50,7 @@
"sizes" $sizes "sizes" $sizes
"absoluteURL" $absoluteURL "absoluteURL" $absoluteURL
"plain" $plain "plain" $plain
"anchor" $anchor
) )
-}} -}}

View File

@@ -24,7 +24,7 @@
{{- $menuURL := "" -}} {{- $menuURL := "" -}}
{{ if or (strings.HasPrefix $menu.PageRef "http") (strings.HasPrefix $menu.URL "http") }} {{ if or (strings.HasPrefix $menu.PageRef "http") (strings.HasPrefix $menu.URL "http") }}
{{ $menuURL = or $menu.PageRef $menu.URL }} {{ $menuURL = or $menu.PageRef $menu.URL }}
{{ else }} {{ else if (or $menu.PageRef $menu.URL) }}
{{- $menuURL = urls.JoinPath $baseURL ((or $menu.PageRef $menu.URL) | relLangURL) -}} {{- $menuURL = urls.JoinPath $baseURL ((or $menu.PageRef $menu.URL) | relLangURL) -}}
{{ end }} {{ end }}
{{- $pageURL := $page.RelPermalink -}} {{- $pageURL := $page.RelPermalink -}}
@@ -47,6 +47,11 @@
{{- if $cue -}} {{- if $cue -}}
{{ $suffix = partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs") }} {{ $suffix = partial "assets/icon.html" (dict "icon" "fas up-right-from-square fa-2xs") }}
{{- end -}} {{- end -}}
{{ else if $menuURL }}
{{ $ref := partial "utilities/GetPage.html" (dict "url" $url.Path "page" $page) }}
{{- if not $ref -}}
{{- warnf "partial [assets/navbar-item.html] - Cannot find page of menu item '%s': %s" $menu.Name $url -}}
{{ end }}
{{ end -}} {{ end -}}
{{- $mainNav := urlize (lower $menu.Name) -}} {{- $mainNav := urlize (lower $menu.Name) -}}
@@ -82,7 +87,7 @@
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}" <a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }} {{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }} data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}> {{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }}{{ end }} {{ $button | safeHTMLAttr }}>
{{- with $menu.Pre }} {{- with $menu.Pre }}
{{ if hasPrefix . "<i" }} {{ if hasPrefix . "<i" }}

View File

@@ -27,5 +27,20 @@
{{- with index . "state" }}{{ $state = . }}{{ end -}} {{- with index . "state" }}{{ $state = . }}{{ end -}}
{{- end -}} {{- end -}}
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "state" $state "page" .) }} {{ $localize := false }}
{{- if reflect.IsSlice $config.localize -}}
{{- if in $config.localize $mod}}
{{- $localize = true -}}
{{- end -}}
{{- end -}}
{{- partial "footer/scripts.html" (dict
"filename" $filename
"match" $match
"header" false
"skipTemplate" $skipTemplate
"state" $state
"localize" $localize
"page" page
) }}
{{- end -}} {{- end -}}

View File

@@ -1,3 +1,18 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $error := false }}
<!-- Validate arguments -->
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "scripts" "args" . "group" "partial") }}
{{- errorf "partial [footer/scripts.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}} {{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $filename := .filename | default "js/main.bundle.js" -}} {{- $filename := .filename | default "js/main.bundle.js" -}}
{{- $match := .match | default "{js/*.js,js/vendor/**.js}" -}} {{- $match := .match | default "{js/*.js,js/vendor/**.js}" -}}
@@ -5,16 +20,12 @@
{{- $header := .header -}} {{- $header := .header -}}
{{- $core := .core | default false -}} {{- $core := .core | default false -}}
{{- $skipTemplate := .skipTemplate | default false -}} {{- $skipTemplate := .skipTemplate | default false -}}
{{- $localize := .localize | default false }}
{{- $state := "async" -}} {{- $state := .state | default "async" -}}
{{- with .state }}{{ $state = . }}{{ end -}}
{{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}} {{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}}
{{- $supportedStates := slice "defer" "async" "immediate" -}}
{{- if and $state (not (in $supportedStates $state)) -}}
{{- errorf "partial [footer/script.html] - Invalid value for param 'processing': %s" $state -}}
{{- end -}}
{{ $config := page.Scratch.Get "modules" }} {{ $config := $page.Scratch.Get "modules" }}
{{ if not $config }} {{ if not $config }}
{{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }} {{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }}
{{ end }} {{ end }}
@@ -22,9 +33,28 @@
{{- $modules := "" -}} {{- $modules := "" -}}
{{ if $core }} {{ if $core }}
{{- $modules = $config.core -}} {{- $modules = $config.core -}}
{{- if reflect.IsSlice $config.localize -}}
{{- range $index, $mod := $modules -}}
{{- if in $config.localize $mod}}
{{- $localize = true -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}} {{- end -}}
{{- $bundle := partial "utilities/bundle" (dict "match" $match "filename" $filename "modules" $modules "basepath" "js/modules" "all" true "debugging" site.Params.debugging.showJS) -}} {{ if $localize }}
{{ $filename = path.Join (path.Dir $filename) (printf "%s.%s%s" (path.BaseName $filename) $page.Language.Lang (path.Ext $filename)) }}
{{ end }}
<!-- Main code -->
{{- $bundle := partial "utilities/bundle" (dict
"match" $match
"filename" $filename
"modules" $modules
"basepath" "js/modules"
"all" true
"debugging" site.Params.debugging.showJS
) -}}
{{- $js := $bundle -}} {{- $js := $bundle -}}
{{- if not $skipTemplate -}} {{- if not $skipTemplate -}}
{{- $js = $bundle | resources.ExecuteAsTemplate $filename $page -}} {{- $js = $bundle | resources.ExecuteAsTemplate $filename $page -}}

View File

@@ -4,6 +4,7 @@
{{ $optional := slice }} {{ $optional := slice }}
{{ $excludeSCSS := slice }} {{ $excludeSCSS := slice }}
{{ $disableTemplate := slice }} {{ $disableTemplate := slice }}
{{ $localize := slice }}
{{ $modules := dict }} {{ $modules := dict }}
{{ range $key, $mod := $page.Site.Params.modules }} {{ range $key, $mod := $page.Site.Params.modules }}
@@ -37,13 +38,24 @@
{{ $disableTemplate = $disableTemplate | append $key }} {{ $disableTemplate = $disableTemplate | append $key }}
{{ end }} {{ end }}
{{ if eq (index $mod "localize") true }}
{{ $localize = $localize | append $key }}
{{ end }}
{{ $modules = merge $modules (dict $key $mod) }} {{ $modules = merge $modules (dict $key $mod) }}
{{ else }} {{ else }}
{{ warnf "Unsupported module parameter: %s" $key }} {{ warnf "Unsupported module parameter: %s" $key }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ $modules := dict "modules" $modules "core" $core "optional" $optional "excludeSCSS" $excludeSCSS "disableTemplate" $disableTemplate }} {{ $modules := dict
"modules" $modules
"core" $core
"optional" $optional
"excludeSCSS" $excludeSCSS
"disableTemplate" $disableTemplate
"localize" $localize
}}
{{- if and $page.IsPage (not (in $core "bootstrap")) -}} {{- if and $page.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" -}}

View File

@@ -32,6 +32,7 @@
{{- $page := .Page -}} {{- $page := .Page -}}
{{- $path := .Get "path" -}} {{- $path := .Get "path" -}}
{{- $thumbnail := .Get "thumbnail" -}} {{- $thumbnail := .Get "thumbnail" -}}
{{- $anchor := .Get "anchor" -}}
{{- $title := .Get "title" -}} {{- $title := .Get "title" -}}
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}} {{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
{{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}} {{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}}
@@ -81,6 +82,7 @@
"wrapper" $wrapper "wrapper" $wrapper
"thumbnail" $thumbnail "thumbnail" $thumbnail
"loading" $loading "loading" $loading
"anchor" $anchor
"alt" $alt "alt" $alt
"button" $button "button" $button
"buttonType" $buttonType "buttonType" $buttonType

View File

@@ -25,6 +25,7 @@
{{- $loading := "" -}} {{- $loading := "" -}}
{{- $error := false -}} {{- $error := false -}}
{{- $plain := false -}} {{- $plain := false -}}
{{- $anchor := "" -}}
{{- if .IsNamedParams -}} {{- if .IsNamedParams -}}
{{ $url = .Get "src" | default "" -}} {{ $url = .Get "src" | default "" -}}
@@ -39,6 +40,7 @@
{{ with .Get "mode" }}{{ $mode = partial "utilities/CastBool.html" . }}{{ end -}} {{ with .Get "mode" }}{{ $mode = partial "utilities/CastBool.html" . }}{{ end -}}
{{ with .Get "portrait" }}{{ $portrait = partial "utilities/CastBool.html" . }}{{ end -}} {{ with .Get "portrait" }}{{ $portrait = partial "utilities/CastBool.html" . }}{{ end -}}
{{ with .Get "plain" }}{{ $plain = partial "utilities/CastBool.html" . }}{{ end -}} {{ with .Get "plain" }}{{ $plain = partial "utilities/CastBool.html" . }}{{ end -}}
{{ $anchor = .Get "anchor" | default "" -}}
{{ else -}} {{ else -}}
{{ $url = .Get 0 }} {{ $url = .Get 0 }}
{{ end -}} {{ end -}}
@@ -61,6 +63,7 @@
"mode" $mode "mode" $mode
"portrait" $portrait "portrait" $portrait
"plain" $plain "plain" $plain
"anchor" $anchor
"loading" $loading "loading" $loading
"page" .Page) "page" .Page)
-}} -}}

60
package-lock.json generated
View File

@@ -1,19 +1,19 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.24.14", "version": "0.25.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.24.14", "version": "0.25.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0", "@fullhuman/postcss-purgecss": "^6.0.0",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"cssnano": "^7.0.4", "cssnano": "^7.0.4",
"cssnano-preset-advanced": "^7.0.4", "cssnano-preset-advanced": "^7.0.4",
"hugo-bin": "0.125.2", "hugo-bin": "0.127.0",
"purgecss-whitelister": "^2.4.0" "purgecss-whitelister": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
@@ -22,7 +22,7 @@
"eslint-config-standard": "^17.1.0", "eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2", "eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.4.0", "eslint-plugin-promise": "^6.6.0",
"markdownlint-cli2": "^0.13.0", "markdownlint-cli2": "^0.13.0",
"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",
@@ -30,7 +30,7 @@
"replace-in-files-cli": "^3.0.0", "replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"shx": "^0.3.4", "shx": "^0.3.4",
"stylelint": "^16.7.0", "stylelint": "^16.8.1",
"stylelint-config-standard-scss": "^13.1.0" "stylelint-config-standard-scss": "^13.1.0"
}, },
"optionalDependencies": { "optionalDependencies": {
@@ -1682,9 +1682,9 @@
"integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="
}, },
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.5", "version": "4.3.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"ms": "2.1.2" "ms": "2.1.2"
@@ -2296,9 +2296,9 @@
} }
}, },
"node_modules/eslint-plugin-promise": { "node_modules/eslint-plugin-promise": {
"version": "6.4.0", "version": "6.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.4.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz",
"integrity": "sha512-/KWWRaD3fGkVCZsdR0RU53PSthFmoHVhZl+y9+6DqeDLSikLdlUVpVEAmI6iCRR5QyOjBYBqHZV/bdv4DJ4Gtw==", "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3313,9 +3313,9 @@
} }
}, },
"node_modules/hugo-bin": { "node_modules/hugo-bin": {
"version": "0.125.2", "version": "0.127.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.125.2.tgz", "resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.127.0.tgz",
"integrity": "sha512-JNjhuoGFBwJo6qDOeYUiXSoD7rPbwY36wyHJaqbRe9APNY1nPGO1Yy/Ut7rLcriKTBWKPZrh5Hz+9PzGnLV5Lw==", "integrity": "sha512-tCp/MzBZAuWOMQo0YUU6dp6KpmcQsM2iFpsIMPtjlPbS1gSVVjgoIM/7zT8qVENDEWT4psa00N3gGobIjSMReg==",
"funding": [ "funding": [
{ {
"type": "github", "type": "github",
@@ -4851,9 +4851,9 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.39", "version": "8.4.40",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz",
"integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@@ -5378,9 +5378,9 @@
} }
}, },
"node_modules/postcss-resolve-nested-selector": { "node_modules/postcss-resolve-nested-selector": {
"version": "0.1.1", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz",
"integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", "integrity": "sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw==",
"dev": true "dev": true
}, },
"node_modules/postcss-safe-parser": { "node_modules/postcss-safe-parser": {
@@ -5436,9 +5436,9 @@
} }
}, },
"node_modules/postcss-selector-parser": { "node_modules/postcss-selector-parser": {
"version": "6.1.0", "version": "6.1.1",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
"integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
"dependencies": { "dependencies": {
"cssesc": "^3.0.0", "cssesc": "^3.0.0",
"util-deprecate": "^1.0.2" "util-deprecate": "^1.0.2"
@@ -6555,9 +6555,9 @@
} }
}, },
"node_modules/stylelint": { "node_modules/stylelint": {
"version": "16.7.0", "version": "16.8.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.7.0.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.8.1.tgz",
"integrity": "sha512-Q1ATiXlz+wYr37a7TGsfvqYn2nSR3T/isw3IWlZQzFzCNoACHuGBb6xBplZXz56/uDRJHIygxjh7jbV/8isewA==", "integrity": "sha512-O8aDyfdODSDNz/B3gW2HQ+8kv8pfhSu7ZR7xskQ93+vI6FhKKGUJMQ03Ydu+w3OvXXE0/u4hWU4hCPNOyld+OA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -6580,7 +6580,7 @@
"cosmiconfig": "^9.0.0", "cosmiconfig": "^9.0.0",
"css-functions-list": "^3.2.2", "css-functions-list": "^3.2.2",
"css-tree": "^2.3.1", "css-tree": "^2.3.1",
"debug": "^4.3.5", "debug": "^4.3.6",
"fast-glob": "^3.3.2", "fast-glob": "^3.3.2",
"fastest-levenshtein": "^1.0.16", "fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^9.0.0", "file-entry-cache": "^9.0.0",
@@ -6597,10 +6597,10 @@
"micromatch": "^4.0.7", "micromatch": "^4.0.7",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picocolors": "^1.0.1", "picocolors": "^1.0.1",
"postcss": "^8.4.39", "postcss": "^8.4.40",
"postcss-resolve-nested-selector": "^0.1.1", "postcss-resolve-nested-selector": "^0.1.4",
"postcss-safe-parser": "^7.0.0", "postcss-safe-parser": "^7.0.0",
"postcss-selector-parser": "^6.1.0", "postcss-selector-parser": "^6.1.1",
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"string-width": "^4.2.3", "string-width": "^4.2.3",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.24.14", "version": "0.25.0",
"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,7 +71,7 @@
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"cssnano": "^7.0.4", "cssnano": "^7.0.4",
"cssnano-preset-advanced": "^7.0.4", "cssnano-preset-advanced": "^7.0.4",
"hugo-bin": "0.125.2", "hugo-bin": "0.127.0",
"purgecss-whitelister": "^2.4.0" "purgecss-whitelister": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
@@ -80,7 +80,7 @@
"eslint-config-standard": "^17.1.0", "eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2", "eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.4.0", "eslint-plugin-promise": "^6.6.0",
"markdownlint-cli2": "^0.13.0", "markdownlint-cli2": "^0.13.0",
"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",
@@ -88,7 +88,7 @@
"replace-in-files-cli": "^3.0.0", "replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"shx": "^0.3.4", "shx": "^0.3.4",
"stylelint": "^16.7.0", "stylelint": "^16.8.1",
"stylelint-config-standard-scss": "^13.1.0" "stylelint-config-standard-scss": "^13.1.0"
}, },
"optionalDependencies": { "optionalDependencies": {