Compare commits

...

21 Commits

Author SHA1 Message Date
Mark Dumay
a2e3f8625a Merge pull request #54 from markdumay/develop
Develop
2022-11-16 06:24:46 +01:00
mark
0b8dabe195 Update dependencies 2022-11-16 06:22:25 +01:00
mark
20accdb6b9 Fix indentation 2022-11-16 06:20:08 +01:00
Mark Dumay
22234b15b5 Merge pull request #53 from markdumay/main
Synchronize branch
2022-11-16 06:14:05 +01:00
Mark Dumay
33903c5df8 Merge pull request #52 from markdumay/image-test
Image handling
2022-11-16 06:13:19 +01:00
Mark Dumay
35902ed071 Merge pull request #51 from markdumay/main
Synchronize branch
2022-11-16 06:10:29 +01:00
Mark Dumay
1add0050b6 Merge pull request #50 from markdumay/dependabot/npm_and_yarn/stylelint-14.15.0
Bump stylelint from 14.14.1 to 14.15.0
2022-11-14 14:58:06 +01:00
dependabot[bot]
959c874630 Bump stylelint from 14.14.1 to 14.15.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.14.1 to 14.15.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.14.1...14.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 13:12:49 +00:00
mark
c15ac68a6f Bump package version 2022-11-14 09:35:22 +01:00
mark
f7e81d2ab9 Reuse partial 2022-11-14 08:55:53 +01:00
mark
1f539bf724 Strip query parameters from external images 2022-11-14 08:55:15 +01:00
Mark Dumay
2e9a26d84a Merge pull request #49 from markdumay/main
Synchronize branch
2022-11-14 05:43:32 +01:00
Mark Dumay
a36890d61d Configure dependabot version updates 2022-11-09 09:47:17 +01:00
Mark Dumay
21a4a8666c Merge pull request #48 from markdumay/develop
Update dependencies
2022-11-09 09:13:19 +01:00
mark
79ad3bdb32 Update dependencies 2022-11-09 09:10:43 +01:00
Mark Dumay
0bc216ed49 Merge pull request #47 from markdumay/develop
Image processing
2022-11-07 06:12:59 +01:00
mark
f3ee0f4fe4 Update dependencies 2022-11-07 06:10:41 +01:00
mark
cefb5e3668 Update version 2022-11-07 06:08:09 +01:00
mark
778704d51b Improve image handling 2022-11-07 06:07:47 +01:00
Mark Dumay
25933a7e39 Merge pull request #46 from markdumay/develop
Change wording
2022-11-04 05:15:40 +01:00
mark
38b6b590f3 Change wording 2022-11-04 05:13:59 +01:00
8 changed files with 169 additions and 194 deletions

9
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,9 @@
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"

View File

@@ -109,7 +109,7 @@ The main site configuration is available in `./config/_default`. Some remarks:
- **Content** - Ensure the `mainSections` in `config.toml` is synchronized with the `content` folder, default values are `["blog", "projects"]`. - **Content** - Ensure the `mainSections` in `config.toml` is synchronized with the `content` folder, default values are `["blog", "projects"]`.
- **Theme color** - Update `themeColor` and `themeOpacity` within the `[style]` section of `params.toml` to update the site's primary color and opacity. You can use the [WCAG Color Contrast Checker][contrast_checker] to validate the contrast ratio of your color to improve accessibility. - **Theme color** - Update `themeColor` and `themeOpacity` within the `[style]` section of `params.toml` to update the site's primary color and opacity. You can use the [WCAG Color Contrast Checker][contrast_checker] to validate the contrast ratio of your color to improve accessibility.
- **Comments** - Comments are powered by [utterances][utterances], a lightweight comments widget built on GitHub issues. Update the `repo` of the `[comments]` section of `params.toml`. - **Comments** - Comments are powered by [utterances][utterances], a lightweight comments widget built on GitHub issues. Update the `repo` of the `[comments]` section of `params.toml`.
- **Security policy** - The theme uses rather strict security policies by default. Be sure to allow references to external sources in the header configuration to avoid broken links. The settings of the local development server are defined in `server.toml`. Similar settings are defined in the `netlify.toml` file provided in the repository's root when deploying to [Netlify][netlify]. - **Security policy** - The theme uses rather strict security policies by default. Be sure to include references to external sources in the header configuration to avoid broken links. The settings of the local development server are defined in `server.toml`. Similar settings are defined in the `netlify.toml` file provided in the repository's root when deploying to [Netlify][netlify].
## Contributing ## Contributing

