From cda04a50613a6ced648709eb762bb8f211b62619 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 05:03:16 +0000 Subject: [PATCH 01/28] =?UTF-8?q?=F0=9F=91=B7=20Bump=20actions/upload-page?= =?UTF-8?q?s-artifact=20from=204=20to=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 4 to 5. - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](https://github.com/actions/upload-pages-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 5aa1009f..2d078831 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -51,7 +51,7 @@ jobs: run: | hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/ - name: Upload artifact - uses: actions/upload-pages-artifact@v4 + uses: actions/upload-pages-artifact@v5 with: path: ./docs From 8eff80bb12c4e6d5c4b93d09e0b7f59797e27883 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 05:03:22 +0000 Subject: [PATCH 02/28] =?UTF-8?q?=F0=9F=91=B7=20Bump=20softprops/action-gh?= =?UTF-8?q?-release=20from=202=20to=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2 to 3. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v2...v3) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/create-config-zip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-config-zip.yml b/.github/workflows/create-config-zip.yml index 35a0233e..2cddd1d7 100644 --- a/.github/workflows/create-config-zip.yml +++ b/.github/workflows/create-config-zip.yml @@ -15,7 +15,7 @@ jobs: name: config-default path: config-default.zip - name: Upload to release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: files: config-default.zip tag_name: ${{ github.event.release.tag_name }} From 27cdc57bdaa987ab63979291bf61c77727b17c4e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 05:03:47 +0000 Subject: [PATCH 03/28] =?UTF-8?q?=F0=9F=92=84=20Rebuild=20CSS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/css/compiled/main.css | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/assets/css/compiled/main.css b/assets/css/compiled/main.css index e1db3bf0..96463b1b 100644 --- a/assets/css/compiled/main.css +++ b/assets/css/compiled/main.css @@ -1675,9 +1675,6 @@ .border-secondary-500 { border-color: rgba(var(--color-secondary-500), 1); } - .border-secondary-600 { - border-color: rgba(var(--color-secondary-600), 1); - } .border-transparent { border-color: transparent; } @@ -2190,9 +2187,6 @@ .text-primary-800 { color: rgba(var(--color-primary-800), 1); } - .text-secondary-400 { - color: rgba(var(--color-secondary-400), 1); - } .text-secondary-700 { color: rgba(var(--color-secondary-700), 1); } @@ -3288,11 +3282,6 @@ border-color: rgba(var(--color-secondary-600), 1); } } - .dark\:border-secondary-800 { - &:is(.dark *) { - border-color: rgba(var(--color-secondary-800), 1); - } - } .dark\:border-white\/10 { &:is(.dark *) { border-color: color-mix(in oklab, #fff 10%, transparent); @@ -3522,11 +3511,6 @@ color: rgba(var(--color-primary-400), 1); } } - .dark\:text-secondary-200 { - &:is(.dark *) { - color: rgba(var(--color-secondary-200), 1); - } - } .dark\:text-secondary-400 { &:is(.dark *) { color: rgba(var(--color-secondary-400), 1); From 1e5b7fde7ee5ccd958a7909faa871126435824e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 05:03:55 +0000 Subject: [PATCH 04/28] =?UTF-8?q?=F0=9F=92=84=20Rebuild=20CSS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/css/compiled/main.css | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/assets/css/compiled/main.css b/assets/css/compiled/main.css index e1db3bf0..96463b1b 100644 --- a/assets/css/compiled/main.css +++ b/assets/css/compiled/main.css @@ -1675,9 +1675,6 @@ .border-secondary-500 { border-color: rgba(var(--color-secondary-500), 1); } - .border-secondary-600 { - border-color: rgba(var(--color-secondary-600), 1); - } .border-transparent { border-color: transparent; } @@ -2190,9 +2187,6 @@ .text-primary-800 { color: rgba(var(--color-primary-800), 1); } - .text-secondary-400 { - color: rgba(var(--color-secondary-400), 1); - } .text-secondary-700 { color: rgba(var(--color-secondary-700), 1); } @@ -3288,11 +3282,6 @@ border-color: rgba(var(--color-secondary-600), 1); } } - .dark\:border-secondary-800 { - &:is(.dark *) { - border-color: rgba(var(--color-secondary-800), 1); - } - } .dark\:border-white\/10 { &:is(.dark *) { border-color: color-mix(in oklab, #fff 10%, transparent); @@ -3522,11 +3511,6 @@ color: rgba(var(--color-primary-400), 1); } } - .dark\:text-secondary-200 { - &:is(.dark *) { - color: rgba(var(--color-secondary-200), 1); - } - } .dark\:text-secondary-400 { &:is(.dark *) { color: rgba(var(--color-secondary-400), 1); From 8d28507fe9f9a3e4c968564aebd42b414b8bf7fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 05:17:25 +0000 Subject: [PATCH 05/28] =?UTF-8?q?=F0=9F=93=8C=20Bump=20fuse.js=20from=207.?= =?UTF-8?q?2.0=20to=207.3.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [fuse.js](https://github.com/krisk/Fuse) from 7.2.0 to 7.3.0. - [Release notes](https://github.com/krisk/Fuse/releases) - [Changelog](https://github.com/krisk/Fuse/blob/main/CHANGELOG.md) - [Commits](https://github.com/krisk/Fuse/compare/v7.2.0...v7.3.0) --- updated-dependencies: - dependency-name: fuse.js dependency-version: 7.3.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 28 ++++++++++++++-------------- package.json | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2938ec4e..aaec9a8f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "hugo-blowfish-theme", - "version": "2.102.0", + "version": "2.103.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "hugo-blowfish-theme", - "version": "2.102.0", + "version": "2.103.0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -19,7 +19,7 @@ "@tailwindcss/cli": "^4.2.2", "@tailwindcss/typography": "^0.5.19", "chart.js": "^4.5.1", - "fuse.js": "~7.2.0", + "fuse.js": "~7.3.0", "katex": "^0.16.45", "lite-youtube-embed": "^0.3.4", "medium-zoom": "^1.1.0", @@ -1777,7 +1777,6 @@ "integrity": "sha512-csJvb+6kEiQaqo1woTdSAuOWdN0WTLIydkKrBnS+V5gZz0oqBrp4kQ35519QgK6TpBThiG3V1vNSHlIkv4AglQ==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "12.0.0", "@chevrotain/gast": "12.0.0", @@ -1928,7 +1927,6 @@ "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } @@ -2367,7 +2365,6 @@ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -2553,8 +2550,7 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz", "integrity": "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/dompurify": { "version": "3.3.3", @@ -2770,13 +2766,17 @@ } }, "node_modules/fuse.js": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.2.0.tgz", - "integrity": "sha512-zf4vdcIGpjNKTuXwug33Hm2okqX6a0t2ZEbez+o9oBJQSNhVJ5AqERfeiRD3r8HcLqP66MrjdkmzxrncbAOTUQ==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.3.0.tgz", + "integrity": "sha512-plz8RVjfcDedTGfVngWH1jmJvBvAwi1v2jecfDerbEnMcmOYUEEwKFTHbNoCiYyzaK2Ws8lABkTCcRSqCY1q4w==", "dev": true, "license": "Apache-2.0", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/krisk" } }, "node_modules/get-caller-file": { @@ -3395,6 +3395,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -3800,7 +3801,6 @@ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -4041,6 +4041,7 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -4204,8 +4205,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tapable": { "version": "2.3.2", diff --git a/package.json b/package.json index cfaf12bf..03bfbc9b 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@tailwindcss/cli": "^4.2.2", "@tailwindcss/typography": "^0.5.19", "chart.js": "^4.5.1", - "fuse.js": "~7.2.0", + "fuse.js": "~7.3.0", "katex": "^0.16.45", "lite-youtube-embed": "^0.3.4", "medium-zoom": "^1.1.0", From 2d37ecace07f478109bbde51502fff9db0864dd7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 05:17:30 +0000 Subject: [PATCH 06/28] =?UTF-8?q?=F0=9F=93=8C=20Bump=20prettier=20from=203?= =?UTF-8?q?.8.1=20to=203.8.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [prettier](https://github.com/prettier/prettier) from 3.8.1 to 3.8.3. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.8.1...3.8.3) --- updated-dependencies: - dependency-name: prettier dependency-version: 3.8.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 24 ++++++++++-------------- package.json | 2 +- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2938ec4e..b7253c81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "hugo-blowfish-theme", - "version": "2.102.0", + "version": "2.103.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "hugo-blowfish-theme", - "version": "2.102.0", + "version": "2.103.0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -25,7 +25,7 @@ "medium-zoom": "^1.1.0", "mermaid": "^11.14.0", "packery": "^3.0.0", - "prettier": "^3.8.1", + "prettier": "^3.8.3", "prettier-plugin-go-template": "^0.0.15", "puppeteer": "^24.40.0", "rimraf": "^6.1.3", @@ -1777,7 +1777,6 @@ "integrity": "sha512-csJvb+6kEiQaqo1woTdSAuOWdN0WTLIydkKrBnS+V5gZz0oqBrp4kQ35519QgK6TpBThiG3V1vNSHlIkv4AglQ==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "12.0.0", "@chevrotain/gast": "12.0.0", @@ -1928,7 +1927,6 @@ "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } @@ -2367,7 +2365,6 @@ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -2553,8 +2550,7 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz", "integrity": "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/dompurify": { "version": "3.3.3", @@ -3395,6 +3391,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -3795,12 +3792,11 @@ } }, "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -4041,6 +4037,7 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -4204,8 +4201,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tapable": { "version": "2.3.2", diff --git a/package.json b/package.json index cfaf12bf..419fcac5 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "medium-zoom": "^1.1.0", "mermaid": "^11.14.0", "packery": "^3.0.0", - "prettier": "^3.8.1", + "prettier": "^3.8.3", "prettier-plugin-go-template": "^0.0.15", "puppeteer": "^24.40.0", "rimraf": "^6.1.3", From 7c2545d598448a1c30f0a4f38e5373988438c00e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 05:17:57 +0000 Subject: [PATCH 07/28] =?UTF-8?q?=F0=9F=92=84=20Rebuild=20CSS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/css/compiled/main.css | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/assets/css/compiled/main.css b/assets/css/compiled/main.css index e1db3bf0..96463b1b 100644 --- a/assets/css/compiled/main.css +++ b/assets/css/compiled/main.css @@ -1675,9 +1675,6 @@ .border-secondary-500 { border-color: rgba(var(--color-secondary-500), 1); } - .border-secondary-600 { - border-color: rgba(var(--color-secondary-600), 1); - } .border-transparent { border-color: transparent; } @@ -2190,9 +2187,6 @@ .text-primary-800 { color: rgba(var(--color-primary-800), 1); } - .text-secondary-400 { - color: rgba(var(--color-secondary-400), 1); - } .text-secondary-700 { color: rgba(var(--color-secondary-700), 1); } @@ -3288,11 +3282,6 @@ border-color: rgba(var(--color-secondary-600), 1); } } - .dark\:border-secondary-800 { - &:is(.dark *) { - border-color: rgba(var(--color-secondary-800), 1); - } - } .dark\:border-white\/10 { &:is(.dark *) { border-color: color-mix(in oklab, #fff 10%, transparent); @@ -3522,11 +3511,6 @@ color: rgba(var(--color-primary-400), 1); } } - .dark\:text-secondary-200 { - &:is(.dark *) { - color: rgba(var(--color-secondary-200), 1); - } - } .dark\:text-secondary-400 { &:is(.dark *) { color: rgba(var(--color-secondary-400), 1); From c37d7fcd21bceb758b87e6958fed2b491797aff6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 05:18:16 +0000 Subject: [PATCH 08/28] =?UTF-8?q?=F0=9F=93=8C=20Bump=20puppeteer=20from=20?= =?UTF-8?q?24.40.0=20to=2024.42.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.40.0 to 24.42.0. - [Release notes](https://github.com/puppeteer/puppeteer/releases) - [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md) - [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.40.0...puppeteer-v24.42.0) --- updated-dependencies: - dependency-name: puppeteer dependency-version: 24.42.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 96 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2938ec4e..5ee4821a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "hugo-blowfish-theme", - "version": "2.102.0", + "version": "2.103.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "hugo-blowfish-theme", - "version": "2.102.0", + "version": "2.103.0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -27,7 +27,7 @@ "packery": "^3.0.0", "prettier": "^3.8.1", "prettier-plugin-go-template": "^0.0.15", - "puppeteer": "^24.40.0", + "puppeteer": "^24.42.0", "rimraf": "^6.1.3", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.2.2", @@ -1435,14 +1435,14 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", - "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "undici-types": "~7.18.0" + "undici-types": "~7.19.0" } }, "node_modules/@types/prismjs": { @@ -1585,9 +1585,9 @@ } }, "node_modules/bare-fs": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.6.tgz", - "integrity": "sha512-1QovqDrR80Pmt5HPAsMsXTCFcDYr+NSUKW6nd6WO5v0JBmnItc/irNRzm2KOQ5oZ69P37y+AMujNyNtG+1Rggw==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.1.tgz", + "integrity": "sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1610,9 +1610,9 @@ } }, "node_modules/bare-os": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.0.tgz", - "integrity": "sha512-Dc9/SlwfxkXIGYhvMQNUtKaXCaGkZYGcd1vuNUUADVqzu4/vQfvnMkYYOUnt2VwQ2AqKr/8qAVFRtwETljgeFg==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz", + "integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1630,9 +1630,9 @@ } }, "node_modules/bare-stream": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.10.0.tgz", - "integrity": "sha512-DOPZF/DDcDruKDA43cOw6e9Quq5daua7ygcAwJE/pKJsRWhgSSemi7qVNGE5kyDIxIeN1533G/zfbvWX7Wcb9w==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.0.tgz", + "integrity": "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1640,10 +1640,14 @@ "teex": "^1.0.1" }, "peerDependencies": { + "bare-abort-controller": "*", "bare-buffer": "*", "bare-events": "*" }, "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, "bare-buffer": { "optional": true }, @@ -1653,9 +1657,9 @@ } }, "node_modules/bare-url": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.0.tgz", - "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.2.tgz", + "integrity": "sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1663,9 +1667,9 @@ } }, "node_modules/basic-ftp": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.2.2.tgz", - "integrity": "sha512-1tDrzKsdCg70WGvbFss/ulVAxupNauGnOlgpyjKzeQxzyllBLS0CGLV7tjIXTK3ZQA9/FBEm9qyFFN1bciA6pw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.0.tgz", + "integrity": "sha512-5K9eNNn7ywHPsYnFwjKgYH8Hf8B5emh7JKcPaVjjrMJFQQwGpwowEnZNEtHs7DfR7hCZsmaK3VA4HUK0YarT+w==", "dev": true, "license": "MIT", "engines": { @@ -1777,7 +1781,6 @@ "integrity": "sha512-csJvb+6kEiQaqo1woTdSAuOWdN0WTLIydkKrBnS+V5gZz0oqBrp4kQ35519QgK6TpBThiG3V1vNSHlIkv4AglQ==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "12.0.0", "@chevrotain/gast": "12.0.0", @@ -1928,7 +1931,6 @@ "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } @@ -2367,7 +2369,6 @@ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -2549,12 +2550,11 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1581282", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz", - "integrity": "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==", + "version": "0.0.1595872", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1595872.tgz", + "integrity": "sha512-kRfgp8vWVjBu/fbYCiVFiOqsCk3CrMKEo3WbgGT2NXK2dG7vawWPBljixajVgGK9II8rDO9G0oD0zLt3I1daRg==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/dompurify": { "version": "3.3.3", @@ -3395,6 +3395,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -3567,9 +3568,9 @@ } }, "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz", + "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==", "dev": true, "license": "MIT", "engines": { @@ -3800,7 +3801,6 @@ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -3899,9 +3899,9 @@ } }, "node_modules/puppeteer": { - "version": "24.40.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.40.0.tgz", - "integrity": "sha512-IxQbDq93XHVVLWHrAkFP7F7iHvb9o0mgfsSIMlhHb+JM+JjM1V4v4MNSQfcRWJopx9dsNOr9adYv0U5fm9BJBQ==", + "version": "24.42.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.42.0.tgz", + "integrity": "sha512-94MoPfFp2eY3eYIMdINkez4IOP5TMHntlZbVx06fHlQTtiQiYgaY0L2Zzfod8PVUkPqP7m3Qlre2v8YS8cudPA==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -3909,8 +3909,8 @@ "@puppeteer/browsers": "2.13.0", "chromium-bidi": "14.0.0", "cosmiconfig": "^9.0.0", - "devtools-protocol": "0.0.1581282", - "puppeteer-core": "24.40.0", + "devtools-protocol": "0.0.1595872", + "puppeteer-core": "24.42.0", "typed-query-selector": "^2.12.1" }, "bin": { @@ -3921,16 +3921,16 @@ } }, "node_modules/puppeteer-core": { - "version": "24.40.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.40.0.tgz", - "integrity": "sha512-MWL3XbUCfVgGR0gRsidzT6oKJT2QydPLhMITU6HoVWiiv4gkb6gJi3pcdAa8q4HwjBTbqISOWVP4aJiiyUJvag==", + "version": "24.42.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.42.0.tgz", + "integrity": "sha512-T4zXokk/izH01fYPhyyev1A4piWiOKrYq7CUFpdoYQxmOnXoV6YjUabmfIjCYkNspSoAXIxRid3Tw+Vg0fthYg==", "dev": true, "license": "Apache-2.0", "dependencies": { "@puppeteer/browsers": "2.13.0", "chromium-bidi": "14.0.0", "debug": "^4.4.3", - "devtools-protocol": "0.0.1581282", + "devtools-protocol": "0.0.1595872", "typed-query-selector": "^2.12.1", "webdriver-bidi-protocol": "0.4.1", "ws": "^8.19.0" @@ -4041,6 +4041,7 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -4204,8 +4205,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tapable": { "version": "2.3.2", @@ -4378,9 +4378,9 @@ } }, "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", "dev": true, "license": "MIT", "optional": true diff --git a/package.json b/package.json index cfaf12bf..533d9b90 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "packery": "^3.0.0", "prettier": "^3.8.1", "prettier-plugin-go-template": "^0.0.15", - "puppeteer": "^24.40.0", + "puppeteer": "^24.42.0", "rimraf": "^6.1.3", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.2.2", From 75a6f741c830597db33169230e968cd47273e503 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 05:18:47 +0000 Subject: [PATCH 09/28] =?UTF-8?q?=F0=9F=92=84=20Rebuild=20CSS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/css/compiled/main.css | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/assets/css/compiled/main.css b/assets/css/compiled/main.css index e1db3bf0..96463b1b 100644 --- a/assets/css/compiled/main.css +++ b/assets/css/compiled/main.css @@ -1675,9 +1675,6 @@ .border-secondary-500 { border-color: rgba(var(--color-secondary-500), 1); } - .border-secondary-600 { - border-color: rgba(var(--color-secondary-600), 1); - } .border-transparent { border-color: transparent; } @@ -2190,9 +2187,6 @@ .text-primary-800 { color: rgba(var(--color-primary-800), 1); } - .text-secondary-400 { - color: rgba(var(--color-secondary-400), 1); - } .text-secondary-700 { color: rgba(var(--color-secondary-700), 1); } @@ -3288,11 +3282,6 @@ border-color: rgba(var(--color-secondary-600), 1); } } - .dark\:border-secondary-800 { - &:is(.dark *) { - border-color: rgba(var(--color-secondary-800), 1); - } - } .dark\:border-white\/10 { &:is(.dark *) { border-color: color-mix(in oklab, #fff 10%, transparent); @@ -3522,11 +3511,6 @@ color: rgba(var(--color-primary-400), 1); } } - .dark\:text-secondary-200 { - &:is(.dark *) { - color: rgba(var(--color-secondary-200), 1); - } - } .dark\:text-secondary-400 { &:is(.dark *) { color: rgba(var(--color-secondary-400), 1); From c7305a9727285990d80a7a6a72dc4598584c15c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ragnar=20Wisl=C3=B8ff?= Date: Sat, 25 Apr 2026 14:00:51 +0200 Subject: [PATCH 10/28] =?UTF-8?q?Add=20Norwegian=20Bokm=C3=A5l=20translati?= =?UTF-8?q?on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- i18n/nb.yaml | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 i18n/nb.yaml diff --git a/i18n/nb.yaml b/i18n/nb.yaml new file mode 100644 index 00000000..8f7fec34 --- /dev/null +++ b/i18n/nb.yaml @@ -0,0 +1,104 @@ +global: + language: "NB" + +article: + anchor_label: "Anker" + date: "{{ .Date }}" + date_updated: "Oppdatert: {{ .Date }}" + draft: "Kladd" + edit_title: "Rediger innhold" + reading_time: + one: "{{ .Count }} minutt" + other: "{{ .Count }} minutter" + reading_time_title: "Lesetid" + table_of_contents: "Innholdsfortegnelse" + word_count: + one: "{{ .Count }} ord" + other: "{{ .Count }} ord" + views: + one: "{{ .Count }} visning" + other: "{{ .Count }} visninger" + likes: + one: "{{ .Count }} like" + other: "{{ .Count }} likes" + part_of_series: "Denne artikkelen er del av en serie." + part: "Del" + this_article: "Denne artikkelen" + related_articles: "Relatert" + reply_by_email: "Svar med e-post" + zen_mode_title: + enable: "Skru på zen modus" + disable: "Skru av zen modus" + +a11y: + title: "Innstillinger for tilgjengelighet" + disable_blur: "Skru av uskarphet" + disable_images: "Skru av bakgrunnsbilde" + show_link_underline: "Vis strek under link" + font_size: "Størrelse skrifttype" + +author: + byline_title: "Forfatter" + +code: + copy: "Kopier" + copied: "Kopiert" + +error: + 404_title: "Fant ikke side :confused:" + 404_error: "Feilmelding 404" + 404_description: "Det ser ut til at siden du ber om ikke finnes." + +footer: + dark_appearance: "Bytt til mørkt utseende" + light_appearance: "Bytt til lyst utseende" + powered_by: "Laget med {{ .Hugo }} & {{ .Theme }}" + +list: + externalurl_title: "Link til ekstern nettside" + no_articles: "Intet innhold å vise ennå." + +nav: + scroll_to_top_title: "Gå til toppen" + skip_to_main: "Gå til hovedinnhold" + +search: + open_button_title: "Søk (/)" + close_button_title: "Steng (Esc)" + input_placeholder: "Søk" + +sharing: + email: "Send via e-post" + facebook: "Del på Facebook" + line: "Del på LINE" + linkedin: "Del på LinkedIn" + pinterest: "Pin på Pinterest" + reddit: "Send til Reddit" + twitter: "Tweet på Twitter" + bluesky: "Send til Bluesky" + whatsapp: "Del på WhatsApp" + telegram: "Del på Telegram" + mastodon: "Del på Mastodon" + +shortcode: + recent_articles: "Nylige" + +recent: + show_more: "Vis flere" + +admonition: + abstract: "Sammendrag" + bug: "Programvarefeil" + caution: "Forsiktig" + danger: "Fare" + example: "Eksempel" + failure: "Fiasko" + important: "Viktig" + info: "Info" + note: "Merk" + question: "Spørsmål" + quote: "Sitat" + success: "Suksess" + tip: "Tips" + todo: "Gjøremål" + warning: "Advarsel" From 350458a3c57a3eddbfd7ea3a493ea2ceec21a493 Mon Sep 17 00:00:00 2001 From: Robert Randall Date: Wed, 29 Apr 2026 13:32:56 +0200 Subject: [PATCH 11/28] Changed from deprecated .Site.LanguageCode to .Site.Language.Locale --- layouts/_default/rss.xml | 2 +- layouts/_default/sitemap.xml | 2 +- layouts/partials/head.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml index 0967c780..5a750925 100644 --- a/layouts/_default/rss.xml +++ b/layouts/_default/rss.xml @@ -17,7 +17,7 @@ {{ .Permalink }} Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} Hugo -- gohugo.io - {{ site.LanguageCode }}{{ with .Site.Params.Author.email }} + {{ site.Language.Locale }}{{ with .Site.Params.Author.email }} {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Params.Author.email }} {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}} {{ if .Site.Params.footer.showCopyright | default true -}} diff --git a/layouts/_default/sitemap.xml b/layouts/_default/sitemap.xml index 32dfc2a0..423b70ce 100644 --- a/layouts/_default/sitemap.xml +++ b/layouts/_default/sitemap.xml @@ -15,7 +15,7 @@ />{{ end }} {{ end }} diff --git a/layouts/partials/head.html b/layouts/partials/head.html index e41972d9..500c5d62 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -32,7 +32,7 @@ {{ if .IsTranslated }} {{ range .AllTranslations }} - {{ $hreflang := .Language.LanguageCode | default .Language.Lang }} + {{ $hreflang := .Language.Locale | default .Language.Lang }} {{ if $hreflang }} {{ end }} From ab5c7b7c971bfcd6377b2767b998dbb1cbab40d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Pl=C3=B6ger?= Date: Wed, 29 Apr 2026 20:40:29 -0300 Subject: [PATCH 12/28] Add configurable meta description fallback order --- config/_default/params.toml | 3 +++ exampleSite/content/docs/configuration/index.md | 1 + layouts/partials/head.html | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/config/_default/params.toml b/config/_default/params.toml index 0ec9dcaa..edb4c2f8 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -42,6 +42,9 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", giteaDefaultServer = "https://git.fsfe.org" forgejoDefaultServer = "https://v11.next.forgejo.org" +[seo] +# metaDescriptionOrder = ["summary", "description", "site"] # Controls the fallback order for the HTML meta description. Valid values are "summary", "description", and "site". + [header] layout = "basic" # valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur diff --git a/exampleSite/content/docs/configuration/index.md b/exampleSite/content/docs/configuration/index.md index 5e6f6566..691d9be0 100644 --- a/exampleSite/content/docs/configuration/index.md +++ b/exampleSite/content/docs/configuration/index.md @@ -186,6 +186,7 @@ Many of the article defaults here can be overridden on a per article basis by sp | `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. | | `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. | | `robots` | _Not set_ | String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. | +| `seo.metaDescriptionOrder` | `["summary", "description", "site"]` | Controls the fallback order for the HTML meta description. Valid values are `summary`, `description`, and `site`. Use `["description", "summary", "site"]` if you want front matter `description` to take precedence over `summary`. | | `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. | | `disableImageOptimization` | `false` | Disables image resize and optimization features across all the images in the site, except images using markdown syntax (`![](image.jpg)`) | | `disableImageOptimizationMD` | `false` | Disables image resize and optimization features only for images using markdown syntax (`![](image.jpg)`). | diff --git a/layouts/partials/head.html b/layouts/partials/head.html index e41972d9..0d1fd91e 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -17,8 +17,18 @@ {{ end }} {{/* Metadata */}} - {{ with (.Params.Summary | default .Params.Description) | default .Site.Params.description }} - + {{ $metaDescriptionOrder := .Site.Params.seo.metaDescriptionOrder | default (slice "summary" "description" "site") }} + {{ $metaDescriptionSources := dict + "summary" .Params.Summary + "description" .Params.Description + "site" .Site.Params.description + }} + {{ $metaDescription := "" }} + {{ range $metaDescriptionOrder }} + {{ $metaDescription = $metaDescription | default (index $metaDescriptionSources (lower .)) }} + {{ end }} + {{ with $metaDescription }} + {{ end }} {{ with .Params.Tags | default .Site.Params.keywords }} From dff1858ca5a8d3afe65c89fcbd45a78c7f2907ea Mon Sep 17 00:00:00 2001 From: nunocoracao <3803196+nunocoracao@users.noreply.github.com> Date: Thu, 30 Apr 2026 06:56:22 +0000 Subject: [PATCH 13/28] Update Hugo supported version --- config.toml | 2 +- release-versions/hugo-latest.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.toml b/config.toml index 0b54af0b..ee846980 100644 --- a/config.toml +++ b/config.toml @@ -2,4 +2,4 @@ [module.hugoVersion] extended = true min = "0.141.0" -max = "0.160.1" \ No newline at end of file +max = "0.161.1" \ No newline at end of file diff --git a/release-versions/hugo-latest.txt b/release-versions/hugo-latest.txt index 057ee294..4b77bdf2 100644 --- a/release-versions/hugo-latest.txt +++ b/release-versions/hugo-latest.txt @@ -1 +1 @@ -v0.160.1 +v0.161.1 From 1eb3d8da3ed264a59cb7cad9d31d6c993c293411 Mon Sep 17 00:00:00 2001 From: abdalrahmanshaban0 Date: Mon, 4 May 2026 17:19:12 +0300 Subject: [PATCH 14/28] fix(hugo): update deprecated LanguageCode to Locale --- layouts/_default/rss.xml | 2 +- layouts/_default/sitemap.xml | 4 ++-- layouts/partials/head.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml index 0967c780..5a750925 100644 --- a/layouts/_default/rss.xml +++ b/layouts/_default/rss.xml @@ -17,7 +17,7 @@ {{ .Permalink }} Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} Hugo -- gohugo.io - {{ site.LanguageCode }}{{ with .Site.Params.Author.email }} + {{ site.Language.Locale }}{{ with .Site.Params.Author.email }} {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Params.Author.email }} {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}} {{ if .Site.Params.footer.showCopyright | default true -}} diff --git a/layouts/_default/sitemap.xml b/layouts/_default/sitemap.xml index 32dfc2a0..c38969a5 100644 --- a/layouts/_default/sitemap.xml +++ b/layouts/_default/sitemap.xml @@ -10,12 +10,12 @@ {{ .Sitemap.Priority }}{{ end }}{{ if .IsTranslated }}{{ range .Translations }} {{ end }} {{ end }} diff --git a/layouts/partials/head.html b/layouts/partials/head.html index e41972d9..500c5d62 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -32,7 +32,7 @@ {{ if .IsTranslated }} {{ range .AllTranslations }} - {{ $hreflang := .Language.LanguageCode | default .Language.Lang }} + {{ $hreflang := .Language.Locale | default .Language.Lang }} {{ if $hreflang }} {{ end }} From baf74cca1adc4fddece9d7c0ac1ae2c6fc148d46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Cora=C3=A7=C3=A3o?= Date: Tue, 5 May 2026 00:12:29 +0100 Subject: [PATCH 15/28] chore: add .watchfire to gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0e1aad42..5a63a0ed 100644 --- a/.gitignore +++ b/.gitignore @@ -40,4 +40,5 @@ ga-pageviews.csv .Trashes .idea .Ulysses-Group.plist -.Ulysses-Settings.plist \ No newline at end of file +.Ulysses-Settings.plist +.watchfire/ From 6d33438e18ad58ce98baeed774719bf70e07df3a Mon Sep 17 00:00:00 2001 From: Kevin Horst Date: Fri, 8 May 2026 18:37:54 +0200 Subject: [PATCH 16/28] feat: support pageRef in button shortcode --- exampleSite/content/docs/shortcodes/index.md | 14 +++++++++++++- layouts/shortcodes/button.html | 8 +++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/exampleSite/content/docs/shortcodes/index.md b/exampleSite/content/docs/shortcodes/index.md index 707deb26..b1f5654d 100644 --- a/exampleSite/content/docs/shortcodes/index.md +++ b/exampleSite/content/docs/shortcodes/index.md @@ -229,7 +229,7 @@ New article! ## Button -`button` outputs a styled button component which can be used to highlight a primary action. It has three optional variables `href`, `target` and `rel` which can be used to specify the URL, target and relation of the link. +`button` outputs a styled button component which can be used to highlight a primary action. It has four optional variables `pageRef`, `href`, `target` and `rel`. `pageRef` resolves an internal page reference using the current page context, producing a language- and trailing-slash-aware URL that is consistent with the theme's navigation menus. `href` accepts any URL or path. When both are set, `pageRef` takes precedence. **Example:** @@ -243,6 +243,18 @@ Call to action Call to action {{< /button >}} +**Example using `pageRef`:** + +```md +{{}} +Get started +{{}} +``` + +{{< button pageRef="docs/getting-started" >}} +Get started +{{< /button >}} +


## Carousel diff --git a/layouts/shortcodes/button.html b/layouts/shortcodes/button.html index c116cc11..b473d327 100644 --- a/layouts/shortcodes/button.html +++ b/layouts/shortcodes/button.html @@ -1,6 +1,12 @@ +{{- $href := "" -}} +{{- with .Get "pageRef" -}} + {{- $href = relref $.Page . -}} +{{- else -}} + {{- $href = $.Get "href" -}} +{{- end -}} From 88863335fd1e4f387415e68115828e8d75cb0bcc Mon Sep 17 00:00:00 2001 From: Kevin Horst Date: Fri, 8 May 2026 19:20:53 +0200 Subject: [PATCH 17/28] feat: add ansible galaxy card shortcode --- assets/icons/ansible.svg | 2 + assets/js/fetch-repo.js | 25 ++- exampleSite/content/docs/shortcodes/index.md | 31 ++++ layouts/shortcodes/ansible.html | 174 +++++++++++++++++++ 4 files changed, 231 insertions(+), 1 deletion(-) create mode 100644 assets/icons/ansible.svg create mode 100644 layouts/shortcodes/ansible.html diff --git a/assets/icons/ansible.svg b/assets/icons/ansible.svg new file mode 100644 index 00000000..afc3718d --- /dev/null +++ b/assets/icons/ansible.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/js/fetch-repo.js b/assets/js/fetch-repo.js index 61bedfd0..0ea2bf67 100644 --- a/assets/js/fetch-repo.js +++ b/assets/js/fetch-repo.js @@ -12,6 +12,14 @@ } const platforms = { + "ansible-role": { + "results.0.download_count": "downloads", + "results.0.summary_fields.versions.0.name": "version", + }, + "ansible-collection": { + download_count: "downloads", + "highest_version.version": "version", + }, github: { full_name: "full_name", description: "description", @@ -49,12 +57,27 @@ }, }; + const formatThousands = (value) => + value == null ? value : Number(value).toLocaleString("en-US"); + const processors = { huggingface: { description: (value) => value?.replace(/Dataset Card for .+?\s+Dataset Summary\s+/, "").trim() || value, }, + "ansible-role": { + "results.0.download_count": formatThousands, + }, + "ansible-collection": { + download_count: formatThousands, + }, }; + const getNested = (obj, path) => + path.split(".").reduce((acc, key) => { + if (acc == null) return undefined; + return Array.isArray(acc) ? acc[Number(key)] : acc[key]; + }, obj); + const platform = Object.keys(platforms).find((p) => repoId.startsWith(p)) || "github"; const mapping = platforms[platform]; @@ -77,7 +100,7 @@ Object.entries(mapping).forEach(([dataField, elementSuffix]) => { const element = document.getElementById(`${repoId}-${elementSuffix}`); if (element) { - let value = data[dataField]; + let value = getNested(data, dataField); if (processors[platform]?.[dataField]) { value = processors[platform][dataField](value); } diff --git a/exampleSite/content/docs/shortcodes/index.md b/exampleSite/content/docs/shortcodes/index.md index 707deb26..af0a381e 100644 --- a/exampleSite/content/docs/shortcodes/index.md +++ b/exampleSite/content/docs/shortcodes/index.md @@ -187,6 +187,37 @@ The alert sign (`+` or `-`) is optional to control whether the admonition is fol


+## Ansible Galaxy Card + +`ansible` renders a card for an [Ansible Galaxy](https://galaxy.ansible.com/) entry, fetched at build time. It accepts either a `role` or a `collection` parameter, both in `namespace.name` form. + + +| Parameter | Description | +| ------------ | ------------------------------------------------------------------------------------ | +| `role` | [String] Galaxy role in the format `namespace.name`, e.g. `geerlingguy.docker` | +| `collection` | [String] Galaxy collection in the format `namespace.name`, e.g. `community.general` | + + +Set exactly one of `role` or `collection` per call. + +**Example 1: Role** + +```md +{{}} +``` + +{{< ansible role="geerlingguy.docker" >}} + +**Example 2: Collection** + +```md +{{}} +``` + +{{< ansible collection="community.general" >}} + +


+ ## Article `Article` will embed a single article into a markdown file. The `link` to the file should be the `.RelPermalink` of the file to be embedded. Note that the shortcode will not display anything if it's referencing it's parent. _Note: if you are running your website in a subfolder like Blowfish (i.e. /blowfish/) please include that path in the link._ diff --git a/layouts/shortcodes/ansible.html b/layouts/shortcodes/ansible.html new file mode 100644 index 00000000..99c5306a --- /dev/null +++ b/layouts/shortcodes/ansible.html @@ -0,0 +1,174 @@ +{{- $role := .Get "role" -}} +{{- $collection := .Get "collection" -}} +{{- $apiURL := "" -}} +{{- $repoLink := "" -}} +{{- $type := "" -}} +{{- $namespace := "" -}} +{{- $name := "" -}} + +{{- if $role -}} + {{- $parts := split $role "." -}} + {{- $namespace = index $parts 0 -}} + {{- $name = index $parts 1 -}} + {{- $apiURL = print "https://galaxy.ansible.com/api/v1/roles/?owner__username=" $namespace "&name=" $name -}} + {{- $repoLink = print "https://galaxy.ansible.com/ui/standalone/roles/" $namespace "/" $name "/" -}} + {{- $type = "role" -}} +{{- else if $collection -}} + {{- $parts := split $collection "." -}} + {{- $namespace = index $parts 0 -}} + {{- $name = index $parts 1 -}} + {{- $apiURL = print "https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/index/" $namespace "/" $name "/" -}} + {{- $repoLink = print "https://galaxy.ansible.com/ui/repo/published/" $namespace "/" $name "/" -}} + {{- $type = "collection" -}} +{{- end -}} + +{{ $id := delimit (slice "ansible" $type (partial "functions/uid.html" .)) "-" }} + +{{- $title := "" -}} +{{- $description := "" -}} +{{- $downloads := 0 -}} +{{- $version := "" -}} +{{- $tags := slice -}} +{{- $license := "" -}} +{{- $dataAvailable := false -}} + +{{- /* Formats an integer with comma thousand separators (lang.NumFmt is unavailable in this template context). */ -}} +{{- define "_format-int" -}} + {{- $n := printf "%d" (int .) -}} + {{- $out := "" -}} + {{- $len := len $n -}} + {{- range $i := seq $len -}} + {{- $idx := sub $i 1 -}} + {{- $c := substr $n $idx 1 -}} + {{- if and (gt $idx 0) (eq (mod (sub $len $idx) 3) 0) -}} + {{- $out = print $out "," $c -}} + {{- else -}} + {{- $out = print $out $c -}} + {{- end -}} + {{- end -}} + {{- $out -}} +{{- end -}} + +{{- with try (resources.GetRemote $apiURL) -}} + {{- with .Err -}} + {{- warnf "ansible shortcode: failed to fetch remote resource from %q: %s" $apiURL $.Position -}} + {{- else with .Value -}} + {{- $resp := . | transform.Unmarshal -}} + {{- if eq $type "role" -}} + {{- with index ($resp.results | default slice) 0 -}} + {{- $title = print $namespace "." .name -}} + {{- $description = .description -}} + {{- $downloads = .download_count -}} + {{- with .summary_fields -}} + {{- with index (.versions | default slice) 0 -}} + {{- $version = .name -}} + {{- end -}} + {{- $tags = .tags -}} + {{- end -}} + {{- $dataAvailable = true -}} + {{- end -}} + {{- else if eq $type "collection" -}} + {{- $title = print $namespace "." $name -}} + {{- $downloads = $resp.download_count -}} + {{- with $resp.highest_version -}} + {{- $version = .version -}} + {{- end -}} + {{- if $version -}} + {{- $versionURL := print $apiURL "versions/" $version "/" -}} + {{- with try (resources.GetRemote $versionURL) -}} + {{- with .Value -}} + {{- $verResp := . | transform.Unmarshal -}} + {{- with $verResp.metadata -}} + {{- $description = .description -}} + {{- $tags = .tags -}} + {{- with .license -}} + {{- $license = index . 0 -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- $dataAvailable = true -}} + {{- end -}} + {{- else -}} + {{- warnf "ansible shortcode: unable to get remote resource from %q: %s" $apiURL $.Position -}} + {{- end -}} +{{- end -}} + +{{- if $dataAvailable -}} +
+{{- else if $apiURL -}} + {{ warnf "ansible shortcode: unable to fetch %q: %s" $apiURL .Position }} +{{- end -}} From a9869a55a6360891a6bd704cb252c9452f4123d1 Mon Sep 17 00:00:00 2001 From: Kevin Horst Date: Fri, 8 May 2026 19:26:55 +0200 Subject: [PATCH 18/28] fix: ansible card values are build-time only (Galaxy blocks CORS) --- assets/js/fetch-repo.js | 25 +------------------- exampleSite/content/docs/shortcodes/index.md | 2 ++ layouts/shortcodes/ansible.html | 15 +++--------- 3 files changed, 6 insertions(+), 36 deletions(-) diff --git a/assets/js/fetch-repo.js b/assets/js/fetch-repo.js index 0ea2bf67..61bedfd0 100644 --- a/assets/js/fetch-repo.js +++ b/assets/js/fetch-repo.js @@ -12,14 +12,6 @@ } const platforms = { - "ansible-role": { - "results.0.download_count": "downloads", - "results.0.summary_fields.versions.0.name": "version", - }, - "ansible-collection": { - download_count: "downloads", - "highest_version.version": "version", - }, github: { full_name: "full_name", description: "description", @@ -57,27 +49,12 @@ }, }; - const formatThousands = (value) => - value == null ? value : Number(value).toLocaleString("en-US"); - const processors = { huggingface: { description: (value) => value?.replace(/Dataset Card for .+?\s+Dataset Summary\s+/, "").trim() || value, }, - "ansible-role": { - "results.0.download_count": formatThousands, - }, - "ansible-collection": { - download_count: formatThousands, - }, }; - const getNested = (obj, path) => - path.split(".").reduce((acc, key) => { - if (acc == null) return undefined; - return Array.isArray(acc) ? acc[Number(key)] : acc[key]; - }, obj); - const platform = Object.keys(platforms).find((p) => repoId.startsWith(p)) || "github"; const mapping = platforms[platform]; @@ -100,7 +77,7 @@ Object.entries(mapping).forEach(([dataField, elementSuffix]) => { const element = document.getElementById(`${repoId}-${elementSuffix}`); if (element) { - let value = getNested(data, dataField); + let value = data[dataField]; if (processors[platform]?.[dataField]) { value = processors[platform][dataField](value); } diff --git a/exampleSite/content/docs/shortcodes/index.md b/exampleSite/content/docs/shortcodes/index.md index af0a381e..f97cdd7f 100644 --- a/exampleSite/content/docs/shortcodes/index.md +++ b/exampleSite/content/docs/shortcodes/index.md @@ -200,6 +200,8 @@ The alert sign (`+` or `-`) is optional to control whether the admonition is fol Set exactly one of `role` or `collection` per call. +All card values are fetched at build time via Hugo's `resources.GetRemote`. Galaxy does not allow cross-origin requests, so the card is not refreshed in the browser — rebuild the site to update the values. + **Example 1: Role** ```md diff --git a/layouts/shortcodes/ansible.html b/layouts/shortcodes/ansible.html index 99c5306a..2fbf042d 100644 --- a/layouts/shortcodes/ansible.html +++ b/layouts/shortcodes/ansible.html @@ -22,7 +22,7 @@ {{- $type = "collection" -}} {{- end -}} -{{ $id := delimit (slice "ansible" $type (partial "functions/uid.html" .)) "-" }} +{{ $id := delimit (slice "ansible" (partial "functions/uid.html" .)) "-" }} {{- $title := "" -}} {{- $description := "" -}} @@ -124,7 +124,7 @@ {{ partial "icon.html" "download" }} -
+
{{ template "_format-int" $downloads }}
@@ -132,7 +132,7 @@ {{ partial "icon.html" "tag" }} -
+
{{ $version }}
{{- end }} @@ -158,15 +158,6 @@
{{- end }}
- {{ $fetchRepo := resources.Get "js/fetch-repo.js" }} - {{ $fetchRepo = $fetchRepo | resources.Minify | resources.Fingerprint ($.Site.Params.fingerprintAlgorithm | default "sha512") }} - {{- else if $apiURL -}} From e0e28b651a4e4891b6cf312570171a7f4975fd9f Mon Sep 17 00:00:00 2001 From: ALXD Date: Sat, 9 May 2026 12:37:49 +0200 Subject: [PATCH 19/28] Add Story Seed Library to a list of Blowfish users --- exampleSite/content/users/users.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/exampleSite/content/users/users.json b/exampleSite/content/users/users.json index b334182f..c232dd5e 100644 --- a/exampleSite/content/users/users.json +++ b/exampleSite/content/users/users.json @@ -1052,5 +1052,15 @@ "tags": [ "Personal site" ] + }, + { + "title": "Story Seed Library", + "url": "https://storySeedLibrary.org/", + "source": "https://codeberg.org/alxd/storyseedlibrary", + "tags": [ + "Gallery", + "Solarpunk", + "Community Project" + ] } ] \ No newline at end of file From 5df9ce4b3298b2fc23895c4d508c9bac179845ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Pl=C3=B6ger?= Date: Sun, 10 May 2026 14:37:55 -0300 Subject: [PATCH 20/28] =?UTF-8?q?=F0=9F=8C=90=20Localize=20reply-by-email?= =?UTF-8?q?=20subject?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a new article.reply_to i18n key for the generated reply-by-email subject instead of the hardcoded English prefix. Add the missing translations across i18n files and keep the existing English subject as fallback. Fixes #2936 --- i18n/ar.yaml | 1 + i18n/bg.yaml | 1 + i18n/bn.yaml | 1 + i18n/ca.yaml | 1 + i18n/cs.yaml | 1 + i18n/da.yaml | 1 + i18n/de.yaml | 2 +- i18n/en.yaml | 1 + i18n/eo.yaml | 1 + i18n/es.yaml | 1 + i18n/eu.yaml | 1 + i18n/fa.yaml | 1 + i18n/fi.yaml | 1 + i18n/fr.yaml | 1 + i18n/gl.yaml | 1 + i18n/he.yaml | 1 + i18n/hr.yaml | 1 + i18n/hu.yaml | 1 + i18n/id.yaml | 1 + i18n/it.yaml | 1 + i18n/ja.yaml | 1 + i18n/ko.yaml | 1 + i18n/nl.yaml | 1 + i18n/pl.yaml | 1 + i18n/pt-BR.yaml | 1 + i18n/pt-PT.yaml | 1 + i18n/ro.yaml | 1 + i18n/ru.yaml | 1 + i18n/sv.yaml | 1 + i18n/th.yaml | 1 + i18n/tr.yaml | 1 + i18n/uk.yaml | 1 + i18n/vi.yaml | 1 + i18n/zh-CN.yaml | 1 + i18n/zh-TW.yaml | 1 + layouts/_default/single.html | 3 ++- 36 files changed, 37 insertions(+), 2 deletions(-) diff --git a/i18n/ar.yaml b/i18n/ar.yaml index 7be72791..31589f88 100644 --- a/i18n/ar.yaml +++ b/i18n/ar.yaml @@ -26,6 +26,7 @@ article: this_article: "هذه المقالة" related_articles: "مقالات ذات صلة" reply_by_email: "الرد عبر البريد الإلكتروني" + reply_to: "رد على {{ .Title }}" a11y: title: "إعدادات إمكانية الوصول" diff --git a/i18n/bg.yaml b/i18n/bg.yaml index 997fe563..0be0c2d8 100644 --- a/i18n/bg.yaml +++ b/i18n/bg.yaml @@ -26,6 +26,7 @@ article: this_article: "Тази Статия" related_articles: "Подобни" reply_by_email: "Отговори по имейл" + reply_to: "Отговор на {{ .Title }}" a11y: title: "Настройки за достъпност" diff --git a/i18n/bn.yaml b/i18n/bn.yaml index 1e161974..3d2a5d4f 100644 --- a/i18n/bn.yaml +++ b/i18n/bn.yaml @@ -26,6 +26,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "ইমেইলে উত্তর দিন" + reply_to: "উত্তর: {{ .Title }}" a11y: title: "অ্যাক্সেসিবিলিটি সেটিংস" diff --git a/i18n/ca.yaml b/i18n/ca.yaml index b4c61037..001f3bf7 100644 --- a/i18n/ca.yaml +++ b/i18n/ca.yaml @@ -26,6 +26,7 @@ article: this_article: "Aquest article" related_articles: "Relacionats" reply_by_email: "Respon per correu electrònic" + reply_to: "Resposta a {{ .Title }}" zen_mode_title: enable: "Habilita el mode zen" disable: "Inhabilita el mode zen" diff --git a/i18n/cs.yaml b/i18n/cs.yaml index 0b310882..001f8f33 100644 --- a/i18n/cs.yaml +++ b/i18n/cs.yaml @@ -26,6 +26,7 @@ article: this_article: "Tento článek" related_articles: "Related" reply_by_email: "Odpovědět e-mailem" + reply_to: "Odpověď na {{ .Title }}" a11y: title: "Nastavení přístupnosti" diff --git a/i18n/da.yaml b/i18n/da.yaml index aa8e39c9..e5287280 100644 --- a/i18n/da.yaml +++ b/i18n/da.yaml @@ -26,6 +26,7 @@ article: this_article: "Denne artikel" related_articles: "Relateret" reply_by_email: "Svar via email" + reply_to: "Svar på {{ .Title }}" zen_mode_title: enable: "Aktiver zen mode" disable: "Deaktiver zen mode" diff --git a/i18n/de.yaml b/i18n/de.yaml index 2cd8003c..79e0db03 100644 --- a/i18n/de.yaml +++ b/i18n/de.yaml @@ -25,7 +25,7 @@ article: part: "Teil" this_article: "Dieser Artikel" related_articles: "Verwandte Artikel" - reply_by_email: "Per E-Mail antworten" + reply_to: "Antwort auf {{ .Title }}" zen_mode_title: enable: "Zen-Modus aktivieren" disable: "Zen-Modus deaktivieren" diff --git a/i18n/en.yaml b/i18n/en.yaml index b9903ae0..544c95be 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -26,6 +26,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Reply by Email" + reply_to: "Reply to {{ .Title }}" zen_mode_title: enable: "Enable zen mode" disable: "Disable zen mode" diff --git a/i18n/eo.yaml b/i18n/eo.yaml index 39b1570b..07e701c9 100644 --- a/i18n/eo.yaml +++ b/i18n/eo.yaml @@ -26,6 +26,7 @@ article: this_article: "Tiu ĉi artikolo" related_articles: "Rilataj" reply_by_email: "Respondu per retpoŝto" + reply_to: "Respondo al {{ .Title }}" zen_mode_title: enable: "Ŝalti zen-reĝimon" disable: "Malŝalti zen-reĝimon" diff --git a/i18n/es.yaml b/i18n/es.yaml index cff137b5..2f86de10 100644 --- a/i18n/es.yaml +++ b/i18n/es.yaml @@ -26,6 +26,7 @@ article: this_article: "Este artículo" related_articles: "Relacionados" reply_by_email: "Responder por email" + reply_to: "Respuesta a {{ .Title }}" zen_mode_title: enable: "Activar modo zen" disable: "Desactivar modo zen" diff --git a/i18n/eu.yaml b/i18n/eu.yaml index dbdbf604..92592cf9 100644 --- a/i18n/eu.yaml +++ b/i18n/eu.yaml @@ -26,6 +26,7 @@ article: this_article: "Artikulu hau" related_articles: "Lotutakoak" reply_by_email: "Erantzun emailez" + reply_to: "Erantzuna: {{ .Title }}" zen_mode_title: enable: "Gaitu zen modua" disable: "Desgaitu zen modua" diff --git a/i18n/fa.yaml b/i18n/fa.yaml index fed36c5e..f007919e 100644 --- a/i18n/fa.yaml +++ b/i18n/fa.yaml @@ -26,6 +26,7 @@ article: this_article: "همین مقاله" related_articles: "مقاله‌های مرتبط" reply_by_email: "پاسخ از طریق ایمیل" + reply_to: "پاسخ به {{ .Title }}" zen_mode_title: enable: "فعال کردن حالت تمام متن" disable: "غیر فعال کردن حالت تمام متن" diff --git a/i18n/fi.yaml b/i18n/fi.yaml index 80c6960e..b80595e1 100644 --- a/i18n/fi.yaml +++ b/i18n/fi.yaml @@ -20,6 +20,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Vastaa sähköpostitse" + reply_to: "Vastaus: {{ .Title }}" a11y: title: "Esteettömyysasetukset" diff --git a/i18n/fr.yaml b/i18n/fr.yaml index 2d52431a..1e015d00 100644 --- a/i18n/fr.yaml +++ b/i18n/fr.yaml @@ -20,6 +20,7 @@ article: this_article: "Cet article" related_articles: "Articles connexes" reply_by_email: "Répondre par email" + reply_to: "Réponse à {{ .Title }}" zen_mode_title: enable: "Activer le mode zen" disable: "Désactiver le mode zen" diff --git a/i18n/gl.yaml b/i18n/gl.yaml index 6321bf74..1ef365f3 100644 --- a/i18n/gl.yaml +++ b/i18n/gl.yaml @@ -26,6 +26,7 @@ article: this_article: "Este artigo" related_articles: "Relacionados" reply_by_email: "Responder por email" + reply_to: "Resposta a {{ .Title }}" zen_mode_title: enable: "Activar modo zen" disable: "Desactivar modo zen" diff --git a/i18n/he.yaml b/i18n/he.yaml index a53f0d65..9d86d3d4 100644 --- a/i18n/he.yaml +++ b/i18n/he.yaml @@ -20,6 +20,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "השב בדוא\"ל" + reply_to: "תגובה ל-{{ .Title }}" a11y: title: "הגדרות נגישות" diff --git a/i18n/hr.yaml b/i18n/hr.yaml index fbd7ba9b..7772616e 100644 --- a/i18n/hr.yaml +++ b/i18n/hr.yaml @@ -26,6 +26,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Odgovori e-poštom" + reply_to: "Odgovor na {{ .Title }}" a11y: title: "Postavke pristupačnosti" diff --git a/i18n/hu.yaml b/i18n/hu.yaml index 4810eab3..af71171e 100644 --- a/i18n/hu.yaml +++ b/i18n/hu.yaml @@ -20,6 +20,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Válasz emailben" + reply_to: "Válasz erre: {{ .Title }}" a11y: title: "Akadálymentességi beállítások" diff --git a/i18n/id.yaml b/i18n/id.yaml index dfdbe49d..8d039cee 100644 --- a/i18n/id.yaml +++ b/i18n/id.yaml @@ -26,6 +26,7 @@ article: this_article: "Artikel ini" related_articles: "Terkait" reply_by_email: "Balas melalui email" + reply_to: "Balasan untuk {{ .Title }}" a11y: title: "Pengaturan aksesibilitas" diff --git a/i18n/it.yaml b/i18n/it.yaml index 3c836385..060c8389 100644 --- a/i18n/it.yaml +++ b/i18n/it.yaml @@ -20,6 +20,7 @@ article: this_article: "Questo articolo" related_articles: "Articoli correlati" reply_by_email: "Rispondi via email" + reply_to: "Risposta a {{ .Title }}" a11y: title: "Impostazioni di accessibilità" diff --git a/i18n/ja.yaml b/i18n/ja.yaml index dabc639a..c11c3d21 100644 --- a/i18n/ja.yaml +++ b/i18n/ja.yaml @@ -26,6 +26,7 @@ article: this_article: "この記事" related_articles: "関連記事" reply_by_email: "メールで返信" + reply_to: "{{ .Title }} への返信" zen_mode_title: enable: "Zenモードを有効にする" disable: "Zenモードを無効にする" diff --git a/i18n/ko.yaml b/i18n/ko.yaml index 85d8892c..dc7fd8a4 100644 --- a/i18n/ko.yaml +++ b/i18n/ko.yaml @@ -26,6 +26,7 @@ article: this_article: "이 글" related_articles: "관련 글" reply_by_email: "이메일로 답장" + reply_to: "{{ .Title }}에 대한 답장" a11y: title: "접근성 설정" diff --git a/i18n/nl.yaml b/i18n/nl.yaml index d939f87c..d960b2c1 100644 --- a/i18n/nl.yaml +++ b/i18n/nl.yaml @@ -26,6 +26,7 @@ article: this_article: "Dit artikel" related_articles: "Gerelateerde artikelen" reply_by_email: "Reageren via email" + reply_to: "Reactie op {{ .Title }}" zen_mode_title: enable: "Zen-modus inschakelen" disable: "Zen-modus uitschakelen" diff --git a/i18n/pl.yaml b/i18n/pl.yaml index d4057b42..e1cde6c7 100644 --- a/i18n/pl.yaml +++ b/i18n/pl.yaml @@ -26,6 +26,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Odpowiedz przez email" + reply_to: "Odpowiedź na {{ .Title }}" a11y: title: "Ustawienia dostępności" diff --git a/i18n/pt-BR.yaml b/i18n/pt-BR.yaml index 38aa66f5..cc87c966 100644 --- a/i18n/pt-BR.yaml +++ b/i18n/pt-BR.yaml @@ -23,6 +23,7 @@ article: this_article: "Esse Artigo" related_articles: "Relacionados" reply_by_email: "Responder por email" + reply_to: "Resposta a {{ .Title }}" a11y: title: "Configurações de acessibilidade" diff --git a/i18n/pt-PT.yaml b/i18n/pt-PT.yaml index 1b046111..ff867f6a 100644 --- a/i18n/pt-PT.yaml +++ b/i18n/pt-PT.yaml @@ -23,6 +23,7 @@ article: this_article: "Este artigo" related_articles: "Relacionados" reply_by_email: "Responder por email" + reply_to: "Resposta a {{ .Title }}" a11y: title: "Definições de acessibilidade" diff --git a/i18n/ro.yaml b/i18n/ro.yaml index d40c61d5..e428f83e 100644 --- a/i18n/ro.yaml +++ b/i18n/ro.yaml @@ -20,6 +20,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Răspunde prin email" + reply_to: "Răspuns la {{ .Title }}" a11y: title: "Setări de accesibilitate" diff --git a/i18n/ru.yaml b/i18n/ru.yaml index 35f12799..8d246140 100644 --- a/i18n/ru.yaml +++ b/i18n/ru.yaml @@ -26,6 +26,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Ответить по электронной почте" + reply_to: "Ответ на {{ .Title }}" a11y: title: "Настройки доступности" diff --git a/i18n/sv.yaml b/i18n/sv.yaml index 8c026bc4..f50ee204 100644 --- a/i18n/sv.yaml +++ b/i18n/sv.yaml @@ -20,6 +20,7 @@ article: this_article: "Denna artikel" related_articles: "Relaterade" reply_by_email: "Svara via email" + reply_to: "Svar på {{ .Title }}" a11y: title: "Tillgänglighetsinställningar" diff --git a/i18n/th.yaml b/i18n/th.yaml index 55da0b08..669a460f 100644 --- a/i18n/th.yaml +++ b/i18n/th.yaml @@ -26,6 +26,7 @@ article: this_article: "บทความนี้" related_articles: "บทความที่เกี่ยวข้อง" reply_by_email: "ตอบกลับทางอีเมล" + reply_to: "ตอบกลับ {{ .Title }}" zen_mode_title: enable: "เปิดโหมดเซน" disable: "ปิดโหมดเซน" diff --git a/i18n/tr.yaml b/i18n/tr.yaml index aa0e5c0b..9bce1519 100644 --- a/i18n/tr.yaml +++ b/i18n/tr.yaml @@ -19,6 +19,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "E-posta ile yanıtla" + reply_to: "Yanıt: {{ .Title }}" a11y: title: "Erişilebilirlik ayarları" diff --git a/i18n/uk.yaml b/i18n/uk.yaml index 2d662e04..4069f22c 100644 --- a/i18n/uk.yaml +++ b/i18n/uk.yaml @@ -30,6 +30,7 @@ article: this_article: "This Article" related_articles: "Related" reply_by_email: "Відповісти електронною поштою" + reply_to: "Відповідь на {{ .Title }}" zen_mode_title: enable: "Enable zen mode" disable: "Disable zen mode" diff --git a/i18n/vi.yaml b/i18n/vi.yaml index e18371c3..4f150dca 100644 --- a/i18n/vi.yaml +++ b/i18n/vi.yaml @@ -26,6 +26,7 @@ article: this_article: "Bài viết này" related_articles: "Bài viết liên quan" reply_by_email: "Trả lời qua email" + reply_to: "Trả lời {{ .Title }}" zen_mode_title: enable: "Bật zen mode" disable: "Tắt zen mode" diff --git a/i18n/zh-CN.yaml b/i18n/zh-CN.yaml index a5348c6a..d22d8269 100644 --- a/i18n/zh-CN.yaml +++ b/i18n/zh-CN.yaml @@ -26,6 +26,7 @@ article: this_article: "本文" related_articles: "相关文章" reply_by_email: "通过邮件回复" + reply_to: "回复 {{ .Title }}" zen_mode_title: enable: "啟用阅读模式" disable: "停用阅读模式" diff --git a/i18n/zh-TW.yaml b/i18n/zh-TW.yaml index e9f34d8a..4dc1211d 100644 --- a/i18n/zh-TW.yaml +++ b/i18n/zh-TW.yaml @@ -26,6 +26,7 @@ article: this_article: "本文" related_articles: "相關文章" reply_by_email: "透過郵件回覆" + reply_to: "回覆 {{ .Title }}" zen_mode_title: enable: "啟用閱讀模式" disable: "停用閱讀模式" diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 1fb3c9d7..95389091 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -51,12 +51,13 @@ {{ $defaultReplyByEmail := site.Params.replyByEmail }} {{ $replyByEmail := default $defaultReplyByEmail .Params.replyByEmail }} {{ if $replyByEmail }} + {{ $replySubject := i18n "article.reply_to" (dict "Title" .Title) | default (printf "Reply to %s" .Title) }}