Compare commits

...

29 Commits

Author SHA1 Message Date
Mark Dumay
b28abcd6f2 Merge pull request #964 from gethinode/develop
Enable rewrite of CDN origin images
2024-05-29 10:57:47 +02:00
Mark Dumay
93885492d7 Merge branch 'main' into develop 2024-05-29 10:50:19 +02:00
Mark Dumay
ed5daa780d Enable rewrite of CDN origin images 2024-05-29 10:49:40 +02:00
Mark Dumay
00501edadd Merge pull request #963 from gethinode/develop
Suppress additional image warning
2024-05-29 10:48:20 +02:00
Mark Dumay
fdb1472f9e Merge branch 'main' into develop 2024-05-29 10:41:52 +02:00
Mark Dumay
b176fbd365 Suppress additional image warning 2024-05-29 10:41:19 +02:00
github-actions[bot]
f2b0e49aa9 Merge pull request #962 from gethinode/dependabot/npm_and_yarn/stylelint-16.6.1
Bump stylelint from 16.6.0 to 16.6.1
2024-05-28 13:54:51 +00:00
dependabot[bot]
5b8df68db5 Bump stylelint from 16.6.0 to 16.6.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.6.0 to 16.6.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.6.0...16.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 13:48:47 +00:00
Mark Dumay
fce4b7dde9 Merge pull request #961 from gethinode/develop
Prevent processing of plain images
2024-05-28 15:48:03 +02:00
Mark Dumay
ba43672bf6 Merge branch 'main' into develop 2024-05-28 15:41:06 +02:00
Mark Dumay
1b93485064 Prevent processing of plain images 2024-05-28 15:40:38 +02:00
Mark Dumay
8d9f12d676 Merge pull request #960 from gethinode/develop
Use latest resource handling
2024-05-28 12:42:32 +02:00
Mark Dumay
1a89aa39c2 Merge branch 'main' into develop 2024-05-28 11:59:14 +02:00
Mark Dumay
6b60188702 Use latest resource handling 2024-05-28 11:58:42 +02:00
Mark Dumay
5e410040cc Merge pull request #959 from gethinode/develop
Support plain images
2024-05-28 11:50:07 +02:00
Mark Dumay
b00f39f850 Merge branch 'main' into develop 2024-05-28 11:41:16 +02:00
Mark Dumay
7e396c5a4d Support plain images 2024-05-28 11:40:38 +02:00
github-actions[bot]
4d43f0bb9b Merge pull request #958 from gethinode/dependabot/npm_and_yarn/eslint-plugin-promise-6.2.0
Bump eslint-plugin-promise from 6.1.1 to 6.2.0
2024-05-27 13:20:07 +00:00
dependabot[bot]
3512bb9dfe Bump eslint-plugin-promise from 6.1.1 to 6.2.0
Bumps [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) from 6.1.1 to 6.2.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.1.1...v6.2.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-05-27 13:15:06 +00:00
Mark Dumay
7dde897e41 Merge pull request #957 from gethinode/develop
Improve image handling
2024-05-27 11:01:32 +02:00
Mark Dumay
f2cad0fe88 Merge branch 'main' into develop 2024-05-27 10:55:17 +02:00
Mark Dumay
eed2d8f68d Merge pull request #956 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-05-27 10:54:48 +02:00
Mark Dumay
d1aebe2fbe Bump package release 2024-05-27 10:48:23 +02:00
markdumay
013614b149 fix: update Hugo module dependencies 2024-05-27 08:48:19 +00:00
Mark Dumay
d55446d5cc Improve image handling 2024-05-27 10:35:06 +02:00
Mark Dumay
80a225e814 Merge pull request #955 from gethinode/develop
Fix image color mode
2024-05-26 19:29:27 +02:00
Mark Dumay
c7e63308c5 Bump package release 2024-05-26 19:22:10 +02:00
Mark Dumay
7bc712b5f3 Merge branch 'main' into develop 2024-05-26 19:15:44 +02:00
Mark Dumay
cf95a84f2a Fix image color mode 2024-05-26 19:14:59 +02:00
13 changed files with 210 additions and 76 deletions

