From 71723fa97cf0fdd7dc54e5ff38d96c41587daa1c Mon Sep 17 00:00:00 2001 From: or1k Date: Sun, 20 Sep 2026 22:46:28 +0300 Subject: [PATCH 1/6] added chesscom and lichess social icons --- assets/icons/chess-com.svg | 1 + assets/icons/lichess.svg | 1 + config/_default/languages.en.toml | 2 ++ 3 files changed, 4 insertions(+) create mode 100644 assets/icons/chess-com.svg create mode 100644 assets/icons/lichess.svg diff --git a/assets/icons/chess-com.svg b/assets/icons/chess-com.svg new file mode 100644 index 00000000..23c0a3f8 --- /dev/null +++ b/assets/icons/chess-com.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/lichess.svg b/assets/icons/lichess.svg new file mode 100644 index 00000000..d4d06621 --- /dev/null +++ b/assets/icons/lichess.svg @@ -0,0 +1 @@ + diff --git a/config/_default/languages.en.toml b/config/_default/languages.en.toml index a1d8715a..67068397 100644 --- a/config/_default/languages.en.toml +++ b/config/_default/languages.en.toml @@ -28,6 +28,7 @@ title = "Blowfish" # { apple = "https://www.apple.com" }, # { blogger = "https://username.blogspot.com/" }, # { bluesky = "https://bsky.app/profile/username" }, +# { chess-com = "https://www.chess.com/member/username" }, # { codepen = "https://codepen.io/username" }, # { dev = "https://dev.to/username" }, # { discord = "https://discord.gg/invitecode" }, @@ -46,6 +47,7 @@ title = "Blowfish" # { keyoxide = "https://keyoxide.org/URI" }, # { kickstarter = "https://www.kickstarter.com/profile/username" }, # { lastfm = "https://lastfm.com/user/username" }, +# { lichess = "https://lichess.org/@/username" }, # { linkedin = "https://linkedin.com/in/username" }, # { mastodon = "https://mastodon.instance/@username" }, # { matrix = "https://matrix.to/#/URI" }, From 063830e6166f6cf2edc6ec253b6552f3e3f70cf3 Mon Sep 17 00:00:00 2001 From: or1k Date: Sun, 20 Sep 2026 23:17:29 +0300 Subject: [PATCH 2/6] Added classic blur option for background hero style (issue #3089) v3 replaced hero/background.html's persistent full-viewport blur overlay with hero-scroll-fade.js, which fades the hero band to nothing after 500px of scroll - reusing the same layoutBackgroundBlur flag to gate the new behavior, with no way back to the old look. Added layoutBackgroundBlurStyle (fade default, classic opt-in) to restore the pre-v3 persistent blur overlay, reusing the same background-blur.js still used by hero/thumbAndBackground.html --- .../content/docs/configuration/index.md | 4 ++ layouts/partials/hero/background.html | 43 +++++++++++++++---- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/exampleSite/content/docs/configuration/index.md b/exampleSite/content/docs/configuration/index.md index f89c1adf..43187ad9 100644 --- a/exampleSite/content/docs/configuration/index.md +++ b/exampleSite/content/docs/configuration/index.md @@ -288,6 +288,7 @@ Many of the article defaults here can be overridden on a per article basis by sp | `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. | | `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `article.showHero = true`. | | `article.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. | +| `article.layoutBackgroundBlurStyle` | `fade` | Valid options are `fade` (the hero image fades out as you scroll) or `classic` (a blurred panel stays fixed behind the whole page). Only used when `heroStyle` equals `background` and `layoutBackgroundBlur` is enabled. | | `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. | | `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. | | `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. | @@ -321,6 +322,7 @@ Many of the article defaults here can be overridden on a per article basis by sp | `list.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each list page. | | `list.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `list.showHero = true`. | | `list.layoutBackgroundBlur` | `true` | Makes the background image in the background list heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. | +| `list.layoutBackgroundBlurStyle` | `fade` | Valid options are `fade` (the hero image fades out as you scroll) or `classic` (a blurred panel stays fixed behind the whole page). Only used when `heroStyle` equals `background` and `layoutBackgroundBlur` is enabled. | | `list.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. | | `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. | | `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. | @@ -349,6 +351,7 @@ Many of the article defaults here can be overridden on a per article basis by sp | `taxonomy.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each taxonomy page. | | `taxonomy.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `taxonomy.showHero = true`. | | `taxonomy.layoutBackgroundBlur` | `true` | Makes the background image in the background taxonomy heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. | +| `taxonomy.layoutBackgroundBlurStyle` | `fade` | Valid options are `fade` (the hero image fades out as you scroll) or `classic` (a blurred panel stays fixed behind the whole page). Only used when `heroStyle` equals `background` and `layoutBackgroundBlur` is enabled. | | `taxonomy.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. | | `taxonomy.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the taxonomy header. | | `taxonomy.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. | @@ -363,6 +366,7 @@ Many of the article defaults here can be overridden on a per article basis by sp | `term.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each term page. | | `term.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `term.showHero = true`. | | `term.layoutBackgroundBlur` | `true` | Makes the background image in the background term heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. | +| `term.layoutBackgroundBlurStyle` | `fade` | Valid options are `fade` (the hero image fades out as you scroll) or `classic` (a blurred panel stays fixed behind the whole page). Only used when `heroStyle` equals `background` and `layoutBackgroundBlur` is enabled. | | `term.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. | | `term.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the term header. | | `term.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. | diff --git a/layouts/partials/hero/background.html b/layouts/partials/hero/background.html index c22516ec..50efd835 100644 --- a/layouts/partials/hero/background.html +++ b/layouts/partials/hero/background.html @@ -64,6 +64,18 @@ (and ($.Site.Params.term.layoutBackgroundHeaderSpace | default true) (eq $scope "term")) ) }} +{{ $siteBlurStyle := "fade" }} +{{ if eq $scope "single" }} + {{ $siteBlurStyle = $.Site.Params.article.layoutBackgroundBlurStyle | default "fade" }} +{{ else if eq $scope "list" }} + {{ $siteBlurStyle = $.Site.Params.list.layoutBackgroundBlurStyle | default "fade" }} +{{ else if eq $scope "terms" }} + {{ $siteBlurStyle = $.Site.Params.taxonomy.layoutBackgroundBlurStyle | default "fade" }} +{{ else if eq $scope "term" }} + {{ $siteBlurStyle = $.Site.Params.term.layoutBackgroundBlurStyle | default "fade" }} +{{ end }} +{{ $blurStyle := $.Params.layoutBackgroundBlurStyle | default $siteBlurStyle }} +{{ $isClassic := eq $blurStyle "classic" }} {{- with $featuredURL -}} {{ if $shouldAddHeaderSpace | default true }} @@ -71,7 +83,7 @@ {{ end }}
+ class="{{ if not $isClassic }}hero-canvas-fade {{ end }}fixed inset-x-0 top-0 h-[800px] single_hero_background nozoom"> {{ $style := "" }} {{ $defaultPosition := cond $useDefault site.Params.imagePosition false }} {{ with $.Params.imagePosition | default $defaultPosition }} @@ -90,13 +102,26 @@
{{ if $shouldBlur | default false }} - {{ $heroFade := resources.Get "js/hero-scroll-fade.js" }} - {{ $heroFade = $heroFade | resources.Minify | resources.Fingerprint ($.Site.Params.fingerprintAlgorithm | default "sha512") }} - + {{ if $isClassic }} +
+ {{ $backgroundBlur := resources.Get "js/background-blur.js" }} + {{ $backgroundBlur = $backgroundBlur | resources.Minify | resources.Fingerprint ($.Site.Params.fingerprintAlgorithm | default "sha512") }} + + {{ else }} + {{ $heroFade := resources.Get "js/hero-scroll-fade.js" }} + {{ $heroFade = $heroFade | resources.Minify | resources.Fingerprint ($.Site.Params.fingerprintAlgorithm | default "sha512") }} + + {{ end }} {{ end }} {{- end -}} From e544fdbb87c5f2b369cced79ff25fe5d82514479 Mon Sep 17 00:00:00 2001 From: or1k Date: Sun, 20 Sep 2026 23:25:04 +0300 Subject: [PATCH 3/6] Document layoutBackgroundBlurStyle in shipped default config --- config/_default/params.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/_default/params.toml b/config/_default/params.toml index 2dfa384b..d7693fdd 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -88,6 +88,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org" showHero = false # heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground + # layoutBackgroundBlurStyle = "fade" # valid options: fade, classic. Only used when heroStyle equals background layoutBackgroundHeaderSpace = true # only used when heroStyle equals background showBreadcrumbs = false showDraftLabel = true @@ -118,6 +119,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org" # featureImageHover = false # subtle zoom on card thumbnails on hover # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground + # layoutBackgroundBlurStyle = "fade" # valid options: fade, classic. Only used when heroStyle equals background layoutBackgroundHeaderSpace = true # only used when heroStyle equals background showBreadcrumbs = false showSummary = false @@ -139,6 +141,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org" showHero = false # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground + # layoutBackgroundBlurStyle = "fade" # valid options: fade, classic. Only used when heroStyle equals background layoutBackgroundHeaderSpace = true # only used when heroStyle equals background showBreadcrumbs = false showViews = false @@ -150,6 +153,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org" showHero = false # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground + # layoutBackgroundBlurStyle = "fade" # valid options: fade, classic. Only used when heroStyle equals background layoutBackgroundHeaderSpace = true # only used when heroStyle equals background showBreadcrumbs = false showViews = false From 30d35457ef266817098194b0d41c81d0a10414ea Mon Sep 17 00:00:00 2001 From: leviceroy Date: Wed, 23 Sep 2026 08:12:41 +0400 Subject: [PATCH 4/6] :sparkles: add libreleo.com to users showcase --- exampleSite/content/users/users.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/exampleSite/content/users/users.json b/exampleSite/content/users/users.json index e65b28f5..1d6aa21a 100644 --- a/exampleSite/content/users/users.json +++ b/exampleSite/content/users/users.json @@ -1170,5 +1170,14 @@ "Academia", "Blog" ] + }, + { + "title": "libreleo.com", + "url": "https://libreleo.com/", + "source": "n/a", + "tags": [ + "Blog", + "Personal site" + ] } ] \ No newline at end of file From a3deb2e3e459f2a5a2454016e02cab0e54d5cc2a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Sep 2026 05:07:43 +0000 Subject: [PATCH 5/6] =?UTF-8?q?=F0=9F=93=8C=20Bump=20puppeteer=20from=2025?= =?UTF-8?q?.10.0=20to=2025.11.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 25.10.0 to 25.11.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-v25.10.0...puppeteer-v25.11.0) --- updated-dependencies: - dependency-name: puppeteer dependency-version: 25.11.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 38 +++++++++++++++++++------------------- package.json | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6194c7c5..6f8aa191 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "packery": "^3.0.0", "prettier": "^3.9.6", "prettier-plugin-go-template": "^0.0.15", - "puppeteer": "^25.10.0", + "puppeteer": "^25.11.0", "rimraf": "^6.1.3", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.3.3", @@ -2205,9 +2205,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1666840", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1666840.tgz", - "integrity": "sha512-gCcO42XCHKEs7Ag0S7aGYsnJ7hlgrO3qderYqeiY0Eqk+0GFfuvT13IA0hHreJTa2KCdDVyGMeOhdMNmrrTjVg==", + "version": "0.0.1680125", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1680125.tgz", + "integrity": "sha512-rVARKAvOFJCFkvgX01VLvYqKIvt+cRCqvUxIhB2oAqVGPalxk3w3sb5TUGDagpow/EFblBpm/Zl/29QA2dd+jA==", "dev": true, "license": "BSD-3-Clause" }, @@ -2326,9 +2326,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", - "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.7.0.tgz", + "integrity": "sha512-XjH1AECxf0giL2V1aU8vKyRR2ppRUb5c0EvT7zuJTokQ74bNo52zOtghqdWIqrhUD79fo3x0WfKZdOqxF6LG1Q==", "dev": true, "license": "MIT", "engines": { @@ -2941,9 +2941,9 @@ "license": "MIT" }, "node_modules/modern-tar": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/modern-tar/-/modern-tar-0.8.4.tgz", - "integrity": "sha512-gN54ddmyzEg10orwZ2u4OOv+bjpMWdIl5jIkodK97bMq8QBSL5c0D7YX0lT1Ooz+99S7+PvFbnxzdjgHo1r41g==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/modern-tar/-/modern-tar-0.8.5.tgz", + "integrity": "sha512-snEhs+6G5Tjd4I7tLCDOaoln2RgE0bD19RzEKgvgK2hZ5VKy3MpLhLTZ2fWpXSTg4K2cyPwp+VHATFJhxfnOeA==", "dev": true, "license": "MIT", "engines": { @@ -3137,18 +3137,18 @@ } }, "node_modules/puppeteer": { - "version": "25.10.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-25.10.0.tgz", - "integrity": "sha512-9ZfkiaZDQWpGPJp9XTS+Bkn/D78hPvYmtjPfIBeybn05oeY6Jj7aiSbYdfcSQD2UMvC0vE7Yi9PSDo179euRzw==", + "version": "25.11.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-25.11.0.tgz", + "integrity": "sha512-n+psxZFH/qlJ3gwTZMxTLUZoE98FAOEjT/BSxHXvPmNCGAfN/kq0UnIZ8m9RB4rAVvJr7zRHUnKKg98GLMUyyQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@puppeteer/browsers": "3.2.2", "chromium-bidi": "17.0.2", - "devtools-protocol": "0.0.1666840", + "devtools-protocol": "0.0.1680125", "lilconfig": "^3.1.3", - "puppeteer-core": "25.10.0", + "puppeteer-core": "25.11.0", "typed-query-selector": "^2.12.2" }, "bin": { @@ -3159,15 +3159,15 @@ } }, "node_modules/puppeteer-core": { - "version": "25.10.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-25.10.0.tgz", - "integrity": "sha512-Hy5eMQshOEMil4JUUx03h5pw1HYkYCso1RG/gcpPlFSd4cYPOcopxcXEAxpLPOkOPJb9LIJtwxuj66bSdvknFg==", + "version": "25.11.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-25.11.0.tgz", + "integrity": "sha512-Ujym7JbxoAqanaxGcHgmTomfhC01HfDCSuGZ8Hs9boHrDjzbNVMnFRJo2KtbDT9LCRgeJoFnkn9JQZ41eEUrLw==", "dev": true, "license": "Apache-2.0", "dependencies": { "@puppeteer/browsers": "3.2.2", "chromium-bidi": "17.0.2", - "devtools-protocol": "0.0.1666840", + "devtools-protocol": "0.0.1680125", "typed-query-selector": "^2.12.2", "webdriver-bidi-protocol": "0.4.3", "ws": "^8.21.3" diff --git a/package.json b/package.json index 4c6b653c..762e7f04 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "packery": "^3.0.0", "prettier": "^3.9.6", "prettier-plugin-go-template": "^0.0.15", - "puppeteer": "^25.10.0", + "puppeteer": "^25.11.0", "rimraf": "^6.1.3", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.3.3", From 57cbc524102664fa876fdd928744a404e42804b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Sep 2026 05:07:49 +0000 Subject: [PATCH 6/6] =?UTF-8?q?=F0=9F=93=8C=20Bump=20prettier=20from=203.9?= =?UTF-8?q?.6=20to=203.9.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [prettier](https://github.com/prettier/prettier) from 3.9.6 to 3.9.8. - [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.9.6...3.9.8) --- updated-dependencies: - dependency-name: prettier dependency-version: 3.9.8 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6194c7c5..8c4186b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "medium-zoom": "^1.1.0", "mermaid": "^12.0.0", "packery": "^3.0.0", - "prettier": "^3.9.6", + "prettier": "^3.9.8", "prettier-plugin-go-template": "^0.0.15", "puppeteer": "^25.10.0", "rimraf": "^6.1.3", @@ -3091,9 +3091,9 @@ } }, "node_modules/prettier": { - "version": "3.9.6", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.6.tgz", - "integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==", + "version": "3.9.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.8.tgz", + "integrity": "sha512-WRFq3Wn3WId7LLROfMLdH7xaFr2jR62wU8nLO6rQUOLOxNZUviyJQs1M0iIhLexSFy+L+w0ch66wtoO2jRjG0A==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index 4c6b653c..4aa2b5c9 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "medium-zoom": "^1.1.0", "mermaid": "^12.0.0", "packery": "^3.0.0", - "prettier": "^3.9.6", + "prettier": "^3.9.8", "prettier-plugin-go-template": "^0.0.15", "puppeteer": "^25.10.0", "rimraf": "^6.1.3",