View File

@@ -1,46 +1,37 @@
<!-- Copied from doks --> <!-- Adapted from doks -->
{{ with .Title }} {{ with .Title -}}
{{ $.Scratch.Set "title" . }} {{ $.Scratch.Set "title" . -}}
{{ else }} {{ else -}}
{{ $.Scratch.Set "title" .Site.Params.title }} {{ $.Scratch.Set "title" .Site.Params.title -}}
{{ end }} {{ end -}}
{{ with .Description -}} {{ with .Description -}}
{{ $.Scratch.Set "description" . }} {{ $.Scratch.Set "description" . -}}
{{ else -}} {{ else -}}
{{ with .Summary | plainify -}} {{ with .Summary | plainify -}}
{{ $.Scratch.Set "description" . }} {{ $.Scratch.Set "description" . -}}
{{ else -}} {{ else -}}
{{ $.Scratch.Set "description" .Site.Params.description }} {{ $.Scratch.Set "description" .Site.Params.description -}}
{{ end -}} {{ end -}}
{{ end -}} {{ end -}}
{{ with .Params.thumbnail }} {{ with .Params.thumbnail -}}
{{ $source := resources.Get . -}} {{ $source := partial "utilities/GetImage.html" (dict "url" .) -}}
{{ if not $source }} {{ with $source -}}
{{ $source = resources.GetRemote . -}}
{{ if $source }}
{{ $filename := index (last 1 (split (delimit (split . "/") "," "") ",")) 0 }}
{{ $source = $source.Content | resources.FromString (printf "/img/%s" $filename) }}
{{ end }}
{{ end }}
{{ with $source }}
{{ $dim := "1280x640" -}} {{ $dim := "1280x640" -}}
{{ $img := (.Fill (printf "%s jpg" $dim)) -}} {{ $img := (.Fill (printf "%s jpg" $dim)) -}}
{{ $.Scratch.Set "thumbnail" ($img.Permalink | absURL) -}} {{ $.Scratch.Set "thumbnail" ($img.Permalink | absURL) -}}
{{ else }} {{ end -}}
{{ warnf "Cannot find thumbnail: %q" . }} {{ else -}}
{{ end }}
{{ else }}
{{ with .Site.Params.schemaImage -}} {{ with .Site.Params.schemaImage -}}
{{ $.Scratch.Set "thumbnail" (. | absURL) }} {{ $.Scratch.Set "thumbnail" (. | absURL) -}}
{{ else -}} {{ else -}}
{{ $images := $.Resources.ByType "image" -}} {{ $images := $.Resources.ByType "image" -}}
{{ $featured := $images.GetMatch "*feature*" -}} {{ $featured := $images.GetMatch "*feature*" -}}
{{ if not $featured -}} {{ if not $featured -}}
{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" -}} {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" -}}
{{ end -}} {{ end -}}
{{ with $featured }} {{ with $featured -}}
{{ $.Scratch.Set "thumbnail" $featured.Permalink -}} {{ $.Scratch.Set "thumbnail" $featured.Permalink -}}
{{ else -}} {{ else -}}
{{ with $.Site.Params.images -}} {{ with $.Site.Params.images -}}

View File