View File

@@ -0,0 +1,29 @@
comment: >-
Rewrites an origin URL to a target URL as supported by a CDN image adapter.
arguments:
account:
type: string
optional: true
comment: Account name of the origin server.
container:
type: string
optional: true
comment: Container name of the origin server.
host:
type: string
optional: true
comment: >-
Host of an URL. For example, the host of the URL
'https://example.com/first/second/third.webp' equals 'example.com'.
dir:
type: string
optional: true
comment: >-
All but the last element of an URL extension. For example, the dir of the
URL 'https://example.com/first/second/third.webp' equals '/first/second/'.
file:
type: string
optional: false
comment: >-
The last element of an URL extension. For example, the file of the
URL 'https://example.com/first/second/third.webp' equals 'third.webp'.

View File

@@ -19,7 +19,9 @@ comment: >-
reference.
arguments:
url:
type: string
type:
- string
- template.URL
optional: true
comment: >-
Path or url of the image, e.g. `img/example.jpg`. Images with multiple
@@ -128,3 +130,11 @@ arguments:
optional: true
comment: Class attribute of the figure caption, e.g. `px-4`.
release: v0.23.0
plain:
type: bool
default: false
optional: true
comment:
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.
release: v0.24.0-beta5

View File

@@ -15,7 +15,7 @@ As an example, the following shortcode displays an image with rounded corners an
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* image src="https://res.cloudinary.com/demo/image/upload/dog.webp"
ratio="21x9" caption="Cloudinary image" class="rounded" */>}}
ratio="21x9" caption="Cloudinary image" class="rounded" plain=true */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

2
go.mod
View File

@@ -10,7 +10,7 @@ require (
github.com/gethinode/mod-katex v1.1.0 // indirect
github.com/gethinode/mod-leaflet v1.1.0 // indirect
github.com/gethinode/mod-lottie v1.5.0 // indirect
github.com/gethinode/mod-utils/v2 v2.3.1 // indirect
github.com/gethinode/mod-utils/v2 v2.3.3 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
)

4
go.sum
View File

@@ -202,6 +202,10 @@ github.com/gethinode/mod-utils/v2 v2.3.0 h1:e3uhlAGasvXe+cgvcmzRe05Zo4UEx86uk0Tb
github.com/gethinode/mod-utils/v2 v2.3.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.1 h1:blqynoRJ+H2SPfSU28iYheYWPH39MKNtK5HKJPghL3M=
github.com/gethinode/mod-utils/v2 v2.3.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.2 h1:QxYtHqeiLfAg+38ULFr3qYwNuypcnV1KzsmmNUjbX+U=
github.com/gethinode/mod-utils/v2 v2.3.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.3.3 h1:dewgQgAyPJJ1lA2WhowHaFqVaeLjUNYgxDO4mE3v0F0=
github.com/gethinode/mod-utils/v2 v2.3.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=

View File