@@ -12,23 +12,15 @@
"caption": Optional figure caption. "caption": Optional figure caption.
--> -->
{{ $url := .url -}}
{{ $img := resources.GetMatch .url -}} {{ $ratio := .ratio -}}
{{ $ratio := .ratio}}
{{ $outerClass := .outerClass -}} {{ $outerClass := .outerClass -}}
{{ $innerClass := .innerClass -}} {{ $innerClass := .innerClass -}}
{{ $title := .title -}} {{ $title := .title -}}
{{ $caption := .caption -}} {{ $caption := .caption -}}
{{ if not $img }} {{ $img := partial "utilities/GetImage.html" (dict "url" $url) -}}
{{ $img = resources.GetRemote .url -}} {{ with $img -}}
{{ if $img }}
{{ $filename := index (last 1 (split (delimit (split .url "/") "," "") ",")) 0 }}
{{ $img = $img.Content | resources.FromString (printf "/img/%s" $filename) }}
{{ end }}
{{ end}}
{{ with $img }}
<!-- default ratio 4x3 --> <!-- default ratio 4x3 -->
{{ $smDim := "576x432" -}} {{ $smDim := "576x432" -}}
{{ $mdDim := "768x576" -}} {{ $mdDim := "768x576" -}}
@@ -63,7 +55,6 @@
{{ $xxl := ($img.Fill (printf "%s webp" $xxlDim)) -}} {{ $xxl := ($img.Fill (printf "%s webp" $xxlDim)) -}}
{{ $fallback := ($img.Fill (printf "%s jpg" $xxlDim)) -}} {{ $fallback := ($img.Fill (printf "%s jpg" $xxlDim)) -}}
{{ with $caption -}} {{ with $caption -}}
<figure class="figure"> <figure class="figure">
<img class="figure-img img-fluid {{ $innerClass }}" <img class="figure-img img-fluid {{ $innerClass }}"
@@ -92,6 +83,4 @@
alt="{{ $title }}"> alt="{{ $title }}">
</div> </div>
{{ end -}} {{ end -}}
{{ else }} {{ end -}}
{{ warnf "Cannot find image resource: %q" .url }}
{{ end }}

View File

@@ -0,0 +1,40 @@
<!--
Retrieve a local or remote resource compatible with Hugo's image processing. The path of a remote image is
rewritten to ensure processed files are stored in the final '/img' folder. The partial returns nil if the
resource cannot be found or is incompatibile. The partial supports the following arguments:
"url": Required path or url of the image, e.g. "img/example.jpg" or "https://example.com/img.jpg"
-->
{{ $url := .url -}}
{{ $supportedMediaTypes := slice "image/png" "image/jpeg" "image/gif" "image/tiff" "image/bmp" "image/webp" -}}
{{ $remote := false -}}
{{ $img := resources.GetMatch $url -}}
{{ if (hasPrefix (lower $url) "http") -}}
{{ $img = resources.GetRemote $url -}}
{{ $remote = true -}}
{{ end -}}
{{ with $img -}}
{{ if in $supportedMediaTypes (string $img.MediaType) -}}
<!-- Rewrite the path of remote images to avoid storing processed files in the site's root -->
<!-- Add a file extension based on the media type if needed to avoid Hugo processing errors -->
{{ if $remote -}}
{{ $path := (urls.Parse $url).Path }}
{{ $filename := index (last 1 (split (delimit (split $path "/") "," "") ",")) 0 -}}
{{ if not (path.Ext $filename) -}}
{{ $extension := string $img.MediaType.SubType -}}
{{ $filename = printf "%s.%s" $filename $extension -}}
{{ end -}}
{{ $img = $img.Content | resources.FromString (printf "/img/%s" $filename) -}}
{{ end -}}
{{ else -}}
{{ warnf "Image type '%s' is not supported: %s" $img.MediaType $url -}}
{{ $img = "" -}}
{{ end -}}
{{ else -}}
{{ warnf "Cannot find image resource: %q" $url -}}
{{ end -}}
{{ return $img -}}

View File

@@ -18,67 +18,7 @@
{{ $title := .Get "title" }} {{ $title := .Get "title" }}
{{ $caption := .Get "caption" }} {{ $caption := .Get "caption" }}
{{ $img := resources.GetMatch $url }} {{ partial "image.html" (dict "url" $url "ratio" $ratio "innerClass" $class "title" $title "caption" $caption) -}}
{{ if not $img }}
{{ $img = resources.GetRemote $url -}}
{{ if $img }}
{{ $filename := index (last 1 (split (delimit (split $url "/") "," "") ",")) 0 }}
{{ $img = $img.Content | resources.FromString (printf "/img/%s" $filename) }}
{{ end }}
{{ end}}
{{ with $img }}
<!-- default ratio 4x3 -->
{{ $smDim := "576x432" }}
{{ $mdDim := "768x576" }}
{{ $lgDim := "992x744" }}
{{ $xlDim := "1200x900" }}
{{ $xxlDim := "1400x1050" }}
{{ if eq $ratio "1x1"}}
{{ $smDim = "576x576" }}
{{ $mdDim = "768x768" }}
{{ $lgDim = "992x992" }}
{{ $xlDim = "1200x1200" }}
{{ $xxlDim = "1400x1400" }}
{{ else if eq $ratio "16x9"}}
{{ $smDim = "576x324" }}
{{ $mdDim = "768x432" }}
{{ $lgDim = "992x558" }}
{{ $xlDim = "1200x675" }}
{{ $xxlDim = "1400x788" }}
{{ else if eq $ratio "21x9"}}
{{ $smDim = "576x247" }}
{{ $mdDim = "768x329" }}
{{ $lgDim = "992x425" }}
{{ $xlDim = "1200x514" }}
{{ $xxlDim = "1400x600" }}
{{ end }}
{{ $sm := ($img.Fill (printf "%s webp" $smDim)) }}
{{ $md := ($img.Fill (printf "%s webp" $mdDim)) }}
{{ $lg := ($img.Fill (printf "%s webp" $lgDim)) }}
{{ $xl := ($img.Fill (printf "%s webp" $xlDim)) }}
{{ $xxl := ($img.Fill (printf "%s webp" $xxlDim)) }}
{{ $fallback := ($img.Fill (printf "%s jpg" $xxlDim)) }}
<figure class="figure">
<img class="figure-img img-fluid {{ $class}}"
srcset="
{{- with $xxl.RelPermalink -}}{{.}} 1400w{{- end -}}
{{- with $xl.RelPermalink -}}, {{.}} 1200w{{- end -}}
{{- with $lg.RelPermalink -}}, {{.}} 992w{{- end -}}
{{- with $md.RelPermalink -}}, {{.}} 768w{{- end -}}
{{- with $sm.RelPermalink -}}, {{.}} 576w{{- end -}}"
sizes="100vw"
src="{{ $fallback.RelPermalink }}"
alt="{{ $title }}">
<figcaption class="figure-caption">{{ $caption }}</figcaption>
</figure>
{{ else }}
{{ warnf "Cannot find image resource: %q" $url }}
{{ end }}
{{ else }} {{ else }}
{{ errorf "Missing value for param 'src': %s" .Position }} {{ errorf "Missing value for param 'src': %s" .Position }}
{{ end }} {{ end }}

176
package-lock.json generated
View File