@@ -27,7 +27,7 @@
{{ $url = urls.JoinPath "https://" $host $url }}
{{ end }}
<!-- Initialize image if needed -->
<!-- Initialize image if needed, do not raise additional warnings -->
{{ $format := .format | default "webp" }}
{{ if and (not $img) (ne $format "svg") }}
{{- $res := partial "utilities/GetImage.html" (dict "url" $url "page" page) -}}
@@ -37,7 +37,6 @@
{{ end }}
{{ if not $img }}
{{ errorf "partial [assets/adapter/hugo.html] - Expected 'img' argument" -}}
{{ $error = true }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,30 @@
<!--
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" "image-adapter-rewrite" "args" . "group" "partial") }}
{{ errorf "partial [assets/adapter/imagekit-rewrite.html] - Invalid arguments" -}}
{{ $error = true }}
{{ end }}
<!-- Initialize arguments -->
{{ $account := .account }}
{{ $container := trim .container "/" }}
{{ $host := .host }}
{{ $dir := .dir }}
{{ $file := .file }}
{{ $element := "" }}
{{ with $container }}{{ $dir = strings.TrimPrefix (printf "/%s" .) $dir }}{{ end }}
{{ if ne $host "ik.imagekit.io" }}
{{ $element = urls.JoinPath (slice "https://ik.imagekit.io" $account $dir $file) }}
{{ else }}
{{ $element = urls.JoinPath (slice "https://" $host $dir $file) }}
{{ end }}
{{ return $element }}

View File

@@ -14,13 +14,13 @@
{{- $url := .url -}}
{{- $mode := .mode -}}
{{- $modes := .modes -}}
{{- $plain := .plain | default false }}
{{- $fallbackURL := "" -}}
{{- $anchor := "" -}}
{{- $imgset := "" -}}
{{- $isVector := false -}}
<!-- Split url into base and anchor when applicable (only relevant for vector images) -->
{{- $segments := split $url "#" -}}
{{- if gt (len $segments) 2 -}}
@@ -32,17 +32,28 @@
<!-- Identify image provider -->
{{ $hook := "" }}
{{ $account := "" }}
{{ $container := "" }}
{{ $rewrite := false }}
{{ range $provider, $val := site.Params.images }}
{{ if not $hook }}
{{ with index $val "host" }}
{{ if (findRE . (urls.Parse $url).Hostname) }}
{{ $hook = $provider }}
{{ with index $val "account" }}{{ $account = . }}{{ end }}
{{ with index $val "rewrite" }}{{ $rewrite = . }}{{ end }}
{{ with index $val "container" }}{{ $container = . }}{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ if not $hook }}{{ $hook = "hugo" }}{{ end }}
<!-- Rewrite the origin URL if applicable -->
{{ if $rewrite }}
{{ $url = partial "assets/helpers/image-rewrite.html" (dict "url" $url "account" $account "container" $container "hook" $hook) }}
{{ end }}
<!-- Define image dimensions -->
{{ $dims := slice }}
{{- $res := "" -}}
@@ -62,32 +73,34 @@
{{ $transform = "fill" }}
{{ $dims = partial "assets/helpers/GetDimension.html" (dict "ratio" $ratio) }}
{{ if not $dims }}{{ errorf "partial [assets/image.html] - Cannot find dimension data: %s" $ratio }}{{ end }}
{{ else }}
{{ else if not $plain }}
{{ $transform = "fit" }}
{{- $res := partial "utilities/GetImage.html" (dict "url" $url "page" $page) -}}
{{ with $res }}
{{ if and $res $res.resource }}
{{ $img = $res.resource }}
{{ if $res.mirror }}{{ $class = printf "%s mirrorred" $class }}{{ end }}
{{ end }}
{{ $widths := partial "assets/helpers/GetDimension.html" (dict "ratio" "auto") }}
{{ range $width := $widths -}}
{{- $dims = $dims | append (printf "%dx%d" (int $width) (int (math.Round (mul (div (float $width) $img.Width) $img.Height)))) -}}
{{- end -}}
{{ $widths := partial "assets/helpers/GetDimension.html" (dict "ratio" "auto") }}
{{ range $width := $widths -}}
{{- $dims = $dims | append (printf "%dx%d" (int $width) (int (math.Round (mul (div (float $width) $img.Width) $img.Height)))) -}}
{{- end -}}
{{ end }}
{{ end }}
<!-- Derive image width and height -->
{{ $width := "" }}
{{ $height := "" }}
{{ with $dims }}
{{ range $dim := (. | last 1) }}
{{ $width = (int (index (split $dim "x") 0)) }}
{{ $height = (int (index (split $dim "x") 1)) }}
{{ if not $plain }}
{{ with $dims }}
{{ range $dim := (. | last 1) }}
{{ $width = (int (index (split $dim "x") 0)) }}
{{ $height = (int (index (split $dim "x") 1)) }}
{{ end }}
{{ end }}
{{ end }}
<!-- Generate image urls -->
{{ if hasSuffix $url "svg" }}
{{ if or (hasSuffix $url "svg") $plain }}
{{- $fallbackURL = $url -}}
{{ else }}
{{- $fallbackURL = partial "assets/helpers/image-set.html" (dict "url" $url "img" $img "dims" ($dims | last 1) "transform" $transform "hook" $hook "format" "jpg" "includeWidth" false) -}}