@@ -1,23 +1,23 @@
{ {
"name": "@markdumay/hugo-theme-hinode", "name": "@markdumay/hugo-theme-hinode",
"version": "0.5.2", "version": "0.5.5",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@markdumay/hugo-theme-hinode", "name": "@markdumay/hugo-theme-hinode",
"version": "0.5.2", "version": "0.5.5",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@fortawesome/fontawesome-free": "^6.2.0", "@fortawesome/fontawesome-free": "^6.2.1",
"@fullhuman/postcss-purgecss": "^5.0.0", "@fullhuman/postcss-purgecss": "^5.0.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bootstrap": "^5.2.2", "bootstrap": "^5.2.2",
"eslint": "^8.26.0", "eslint": "^8.27.0",
"eslint-config-standard": "^17.0.0", "eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.26.0",
"eslint-plugin-n": "^15.4.0", "eslint-plugin-n": "^15.5.1",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"exec-bin": "^1.0.0", "exec-bin": "^1.0.0",
"flexsearch": "^0.7.31", "flexsearch": "^0.7.31",
@@ -26,8 +26,8 @@
"postcss-cli": "^10.0.0", "postcss-cli": "^10.0.0",
"purgecss-whitelister": "^2.4.0", "purgecss-whitelister": "^2.4.0",
"shx": "^0.3.4", "shx": "^0.3.4",
"stylelint": "^14.14.0", "stylelint": "^14.15.0",
"stylelint-config-standard-scss": "^6.0.0" "stylelint-config-standard-scss": "^6.1.0"
} }
}, },
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
@@ -177,9 +177,9 @@
} }
}, },
"node_modules/@fortawesome/fontawesome-free": { "node_modules/@fortawesome/fontawesome-free": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.0.tgz", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.1.tgz",
"integrity": "sha512-CNR7qRIfCwWHNN7FnKUniva94edPdyQzil/zCwk3v6k4R6rR2Fr8i4s3PM7n/lyfPA6Zfko9z5WDzFxG9SW1uQ==", "integrity": "sha512-viouXhegu/TjkvYQoiRZK3aax69dGXxgEjpvZW81wIJdxm5Fnvp3VVIP4VHKqX4SvFw6qpmkILkD4RJWAdrt7A==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"engines": { "engines": {
@@ -1037,9 +1037,9 @@
"dev": true "dev": true
}, },
"node_modules/cosmiconfig": { "node_modules/cosmiconfig": {
"version": "7.0.1", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/parse-json": "^4.0.0", "@types/parse-json": "^4.0.0",
@@ -1503,9 +1503,9 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "8.26.0", "version": "8.27.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz",
"integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@eslint/eslintrc": "^1.3.3", "@eslint/eslintrc": "^1.3.3",
@@ -1727,19 +1727,19 @@
"dev": true "dev": true
}, },
"node_modules/eslint-plugin-n": { "node_modules/eslint-plugin-n": {
"version": "15.4.0", "version": "15.5.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.4.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.5.1.tgz",
"integrity": "sha512-MkoKy9/lfd52TAXK4fkABgCp0aglk82Q3viy2UOWIEpTVE/Cem5P/UAxMBA4vSw7Gy+2egPqImE9euitLGp5aw==", "integrity": "sha512-kAd+xhZm7brHoFLzKLB7/FGRFJNg/srmv67mqb7tto22rpr4wv/LV6RuXzAfv3jbab7+k1wi42PsIhGviywaaw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"builtins": "^5.0.1", "builtins": "^5.0.1",
"eslint-plugin-es": "^4.1.0", "eslint-plugin-es": "^4.1.0",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"ignore": "^5.1.1", "ignore": "^5.1.1",
"is-core-module": "^2.10.0", "is-core-module": "^2.11.0",
"minimatch": "^3.1.2", "minimatch": "^3.1.2",
"resolve": "^1.22.1", "resolve": "^1.22.1",
"semver": "^7.3.7" "semver": "^7.3.8"
}, },
"engines": { "engines": {
"node": ">=12.22.0" "node": ">=12.22.0"
@@ -2835,9 +2835,9 @@
} }
}, },
"node_modules/is-core-module": { "node_modules/is-core-module": {
"version": "2.10.0", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
"integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"has": "^1.0.3" "has": "^1.0.3"
@@ -3157,9 +3157,9 @@
} }
}, },
"node_modules/known-css-properties": { "node_modules/known-css-properties": {
"version": "0.25.0", "version": "0.26.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
"integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
"dev": true "dev": true
}, },
"node_modules/levn": { "node_modules/levn": {
@@ -3900,9 +3900,9 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.17", "version": "8.4.19",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz",
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -4703,9 +4703,9 @@
"dev": true "dev": true
}, },
"node_modules/semver": { "node_modules/semver": {
"version": "7.3.7", "version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
@@ -4982,15 +4982,15 @@
"dev": true "dev": true
}, },
"node_modules/stylelint": { "node_modules/stylelint": {
"version": "14.14.0", "version": "14.15.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.14.0.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.15.0.tgz",
"integrity": "sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==", "integrity": "sha512-JOgDAo5QRsqiOZPZO+B9rKJvBm64S0xasbuRPAbPs6/vQDgDCnZLIiw6XcAS6GQKk9k1sBWR6rmH3Mfj8OknKg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@csstools/selector-specificity": "^2.0.2", "@csstools/selector-specificity": "^2.0.2",
"balanced-match": "^2.0.0", "balanced-match": "^2.0.0",
"colord": "^2.9.3", "colord": "^2.9.3",
"cosmiconfig": "^7.0.1", "cosmiconfig": "^7.1.0",
"css-functions-list": "^3.1.0", "css-functions-list": "^3.1.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"fast-glob": "^3.2.12", "fast-glob": "^3.2.12",
@@ -5004,13 +5004,13 @@
"import-lazy": "^4.0.0", "import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
"known-css-properties": "^0.25.0", "known-css-properties": "^0.26.0",
"mathml-tag-names": "^2.1.3", "mathml-tag-names": "^2.1.3",
"meow": "^9.0.0", "meow": "^9.0.0",
"micromatch": "^4.0.5", "micromatch": "^4.0.5",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"postcss": "^8.4.17", "postcss": "^8.4.19",
"postcss-media-query-parser": "^0.2.3", "postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1", "postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^6.0.0", "postcss-safe-parser": "^6.0.0",
@@ -5022,7 +5022,7 @@
"style-search": "^0.1.0", "style-search": "^0.1.0",
"supports-hyperlinks": "^2.3.0", "supports-hyperlinks": "^2.3.0",
"svg-tags": "^1.0.0", "svg-tags": "^1.0.0",
"table": "^6.8.0", "table": "^6.8.1",
"v8-compile-cache": "^2.3.0", "v8-compile-cache": "^2.3.0",
"write-file-atomic": "^4.0.2" "write-file-atomic": "^4.0.2"
}, },
@@ -5079,16 +5079,22 @@
} }
}, },
"node_modules/stylelint-config-standard-scss": { "node_modules/stylelint-config-standard-scss": {
"version": "6.0.0", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.0.0.tgz", "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.1.0.tgz",
"integrity": "sha512-aAWcQgiqsXg6Jyhq/Q/HPbVB7PHf4v/wdyFSDun/qlL/SPxtEcVeGMvJLzRVRaNf3tp3D93QP6N9QKwJa1L0Kw==", "integrity": "sha512-iZ2B5kQT2G3rUzx+437cEpdcnFOQkwnwqXuY8Z0QUwIHQVE8mnYChGAquyKFUKZRZ0pRnrciARlPaR1RBtPb0Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"stylelint-config-recommended-scss": "^8.0.0", "stylelint-config-recommended-scss": "^8.0.0",
"stylelint-config-standard": "^29.0.0" "stylelint-config-standard": "^29.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"postcss": "^8.3.3",
"stylelint": "^14.14.0" "stylelint": "^14.14.0"
},
"peerDependenciesMeta": {
"postcss": {
"optional": true
}
} }
}, },
"node_modules/stylelint-scss": { "node_modules/stylelint-scss": {
@@ -5166,9 +5172,9 @@
"dev": true "dev": true
}, },
"node_modules/table": { "node_modules/table": {
"version": "6.8.0", "version": "6.8.1",
"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"ajv": "^8.0.1", "ajv": "^8.0.1",
@@ -5683,9 +5689,9 @@
} }
}, },
"@fortawesome/fontawesome-free": { "@fortawesome/fontawesome-free": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.0.tgz", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.1.tgz",
"integrity": "sha512-CNR7qRIfCwWHNN7FnKUniva94edPdyQzil/zCwk3v6k4R6rR2Fr8i4s3PM7n/lyfPA6Zfko9z5WDzFxG9SW1uQ==", "integrity": "sha512-viouXhegu/TjkvYQoiRZK3aax69dGXxgEjpvZW81wIJdxm5Fnvp3VVIP4VHKqX4SvFw6qpmkILkD4RJWAdrt7A==",
"dev": true "dev": true
}, },
"@fullhuman/postcss-purgecss": { "@fullhuman/postcss-purgecss": {
@@ -6286,9 +6292,9 @@
"dev": true "dev": true
}, },
"cosmiconfig": { "cosmiconfig": {
"version": "7.0.1", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/parse-json": "^4.0.0", "@types/parse-json": "^4.0.0",
@@ -6634,9 +6640,9 @@
"dev": true "dev": true
}, },
"eslint": { "eslint": {
"version": "8.26.0", "version": "8.27.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz",
"integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@eslint/eslintrc": "^1.3.3", "@eslint/eslintrc": "^1.3.3",
@@ -6811,19 +6817,19 @@
} }
}, },
"eslint-plugin-n": { "eslint-plugin-n": {
"version": "15.4.0", "version": "15.5.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.4.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.5.1.tgz",
"integrity": "sha512-MkoKy9/lfd52TAXK4fkABgCp0aglk82Q3viy2UOWIEpTVE/Cem5P/UAxMBA4vSw7Gy+2egPqImE9euitLGp5aw==", "integrity": "sha512-kAd+xhZm7brHoFLzKLB7/FGRFJNg/srmv67mqb7tto22rpr4wv/LV6RuXzAfv3jbab7+k1wi42PsIhGviywaaw==",
"dev": true, "dev": true,
"requires": { "requires": {
"builtins": "^5.0.1", "builtins": "^5.0.1",
"eslint-plugin-es": "^4.1.0", "eslint-plugin-es": "^4.1.0",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"ignore": "^5.1.1", "ignore": "^5.1.1",
"is-core-module": "^2.10.0", "is-core-module": "^2.11.0",
"minimatch": "^3.1.2", "minimatch": "^3.1.2",
"resolve": "^1.22.1", "resolve": "^1.22.1",
"semver": "^7.3.7" "semver": "^7.3.8"
} }
}, },
"eslint-plugin-promise": { "eslint-plugin-promise": {
@@ -7614,9 +7620,9 @@
"dev": true "dev": true
}, },
"is-core-module": { "is-core-module": {
"version": "2.10.0", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
"integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"dev": true, "dev": true,
"requires": { "requires": {
"has": "^1.0.3" "has": "^1.0.3"
@@ -7847,9 +7853,9 @@
"dev": true "dev": true
}, },
"known-css-properties": { "known-css-properties": {
"version": "0.25.0", "version": "0.26.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
"integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
"dev": true "dev": true
}, },
"levn": { "levn": {
@@ -8381,9 +8387,9 @@
} }
}, },
"postcss": { "postcss": {
"version": "8.4.17", "version": "8.4.19",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz",
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==",
"dev": true, "dev": true,
"requires": { "requires": {
"nanoid": "^3.3.4", "nanoid": "^3.3.4",
@@ -8932,9 +8938,9 @@
} }
}, },
"semver": { "semver": {
"version": "7.3.7", "version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true, "dev": true,
"requires": { "requires": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
@@ -9150,15 +9156,15 @@
"dev": true "dev": true
}, },
"stylelint": { "stylelint": {
"version": "14.14.0", "version": "14.15.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.14.0.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.15.0.tgz",
"integrity": "sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==", "integrity": "sha512-JOgDAo5QRsqiOZPZO+B9rKJvBm64S0xasbuRPAbPs6/vQDgDCnZLIiw6XcAS6GQKk9k1sBWR6rmH3Mfj8OknKg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@csstools/selector-specificity": "^2.0.2", "@csstools/selector-specificity": "^2.0.2",
"balanced-match": "^2.0.0", "balanced-match": "^2.0.0",
"colord": "^2.9.3", "colord": "^2.9.3",
"cosmiconfig": "^7.0.1", "cosmiconfig": "^7.1.0",
"css-functions-list": "^3.1.0", "css-functions-list": "^3.1.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"fast-glob": "^3.2.12", "fast-glob": "^3.2.12",
@@ -9172,13 +9178,13 @@
"import-lazy": "^4.0.0", "import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
"known-css-properties": "^0.25.0", "known-css-properties": "^0.26.0",
"mathml-tag-names": "^2.1.3", "mathml-tag-names": "^2.1.3",
"meow": "^9.0.0", "meow": "^9.0.0",
"micromatch": "^4.0.5", "micromatch": "^4.0.5",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"postcss": "^8.4.17", "postcss": "^8.4.19",
"postcss-media-query-parser": "^0.2.3", "postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1", "postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^6.0.0", "postcss-safe-parser": "^6.0.0",
@@ -9190,7 +9196,7 @@
"style-search": "^0.1.0", "style-search": "^0.1.0",
"supports-hyperlinks": "^2.3.0", "supports-hyperlinks": "^2.3.0",
"svg-tags": "^1.0.0", "svg-tags": "^1.0.0",
"table": "^6.8.0", "table": "^6.8.1",
"v8-compile-cache": "^2.3.0", "v8-compile-cache": "^2.3.0",
"write-file-atomic": "^4.0.2" "write-file-atomic": "^4.0.2"
}, },
@@ -9237,9 +9243,9 @@
} }
}, },
"stylelint-config-standard-scss": { "stylelint-config-standard-scss": {
"version": "6.0.0", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.0.0.tgz", "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.1.0.tgz",
"integrity": "sha512-aAWcQgiqsXg6Jyhq/Q/HPbVB7PHf4v/wdyFSDun/qlL/SPxtEcVeGMvJLzRVRaNf3tp3D93QP6N9QKwJa1L0Kw==", "integrity": "sha512-iZ2B5kQT2G3rUzx+437cEpdcnFOQkwnwqXuY8Z0QUwIHQVE8mnYChGAquyKFUKZRZ0pRnrciARlPaR1RBtPb0Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"stylelint-config-recommended-scss": "^8.0.0", "stylelint-config-recommended-scss": "^8.0.0",
@@ -9291,9 +9297,9 @@
"dev": true "dev": true
}, },
"table": { "table": {
"version": "6.8.0", "version": "6.8.1",
"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
"dev": true, "dev": true,
"requires": { "requires": {
"ajv": "^8.0.1", "ajv": "^8.0.1",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@markdumay/hugo-theme-hinode", "name": "@markdumay/hugo-theme-hinode",
"version": "0.5.2", "version": "0.5.5",
"description": "Hinode is a clean blog theme for Hugo, an open-source static site generator", "description": "Hinode is a clean blog theme for Hugo, an open-source static site generator",
"main": "index.js", "main": "index.js",
"publishConfig": { "publishConfig": {
@@ -45,14 +45,14 @@
}, },
"homepage": "https://github.com/markdumay/hugo-theme-hinode#readme", "homepage": "https://github.com/markdumay/hugo-theme-hinode#readme",
"devDependencies": { "devDependencies": {
"@fortawesome/fontawesome-free": "^6.2.0", "@fortawesome/fontawesome-free": "^6.2.1",
"@fullhuman/postcss-purgecss": "^5.0.0", "@fullhuman/postcss-purgecss": "^5.0.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bootstrap": "^5.2.2", "bootstrap": "^5.2.2",
"eslint": "^8.26.0", "eslint": "^8.27.0",
"eslint-config-standard": "^17.0.0", "eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.26.0",
"eslint-plugin-n": "^15.4.0", "eslint-plugin-n": "^15.5.1",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"exec-bin": "^1.0.0", "exec-bin": "^1.0.0",
"flexsearch": "^0.7.31", "flexsearch": "^0.7.31",
@@ -61,8 +61,8 @@
"postcss-cli": "^10.0.0", "postcss-cli": "^10.0.0",
"purgecss-whitelister": "^2.4.0", "purgecss-whitelister": "^2.4.0",
"shx": "^0.3.4", "shx": "^0.3.4",
"stylelint": "^14.14.0", "stylelint": "^14.15.0",
"stylelint-config-standard-scss": "^6.0.0" "stylelint-config-standard-scss": "^6.1.0"
}, },
"otherDependencies": { "otherDependencies": {
"hugo": "0.105.0" "hugo": "0.105.0"