View File

@@ -0,0 +1,29 @@
{{- $url := .url -}}
{{- $account := .account -}}
{{- $container := .container -}}
{{ $hook := .hook }}
{{ $host := (urls.Parse $url).Hostname }}
{{ $dir := (urls.Parse $url).Path }}
{{ $file := index ((split $dir "/") | collections.Reverse) 0 }}
{{ $dir = strings.TrimSuffix $file $dir }}
{{ $error := false }}
{{ $adapter := (printf "assets/adapters/%s-rewrite.html" $hook) }}
{{ if not (fileExists (path.Join "/layouts/partials" $adapter)) }}
{{ warnf "Cannot find adapter: %s" (path.Join "/layouts/partials" $adapter) }}
{{ $error = true }}
{{ end }}
{{ $result := $url }}
{{ if not $error }}
{{ $result = partial $adapter (dict
"account" $account
"container" $container
"host" $host
"dir" $dir
"file" $file
)}}
{{ end }}
{{ return $result }}

View File

@@ -26,6 +26,7 @@
{{- $priority := .priority -}}
{{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}}
{{- $sizes := .sizes | default "100vw" -}}
{{- $plain := .plain | default false -}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $url := .url -}}
@@ -47,28 +48,29 @@
"priority" $priority
"sizes" $sizes
"absoluteURL" $absoluteURL
"plain" $plain
)
-}}
{{- if $mode -}}
{{- $ext := path.Ext $url -}}
{{- $base := strings.TrimSuffix $ext $url -}}
{{- range $suffix := $modes -}}
{{- $base = strings.TrimSuffix (printf "-%s" $suffix) $base -}}
{{- end -}}
{{- range $suffix := $modes -}}
{{- $image := printf "%s-%s%s" $base $suffix $ext -}}
{{- $params = merge $params (dict
"url" $image
"mode" $suffix
"modes" $modes)
-}}
{{- end -}}
{{ else }}
{{- $params = merge $params (dict "url" $url) -}}
{{- end -}}
{{ if not $error }}
{{- partial "assets/helpers/image-definition.html" $params -}}
{{- if $mode -}}
{{- $ext := path.Ext $url -}}
{{- $base := strings.TrimSuffix $ext $url -}}
{{- range $suffix := $modes -}}
{{- $base = strings.TrimSuffix (printf "-%s" $suffix) $base -}}
{{- end -}}
{{- range $suffix := $modes -}}
{{- $image := printf "%s-%s%s" $base $suffix $ext -}}
{{- $params = merge $params (dict
"url" $image
"mode" $suffix
"modes" $modes)
-}}
{{- partial "assets/helpers/image-definition.html" $params -}}
{{- end -}}
{{ else }}
{{- $params = merge $params (dict "url" $url) -}}
{{- partial "assets/helpers/image-definition.html" $params -}}
{{- end -}}
{{ end }}

View File

@@ -24,6 +24,7 @@
{{- $portrait := false -}}
{{- $loading := "" -}}
{{- $error := false -}}
{{- $plain := false -}}
{{- if .IsNamedParams -}}
{{ $url = .Get "src" | default "" -}}
@@ -37,6 +38,7 @@
{{ $figclass = .Get "figclass" | default "" -}}
{{ with .Get "mode" }}{{ $mode = partial "utilities/CastBool.html" . }}{{ end -}}
{{ with .Get "portrait" }}{{ $portrait = partial "utilities/CastBool.html" . }}{{ end -}}
{{ with .Get "plain" }}{{ $plain = partial "utilities/CastBool.html" . }}{{ end -}}
{{ else -}}
{{ $url = .Get 0 }}
{{ end -}}
@@ -58,6 +60,7 @@
"figclass" $figclass
"mode" $mode
"portrait" $portrait
"plain" $plain
"loading" $loading
"page" .Page)
-}}

85
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@gethinode/hinode",
"version": "0.24.0-beta2",
"version": "0.24.0-beta7",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.24.0-beta2",
"version": "0.24.0-beta7",
"license": "MIT",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0",
@@ -19,7 +19,7 @@
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-promise": "^6.2.0",
"hugo-bin": "0.123.1",
"markdownlint-cli2": "^0.13.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
@@ -29,7 +29,7 @@
"replace-in-files-cli": "^2.2.0",
"rimraf": "^5.0.7",
"shx": "^0.3.4",
"stylelint": "^16.6.0",
"stylelint": "^16.6.1",
"stylelint-config-standard-scss": "^13.1.0"
},
"optionalDependencies": {
@@ -1503,12 +1503,12 @@
}
},
"node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"dependencies": {
"fill-range": "^7.0.1"
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@@ -3067,15 +3067,18 @@
}
},
"node_modules/eslint-plugin-promise": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz",
"integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.2.0.tgz",
"integrity": "sha512-QmAqwizauvnKOlifxyDj2ObfULpHQawlg/zQdgEixur9vl0CvZGv/LCJV2rtj3210QCoeGBzVMfMXqGAOr/4fA==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0"
"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
}
},
"node_modules/eslint-scope": {
@@ -3501,9 +3504,9 @@
}
},
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -3603,9 +3606,9 @@
}
},
"node_modules/flatted": {
"version": "3.2.9",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
"integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true
},
"node_modules/for-each": {
@@ -8820,9 +8823,9 @@
}
},
"node_modules/stylelint": {
"version": "16.6.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.6.0.tgz",
"integrity": "sha512-vjWYlDEgOS3Z/IcXagQwi8PFJyPro1DxBYOnTML1PAqnrYUHs8owleGStv20sgt0OhW8r9zZm6MK7IT2+l2B6A==",
"version": "16.6.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.6.1.tgz",
"integrity": "sha512-yNgz2PqWLkhH2hw6X9AweV9YvoafbAD5ZsFdKN9BvSDVwGvPh+AUIrn7lYwy1S7IHmtFin75LLfX1m0D2tHu8Q==",
"dev": true,
"funding": [
{
@@ -8848,7 +8851,7 @@
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^8.0.0",
"file-entry-cache": "^9.0.0",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
@@ -8859,7 +8862,7 @@
"known-css-properties": "^0.31.0",
"mathml-tag-names": "^2.1.3",
"meow": "^13.2.0",
"micromatch": "^4.0.5",
"micromatch": "^4.0.7",
"normalize-path": "^3.0.0",
"picocolors": "^1.0.1",
"postcss": "^8.4.38",
@@ -9018,29 +9021,28 @@
}
},
"node_modules/stylelint/node_modules/file-entry-cache": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
"integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz",
"integrity": "sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==",
"dev": true,
"dependencies": {
"flat-cache": "^4.0.0"
"flat-cache": "^5.0.0"
},
"engines": {
"node": ">=16.0.0"
"node": ">=18"
}
},
"node_modules/stylelint/node_modules/flat-cache": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.0.tgz",
"integrity": "sha512-EryKbCE/wxpxKniQlyas6PY1I9vwtF3uCBweX+N8KYTCn3Y12RTGtQAJ/bd5pl7kxUAc8v/R3Ake/N17OZiFqA==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz",
"integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==",
"dev": true,
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.4",
"rimraf": "^5.0.5"
"flatted": "^3.3.1",
"keyv": "^4.5.4"
},
"engines": {
"node": ">=16"
"node": ">=18"
}
},
"node_modules/stylelint/node_modules/globby": {
@@ -9081,6 +9083,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/stylelint/node_modules/micromatch": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
"dev": true,
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
"node": ">=8.6"
}
},
"node_modules/stylelint/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.24.0-beta2",
"version": "0.24.0-beta7",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -77,7 +77,7 @@
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-promise": "^6.2.0",
"hugo-bin": "0.123.1",
"markdownlint-cli2": "^0.13.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
@@ -87,7 +87,7 @@
"replace-in-files-cli": "^2.2.0",
"rimraf": "^5.0.7",
"shx": "^0.3.4",
"stylelint": "^16.6.0",
"stylelint": "^16.6.1",
"stylelint-config-standard-scss": "^13.1.0"
},
"optionalDependencies": {