Compare commits

...
285 Commits
Author SHA1 Message Date
Nuno Coração 4afcd32b99 Merge remote-tracking branch 'origin/main' into main 2026-07-26 12:59:48 +01:00
Nuno CoraçãoandClaude Opus 5 53528cb23f 2.105.0
Bump version to 2.105.0 and refresh contributors and generated user pages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 12:59:17 +01:00
Friday ec362e7de4 Merge pull request #2997 from ZhenShuo2021/patch
fix: global resources fallback incorrectly removed in #2978
2026-07-26 12:20:53 +01:00
Friday cecc88743d Merge pull request #3007 from MaikelChan/taxonomy-badge-fix
🐛 Fixed custom taxonomies not appearing as badges
2026-07-26 12:20:39 +01:00
Friday a220b9778c Merge pull request #3012 from schaerfo/admonition-german
🌐 German localization for admonition
2026-07-26 12:20:34 +01:00
Friday 75d292e590 Merge pull request #3022 from chius-me/add-chius-cc-user
Add chius.cc to showcase users
2026-07-26 12:15:42 +01:00
Friday de0ed7c689 📚 Rebase showcase user submission 2026-07-26 11:15:23 +00:00
Friday 686dbb082a Merge pull request #3015 from leviceroy/showcase-add-libreleo
Add LibreLeo to showcase users
2026-07-26 12:13:17 +01:00
Friday 4201295501 📚 Rebase showcase user submission 2026-07-26 11:12:57 +00:00
Friday 1403422f60 Merge pull request #2999 from gregpuzzles1/add-tech-trail-pulse-clmbooks
Update Tech Trail Pulse entry and add Christian Living Ministries Books site built with Hugo and the Blowfish theme
2026-07-26 12:10:13 +01:00
Friday e92cca185d Merge pull request #2995 from scottkuperus/patch-1
Add new user entry for scottkuperus.com
2026-07-26 12:10:03 +01:00
Friday 6882d6fbb1 Merge pull request #3026 from nunocoracao/dependabot/npm_and_yarn/scripts/fast-xml-parser-5.10.1
Bump fast-xml-parser from 5.9.3 to 5.10.1 in /scripts
2026-07-26 11:54:20 +01:00
Friday dac3e5a8a2 Merge pull request #3009 from nunocoracao/dependabot/npm_and_yarn/main/fuse.js-7.5.0
📌 bump fuse.js from 7.4.2 to 7.5.0
2026-07-26 11:53:41 +01:00
Friday 0b5726fdee 📌 Rebase Fuse.js update 2026-07-26 10:53:20 +00:00
Friday 50b5a49e85 Merge pull request #3018 from nunocoracao/dependabot/npm_and_yarn/main/tailwindcss/cli-4.3.3
📌 bump @tailwindcss/cli from 4.3.2 to 4.3.3
2026-07-26 11:52:43 +01:00
Friday 117eded987 Merge remote-tracking branch 'origin/main' into dependabot/npm_and_yarn/main/tailwindcss/cli-4.3.3 2026-07-26 10:52:11 +00:00
Friday a5a41f9aa5 Merge pull request #3019 from nunocoracao/dependabot/npm_and_yarn/main/tailwindcss-4.3.3
📌 bump tailwindcss from 4.3.2 to 4.3.3
2026-07-26 11:51:55 +01:00
dependabot[bot] 682447fca5 Bump fast-xml-parser from 5.9.3 to 5.10.1 in /scripts
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.9.3 to 5.10.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.9.3...v5.10.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.10.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-26 10:51:39 +00:00
root 31e7ff8754 📌 Rebase Tailwind CSS update 2026-07-26 10:51:35 +00:00
Friday 22fed8c1ca Merge pull request #2998 from nunocoracao/hugo-new-version
⚙️ Update Hugo supported version
2026-07-26 11:49:53 +01:00
Friday b50e0a5d12 Merge pull request #3008 from nunocoracao/dependabot/github_actions/main/actions/setup-node-7
👷 bump actions/setup-node from 6 to 7
2026-07-26 11:49:44 +01:00
Friday 201fb09360 Merge pull request #3020 from nunocoracao/dependabot/npm_and_yarn/main/katex-0.18.1
📌 bump katex from 0.17.0 to 0.18.1
2026-07-26 11:49:13 +01:00
Friday da5216132a Merge pull request #3021 from nunocoracao/dependabot/npm_and_yarn/main/prettier-3.9.6
📌 bump prettier from 3.9.4 to 3.9.6
2026-07-26 11:48:56 +01:00
Yao Chius 60cf2ea44e 📝 Add chius.cc to showcase users
Add personal blog https://chius.cc/ (source: https://github.com/chius-me/chius.cc) to the Blowfish users list.
2026-07-24 14:23:49 +08:00
dependabot[bot] 1fd5219f65 📦 Update packaged KaTeX 2026-07-22 05:09:16 +00:00
dependabot[bot] 9768a2e6c4 💄 Rebuild CSS 2026-07-22 05:09:09 +00:00
dependabot[bot] ef081ffc68 💄 Rebuild CSS 2026-07-22 05:09:05 +00:00
dependabot[bot] a402aafee8 📌 bump prettier from 3.9.4 to 3.9.6
Bumps [prettier](https://github.com/prettier/prettier) from 3.9.4 to 3.9.6.
- [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.4...3.9.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 05:08:52 +00:00
dependabot[bot] fe01814dd5 📌 bump katex from 0.17.0 to 0.18.1
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.17.0 to 0.18.1.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.17.0...v0.18.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 05:08:43 +00:00
dependabot[bot] 16c58f2c52 📌 bump tailwindcss from 4.3.2 to 4.3.3
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/tailwindcss)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 05:08:37 +00:00
dependabot[bot] 94cec19786 📌 bump @tailwindcss/cli from 4.3.2 to 4.3.3
Bumps [@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/@tailwindcss-cli)

---
updated-dependencies:
- dependency-name: "@tailwindcss/cli"
  dependency-version: 4.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 05:08:30 +00:00
leviceroy b102502c22 Add LibreLeo to showcase users 2026-07-19 10:22:19 +04:00
Christian Schärf a734e5e320 🌐 German localization for admonition 2026-07-16 22:31:33 +02:00
dependabot[bot] 2744192e68 📦 Update packaged FuseJS 2026-07-15 05:07:44 +00:00
dependabot[bot] 58da587009 📌 bump fuse.js from 7.4.2 to 7.5.0
Bumps [fuse.js](https://github.com/krisk/Fuse) from 7.4.2 to 7.5.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.4.2...v7.5.0)

---
updated-dependencies:
- dependency-name: fuse.js
  dependency-version: 7.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 05:07:19 +00:00
dependabot[bot] 35a588221f 👷 bump actions/setup-node from 6 to 7
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 05:02:51 +00:00
MaikelChan 0f060c2e64 Fixed custom taxonomies not appearing as badges 2026-07-12 04:15:23 +02:00
Greg Christian 17b8215782 Update Tech Trail Pulse and add CLM Books site 2026-07-07 13:57:24 -06:00
nunocoracao 88b4260105 Update Hugo supported version 2026-07-07 09:38:57 +00:00
ZhenShuo Leo c164484993 fix: global resources fallback incorrectly removed in #2978 2026-07-05 14:37:14 +08:00
Scott Kuperus bf9d7ef2cb Add new user entry for scottkuperus.com
Adding a new site that is using the Blowfish template.
2026-07-03 22:13:04 +01:00
Nuno Coração 1f14448333 updates 2026-07-02 13:25:16 +01:00
Nuno Coração b67cdadb27 fixed warn and bump version 2026-07-02 13:14:47 +01:00
Nuno C. d85a0b243b Merge pull request #2983 from eread/eread/allow-pages-using-list-template-to-have-emojis-in-titles
Allow pages using list layout to render emojis in titles
2026-07-02 12:54:35 +01:00
Nuno C. 7a3ace780f Merge pull request #2905 from aplgr/feat/cookie-notice-i18n
🌐 Add cookie notice translations
2026-07-02 12:53:31 +01:00
Nuno Coração 1cf811490c bump ALL 2026-07-02 12:49:04 +01:00
Nuno Coração 4bc35b656a bump ALL 2026-07-02 12:48:28 +01:00
Nuno C. bacf607405 Merge pull request #2935 from aplgr/feature/client-language-redirect
✨ Add opt-in client-side language redirect
2026-07-02 12:46:49 +01:00
Nuno C. 7cd64e0c77 Merge pull request #2969 from ZhenShuo2021/scrollbar
🐛 Fix: restore scrollbar styles broken by tailwind v4.3 upgrade
2026-07-02 12:45:02 +01:00
Nuno C. c6d1d04c9b Merge branch 'main' into scrollbar 2026-07-02 12:44:52 +01:00
Nuno C. af4808d9b7 Merge pull request #2978 from ZhenShuo2021/featureimage
🐛 Fix: scope of featureimage in front matter
2026-07-02 12:44:13 +01:00
Nuno C. d2196b6d7e Merge pull request #2953 from TomzxForks/fix/search-relative-url
fix: use relative URL for search index to support alternate domains
2026-07-02 12:43:35 +01:00
Nuno C. 3c0b3a5ebe Merge pull request #2945 from ilantz/fix-appearance-tooltips
♿️ Fix appearance switcher accessibility tooltips
2026-07-02 12:42:51 +01:00
Nuno Coração 694df4423e Merge branch 'main' of https://github.com/nunocoracao/blowfish 2026-07-02 12:40:25 +01:00
Nuno Coração ea7d2da4c1 bump firebase-admin 2026-07-02 12:40:14 +01:00
Nuno C. e72752168f Merge pull request #2993 from nunocoracao/dependabot/npm_and_yarn/dompurify-3.4.11
Bump dompurify from 3.4.3 to 3.4.11
2026-07-02 12:36:58 +01:00
Nuno C. 4b3ff374a1 Merge pull request #2972 from chandlertee/fix/schema-mainentityofpage
🐛 fix(schema): use page URL for mainEntityOfPage
2026-07-02 12:36:42 +01:00
Nuno C. e8f44d4e8e Merge pull request #2970 from chandlertee/fix/schema-author-data-authors
🐛 fix(schema): resolve article author from data/authors
2026-07-02 12:36:20 +01:00
Nuno C. 2d36a64a6e Merge pull request #2973 from chandlertee/docs/add-user-chandlerthompson
📝 docs: add chandlerthompson.dev to users list
2026-07-02 12:35:18 +01:00
Nuno C. 8c6dfedb47 Merge branch 'main' into docs/add-user-chandlerthompson 2026-07-02 12:35:08 +01:00
dependabot[bot] 8263cb1813 Bump dompurify from 3.4.3 to 3.4.11
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.3 to 3.4.11.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.3...3.4.11)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.11
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 11:33:54 +00:00
Nuno C. 3a9cc3a9a0 Merge pull request #2992 from nunocoracao/dependabot/npm_and_yarn/scripts/grpc/grpc-js-1.14.4
Bump @grpc/grpc-js from 1.14.3 to 1.14.4 in /scripts
2026-07-02 12:29:36 +01:00
Nuno C. aa7af46e57 Merge pull request #2965 from gian-luca-decurtins/Fix-deprecated-language-settings
Fix deprecated language settings: languageCode and languageName was deprecated in Hugo v0.158.0
2026-07-02 12:29:12 +01:00
dependabot[bot] 74c1af676d Bump @grpc/grpc-js from 1.14.3 to 1.14.4 in /scripts
Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.14.3 to 1.14.4.
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.14.3...@grpc/grpc-js@1.14.4)

---
updated-dependencies:
- dependency-name: "@grpc/grpc-js"
  dependency-version: 1.14.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 11:28:00 +00:00
Nuno C. 6d0f3bd69c Merge pull request #2991 from nunocoracao/dependabot/npm_and_yarn/scripts/fast-xml-builder-1.2.0
Bump fast-xml-builder from 1.1.4 to 1.2.0 in /scripts
2026-07-02 12:26:39 +01:00
dependabot[bot] 6a22f960ec Bump fast-xml-builder from 1.1.4 to 1.2.0 in /scripts
Bumps [fast-xml-builder](https://github.com/NaturalIntelligence/fast-xml-builder) from 1.1.4 to 1.2.0.
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-builder/blob/main/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-builder/compare/v1.1.4...v1.2.0)

---
updated-dependencies:
- dependency-name: fast-xml-builder
  dependency-version: 1.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 11:25:27 +00:00
Nuno C. b3e27eb251 Merge pull request #2990 from nunocoracao/dependabot/npm_and_yarn/scripts/form-data-2.5.6
Bump form-data from 2.5.5 to 2.5.6 in /scripts
2026-07-02 12:24:05 +01:00
dependabot[bot] 4026aee69c Bump form-data from 2.5.5 to 2.5.6 in /scripts
Bumps [form-data](https://github.com/form-data/form-data) from 2.5.5 to 2.5.6.
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v2.5.5...v2.5.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 2.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 11:23:38 +00:00
Nuno C. bdb41a342f Merge pull request #2929 from kamilsi/fix/search-race-condition
🐛 fix: race condition in search query execution
2026-07-02 12:20:54 +01:00
Nuno Coração fadadaf2cc add user tobydevlin.com 2026-07-02 12:18:47 +01:00
Nuno C. f2b14a8463 Merge pull request #2981 from sebastianzehner/main
Add sebastianzehner.com to users.json
2026-07-02 12:17:41 +01:00
Nuno C. 4a2e182b32 Merge branch 'main' into main 2026-07-02 12:17:30 +01:00
Nuno C. 4c074bc270 Merge pull request #2979 from mortennordbye/add-blog-nordbye
Add blog.nordbye.it to users list
2026-07-02 12:16:32 +01:00
Nuno C. 96a48bcd8b Merge branch 'main' into add-blog-nordbye 2026-07-02 12:16:23 +01:00
Nuno C. ae6a75d827 Merge pull request #2967 from gregpuzzles1/add_user
Add techtrailpulse.com to users list
2026-07-02 12:15:28 +01:00
Nuno C. 8278ad89fc Merge branch 'main' into add_user 2026-07-02 12:15:16 +01:00
Nuno C. f4fa7ebad5 Merge pull request #2956 from fionnlinux/main
feat: add fionnlinux.com to showcase
2026-07-02 12:14:23 +01:00
Nuno C. 5e81b943ed Merge branch 'main' into main 2026-07-02 12:14:13 +01:00
Nuno C. 4f8e3e0b53 Merge pull request #2954 from Peredurz/patch-1
Add douwez.dev to users.json
2026-07-02 12:10:16 +01:00
Nuno C. 1e2bd11778 Merge branch 'main' into patch-1 2026-07-02 12:10:05 +01:00
Nuno C. 853bdd169f Merge pull request #2948 from 0zunu/patch-2
Add new user entry for www.azriel.id
2026-07-02 12:07:50 +01:00
Nuno C. 813fdecde0 Merge pull request #2963 from nunocoracao/hugo-new-version
⚙️ Update Hugo supported version
2026-07-02 12:06:47 +01:00
Nuno C. 845eecb314 Merge pull request #2957 from nunocoracao/dependabot/npm_and_yarn/scripts/protobufjs-7.6.1
chore(deps): bump protobufjs from 7.5.4 to 7.6.1 in /scripts
2026-07-02 12:06:11 +01:00
Nuno C. e5d2ae8a7b Merge pull request #2982 from nunocoracao/dependabot/github_actions/main/actions/checkout-7
👷 Bump actions/checkout from 6 to 7
2026-07-02 12:05:41 +01:00
Nuno C. 58ab07f735 Merge pull request #2961 from nunocoracao/dependabot/npm_and_yarn/main/puppeteer-25.1.0
📌 Bump puppeteer from 24.42.0 to 25.1.0
2026-07-02 12:04:23 +01:00
Nuno C. ba3b1f4192 Merge pull request #2968 from nunocoracao/dependabot/npm_and_yarn/main/fuse.js-7.4.1
📌 Bump fuse.js from 7.3.0 to 7.4.1
2026-07-02 12:03:42 +01:00
Evan Read bcfe2e3f7b Allow pages using list layout to have emojis in titles 2026-06-26 16:01:56 +10:00
dependabot[bot] d8986d6a99 💄 Rebuild CSS 2026-06-24 05:03:13 +00:00
dependabot[bot] ef8d204d1a 👷 Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-24 05:02:46 +00:00
Sebastian Zehner 3f5d19da40 Add sebastianzehner.com to users.json 2026-06-23 20:11:08 -03:00
nunocoracao 6c0f1ef456 Update Hugo supported version 2026-06-19 07:56:35 +00:00
Morten Victor Nordbye fb4d43776c Add blog.nordbye.it to users list 2026-06-16 10:14:28 +02:00
ZhenShuo Leo 4a45ab6c96 fix: scope of featureimage in front matter
fixes #2977
2026-06-13 14:43:50 +08:00
ZhenShuo Leo ef9e756ce5 fix: restore scrollbar styles broken by tailwind v4.3 upgrade
Tailwind v4.3 introduced built-in scrollbar utilities that conflicted
with the tailwind-scrollbar plugin, causing visual regressions.

Fixed by inlining the pre-v4.3 build output directly into main.css,
which also eliminates the need for the tailwind-scrollbar plugin.
2026-06-12 05:12:34 +08:00
Chandler ThompsonandClaude Opus 4.8 3e1d31ca87 docs: add chandlerthompson.dev to users list
Add chandlerthompson.dev — a personal blog built with Blowfish — to the
exampleSite users showcase.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 21:24:48 -05:00
Chandler ThompsonandClaude Opus 4.8 4feebf8acd fix(schema): use page URL for mainEntityOfPage instead of "true"
The Article JSON-LD set "mainEntityOfPage": "true" on every non-home page.
schema.org/mainEntityOfPage expects a CreativeWork or a URL — a boolean
string is invalid. Emit the page's canonical URL, mirroring the adjacent
"url" : {{ .Permalink }}.

Fixes #2971

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 21:22:53 -05:00
Chandler ThompsonandClaude Opus 4.8 f8cedfbcd8 fix(schema): resolve article author from data/authors
schema.html always read the author from .Site.Params.Author, so the
structured-data author was the site-level author (or empty) regardless of a
post's `authors` front matter — even though the theme supports multiple
authors via data/authors/.

Resolve the first `authors` key against data/authors/ and emit that author's
name, image and sameAs (from their social/links), falling back to the
site-level author. Single-author output is unchanged apart from the additive
image and sameAs fields.

Fixes #2943

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 20:58:27 -05:00
dependabot[bot] e9a59654c9 💄 Rebuild CSS 2026-06-04 01:14:21 +00:00
dependabot[bot] c73459b634 📦 Update packaged FuseJS 2026-06-04 01:14:19 +00:00
dependabot[bot] 864c8328ec 📌 Bump fuse.js from 7.3.0 to 7.4.1
Bumps [fuse.js](https://github.com/krisk/Fuse) from 7.3.0 to 7.4.1.
- [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.3.0...v7.4.1)

---
updated-dependencies:
- dependency-name: fuse.js
  dependency-version: 7.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-04 01:13:53 +00:00
Greg Christian ccbf3544d9 Add techtrailpulse.com to users list 2026-06-03 13:24:29 -06:00
Gian Luca Decurtins 35c3462f3c Fix deprecated language settings: languageCode and languageName will be removed 2026-05-30 21:22:35 +02:00
dependabot[bot] 2f108192ad 💄 Rebuild CSS 2026-05-27 06:58:26 +00:00
dependabot[bot] eacda9fc35 📌 Bump puppeteer from 24.42.0 to 25.1.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.42.0 to 25.1.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.42.0...puppeteer-v25.1.0)

---
updated-dependencies:
- dependency-name: puppeteer
  dependency-version: 25.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-27 06:57:56 +00:00
dependabot[bot] bb8768c859 💄 Rebuild CSS 2026-05-26 10:37:30 +00:00
dependabot[bot] ee1aadc969 chore(deps): bump protobufjs from 7.5.4 to 7.6.1 in /scripts
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.4 to 7.6.1.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.6.1/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.4...protobufjs-v7.6.1)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-version: 7.6.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 10:37:01 +00:00
fionnlinux c0a7258d50 feat: add fionnlinux.com to showcase 2026-05-25 12:11:45 -04:00
Douwe Zumker 9aaf8f16c1 Add douwez.dev to users.json 2026-05-21 12:32:12 +02:00
Tom Rochette d00e49601a fix: use relative URL for search index to support alternate domains 2026-05-21 04:04:45 +00:00
Azriel Fidzlie 6c3e9761b9 Add new user entry for www.azriel.id 2026-05-18 00:14:59 +07:00
ilantz 1d61651817 ♿️ Fix appearance switcher accessibility tooltips
Dynamically update the appearance switcher accessibility labels and tooltips using the native i18n variables so that the UI correctly reflects the user's localized language instead of hardcoded English strings.
2026-05-15 00:15:55 -07:00
André Plöger 6b11b81aec Merge branch 'main' into feature/client-language-redirect 2026-05-14 10:23:48 -03:00
Nuno Coração e9699d8c5d release cut 2026-05-13 23:27:16 +01:00
Nuno C. 34b1f117fc Merge pull request #2937 from aplgr/fix/reply-email-subject-i18n
🌐 Localize reply-by-email subject
2026-05-13 23:13:45 +01:00
Nuno C. 6c7c4b6a9f Merge pull request #2931 from head1328/feat/button-pageref
feat: support pageRef in button shortcode
2026-05-13 23:12:34 +01:00
Nuno C. a7fc9862e4 Merge pull request #2932 from head1328/feat/ansible-cards
feat: add ansible galaxy card shortcode
2026-05-13 23:10:40 +01:00
Nuno C. e0b8a49054 Merge pull request #2933 from pawelngei/users-storyseed
docs: Add Story Seed Library to a list of Blowfish users
2026-05-13 23:08:45 +01:00
Nuno C. c4607f0a8f Merge pull request #2926 from aplgr/fix/meta-description-order
Add configurable meta description fallback order
2026-05-13 23:07:44 +01:00
Nuno C. 7d8b388bfb Merge pull request #2928 from abdalrahmanshaban0/main
fix(hugo): update deprecated LanguageCode to Locale
2026-05-13 23:04:57 +01:00
Nuno C. b5054889cb Merge pull request #2921 from rjwisloff/i18/nb
Add Norwegian Bokmål translation
2026-05-13 23:03:19 +01:00
Nuno Coração 7b0904947d Merge branch 'main' of https://github.com/nunocoracao/blowfish 2026-05-13 23:01:31 +01:00
Nuno C. 2c01906987 Merge pull request #2923 from nunocoracao/hugo-new-version
⚙️ Update Hugo supported version
2026-05-13 23:00:47 +01:00
Nuno C. 5342dd2128 Merge pull request #2910 from nunocoracao/dependabot/npm_and_yarn/main/fuse.js-7.3.0
📌 Bump fuse.js from 7.2.0 to 7.3.0
2026-05-13 23:00:25 +01:00
Nuno C. b7d5f96bea Merge branch 'main' into dependabot/npm_and_yarn/main/fuse.js-7.3.0 2026-05-13 23:00:15 +01:00
Nuno C. f80473e761 Merge pull request #2920 from nunocoracao/dependabot/npm_and_yarn/main/tailwindcss/cli-4.2.4
📌 Bump @tailwindcss/cli from 4.2.2 to 4.3.0
2026-05-13 22:58:41 +01:00
Nuno C. 6f6fba6d4d Merge pull request #2918 from nunocoracao/dependabot/npm_and_yarn/main/tailwindcss-4.2.4
📌 Bump tailwindcss from 4.2.2 to 4.3.0
2026-05-13 22:58:08 +01:00
dependabot[bot] 8671b01505 📌 Bump @tailwindcss/cli from 4.2.2 to 4.3.0
Bumps [@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-cli)

---
updated-dependencies:
- dependency-name: "@tailwindcss/cli"
  dependency-version: 4.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 21:58:04 +00:00
Nuno Coração de2c627aac Merge branch 'main' of https://github.com/nunocoracao/blowfish 2026-05-13 22:56:38 +01:00
Nuno C. 6d8a9b0712 Merge branch 'main' into hugo-new-version 2026-05-13 22:56:22 +01:00
Nuno C. 62ffaac7ab Merge pull request #2942 from ZhenShuo2021/version
chore: bump minimum Hugo version to 0.158.0 for #2866
2026-05-13 22:55:05 +01:00
Nuno C. 64c437e67f Merge pull request #2924 from rob-randall/main
Fix deprecated .Site.LanguageCode references (Hugo v0.158.0+)
2026-05-13 22:54:13 +01:00
dependabot[bot] 6760c9de65 📌 Bump tailwindcss from 4.2.2 to 4.3.0
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/tailwindcss)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 21:53:34 +00:00
Nuno C. 562db70231 Merge pull request #2908 from nunocoracao/dependabot/github_actions/main/actions/upload-pages-artifact-5
👷 Bump actions/upload-pages-artifact from 4 to 5
2026-05-13 22:51:55 +01:00
Nuno C. ab9e81d586 Merge pull request #2909 from nunocoracao/dependabot/github_actions/main/softprops/action-gh-release-3
👷 Bump softprops/action-gh-release from 2 to 3
2026-05-13 22:51:39 +01:00
Nuno C. 56f66b633d Merge pull request #2941 from nunocoracao/dependabot/github_actions/main/peaceiris/actions-hugo-3.2.1
👷 Bump peaceiris/actions-hugo from 3.0.0 to 3.2.1
2026-05-13 22:51:25 +01:00
Nuno C. d170cf3d96 Merge pull request #2919 from nunocoracao/dependabot/npm_and_yarn/main/puppeteer-24.42.0
📌 Bump puppeteer from 24.40.0 to 24.42.0
2026-05-13 22:50:52 +01:00
Nuno C. 26bbbbc288 Merge pull request #2911 from nunocoracao/dependabot/npm_and_yarn/main/prettier-3.8.3
📌 Bump prettier from 3.8.1 to 3.8.3
2026-05-13 22:50:18 +01:00
Nuno Coração 5e144d4f11 fixed incompatibilitis in extension change 2026-05-13 22:49:17 +01:00
ZhenShuo Leo 86fd828353 chore: bump minimum Hugo version to 0.158.0 for #2887
fixes #2940
2026-05-14 00:43:50 +08:00
dependabot[bot] a6ce29638a 💄 Rebuild CSS 2026-05-13 05:04:01 +00:00
dependabot[bot] 8b0691b632 👷 Bump peaceiris/actions-hugo from 3.0.0 to 3.2.1
Bumps [peaceiris/actions-hugo](https://github.com/peaceiris/actions-hugo) from 3.0.0 to 3.2.1.
- [Release notes](https://github.com/peaceiris/actions-hugo/releases)
- [Changelog](https://github.com/peaceiris/actions-hugo/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-hugo/compare/v3.0.0...v3.2.1)

---
updated-dependencies:
- dependency-name: peaceiris/actions-hugo
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 05:03:31 +00:00
André Plöger 863b64815c fix missing key 2026-05-10 14:39:41 -03:00
André Plöger 5df9ce4b32 🌐 Localize reply-by-email subject
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
2026-05-10 14:37:55 -03:00
André Plöger 598905a36b 🌐 Preserve locale subtags in language redirects 2026-05-10 11:14:37 -03:00
André Plöger 3a86a7656e ✨ Add opt-in client-side language redirect 2026-05-10 10:47:49 -03:00
ALXD e0e28b651a Add Story Seed Library to a list of Blowfish users 2026-05-09 12:37:49 +02:00
Kevin Horst a9869a55a6 fix: ansible card values are build-time only (Galaxy blocks CORS) 2026-05-08 19:26:55 +02:00
Kevin Horst 88863335fd feat: add ansible galaxy card shortcode 2026-05-08 19:20:53 +02:00
Kevin Horst 6d33438e18 feat: support pageRef in button shortcode 2026-05-08 18:37:54 +02:00
Kamil Sijko db9fb58bca 🐛 fix: race condition in search query execution
When a user opens the search modal and starts typing immediately, executeQuery() is triggered. Since buildIndex() is asynchronous, the fuse variable might still be undefined when .search() is called. Added safety checks for fuse initialization.
2026-05-05 11:50:28 +02:00
Nuno Coração baf74cca1a chore: add .watchfire to gitignore 2026-05-05 00:12:29 +01:00
abdalrahmanshaban0 1eb3d8da3e fix(hugo): update deprecated LanguageCode to Locale 2026-05-04 17:19:12 +03:00
nunocoracao dff1858ca5 Update Hugo supported version 2026-04-30 06:56:22 +00:00
André Plöger ab5c7b7c97 Add configurable meta description fallback order 2026-04-29 20:40:29 -03:00
Robert Randall 350458a3c5 Changed from deprecated .Site.LanguageCode to .Site.Language.Locale 2026-04-29 13:32:56 +02:00
Ragnar Wisløff c7305a9727 Add Norwegian Bokmål translation 2026-04-25 14:00:51 +02:00
dependabot[bot] 75a6f741c8 💄 Rebuild CSS 2026-04-22 05:18:47 +00:00
dependabot[bot] c37d7fcd21 📌 Bump puppeteer from 24.40.0 to 24.42.0
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] <support@github.com>
2026-04-22 05:18:16 +00:00
dependabot[bot] 7c2545d598 💄 Rebuild CSS 2026-04-15 05:17:57 +00:00
dependabot[bot] 2d37ecace0 📌 Bump prettier from 3.8.1 to 3.8.3
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] <support@github.com>
2026-04-15 05:17:30 +00:00
dependabot[bot] 8d28507fe9 📌 Bump fuse.js from 7.2.0 to 7.3.0
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] <support@github.com>
2026-04-15 05:17:25 +00:00
dependabot[bot] 1e5b7fde7e 💄 Rebuild CSS 2026-04-15 05:03:55 +00:00
dependabot[bot] 27cdc57bda 💄 Rebuild CSS 2026-04-15 05:03:47 +00:00
dependabot[bot] 8eff80bb12 👷 Bump softprops/action-gh-release from 2 to 3
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] <support@github.com>
2026-04-15 05:03:22 +00:00
dependabot[bot] cda04a5061 👷 Bump actions/upload-pages-artifact from 4 to 5
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] <support@github.com>
2026-04-15 05:03:16 +00:00
André Plöger cc157244ba 🐛 Fix cookie notice i18n blockers in zh-TW and gl 2026-04-14 15:24:10 -03:00
André Plöger 014eaa879c Add cookie notice translations 2026-04-14 14:55:09 -03:00
Nuno CoraçãoandClaude Opus 4.6 da8ca782aa 🔖 Bump version to 2.103.0
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 23:09:17 +01:00
Nuno CoraçãoandClaude Opus 4.6 f2e9eaa80f Add breaking changes policy and PR guidelines to CONTRIBUTING.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:46:11 +01:00
Nuno C. 8eb1f330c5 Merge pull request #2877 from jin-li/feature/thumbnail-aspect-ratio-global
feat: Allow configurable thumbnail aspect ratio for article cards
2026-04-13 22:43:18 +01:00
Nuno C. 44f787680b Merge pull request #2874 from aplgr/feat/hreflang-head-alternates
Add hreflang alternates to multilingual page head
2026-04-13 22:43:11 +01:00
Nuno C. 270a0a74d2 Merge pull request #2868 from L0kayata/dev
🐛 Fix `carousel` caption height overflow and layout jump
2026-04-13 22:41:46 +01:00
Nuno C. a57db858b4 Merge pull request #2866 from EricGusmao/fix/hugo-v0.158.0-deprecations
fix: migrate deprecated Hugo v0.158.0 language API
2026-04-13 22:40:39 +01:00
Nuno C. 2e195fc1e1 Merge pull request #2853 from MaikelChan/header_space_list
🐛 Fixed `layoutBackgroundBlur` and `layoutBackgroundHeaderSpace` not affecting term and taxonomy pages
2026-04-13 22:39:41 +01:00
Nuno C. a666aa54b8 Merge pull request #2852 from MaikelChan/badges
✨ Implemented category badges in secondary color and better granularity for showing categories or tags
2026-04-13 22:38:59 +01:00
Nuno CoraçãoandClaude Opus 4.6 89e261f8e4 Fix Umami event name for long page titles
Use a fixed event name (type:view) and pass the title as metadata
instead of embedding it in the event name, which caused issues with
long page titles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:34:48 +01:00
Nuno C. d35a493ba0 Merge pull request #2837 from schneekluth/feat-email-shortcode
Shortcode for obfuscated mailto email link
2026-04-13 22:29:29 +01:00
Nuno C. 78341b1822 Merge pull request #2898 from unknown-gd/main
Localization for `article` shortcut
2026-04-13 22:29:26 +01:00
Nuno C. 58e075717e Merge pull request #2851 from nk9/plainify-title
[#2850] Run plainify on the title value before emojify
2026-04-13 22:29:23 +01:00
Nuno C. 137860d31a Merge pull request #2900 from alxhslm/feat/untappd-icon-v2
✨ Feat: Add Untappd icon and profile support
2026-04-13 22:29:20 +01:00
Nuno C. cee3e324fd Merge pull request #2899 from alxhslm/feat/strava-icon-v2
✨ Feat: Add Strava icon and profile support
2026-04-13 22:29:17 +01:00
Nuno CoraçãoandClaude Opus 4.6 2b83b517cc Fix sharing email link broken by email obfuscation PR
The email obfuscation PR (#2815) incorrectly replaced the "share via
email" link with the author's email as recipient. Sharing links have no
email address to obfuscate — they just open a mailto: with the article
URL and title prefilled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:24:07 +01:00
Nuno CoraçãoandClaude Opus 4.6 cc5cd8f11a Update user data, screenshots, and translated content
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:19:11 +01:00
Nuno CoraçãoandClaude Opus 4.6 c6d40c6d3f Remove google-translate dep, upgrade firebase-admin, pin csv-parse, and improve processUsers.js
- Remove @iamtraction/google-translate (and undici vulnerability) — translation
  no longer needed, language files now copy English content directly
- Upgrade firebase-admin from ^12.0.0 to ^13.8.0
- Pin csv-parse to ~5.5.0 to avoid major version bump
- Use networkidle2 + 2s delay in processUsers.js for reliable screenshots

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:19:07 +01:00
Nuno Coração 8fda75b134 Merge branch 'main' of https://github.com/nunocoracao/blowfish 2026-04-13 21:41:34 +01:00
Nuno CoraçãoandClaude Opus 4.6 965b0ac6ef Pin fuse.js to ~7.2.0 — v7.3.0 dropped the UMD build needed for Hugo's script concatenation
fuse.js 7.3.0 removed dist/fuse.min.js (UMD), shipping only ESM/CJS.
Since Hugo concatenates vendor JS into a plain <script> tag, the ESM
export syntax causes a runtime error and breaks search. Pin to 7.2.0,
the last version with UMD support.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:39:16 +01:00
Nuno C. 08f6ccd618 Merge pull request #2901 from nunocoracao/dependabot/npm_and_yarn/basic-ftp-5.2.2
Bump basic-ftp from 5.2.0 to 5.2.2
2026-04-13 21:38:43 +01:00
dependabot[bot] 3864f6f095 Bump basic-ftp from 5.2.0 to 5.2.2
Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.0 to 5.2.2.
- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)
- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/v5.2.0...v5.2.2)

---
updated-dependencies:
- dependency-name: basic-ftp
  dependency-version: 5.2.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:32:01 +00:00
Nuno C. 9ec0e6810a Merge pull request #2895 from nunocoracao/dependabot/npm_and_yarn/main/fuse.js-7.3.0
📌 Bump fuse.js from 7.1.0 to 7.3.0
2026-04-13 21:29:25 +01:00
dependabot[bot] a132a9c5e6 📌 Bump fuse.js from 7.1.0 to 7.3.0
Bumps [fuse.js](https://github.com/krisk/Fuse) from 7.1.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.1.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] <support@github.com>
2026-04-13 20:26:03 +00:00
Nuno C. 0e8848d9c8 Merge pull request #2896 from nunocoracao/dependabot/npm_and_yarn/main/mermaid-11.14.0
📌 Bump mermaid from 11.13.0 to 11.14.0
2026-04-13 21:25:29 +01:00
Nuno C. deffce8a02 Merge pull request #2894 from nunocoracao/dependabot/npm_and_yarn/main/katex-0.16.45
📌 Bump katex from 0.16.44 to 0.16.45
2026-04-13 21:24:46 +01:00
Nuno C. e2dfae4a64 Merge pull request #2893 from nunocoracao/dependabot/npm_and_yarn/main/headlessui/react-2.2.10
📌 Bump @headlessui/react from 2.2.9 to 2.2.10
2026-04-13 21:24:33 +01:00
Nuno C. 8aac2d7585 Merge pull request #2897 from nunocoracao/hugo-new-version
⚙️ Update Hugo supported version
2026-04-13 21:24:14 +01:00
Alex HaslamandClaude Sonnet 4.6 b9883c761d Merge upstream/main into feat/untappd-icon-v2
Resolve conflicts in icon sample pages by adopting upstream's {{< icon-ref >}}
shortcode, which dynamically generates the icon table.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:27:37 +01:00
Alex HaslamandClaude Sonnet 4.6 7b0fbea8ab Merge upstream/main into feat/strava-icon-v2
Resolve conflicts in icon sample pages by adopting upstream's {{< icon-ref >}}
shortcode, which dynamically generates the icon table (replacing the static
table the PR had added strava to).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 20:32:23 +01:00
Alex HaslamandClaude Sonnet 4.6 4d6a84b041 📝 Docs: Add Untappd icon to icon samples table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 16:49:38 +00:00
Alex HaslamandClaude Sonnet 4.6 0bc71ebe8d 📝 Docs: Add Strava icon to icon samples table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 16:49:27 +00:00
Alex HaslamandClaude Sonnet 4.6 ae9b25b69c ✨ Feat: Add Untappd icon and profile support
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 16:42:31 +00:00
Alex HaslamandClaude Sonnet 4.6 1475200ab4 ✨ Feat: Add Strava icon and profile support
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 16:42:26 +00:00
Unknown Developer f04dd3659a Update link formatting in article shortcode 2026-04-09 19:05:14 +04:00
nunocoracao 9986ed01ff Update Hugo supported version 2026-04-09 06:35:56 +00:00
dependabot[bot] 16acbfee52 💄 Rebuild CSS 2026-04-08 05:17:37 +00:00
dependabot[bot] 4b864d00e5 📦 Update packaged Mermaid 2026-04-08 05:17:35 +00:00
dependabot[bot] 5a274629e4 📦 Update packaged KaTeX 2026-04-08 05:17:21 +00:00
dependabot[bot] e917645fba 📌 Bump mermaid from 11.13.0 to 11.14.0
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 11.13.0 to 11.14.0.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Commits](https://github.com/mermaid-js/mermaid/compare/mermaid@11.13.0...mermaid@11.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 05:17:09 +00:00
dependabot[bot] 82aef982f1 📌 Bump katex from 0.16.44 to 0.16.45
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.44 to 0.16.45.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.44...v0.16.45)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 05:16:51 +00:00
dependabot[bot] cc91b648ec 📌 Bump @headlessui/react from 2.2.9 to 2.2.10
Bumps [@headlessui/react](https://github.com/tailwindlabs/headlessui/tree/HEAD/packages/@headlessui-react) from 2.2.9 to 2.2.10.
- [Release notes](https://github.com/tailwindlabs/headlessui/releases)
- [Changelog](https://github.com/tailwindlabs/headlessui/blob/main/packages/@headlessui-react/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/headlessui/commits/@headlessui/react@v2.2.10/packages/@headlessui-react)

---
updated-dependencies:
- dependency-name: "@headlessui/react"
  dependency-version: 2.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 05:16:44 +00:00
Nuno C. 10314cff71 Merge pull request #2890 from nunocoracao/nunocoracao-patch-1
Bump version from 2.101.0 to 2.102.0
2026-04-06 11:25:46 +01:00
Nuno C. a7a04c6c5e Bump version from 2.101.0 to 2.102.0 2026-04-06 11:25:30 +01:00
Nuno C. c4bb9ab9b6 Merge pull request #2887 from EricGusmao/fix/hugo-v0.156.0-deprecations
Fix Hugo v0.156.0 template deprecations
2026-04-06 11:24:37 +01:00
Nuno C. 15299c15ab Merge pull request #2886 from nunocoracao/hugo-new-version
⚙️ Update Hugo supported version
2026-04-06 11:22:11 +01:00
nunocoracao 78fa726ebb Update Hugo supported version 2026-04-05 06:29:55 +00:00
Eric Gusmao b9ee790d5d Bump Netlify Hugo version to 0.159.1 2026-04-03 14:20:06 -03:00
Eric Gusmao ee2fc91522 Fix Hugo v0.156.0 template deprecations 2026-04-03 14:13:30 -03:00
Nuno C. 9bcb7d37d3 Merge pull request #2884 from nunocoracao/dependabot/npm_and_yarn/scripts/node-forge-1.4.0
Bump node-forge from 1.3.3 to 1.4.0 in /scripts
2026-03-30 23:54:05 +01:00
Nuno C. d8685e5c9c Merge pull request #2883 from nunocoracao/dependabot/npm_and_yarn/main/katex-0.16.44
📌 Bump katex from 0.16.42 to 0.16.44
2026-03-30 23:53:47 +01:00
Nuno C. 8a9fe666e4 Merge pull request #2882 from nunocoracao/dependabot/npm_and_yarn/main/iamtraction/google-translate-2.0.1
📌 Bump @iamtraction/google-translate from 1.1.2 to 2.0.1
2026-03-30 23:53:39 +01:00
Nuno C. a95f11fe56 Merge pull request #2881 from nunocoracao/dependabot/github_actions/main/actions/configure-pages-6
👷 Bump actions/configure-pages from 5 to 6
2026-03-30 23:52:49 +01:00
Nuno C. 0b5a29e251 Merge pull request #2880 from nunocoracao/dependabot/github_actions/main/actions/deploy-pages-5
👷 Bump actions/deploy-pages from 4 to 5
2026-03-30 23:52:38 +01:00
dependabot[bot] 03615baf92 📦 Update packaged KaTeX 2026-03-30 22:52:07 +00:00
dependabot[bot] 0e29ae9c52 Bump node-forge from 1.3.3 to 1.4.0 in /scripts
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.3.3 to 1.4.0.
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.3.3...v1.4.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-version: 1.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 22:52:03 +00:00
dependabot[bot] ce0d91fcd5 📌 Bump katex from 0.16.42 to 0.16.44
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.42 to 0.16.44.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.42...v0.16.44)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 22:51:43 +00:00
dependabot[bot] a18688473e 📌 Bump @iamtraction/google-translate from 1.1.2 to 2.0.1
Bumps [@iamtraction/google-translate](https://github.com/iamtraction/google-translate) from 1.1.2 to 2.0.1.
- [Release notes](https://github.com/iamtraction/google-translate/releases)
- [Commits](https://github.com/iamtraction/google-translate/compare/v1.1.2...v2.0.1)

---
updated-dependencies:
- dependency-name: "@iamtraction/google-translate"
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 22:51:34 +00:00
dependabot[bot] 2d5718dd11 👷 Bump actions/configure-pages from 5 to 6
Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 5 to 6.
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](https://github.com/actions/configure-pages/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/configure-pages
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 22:51:24 +00:00
dependabot[bot] 8779739162 👷 Bump actions/deploy-pages from 4 to 5
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4 to 5.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 22:51:16 +00:00
Nuno C. cdcbc40d47 Merge pull request #2836 from nunocoracao/dev
🔖 v2.101.0
2026-03-30 23:50:42 +01:00
Nuno CoraçãoandClaude Opus 4.6 eb19b988ec Update branch references from dev to main, refresh users and GitHub data
- Switch all CI, dependabot, and docs references from dev to main
- Update users list and screenshots via processUsers
- Refresh contributors and sponsors data

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:45:20 +01:00
Nuno C. ca6fe5f967 Merge pull request #2860 from grahamuk2018/patch-2
Add new user entry for www.gsking.co.uk
2026-03-30 23:26:59 +01:00
Nuno C. 4996869378 Merge pull request #2857 from nunocoracao/dependabot/npm_and_yarn/minimatch-10.2.4
Bump minimatch from 10.2.1 to 10.2.4
2026-03-30 23:23:53 +01:00
Nuno C. b0e07a7c0d Merge pull request #2856 from nunocoracao/dependabot/npm_and_yarn/scripts/multi-3526163867
Bump fast-xml-parser and @google-cloud/storage in /scripts
2026-03-30 23:23:35 +01:00
Nuno C. 7fdb8ba1b1 Merge branch 'main' into dev 2026-03-30 23:22:07 +01:00
Nuno C. 03be92ad0f Merge pull request #2869 from urtzienriquez/basque-translation
🌐 Add Basque translation
2026-03-30 00:01:30 +01:00
Nuno C. 39adcba775 Merge pull request #2875 from wtchangdm/patch-1
remove blog.wtcx.dev from users
2026-03-29 23:59:38 +01:00
Nuno C. 70861235ba Merge pull request #2865 from nunocoracao/dependabot/npm_and_yarn/dev/puppeteer-24.40.0
📌 Bump puppeteer from 24.39.1 to 24.40.0
2026-03-29 23:58:11 +01:00
Nuno C. 3f4636afc1 Merge pull request #2864 from nunocoracao/dependabot/npm_and_yarn/dev/tailwindcss/cli-4.2.2
📌 Bump @tailwindcss/cli from 4.2.1 to 4.2.2
2026-03-29 23:57:39 +01:00
Nuno C. 26790a12e6 Merge pull request #2863 from nunocoracao/dependabot/npm_and_yarn/dev/tailwindcss-4.2.2
📌 Bump tailwindcss from 4.2.1 to 4.2.2
2026-03-29 23:57:23 +01:00
Nuno C. a6dc9b52e4 Merge pull request #2862 from nunocoracao/dependabot/npm_and_yarn/dev/katex-0.16.42
📌 Bump katex from 0.16.38 to 0.16.42
2026-03-29 23:57:08 +01:00
jin-li a308a86365 feat: global thumbnail aspect ratio configuration
- Add thumbnailAspectRatio site parameter (default '1.5')
- Use decimal values instead of fractions for Hugo compatibility
- Sanitize user input to extract only numeric characters
- Apply to article cards, related cards, and term cards
- Update both source and compiled CSS

Closes #2839
2026-03-29 14:27:09 +02:00
Nuno C. 7691ee18ed Merge pull request #2867 from nunocoracao/hugo-new-version 2026-03-29 04:07:19 +01:00
W.T. Chang 830b36a9fa remove blog.wtcx.dev from users
remove blog.wtcx.dev from users
2026-03-29 05:52:20 +08:00
André Plöger 7ea30cb4f1 ✨ Add hreflang alternates to multilingual page head 2026-03-28 14:59:53 -03:00
Urtzi Enriquez-Urzelai 1f0b3672b5 add Basque translation 2026-03-27 15:37:44 +01:00
L0kayata 1f0a84a24b fix: Lock carousel caption area to measured max height
Measure caption heights across slides at runtime and apply a shared min-height so switching between slides with and without caption text does not cause layout jump.

Keep this behavior scoped to carousels with captions and recalculate on load and resize for responsive stability.
2026-03-27 12:27:59 +01:00
L0kayata 877a2609e9 fix: Fix carousel caption flow and scope controls to image bounds
Move carousel captions out of absolute positioning so they participate in normal height calculation and no longer overlap content below the carousel.

Constrain indicators and navigation buttons to the image region using container-based sizing, so controls do not extend into the caption area.
2026-03-27 12:27:21 +01:00
nunocoracao 18ac5b1920 Update Hugo supported version 2026-03-27 06:29:54 +00:00
Eric Gusmao 7c127074f9 fix: migrate deprecated Hugo v0.158.0 language API
Replace deprecated config keys and template methods per Hugo v0.158.0:

Config (10 files):
- languageCode → locale
- languageName → label

Templates:
- site.LanguageCode → site.Language.Locale (baseof.html, head.html, schema.html x2)
- site.Language.Lang → site.Language.Name (single.html)
- .Lang → .Language.Name (likes.html, views.html)

Ref: https://discourse.gohugo.io/t/deprecations-in-v0-158-0/56869
2026-03-25 11:15:20 -03:00
dependabot[bot] e9b51aadcd 💄 Rebuild CSS 2026-03-25 05:04:00 +00:00
dependabot[bot] c8d1b46316 📌 Bump puppeteer from 24.39.1 to 24.40.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.39.1 to 24.40.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.39.1...puppeteer-v24.40.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 05:03:44 +00:00
dependabot[bot] bad5bf18ac 💄 Rebuild CSS 2026-03-25 05:03:44 +00:00
dependabot[bot] ce60eab796 📦 Update packaged KaTeX 2026-03-25 05:03:41 +00:00
dependabot[bot] 99224f248c 📌 Bump @tailwindcss/cli from 4.2.1 to 4.2.2
Bumps [@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-cli)

---
updated-dependencies:
- dependency-name: "@tailwindcss/cli"
  dependency-version: 4.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 05:03:32 +00:00
dependabot[bot] d0b6ea29b4 📌 Bump tailwindcss from 4.2.1 to 4.2.2
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/tailwindcss)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 05:03:23 +00:00
dependabot[bot] 34c82f38ca 📌 Bump katex from 0.16.38 to 0.16.42
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.38 to 0.16.42.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.38...v0.16.42)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 05:03:14 +00:00
grahamuk2018 342b3451b3 Add new user entry for www.gsking.co.uk
Added a new user entry for www.gsking.co.uk.
2026-03-24 15:11:32 +00:00
dependabot[bot] 58b9aee2d0 Bump minimatch from 10.2.1 to 10.2.4
Bumps [minimatch](https://github.com/isaacs/minimatch) from 10.2.1 to 10.2.4.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.2.1...v10.2.4)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 10.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-24 14:18:34 +00:00
dependabot[bot] 524a6869c3 Bump fast-xml-parser and @google-cloud/storage in /scripts
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [@google-cloud/storage](https://github.com/googleapis/nodejs-storage). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 4.5.3 to 5.5.9
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `@google-cloud/storage` from 7.18.0 to 7.19.0
- [Release notes](https://github.com/googleapis/nodejs-storage/releases)
- [Changelog](https://github.com/googleapis/nodejs-storage/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/nodejs-storage/compare/v7.18.0...v7.19.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.9
  dependency-type: indirect
- dependency-name: "@google-cloud/storage"
  dependency-version: 7.19.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-24 14:18:05 +00:00
Nuno C. b0c563bc15 Merge pull request #2858 from nunocoracao/hugo-new-version
⚙️ Update Hugo supported version
2026-03-24 14:15:37 +00:00
nunocoracao cbc8cf12cd Update Hugo supported version 2026-03-24 06:26:32 +00:00
MaikelChan 503f60fe75 Documentation improvements. 2026-03-24 03:08:43 +01:00
MaikelChan 167ee1fa4c Use dictionary to pass whether to use a secondaryColor for the badge. 2026-03-24 02:27:38 +01:00
MaikelChan 859685f0c2 Added documentation. 2026-03-23 08:30:21 +01:00
MaikelChan a0fc381ba9 Properly implement layoutBackgroundBlur and layoutBackgroundHeaderSpace in term and taxonomy 2026-03-23 08:00:37 +01:00
MaikelChan ef712c33f9 Fixed layoutBackgroundBlur and layoutBackgroundHeaderSpace not affecting the term page. 2026-03-23 07:32:50 +01:00
MaikelChan e84fc0e1c6 Implemented category badges in secondary color. 2026-03-23 05:45:46 +01:00
Nick Kocharhook 79a78bcef4 [#2850] Run plainify on the title value before emojify 2026-03-22 23:08:36 +00:00
Nuno C. cc94a0e6c8 Merge pull request #2847 from nunocoracao/dependabot/npm_and_yarn/dev/mermaid-11.13.0
📌 Bump mermaid from 11.12.3 to 11.13.0
2026-03-18 22:36:46 +00:00
Nuno C. ffa18c9c4f Merge pull request #2846 from nunocoracao/dependabot/npm_and_yarn/dev/puppeteer-24.39.1
📌 Bump puppeteer from 24.37.5 to 24.39.1
2026-03-18 22:36:33 +00:00
Nuno C. 8549e06095 Merge pull request #2845 from nunocoracao/dependabot/npm_and_yarn/dev/katex-0.16.38
📌 Bump katex from 0.16.33 to 0.16.38
2026-03-18 22:36:17 +00:00
Nuno C. 01d8db1e4d Merge pull request #2844 from nunocoracao/hugo-new-version
⚙️ Update Hugo supported version
2026-03-18 22:36:01 +00:00
Nuno C. e71a4109cf Merge pull request #2842 from aplgr/feat/add-paraguay4life-user
Add Paraguay4Life to users list
2026-03-18 22:35:34 +00:00
dependabot[bot] 6e70744e9a 📦 Update packaged Mermaid 2026-03-18 05:04:13 +00:00
dependabot[bot] 471ee57621 📦 Update packaged KaTeX 2026-03-18 05:03:49 +00:00
dependabot[bot] 28a04921a7 📌 Bump mermaid from 11.12.3 to 11.13.0
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 11.12.3 to 11.13.0.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Commits](https://github.com/mermaid-js/mermaid/compare/mermaid@11.12.3...mermaid@11.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 05:03:44 +00:00
dependabot[bot] 5af20c6f9a 📌 Bump puppeteer from 24.37.5 to 24.39.1
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.37.5 to 24.39.1.
- [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.37.5...puppeteer-v24.39.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 05:03:36 +00:00
dependabot[bot] 2aa15ce844 📌 Bump katex from 0.16.33 to 0.16.38
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.33 to 0.16.38.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.33...v0.16.38)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 05:03:21 +00:00
nunocoracao c92c0aa3ce Update Hugo supported version 2026-03-17 06:25:50 +00:00
André Plöger c9271d1df2 Remove trailing comma from new tags array 2026-03-15 21:40:02 -03:00
André Plöger c08f0a9ffa Add Paraguay4Life to users list 2026-03-15 21:01:02 -03:00
Nuno C. d7c2d69571 Merge pull request #2838 from fairchild26/patch-4
Add Robin Fairchild to users.json
2026-03-13 18:20:22 +00:00
Robin Fairchild 122d5c70aa Add Robin Fairchild to users.json 2026-03-13 16:20:10 +08:00
schneekluth 45c9acab9e docs updated for obfucated email shortcode 2026-03-12 15:48:49 +01:00
schneekluth bcdab29c30 added snippet for obfuscated email shortcode 2026-03-12 15:45:49 +01:00
schneekluth 1bec932730 Add email link shortcode to layouts
Added E-Mail Shortcode for new E-Mail obfuscation feature introduced in [v2.99.0](]https://github.com/nunocoracao/blowfish/releases/tag/v2.99.0 based on this discussion https://github.com/nunocoracao/blowfish/discussions/2828#discussioncomment-16096521)
2026-03-12 13:59:20 +01:00
Nuno Coração 217a143e6b 🔖 v2.101.0 2026-03-11 14:27:14 +00:00
2517 changed files with 20660 additions and 19600 deletions

No files matched your search

+2 -2
View File
@@ -5,7 +5,7 @@ version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
target-branch: "dev"
target-branch: "main"
schedule:
interval: "weekly"
day: "wednesday"
@@ -15,7 +15,7 @@ updates:
- "dependencies"
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "dev"
target-branch: "main"
schedule:
interval: "weekly"
day: "wednesday"
+2 -2
View File
@@ -8,11 +8,11 @@ jobs:
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: "${{ github.head_ref }}"
- name: Install dependencies and Build Theme
uses: actions/setup-node@v6
uses: actions/setup-node@v7
- run: npm install
- run: npm run assets
- name: Commit and push Chart.js changes
+2 -2
View File
@@ -8,14 +8,14 @@ jobs:
zip:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- run: zip -r config-default.zip config/_default
- uses: actions/upload-artifact@v7
with:
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 }}
+3 -3
View File
@@ -11,9 +11,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: dev
ref: main
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
@@ -51,4 +51,4 @@ jobs:
[2]: https://github.com/peter-evans/create-pull-request
labels: dependencies, automated pr
branch: hugo-new-version
base: dev
base: main
+4 -4
View File
@@ -37,12 +37,12 @@ jobs:
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
submodules: recursive
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
uses: actions/configure-pages@v6
- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
@@ -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
@@ -65,4 +65,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5
+2 -2
View File
@@ -10,13 +10,13 @@ jobs:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
submodules: true
fetch-depth: 0
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3.0.0
uses: peaceiris/actions-hugo@v3.2.1
with:
hugo-version: "latest"
+2 -1
View File
@@ -40,4 +40,5 @@ ga-pageviews.csv
.Trashes
.idea
.Ulysses-Group.plist
.Ulysses-Settings.plist
.Ulysses-Settings.plist
.watchfire/
+9 -2
View File
@@ -79,7 +79,14 @@
"{{< /chart >}}"
],
"description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ",
},
},
"email": {
"prefix": ["BFS-email", "HSC-email", "email"],
"body": [
"{{< email email=\"mailto:${1:hello@test.com}\" text=\"${2:text}\" subject=\"${3:Reply to awesome article}\" >}}$0",
],
"description": "Creates an obfuscated mailto link. Documentation: https://blowfish.page/docs/shortcodes/#email ",
},
"figure": {
"prefix": ["BFS-figure", "HSC-figure", "figure"],
"body": [
@@ -255,4 +262,4 @@
"description": "Typewriter-Like text. Blowfish typeit Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#typeit https://www.typeitjs.com/docs/vanilla/usage/ ",
},
}
}
+43
View File
@@ -0,0 +1,43 @@
version: 1
project_id: fafe4c77-495a-44fc-9eaf-8e38596cdc04
name: blowfish
status: active
color: '#8b5cf6'
default_agent: claude-code
sandbox: auto
auto_merge: true
auto_delete_branch: true
auto_start_tasks: true
notifications:
muted: false
definition: |
Blowfish is a powerful, lightweight Hugo theme built with Tailwind CSS.
Repo: https://github.com/nunocoracao/blowfish · Demo & docs: https://blowfish.page/
Stack & layout:
- Hugo theme (min Hugo 0.141.0). Templates in `layouts/`, partials in `layouts/partials/`, shortcodes in `layouts/shortcodes/`.
- Tailwind CSS 4 via `@tailwindcss/cli` — source in `assets/css/main.css`, output in `assets/css/compiled/main.css`.
- JS vendored from `node_modules/` into `assets/lib/` via `vendor-copy` (configured in `package.json` under `devVendorCopy`).
- Localisation strings live in `i18n/`. All static text MUST go through `i18n` lookups, never hardcoded.
- `exampleSite/` is the testbed. Run `npm run example` (or `:core` / `:production`) to preview locally.
- `config/` holds default theme config; users override in their own site.
Coding conventions (from CONTRIBUTING.md):
- 2-space indent. Spaces inside Go template tags: `{{< alert >}}` not `{{<alert>}}`.
- Extract repeated template logic into partials.
- Relative asset paths without leading slash; trailing slash for folders (e.g. `static/img/`).
- Prettier config is included; respect it.
PR & commit rules (strict — enforced):
- Single-purpose PRs only. Do NOT bundle unrelated changes (e.g. bug fix + version bump + new user entry). Mixed PRs get closed.
- NO breaking changes unless strictly required by a dependency. Renaming partials, removing config options, or changing template signatures will be rejected — they silently break user customisations.
- Commits: Gitmoji prefix, imperative mood ("Fix bug", not "Fixed"), ≤72-char summary, no trailing period. Reference issue numbers when relevant.
- Commit incrementally rather than one giant commit.
Before marking a task done:
- If templates/CSS/JS changed, run `npm run example` and verify in the browser. Type-checks alone don't validate Hugo theme behavior.
- Check that any new user-facing string is wired through `i18n/` for all supported languages (or at least English with a clear note).
- Don't bump `package.json` version or touch `release-versions/` as part of a feature/fix PR — those are released separately.
created_at: 2026-05-04T23:12:29.75161Z
updated_at: 2026-05-04T23:12:30.276795Z
next_task_number: 1
+33
View File
@@ -0,0 +1,33 @@
# Secrets & Setup Instructions
Use this file to tell agents how to access external services and credentials
for this project. Agents will read these instructions before starting work.
## Examples
### CLI Tools (already authenticated)
```
# Firebase — I'm already logged in via `firebase login`
# Use `firebase use <project-id>` to switch projects
# AWS — credentials configured in default profile
# Use `aws sts get-caller-identity` to verify access
# gcloud — authenticated via `gcloud auth login`
```
### Environment Variables
```
# Set these before running the app:
# export DATABASE_URL=<value>
# export API_KEY=<value>
```
### API Keys & Tokens
```
# Stripe test key: use the key in .env.local
# OpenAI: use the org key from 1Password CLI (`op read ...`)
```
---
Delete this sample content and replace with your own instructions.
+12 -1
View File
@@ -1,6 +1,6 @@
## How to contribute to Blowfish
All development occurs on the `dev` branch and new PRs should be forked from here.
All development occurs on the `main` branch and new PRs should be forked from here.
### Bugs & other issues
@@ -31,6 +31,17 @@ All development occurs on the `dev` branch and new PRs should be forked from her
- If you have a general question, these should be asked using [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions). Feel free to open a [new discussion](https://github.com/nunocoracao/blowfish/discussions/new) to ask your question using the "Q&A" category.
- Be sure to check if your question has already been answered by searching [existing Q&A discussions](https://github.com/nunocoracao/blowfish/discussions/categories/q-a).
### Breaking changes
- We do not accept breaking changes unless they are strictly required to keep supporting the project (e.g. a dependency deprecating a feature we rely on).
- Changes that would cause existing user customizations to silently stop working (such as renaming partial paths, removing config options, or changing template signatures) will be rejected.
- If you're unsure whether your change is breaking, open a discussion first.
### Pull request guidelines
- Keep PRs focused on a single change. Do not bundle unrelated modifications (e.g. bug fix + version bump + new user entry) into the same PR.
- PRs that mix multiple unrelated changes will be closed and the author will be asked to split them.
### Coding conventions
- Indent using 2 spaces (soft tabs).
+1 -1
View File
@@ -1,7 +1,7 @@
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | Deutsch | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -1,7 +1,7 @@
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | Español | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -1,7 +1,7 @@
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | Français | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -2,7 +2,7 @@
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -1,7 +1,7 @@
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | 日本語 | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -1,7 +1,7 @@
English | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -1,7 +1,7 @@
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | Português (BR) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -1,7 +1,7 @@
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | Português (PT) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1 -1
View File
@@ -1,7 +1,7 @@
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | 简体中文 | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
# Blowfish
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e5256d4-3148-4d69-879c-310341020fe9/deploy-status)](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.141.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.158.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
[![Blowfish](https://img.shields.io/badge/Hugo--Themes-@Blowfish-blue)](https://themes.gohugo.io/themes/blowfish/)
![code-size](https://img.shields.io/github/languages/code-size/nunocoracao/blowfish)
+1319 -1847
View File
File diff suppressed because it is too large. Load diff
+42 -3
View File
@@ -183,11 +183,13 @@ pre {
.thumbnail_card {
min-width: 300px;
height: 200px;
aspect-ratio: var(--thumbnail-aspect-ratio, 1.5);
height: auto;
}
.thumbnail_card_related {
height: 150px;
aspect-ratio: var(--thumbnail-aspect-ratio, 1.5);
height: auto;
}
.thumbnail {
@@ -266,7 +268,44 @@ pre {
}
.bf-scrollbar {
@apply scrollbar-thin scrollbar-track-neutral-200 scrollbar-thumb-neutral-400 dark:scrollbar-track-neutral-800 dark:scrollbar-thumb-neutral-600;
&::-webkit-scrollbar-track {
background-color: var(--scrollbar-track);
border-radius: var(--scrollbar-track-radius);
}
&::-webkit-scrollbar-thumb {
background-color: var(--scrollbar-thumb);
border-radius: var(--scrollbar-thumb-radius);
}
&::-webkit-scrollbar-corner {
background-color: var(--scrollbar-corner);
border-radius: var(--scrollbar-corner-radius);
}
@supports (-moz-appearance:none) {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb, initial) var(--scrollbar-track, initial);
}
&::-webkit-scrollbar {
display: block;
width: 8px;
height: 8px;
}
--scrollbar-thumb: oklch(70.8% 0 0);
--scrollbar-track: oklch(92.2% 0 0);
&:is(.dark *) {
--scrollbar-thumb: oklch(43.9% 0 0);
}
&:is(.dark *) {
--scrollbar-track: oklch(26.9% 0 0);
}
}
}
@layer base {
* {
@supports (-moz-appearance:none) {
scrollbar-color: initial;
scrollbar-width: initial;
}
}
}
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<svg fill="currentColor" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><path d="M10.617 11.473l4.686 3.695-3.102-7.662zM12 0C5.371 0 0 5.371 0 12s5.371 12 12 12 12-5.371 12-12S18.629 0 12 0zm5.797 17.305c-.011.471-.403.842-.875.83-.236 0-.416-.09-.664-.293l-6.19-5-2.079 5.203H6.191L11.438 5.44c.124-.314.427-.52.764-.506.326-.014.63.189.742.506l4.774 11.494c.045.111.08.234.08.348-.001.009-.001.009-.001.023z"/></svg>

After

Width:  |  Height:  |  Size: 478 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z"/></svg>

After

Width:  |  Height:  |  Size: 205 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

+23
View File
@@ -54,12 +54,33 @@ window.addEventListener("DOMContentLoaded", (event) => {
const switcher = document.getElementById("appearance-switcher");
const switcherMobile = document.getElementById("appearance-switcher-mobile");
// Load the i18n translations for the tooltips
const darkLabel = '{{ i18n "footer.dark_appearance" }}';
const lightLabel = '{{ i18n "footer.light_appearance" }}';
updateMeta();
this.updateLogo?.(getTargetAppearance());
// Initialize mermaid theme on page load
updateMermaidTheme();
// Helper to update the tooltip depending on the current mode
const updateTooltip = (targetAppearance) => {
// If target is dark, the next action will be switching to light
const label = targetAppearance === "dark" ? lightLabel : darkLabel;
if (switcher) {
switcher.setAttribute("aria-label", label);
switcher.setAttribute("title", label);
}
if (switcherMobile) {
switcherMobile.setAttribute("aria-label", label);
switcherMobile.setAttribute("title", label);
}
};
// Set initial tooltip on load
updateTooltip(getTargetAppearance());
if (switcher) {
switcher.addEventListener("click", () => {
document.documentElement.classList.toggle("dark");
@@ -70,6 +91,7 @@ window.addEventListener("DOMContentLoaded", (event) => {
);
updateMeta();
updateMermaidTheme();
updateTooltip(targetAppearance);
this.updateLogo?.(targetAppearance);
});
switcher.addEventListener("contextmenu", (event) => {
@@ -87,6 +109,7 @@ window.addEventListener("DOMContentLoaded", (event) => {
);
updateMeta();
updateMermaidTheme();
updateTooltip(targetAppearance);
this.updateLogo?.(targetAppearance);
});
switcherMobile.addEventListener("contextmenu", (event) => {
+319
View File
@@ -0,0 +1,319 @@
(function () {
var config = window.BlowfishLanguageRedirectConfig;
if (!config || config.enabled !== true) {
return;
}
function getStorage() {
if (!config.storageKey) {
return null;
}
try {
return window.localStorage;
} catch (error) {
return null;
}
}
var storage = getStorage();
function normalizeLanguageTag(value) {
if (typeof value !== "string") {
return "";
}
return value.trim().toLowerCase().replace(/_/g, "-");
}
function getBaseLanguage(value) {
var languageTag = normalizeLanguageTag(value);
if (!languageTag) {
return "";
}
return languageTag.split("-")[0];
}
function getTranslationTags(translation) {
if (!translation) {
return [];
}
var tags = [];
var values = [translation.lang, translation.languageCode];
for (var i = 0; i < values.length; i += 1) {
var languageTag = normalizeLanguageTag(values[i]);
if (languageTag && tags.indexOf(languageTag) === -1) {
tags.push(languageTag);
}
}
return tags;
}
function getCanonicalTranslationTag(translation) {
var tags = getTranslationTags(translation);
if (!tags.length) {
return "";
}
return tags.reduce(function (bestTag, languageTag) {
if (languageTag.split("-").length > bestTag.split("-").length) {
return languageTag;
}
return bestTag;
}, tags[0]);
}
function translationHasTag(translation, languageTag) {
var normalizedTag = normalizeLanguageTag(languageTag);
if (!normalizedTag) {
return false;
}
return getTranslationTags(translation).indexOf(normalizedTag) !== -1;
}
function getAvailableTranslations() {
if (!Array.isArray(config.translations)) {
return [];
}
return config.translations.filter(function (translation) {
return translation && translation.url && getTranslationTags(translation).length > 0;
});
}
var translations = getAvailableTranslations();
function findExactTranslation(languageTag) {
var normalizedTag = normalizeLanguageTag(languageTag);
if (!normalizedTag) {
return null;
}
for (var i = 0; i < translations.length; i += 1) {
if (translationHasTag(translations[i], normalizedTag)) {
return translations[i];
}
}
return null;
}
function findBaseTranslation(languageTag) {
var baseLanguage = getBaseLanguage(languageTag);
if (!baseLanguage) {
return null;
}
for (var i = 0; i < translations.length; i += 1) {
var tags = getTranslationTags(translations[i]);
for (var j = 0; j < tags.length; j += 1) {
if (getBaseLanguage(tags[j]) === baseLanguage) {
return translations[i];
}
}
}
return null;
}
function findBestTranslation(languageTag) {
var normalizedTag = normalizeLanguageTag(languageTag);
if (!normalizedTag) {
return null;
}
while (normalizedTag) {
var translation = findExactTranslation(normalizedTag);
if (translation) {
return translation;
}
var lastSubtagIndex = normalizedTag.lastIndexOf("-");
if (lastSubtagIndex === -1) {
break;
}
normalizedTag = normalizedTag.slice(0, lastSubtagIndex);
}
return findBaseTranslation(languageTag);
}
function getStoredLanguage() {
if (!storage || config.storedLanguageRedirect !== true) {
return null;
}
try {
return storage.getItem(config.storageKey);
} catch (error) {
return null;
}
}
function setStoredLanguage(language) {
if (!storage) {
return;
}
var languageTag = normalizeLanguageTag(language);
if (!languageTag) {
return;
}
try {
storage.setItem(config.storageKey, languageTag);
} catch (error) {
// Ignore storage errors so the language link keeps its normal behavior.
}
}
function getBrowserTranslation() {
var languages = [];
if (Array.isArray(navigator.languages)) {
languages = languages.concat(navigator.languages);
}
if (navigator.language) {
languages.push(navigator.language);
}
for (var i = 0; i < languages.length; i += 1) {
var translation = findBestTranslation(languages[i]);
if (translation) {
return translation;
}
}
if (config.fallbackLanguage) {
return findBestTranslation(config.fallbackLanguage);
}
return null;
}
function normalizePath(pathname) {
if (pathname.length > 1 && pathname.charAt(pathname.length - 1) === "/") {
return pathname.slice(0, -1);
}
return pathname;
}
function getUrl(value) {
try {
return new URL(value, window.location.origin);
} catch (error) {
return null;
}
}
function redirectToTranslation(translation) {
if (!translation || !translation.url) {
return false;
}
var currentLanguage = getCanonicalTranslationTag({
lang: config.currentLanguage,
languageCode: config.currentLanguageCode
});
var targetLanguage = getCanonicalTranslationTag(translation);
if (currentLanguage && targetLanguage && currentLanguage === targetLanguage) {
return false;
}
var targetUrl = getUrl(translation.url);
if (!targetUrl || normalizePath(targetUrl.pathname) === normalizePath(window.location.pathname)) {
return false;
}
window.location.replace(targetUrl.href);
return true;
}
function redirectToLanguage(language) {
return redirectToTranslation(findBestTranslation(language));
}
function findTranslationByUrl(url) {
var linkUrl = getUrl(url);
if (!linkUrl) {
return null;
}
for (var i = 0; i < translations.length; i += 1) {
var translationUrl = getUrl(translations[i].url);
if (translationUrl && normalizePath(translationUrl.pathname) === normalizePath(linkUrl.pathname)) {
return translations[i];
}
}
return null;
}
function bindLanguageSwitcher() {
document.addEventListener("click", function (event) {
if (!event.target || !event.target.closest) {
return;
}
var link = event.target.closest(".translation a[href]");
if (!link) {
return;
}
var translation = findTranslationByUrl(link.href);
if (translation) {
setStoredLanguage(getCanonicalTranslationTag(translation));
}
});
}
function maybeRedirect() {
var storedLanguage = getStoredLanguage();
if (storedLanguage) {
redirectToLanguage(storedLanguage);
return;
}
if (config.browserRedirectHomeOnly === true && config.isHome !== true) {
return;
}
var browserTranslation = getBrowserTranslation();
if (browserTranslation) {
redirectToTranslation(browserTranslation);
}
}
bindLanguageSwitcher();
maybeRedirect();
})();
+7 -1
View File
@@ -151,6 +151,12 @@ function buildIndex() {
}
function executeQuery(term) {
if (!indexed) {
buildIndex();
}
if (!fuse) {
return;
}
let results = fuse.search(term);
let resultsHTML = "";
@@ -193,7 +199,7 @@ function executeQuery(term) {
}
output.innerHTML = resultsHTML;
if (results.length > 0) {
if (results.length > 0 && output.firstChild) {
first = output.firstChild.firstElementChild;
last = output.lastChild.firstElementChild;
}
+9
View File
@@ -0,0 +1,9 @@
/**
* Fuse.js v7.5.0 - Lightweight fuzzy-search (http://fusejs.io)
*
* Copyright (c) 2026 Kiro Risk (http://kiro.me)
* All Rights Reserved. Apache Software License 2.0
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
function e(e){return Array.isArray?Array.isArray(e):u(e)===`[object Array]`}function t(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function n(e){return e==null?``:t(e)}function r(e){return typeof e==`string`}function i(e){return typeof e==`number`}function a(e){return e===!0||e===!1||s(e)&&u(e)==`[object Boolean]`}function o(e){return typeof e==`object`}function s(e){return o(e)&&e!==null}function c(e){return e!=null}function l(e){return!e.trim().length}function u(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}const d=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,f=e=>`Invalid value for key ${e}`,p=e=>`Pattern length exceeds max of ${e}.`,m=e=>`Missing ${e} property in key`,h=e=>`Property 'weight' in key '${e}' must be a positive integer`,g=Object.prototype.hasOwnProperty;var _=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=v(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function v(t){let n=null,i=null,a=null,o=1,s=null;if(r(t)||e(t))a=t,n=y(t),i=b(t);else{if(!g.call(t,`name`))throw Error(m(`name`));let e=t.name;if(a=e,g.call(t,`weight`)&&t.weight!==void 0&&(o=t.weight,o<=0))throw Error(h(b(e)));n=y(e),i=b(e),s=t.getFn??null}return{path:n,id:i,weight:o,src:a,getFn:s}}function y(t){return e(t)?t:t.split(`.`)}function b(t){return e(t)?t.join(`.`):t}function x(t,o){let s=[],l=!1,u=(t,o,d,f)=>{if(c(t))if(!o[d])s.push(f===void 0?t:{v:t,i:f});else{let p=t[o[d]];if(!c(p))return;if(d===o.length-1&&(r(p)||i(p)||a(p)||typeof p==`bigint`))s.push(f===void 0?n(p):{v:n(p),i:f});else if(e(p)){l=!0;for(let e=0,t=p.length;e<t;e+=1)u(p[e],o,d+1,e)}else o.length&&u(p,o,d+1,f)}};return u(t,r(o)?o.split(`.`):o,0),l?s:s[0]}const S={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},C={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},w={location:0,threshold:.6,distance:100},T={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:x,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},E=Object.freeze({...C,...S,...w,...T});function D(e){return e>=9&&e<=13||e===32||e===160}function O(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=0,a=!1;for(let e=0;e<t.length;e++)D(t.charCodeAt(e))?a=!1:a||(i++,a=!0);if(i===0&&(i=1),n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}var k=class{constructor({getFn:e=E.getFn,fieldNormWeight:t=E.fieldNormWeight}={}){this.norm=O(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(r(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(d);if(r(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(d);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!c(e)||l(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(t,i){let a={i,$:{}};for(let i=0,o=this.keys.length;i<o;i++){let o=this.keys[i],s=o.getFn?o.getFn(t):this.getFn(t,o.path);if(c(s)){if(e(s)){let e=[];for(let t=0,i=s.length;t<i;t+=1){let i=s[t];if(c(i)){if(r(i)){if(!l(i)){let n={v:i,i:t,n:this.norm.get(i)};e.push(n)}}else if(c(i.v)){let t=r(i.v)?i.v:n(i.v);if(!l(t)){let n={v:t,i:i.i,n:this.norm.get(t)};e.push(n)}}}}a.$[i]=e}else if(r(s)&&!l(s)){let e={v:s,n:this.norm.get(s)};a.$[i]=e}}}return a}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function A(e,t,{getFn:n=E.getFn,fieldNormWeight:r=E.fieldNormWeight}={}){let i=new k({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(v)),i.seLine truncated
-9
View File
@@ -1,9 +0,0 @@
/**
* Fuse.js v7.1.0 - Lightweight fuzzy-search (http://fusejs.io)
*
* Copyright (c) 2025 Kiro Risk (http://kiro.me)
* All Rights Reserved. Apache Software License 2.0
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){o(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,v(r.key),r)}}function u(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},a(e)}function s(e,t){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},s(e,t)}function h(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=a(e);if(t){var i=a(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h(this,n)}}function f(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function g(e){return Array.isArray?Array.isArray(e):"[object Array]"===M(e)}var y=1/0;function p(e){return null==e?"":function(e){if("string"==typeof e)return e;var t=e+"";return"0"==t&&1/e==-y?"-0":t}(e)}function A(e){return"string"==typeof e}function m(e){return"number"==typeof e}function C(e){return!0===e||!1===e||function(e){return k(e)&&null!==e}(e)&&"[object Boolean]"==M(e)}function k(e){return"object"===n(e)}function E(e){return null!=e}function F(e){return!e.trim().length}function M(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var b=function(e){return"Missing ".concat(e," property in key")},D=function(e){return"Property 'weight' in key '".concat(e,"' must be a positive integer")},B=Object.prototype.hasOwnProperty,x=function(){function e(t){var n=this;r(this,e),this._keys=[],this._keyMap={};var i=0;t.forEach((function(e){var t=w(e);n._keys.push(t),n._keyMap[t.id]=t,i+=t.weight})),this._keys.forEach((function(e){e.weight/=i}))}return u(e,[{key:"get",value:function(e){return this._keyMap[e]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function w(e){var t=null,n=null,r=null,i=1,u=null;if(A(e)||g(e))r=e,t=S(e),n=L(e);else{if(!B.call(e,"name"))throw new ErLine truncated
+1 -1
View File
@@ -1 +1 @@
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-ReguLine truncated
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-ReguLine truncated
+1 -1
View File
@@ -1 +1 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return so}});class r extends Error{constructor(e,t){let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,l;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),l=o+15<e.length?e.slice(o,o+15)+"\u2026":e.slice(o),s+=r+t+l}super(s),this.name="ParseError",Object.setPrototypeOf(this,r.prototype),this.position=n,null!=n&&null!=o&&(this.length=o-n),this.rawMessage=e}}var n=r;const o=/([A-Z])/g,s=e=>e.replace(o,"-$1").toLowerCase(),i={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},l=/[&><"']/g,a=e=>String(e).replace(l,e=>i[e]),c=e=>"ordgroup"===e.type||"color"===e.type?1===e.body.length?c(e.body[0]):e:"font"===e.type?c(e.body):e,h=new Set(["mathord","textord","atom"]),m=e=>h.has(c(e).type),u={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function p(e){if("default"in e)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class d{constructor(e){void 0===e&&(e={}),e=e||{};for(const t of Object.keys(u)){const r=u[t],n=e[t];this[t]=void 0!==n?r.processor?r.processor(n):n:p(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r)Line truncated
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return mo}});class r extends Error{constructor(e,t){let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,l;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),l=o+15<e.length?e.slice(o,o+15)+"\u2026":e.slice(o),s+=r+t+l}super(s),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,r.prototype),this.position=n,null!=n&&null!=o&&(this.length=o-n),this.rawMessage=e}}var n=r;const o=/([A-Z])/g,s=e=>e.replace(o,"-$1").toLowerCase(),i={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},l=/[&><"']/g,a=e=>String(e).replace(l,e=>i[e]),c=e=>"ordgroup"===e.type||"color"===e.type?1===e.body.length?c(e.body[0]):e:"font"===e.type?c(e.body):e,h=new Set(["mathord","textord","atom"]),m=e=>h.has(c(e).type),u={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function p(e){if(void 0!==e.default)return e.default;return function(e){if("string"!=typeof e)return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}(Array.isArray(e.type)?e.type[0]:e.type)}function d(e,t,r,n){const o=r[t];e[t]=void 0!==o?n.processor?n.processor(o):o:p(n)}class g{constructor(e){void 0===e&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t of Object.keys(u))Line truncated
+1545 -980
View File
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -1,5 +1,5 @@
[module]
[module.hugoVersion]
extended = true
min = "0.141.0"
max = "0.157.0"
min = "0.158.0"
max = "0.164.0"
+4 -2
View File
@@ -1,6 +1,6 @@
disabled = false
languageCode = "en"
languageName = "English"
locale = "en"
label = "English"
weight = 1
title = "Blowfish"
@@ -62,11 +62,13 @@ title = "Blowfish"
# { spotify = "https://open.spotify.com/user/userid" },
# { stack-overflow = "https://stackoverflow.com/users/userid/username" },
# { steam = "https://steamcommunity.com/profiles/userid" },
# { strava = "https://www.strava.com/athletes/username" },
# { telegram = "https://t.me/username" },
# { threads = "https://www.threads.net/@username" },
# { tiktok = "https://tiktok.com/@username" },
# { tumblr = "https://username.tumblr.com" },
# { twitch = "https://twitch.tv/username" },
# { untappd = "https://untappd.com/user/username" },
# { twitter = "https://twitter.com/username" },
# { x-twitter = "https://twitter.com/username" },
# { whatsapp = "https://wa.me/phone-number" },
+20 -2
View File
@@ -29,6 +29,8 @@ disableTextInHeader = false
# defaultFeaturedImage = "IMAGE.jpg" # used as default for featured images in all articles
# defaultSocialImage = "/android-chrome-512x512.png" # used as default for social media sharing (Open Graph and Twitter)
hotlinkFeatureImage = false
# Thumbnail aspect ratio as a number (e.g., "1.5", "1.0", "1.777")
# thumbnailAspectRatio = "1.5"
# imagePosition = "50% 50%"
# highlightCurrentMenuArea = true
@@ -40,6 +42,16 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
giteaDefaultServer = "https://git.fsfe.org"
forgejoDefaultServer = "https://v11.next.forgejo.org"
[languageRedirect]
enabled = false # Enable client-side language redirects for multilingual sites.
storageKey = "blowfish_preferred_language" # localStorage key for manual language selections.
# fallbackLanguage = "" # Language to use when no browser language matches. Defaults to Hugo's default content language.
browserRedirectHomeOnly = true # Restrict browser-language redirects to home pages.
storedLanguageRedirect = true # Redirect to the stored language when a matching translation exists.
[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
@@ -87,8 +99,10 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
showTableOfContents = false
# showRelatedContent = false
# relatedContentLimit = 3
showTaxonomies = false # use showTaxonomies OR showCategoryOnly, not both
showCategoryOnly = false # use showTaxonomies OR showCategoryOnly, not both
showTaxonomies = false # Enable the display of taxonomies for the related article.
showCategories = true # These will show if showTaxonomies is true.
showTags = true # These will show if showTaxonomies is true.
showCategoriesInSecondaryColor = false # This will change the color of category badges, so the user can better distinguish between the two. Only if showTaxonomies is true.
showAuthorsBadges = false
showWordCount = true
# sharingLinks = [ "linkedin", "twitter", "bluesky", "mastodon", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram", "line"]
@@ -119,6 +133,8 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
showTermCount = true
showHero = false
# heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
showBreadcrumbs = false
showViews = false
showLikes = false
@@ -128,6 +144,8 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
[term]
showHero = false
# heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
showBreadcrumbs = false
showViews = false
showLikes = false
+403 -211
View File
@@ -1,19 +1,19 @@
[
{
"avatar_url": "https://avatars.githubusercontent.com/u/3803196?v=4&s=80",
"contributions": 2470,
"contributions": 2641,
"profile_url": "https://github.com/nunocoracao",
"username": "nunocoracao"
},
{
"avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4&s=80",
"contributions": 527,
"contributions": 610,
"profile_url": "https://github.com/apps/dependabot",
"username": "dependabot[bot]"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/98386542?v=4&s=80",
"contributions": 310,
"contributions": 320,
"profile_url": "https://github.com/ZhenShuo2021",
"username": "ZhenShuo2021"
},
@@ -23,6 +23,12 @@
"profile_url": "https://github.com/mircea-pavel-anton",
"username": "mircea-pavel-anton"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/46283223?v=4&s=80",
"contributions": 38,
"profile_url": "https://github.com/alxhslm",
"username": "alxhslm"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/108001913?v=4&s=80",
"contributions": 33,
@@ -41,15 +47,9 @@
"profile_url": "https://github.com/Weaxs",
"username": "Weaxs"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/46283223?v=4&s=80",
"contributions": 29,
"profile_url": "https://github.com/alxhslm",
"username": "alxhslm"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/7031754?v=4&s=80",
"contributions": 21,
"contributions": 28,
"profile_url": "https://github.com/MaikelChan",
"username": "MaikelChan"
},
@@ -59,18 +59,24 @@
"profile_url": "https://github.com/BabaRagnarok",
"username": "BabaRagnarok"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/271378955?v=4&s=80",
"contributions": 15,
"profile_url": "https://github.com/friday-oc",
"username": "friday-oc"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1546333?v=4&s=80",
"contributions": 15,
"profile_url": "https://github.com/wtchangdm",
"username": "wtchangdm"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/16728561?v=4&s=80",
"contributions": 14,
"profile_url": "https://github.com/Aphcity",
"username": "Aphcity"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1546333?v=4&s=80",
"contributions": 14,
"profile_url": "https://github.com/wtchangdm",
"username": "wtchangdm"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/63574588?v=4&s=80",
"contributions": 13,
@@ -107,24 +113,30 @@
"profile_url": "https://github.com/insidemordecai",
"username": "insidemordecai"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/137512150?v=4&s=80",
"contributions": 11,
"profile_url": "https://github.com/aplgr",
"username": "aplgr"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/73018805?v=4&s=80",
"contributions": 11,
"profile_url": "https://github.com/jukaisr",
"username": "jukaisr"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/185598?v=4&s=80",
"contributions": 10,
"profile_url": "https://github.com/madoke",
"username": "madoke"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/83875983?v=4&s=80",
"contributions": 10,
"profile_url": "https://github.com/Ast3risk-ops",
"username": "Ast3risk-ops"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/185598?v=4&s=80",
"contributions": 10,
"profile_url": "https://github.com/madoke",
"username": "madoke"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/110763842?v=4&s=80",
"contributions": 9,
@@ -137,6 +149,12 @@
"profile_url": "https://github.com/laterre39",
"username": "laterre39"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/227486?v=4&s=80",
"contributions": 8,
"profile_url": "https://github.com/chrisbanes",
"username": "chrisbanes"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/49299328?v=4&s=80",
"contributions": 8,
@@ -145,16 +163,10 @@
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80",
"contributions": 8,
"contributions": 7,
"profile_url": "https://github.com/racehd",
"username": "racehd"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/227486?v=4&s=80",
"contributions": 8,
"profile_url": "https://github.com/chrisbanes",
"username": "chrisbanes"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/927896?v=4&s=80",
"contributions": 7,
@@ -239,6 +251,12 @@
"profile_url": "https://github.com/sculptor189",
"username": "sculptor189"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/5740913?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/schneekluth",
"username": "schneekluth"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/68415893?v=4&s=80",
"contributions": 4,
@@ -257,6 +275,12 @@
"profile_url": "https://github.com/flohoss",
"username": "flohoss"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/78504663?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/EricGusmao",
"username": "EricGusmao"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/18169566?v=4&s=80",
"contributions": 4,
@@ -293,12 +317,6 @@
"profile_url": "https://github.com/timcappalli",
"username": "timcappalli"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/41281398?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/WilliamRagstad",
"username": "WilliamRagstad"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/139241743?v=4&s=80",
"contributions": 3,
@@ -311,66 +329,24 @@
"profile_url": "https://github.com/GuillaumeASSIER",
"username": "GuillaumeASSIER"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/41281398?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/WilliamRagstad",
"username": "WilliamRagstad"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/100203867?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/adilhyz",
"username": "adilhyz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/44194527?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/unacro",
"username": "unacro"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/85546881?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Xeonzilla",
"username": "Xeonzilla"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/43930380?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/albertonl",
"username": "albertonl"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1080487?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Scoty",
"username": "Scoty"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1698841?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/eallion",
"username": "eallion"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/13023025?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Coehill",
"username": "Coehill"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3191949?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Goudarz",
"username": "Goudarz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/60493188?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/hudsonm62",
"username": "hudsonm62"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/11729404?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/lemonase",
"username": "lemonase"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/91547012?v=4&s=80",
"contributions": 3,
@@ -383,12 +359,90 @@
"profile_url": "https://github.com/StepaniaH",
"username": "StepaniaH"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/43930380?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/albertonl",
"username": "albertonl"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1080487?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Scoty",
"username": "Scoty"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3262190?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/chandlertee",
"username": "chandlertee"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1698841?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/eallion",
"username": "eallion"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/13023025?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Coehill",
"username": "Coehill"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/5670510?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/danielwagn3r",
"username": "danielwagn3r"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3191949?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Goudarz",
"username": "Goudarz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/254813078?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/fairchild26",
"username": "fairchild26"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/75202541?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/krishna-santosh",
"username": "krishna-santosh"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/2060042?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/head1328",
"username": "head1328"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/11729404?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/lemonase",
"username": "lemonase"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/60493188?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/hudsonm62",
"username": "hudsonm62"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/7567933?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/v20100v",
"username": "v20100v"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/92675206?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/ILoveBacteria",
"username": "ILoveBacteria"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3538109?v=4&s=80",
"contributions": 2,
@@ -402,10 +456,10 @@
"username": "pwhittlesea"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/254813078?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/44194527?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/fairchild26",
"username": "fairchild26"
"profile_url": "https://github.com/unacro",
"username": "unacro"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1633293?v=4&s=80",
@@ -420,10 +474,10 @@
"username": "StandingPadAnimations"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/97746?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/160235066?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/das-g",
"username": "das-g"
"profile_url": "https://github.com/t1mssc",
"username": "t1mssc"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/24326642?v=4&s=80",
@@ -437,24 +491,36 @@
"profile_url": "https://github.com/xwjdsh",
"username": "xwjdsh"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/138979906?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/mtheindiecoder",
"username": "mtheindiecoder"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/95191347?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/micheledinelli",
"username": "micheledinelli"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/97746?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/das-g",
"username": "das-g"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/126330281?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/abdalrahmanshaban0",
"username": "abdalrahmanshaban0"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/44976946?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/maciejopalinski",
"username": "maciejopalinski"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/7567933?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/v20100v",
"username": "v20100v"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/160235066?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/t1mssc",
"username": "t1mssc"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/21687187?v=4&s=80",
"contributions": 2,
@@ -467,24 +533,18 @@
"profile_url": "https://github.com/lukapiplica",
"username": "lukapiplica"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/95191347?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/micheledinelli",
"username": "micheledinelli"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/138979906?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/mtheindiecoder",
"username": "mtheindiecoder"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/415688?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/adir1",
"username": "adir1"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/4021653?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/pawelngei",
"username": "pawelngei"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/43662951?v=4&s=80",
"contributions": 2,
@@ -503,18 +563,18 @@
"profile_url": "https://github.com/ChristianHering",
"username": "ChristianHering"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/11158353?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/schaerfo",
"username": "schaerfo"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/2982698?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/voigt",
"username": "voigt"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/81472122?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/dahisea",
"username": "dahisea"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/145149410?v=4&s=80",
"contributions": 2,
@@ -539,12 +599,6 @@
"profile_url": "https://github.com/gabrielgbs97",
"username": "gabrielgbs97"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/92675206?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/ILoveBacteria",
"username": "ILoveBacteria"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/30605984?v=4&s=80",
"contributions": 2,
@@ -575,6 +629,12 @@
"profile_url": "https://github.com/marians",
"username": "marians"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/48477808?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/L0kayata",
"username": "L0kayata"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/11875232?v=4&s=80",
"contributions": 2,
@@ -600,16 +660,16 @@
"username": "jamesbraza"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/48291064?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/1an8r0wn",
"username": "1an8r0wn"
"avatar_url": "https://avatars.githubusercontent.com/u/1620160?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/gregpuzzles1",
"username": "gregpuzzles1"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/104967223?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/152732280?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tarunjana",
"username": "tarunjana"
"profile_url": "https://github.com/rjwisloff",
"username": "rjwisloff"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/6557195?v=4&s=80",
@@ -617,6 +677,18 @@
"profile_url": "https://github.com/tveyben",
"username": "tveyben"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/44779902?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/unknown-gd",
"username": "unknown-gd"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8101327?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/urtzienriquez",
"username": "urtzienriquez"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3536736?v=4&s=80",
"contributions": 1,
@@ -653,24 +725,30 @@
"profile_url": "https://github.com/yag0x1",
"username": "yag0x1"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/210173650?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/zarvelionzynji",
"username": "zarvelionzynji"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/32224410?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/zoriya",
"username": "zoriya"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/126330281?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/abdalrahmanshaban0",
"username": "abdalrahmanshaban0"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/89642388?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/LarvenStein",
"username": "LarvenStein"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/35896287?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/alst-ovh",
"username": "alst-ovh"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8564451?v=4&s=80",
"contributions": 1,
@@ -701,6 +779,12 @@
"profile_url": "https://github.com/dky",
"username": "dky"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/251637233?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/fionnlinux",
"username": "fionnlinux"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/116770736?v=4&s=80",
"contributions": 1,
@@ -708,22 +792,10 @@
"username": "githubdand"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/108755164?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/9542140?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/grahamking22",
"username": "grahamking22"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/290924?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/pjkundert",
"username": "pjkundert"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1530082?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/technicat",
"username": "technicat"
"profile_url": "https://github.com/rob-randall",
"username": "rob-randall"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/110785?v=4&s=80",
@@ -734,8 +806,8 @@
{
"avatar_url": "https://avatars.githubusercontent.com/u/90345171?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/RolandMarchand",
"username": "RolandMarchand"
"profile_url": "https://github.com/lazzy-cipher",
"username": "lazzy-cipher"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/68074047?v=4&s=80",
@@ -767,6 +839,12 @@
"profile_url": "https://github.com/sakarie9",
"username": "sakarie9"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/52459664?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/scottkuperus",
"username": "scottkuperus"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/39483124?v=4&s=80",
"contributions": 1,
@@ -779,6 +857,12 @@
"profile_url": "https://github.com/Sean12697",
"username": "Sean12697"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/174195879?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/sebastianzehner",
"username": "sebastianzehner"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/46564709?v=4&s=80",
"contributions": 1,
@@ -822,10 +906,34 @@
"username": "TheLunaticDev"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/25508537?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/104967223?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/hellstabber",
"username": "hellstabber"
"profile_url": "https://github.com/tarunjana",
"username": "tarunjana"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/188960?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tomzx",
"username": "tomzx"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/53149254?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/ripplesding",
"username": "ripplesding"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/66280613?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/roib20",
"username": "roib20"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/39915210?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/schachem",
"username": "schachem"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/25264901?v=4&s=80",
@@ -941,18 +1049,48 @@
"profile_url": "https://github.com/HeTongRe4per",
"username": "HeTongRe4per"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/108755164?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/grahamking22",
"username": "grahamking22"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/42465619?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/grahamuk2018",
"username": "grahamuk2018"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/25508537?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/hellstabber",
"username": "hellstabber"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/42983358?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/igorr0driguez",
"username": "igorr0driguez"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/12483426?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/ilantz",
"username": "ilantz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/60428176?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/istvanmerza",
"username": "istvanmerza"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/26253144?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/jin-li",
"username": "jin-li"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/54836559?v=4&s=80",
"contributions": 1,
@@ -989,6 +1127,12 @@
"profile_url": "https://github.com/lelouvincx",
"username": "lelouvincx"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/96485043?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/leviceroy",
"username": "leviceroy"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/38066332?v=4&s=80",
"contributions": 1,
@@ -1038,40 +1182,10 @@
"username": "reyneese"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/53149254?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/87516929?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/ripplesding",
"username": "ripplesding"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/66280613?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/roib20",
"username": "roib20"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/39915210?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/schachem",
"username": "schachem"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/114682512?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/Chill-Try",
"username": "Chill-Try"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1213088?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/Taffer",
"username": "Taffer"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/11158353?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/schaerfo",
"username": "schaerfo"
"profile_url": "https://github.com/cintiaching",
"username": "cintiaching"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/36474372?v=4&s=80",
@@ -1103,11 +1217,17 @@
"profile_url": "https://github.com/dansailer",
"username": "dansailer"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3464646?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/bitfoo1",
"username": "bitfoo1"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/60457914?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/davidwritesxyz",
"username": "davidwritesxyz"
"profile_url": "https://github.com/linuxreader",
"username": "linuxreader"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/186013?v=4&s=80",
@@ -1139,6 +1259,12 @@
"profile_url": "https://github.com/mrtruongvu",
"username": "mrtruongvu"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/90844755?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/Peredurz",
"username": "Peredurz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/152518?v=4&s=80",
"contributions": 1,
@@ -1146,10 +1272,10 @@
"username": "seniordevops7"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/78504663?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/61214924?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/EricGusmao",
"username": "EricGusmao"
"profile_url": "https://github.com/eread",
"username": "eread"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/83219076?v=4&s=80",
@@ -1170,10 +1296,28 @@
"username": "GOODJINC"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/4021653?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/110103843?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/pawelngei",
"username": "pawelngei"
"profile_url": "https://github.com/ghlrobin",
"username": "ghlrobin"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8511620?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/graeme-a-stewart",
"username": "graeme-a-stewart"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/583157?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/manio",
"username": "manio"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/48291064?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/1an8r0wn",
"username": "1an8r0wn"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/34507800?v=4&s=80",
@@ -1253,6 +1397,12 @@
"profile_url": "https://github.com/AtmosphericIgnition",
"username": "AtmosphericIgnition"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/61336116?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/0zunu",
"username": "0zunu"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/32015536?v=4&s=80",
"contributions": 1,
@@ -1284,16 +1434,16 @@
"username": "Capprin"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/12414284?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/114682512?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/marcriera",
"username": "marcriera"
"profile_url": "https://github.com/Chill-Try",
"username": "Chill-Try"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/38843153?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/1213088?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/mariuskimmina",
"username": "mariuskimmina"
"profile_url": "https://github.com/Taffer",
"username": "Taffer"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/130518064?v=4&s=80",
@@ -1337,6 +1487,12 @@
"profile_url": "https://github.com/Moonlington",
"username": "Moonlington"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/74780083?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/mortennordbye",
"username": "mortennordbye"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/97495721?v=4&s=80",
"contributions": 1,
@@ -1367,6 +1523,12 @@
"profile_url": "https://github.com/NickBouwhuis",
"username": "NickBouwhuis"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/3646730?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/nk9",
"username": "nk9"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/28212995?v=4&s=80",
"contributions": 1,
@@ -1398,16 +1560,16 @@
"username": "OnqiauJliu"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/110103843?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/290924?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/ghlrobin",
"username": "ghlrobin"
"profile_url": "https://github.com/pjkundert",
"username": "pjkundert"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8511620?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/1530082?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/graeme-a-stewart",
"username": "graeme-a-stewart"
"profile_url": "https://github.com/technicat",
"username": "technicat"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1822861?v=4&s=80",
@@ -1427,6 +1589,12 @@
"profile_url": "https://github.com/djkero",
"username": "djkero"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/29066939?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/bilyes",
"username": "bilyes"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/4052437?v=4&s=80",
"contributions": 1,
@@ -1469,6 +1637,12 @@
"profile_url": "https://github.com/jundi14",
"username": "jundi14"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1479236?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/kamilsi",
"username": "kamilsi"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/129101708?v=4&s=80",
"contributions": 1,
@@ -1499,6 +1673,12 @@
"profile_url": "https://github.com/LesserCat",
"username": "LesserCat"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/43764158?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/luizcarloscf",
"username": "luizcarloscf"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/39037919?v=4&s=80",
"contributions": 1,
@@ -1510,5 +1690,17 @@
"contributions": 1,
"profile_url": "https://github.com/MaZe3D",
"username": "MaZe3D"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/12414284?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/marcriera",
"username": "marcriera"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/38843153?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/mariuskimmina",
"username": "mariuskimmina"
}
]
+1 -1
View File
@@ -1 +1 @@
[{"avatar_url":"https://avatars.githubusercontent.com/u/928965?u=f5d781ca0eb5cb5c7ce9e5ee5d3b24dae3d6e987\u0026v=4\u0026s=128","profile_url":"https://github.com/nazar-pc","username":"nazar-pc"},{"avatar_url":"https://avatars.githubusercontent.com/u/17061177?v=4\u0026s=128","profile_url":"https://github.com/ytocquet","username":"ytocquet"},{"avatar_url":"https://avatars.githubusercontent.com/u/49299328?v=4\u0026s=128","profile_url":"https://github.com/LITUATUI","username":"LITUATUI"},{"avatar_url":"https://avatars.githubusercontent.com/u/63926014?u=210b17915c6546122cff4ee9abf0eb3d02bef236\u0026v=4\u0026s=128","profile_url":"https://github.com/ethanolivertroy","username":"ethanolivertroy"},{"avatar_url":"https://avatars.githubusercontent.com/u/147227691?v=4\u0026s=128","profile_url":"https://github.com/AtmosphericIgnition","username":"AtmosphericIgnition"}]
[{"avatar_url":"https://avatars.githubusercontent.com/u/928965?u=f5d781ca0eb5cb5c7ce9e5ee5d3b24dae3d6e987\u0026v=4\u0026s=128","profile_url":"https://github.com/nazar-pc","username":"nazar-pc"},{"avatar_url":"https://avatars.githubusercontent.com/u/17061177?u=dfc0b44e86fa09e96605ec9c7775f4f98df90a20\u0026v=4\u0026s=128","profile_url":"https://github.com/ytocquet","username":"ytocquet"},{"avatar_url":"https://avatars.githubusercontent.com/u/147227691?v=4\u0026s=128","profile_url":"https://github.com/AtmosphericIgnition","username":"AtmosphericIgnition"}]
@@ -1,5 +1,5 @@
languageCode = "de"
languageName = "Deutsch"
locale = "de"
label = "Deutsch"
weight = 3
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "en"
languageName = "English"
locale = "en"
label = "English"
weight = 1
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "es"
languageName = "Español"
locale = "es"
label = "Español"
weight = 6
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "fr"
languageName = "Français"
locale = "fr"
label = "Français"
weight = 2
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "it"
languageName = "Italiano"
locale = "it"
label = "Italiano"
weight = 4
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "ja"
languageName = "日本語"
locale = "ja"
label = "日本語"
weight = 8
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "pt-br"
languageName = "Português (Brasil)"
locale = "pt-br"
label = "Português (Brasil)"
weight = 6
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "pt-pt"
languageName = "Português (Portugal)"
locale = "pt-pt"
label = "Português (Portugal)"
weight = 5
title = "Blowfish"
@@ -1,5 +1,5 @@
languageCode = "zh-cn"
languageName = "简体中文"
locale = "zh-cn"
label = "简体中文"
weight = 9
title = "Blowfish"
@@ -115,8 +115,8 @@ Il file predefinito può essere utilizzato come modello per creare lingue aggiun
<!-- prettier-ignore-start -->
| Name | Default | Description |
| --- | --- | --- |
| `languageCode` | `"en"` | Il codice della lingua Hugo per questo file. Può essere una lingua di livello superiore (ad esempio "en") o una variante secondaria (ad esempio "en-au") e deve corrispondere al codice della lingua nel nome del file. Hugo si aspetta che questo valore sia sempre in minuscolo. Per una corretta conformità HTML, imposta il parametro "isoCode" che fa distinzione tra maiuscole e minuscole. |
| `languageName` | `"English"` | Il nome della lingua. |
| `locale` | `"en"` | Il codice della lingua Hugo per questo file. Può essere una lingua di livello superiore (ad esempio "en") o una variante secondaria (ad esempio "en-au") e deve corrispondere al codice della lingua nel nome del file. Hugo si aspetta che questo valore sia sempre in minuscolo. Per una corretta conformità HTML, imposta il parametro "isoCode" che fa distinzione tra maiuscole e minuscole. |
| `label` | `"English"` | Il nome della lingua. |
| `weight` | `1` | Il peso determina l'ordine delle lingue durante la creazione di siti multilingue. |
| `title` | `"Blowfish"` | Il titolo del sito web. Questo verrà visualizzato nell'intestazione e nel piè di pagina del sito. |
<!-- prettier-ignore-end -->
@@ -114,8 +114,8 @@ Blowfish は多言語ウェブサイト向けに最適化されており、テ
<!-- prettier-ignore-start -->
| 名前 | デフォルト | 説明 |
| --- | --- | --- |
| `languageCode` | `"en"` | このファイルの Hugo 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-au`)にすることができ、ファイル名の言語コードと一致する必要があります。Hugo はこの値が常に小文字であることを想定しています。適切な HTML 準拠のために、大文字と小文字を区別する `isoCode` パラメータを設定します。 |
| `languageName` | `"English"` | 言語の名前です。 |
| `locale` | `"en"` | このファイルの Hugo 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-au`)にすることができ、ファイル名の言語コードと一致する必要があります。Hugo はこの値が常に小文字であることを想定しています。適切な HTML 準拠のために、大文字と小文字を区別する `isoCode` パラメータを設定します。 |
| `label` | `"English"` | 言語の名前です。 |
| `weight` | `1` | 重みは、多言語サイトを構築するときの言語の順序を決定します。 |
| `title` | `"Blowfish"` | ウェブサイトのタイトルです。これは、サイトのヘッダーとフッターに表示されます。 |
<!-- prettier-ignore-end -->
@@ -67,6 +67,7 @@ The theme currently supports the following languages by default:
| Language | Code |
| ---------------------------- | ------- |
| Arabic | `ar` |
| Basque | `eu` |
| Bulgarian | `bg` |
| Bengali | `bn` |
| Catalan | `ca` |
@@ -115,8 +116,8 @@ The default file can be used as a template to create additional languages, or re
<!-- prettier-ignore-start -->
| Name | Default | Description |
| --- | --- | --- |
| `languageCode` | `"en"` | The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-au`) and should match the language code in the filename. Hugo expects this value to always be in lowercase. For proper HTML compliance, set the `isoCode` parameter which is case-sensitive. |
| `languageName` | `"English"` | The name of the language. |
| `locale` | `"en"` | The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-au`) and should match the language code in the filename. Hugo expects this value to always be in lowercase. For proper HTML compliance, set the `isoCode` parameter which is case-sensitive. |
| `label` | `"English"` | The name of the language. |
| `weight` | `1` | The weight determines the order of languages when building multilingual sites. |
| `title` | `"Blowfish"` | The title of the website. This will be displayed in the site header and footer. |
<!-- prettier-ignore-end -->
@@ -150,6 +151,21 @@ The default file can be used as a template to create additional languages, or re
| `params.author.links` | _Not set_ | The links to display alongside the author's details. The config file contains example links which can simply be uncommented to enable. The order that the links are displayed is determined by the order they appear in the array. Custom links can be added by providing corresponding SVG icon assets in `assets/icons/`. |
<!-- prettier-ignore-end -->
### Client-side language redirect
Blowfish can optionally redirect visitors to a matching translated page entirely in the browser. The feature is disabled by default, requires no server-side component, and uses `localStorage` instead of cookies to remember language choices made through the existing language dropdown.
When enabled, the browser-language redirect runs only on home pages by default. If none of the visitor's browser languages match an available translation, Blowfish can redirect to `fallbackLanguage` when that translation exists. If `fallbackLanguage` is not set, Blowfish uses Hugo's default content language. A language chosen manually from the dropdown is stored and preferred on later visits when the current page has a matching translated URL.
```toml
[languageRedirect]
enabled = false
storageKey = "blowfish_preferred_language"
# fallbackLanguage = "en"
browserRedirectHomeOnly = true
storedLanguageRedirect = true
```
### Menus
Blowfish also supports language-specific menu configurations. Menu config files follow the same naming format as the languages file. Simply provide the language code in the file name to tell Hugo which language the file relates to.
@@ -185,6 +201,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)`). |
@@ -199,6 +216,11 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
| `fingerprintAlgorithm` | `"sha512"` | Hash algorithm for CSS/JS file fingerprinting to prevent browser caching issues. Valid values are `sha512` (default), `sha384`, `sha256`. |
| `languageRedirect.enabled` | `false` | Enables client-side language redirects for multilingual sites. Disabled by default for backwards compatibility. |
| `languageRedirect.storageKey` | `"blowfish_preferred_language"` | The `localStorage` key used to persist manual language dropdown selections. |
| `languageRedirect.fallbackLanguage` | Hugo's default content language | Language to redirect to when no browser language matches and that language has a translation for the current page. |
| `languageRedirect.browserRedirectHomeOnly` | `true` | Restricts browser-language redirects to home pages to avoid surprising visitors who open deep links. |
| `languageRedirect.storedLanguageRedirect` | `true` | Allows a stored manual language selection to redirect translated pages when a matching translation exists. |
### Header
@@ -244,8 +266,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `article.showAuthorBottom` | `false` | Author boxes are displayed at the bottom of each page instead of the top. |
| `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 |
| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
| `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.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`. |
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
@@ -260,7 +282,9 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `hugo.toml`. Please check the theme `hugo.toml` if you want to enable this feature and copy all the relevant _related_ entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. |
| `article.relatedContentLimit` | `3` | Limit of related articles to display if `showRelatedContent` is turned on. |
| `article.showTaxonomies` | `false` | Whether or not all the taxonomies related to this article are displayed. |
| `article.showCategoryOnly` | `false` | Whether or not the "category" taxonomy is displayed. `showTaxonomies` should be `false` when this param is used, otherwise duplicates will appear. |
| `article.showCategories` | `true` | Whether or not the `category` taxonomies are displayed. Requires `showTaxonomies` to be `true`. |
| `article.showTags` | `true` | Whether or not the `tag` taxonomies are displayed. Requires `showTaxonomies` to be `true`. |
| `article.showCategoriesInSecondaryColor` | `false` | This will make the `category` taxonomy badges to show in a secondary color, so the user can better distinguish between categories and tags. Requires `showTaxonomies` to be `true`. |
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
@@ -274,9 +298,9 @@ 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.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.layoutBackgroundBlur` | `true` | Makes the background image in the background list heroStyle blur with the scroll |
| `list.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. |
| `list.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#site-configuration). |
| `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. |
@@ -302,6 +326,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. |
| `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.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. |
| `taxonomy.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
@@ -314,6 +340,8 @@ 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.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. |
| `term.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
@@ -113,8 +113,8 @@ Blowfish 主题目前默认支持了以下语言:
<!-- prettier-ignore-start -->
| 名称 | 默认值 | 描述 |
| --- | --- | --- |
| `languageCode` | `"en"` | Hugo 中的默认语言代码。他可以是一个高层级语言(例如 `en`),也可以是一个变体子语言(例如 `en-au`),但一定需要和语言配置文件中的语言代码相匹配。为了符合 HTML 的规范并设置设置大小写敏感的 `isoCode`,Hugo希望这个值最好是小写。 |
| `languageName` | `"English"` | 语言名称。 |
| `locale` | `"en"` | Hugo 中的默认语言代码。他可以是一个高层级语言(例如 `en`),也可以是一个变体子语言(例如 `en-au`),但一定需要和语言配置文件中的语言代码相匹配。为了符合 HTML 的规范并设置设置大小写敏感的 `isoCode`,Hugo希望这个值最好是小写。 |
| `label` | `"English"` | 语言名称。 |
| `weight` | `1` | 权重决定了在构建多语言时的语言顺序。 |
| `title` | `"Blowfish"` | 网站的标题。它将在网站头部和底部进行展示。 |
<!-- prettier-ignore-end -->
@@ -25,13 +25,13 @@ Die mit Blowfish gelieferten Konfigurationsdateien enthalten alle möglichen Ein
## Grundkonfiguration
Bevor Sie Inhalte erstellen, sollten Sie für eine neue Installation einige Dinge festlegen. Beginnen Sie in der Datei `hugo.toml` und setzen Sie die Parameter `baseURL` und `languageCode`. Der `languageCode` sollte auf die Hauptsprache eingestellt werden, in der Sie Ihre Inhalte verfassen werden.
Bevor Sie Inhalte erstellen, sollten Sie für eine neue Installation einige Dinge festlegen. Beginnen Sie in der Datei `hugo.toml` und setzen Sie die Parameter `baseURL` und `locale`. Der `locale` sollte auf die Hauptsprache eingestellt werden, in der Sie Ihre Inhalte verfassen werden.
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "de"
locale = "de"
```
Der nächste Schritt ist die Konfiguration der Spracheinstellungen. Obwohl Blowfish mehrsprachige Setups unterstützt, konfigurieren Sie vorerst nur die Hauptsprache.
@@ -39,7 +39,7 @@ Der nächste Schritt ist die Konfiguration der Spracheinstellungen. Obwohl Blowf
Suchen Sie die Datei `languages.en.toml` im Konfigurationsordner. Wenn Ihre Hauptsprache Englisch ist, können Sie diese Datei so verwenden, wie sie ist. Andernfalls benennen Sie sie um, sodass sie den richtigen Sprachcode im Dateinamen enthält. Für Deutsch benennen Sie die Datei beispielsweise in `languages.de.toml` um.
{{< alert >}}
Beachten Sie, dass der Sprachcode im Dateinamen der Sprachkonfiguration mit der Einstellung `languageCode` in `hugo.toml` übereinstimmen sollte.
Beachten Sie, dass der Sprachcode im Dateinamen der Sprachkonfiguration mit der Einstellung `locale` in `hugo.toml` übereinstimmen sollte.
{{< /alert >}}
```toml
@@ -25,13 +25,13 @@ Los archivos de configuración que vienen con Blowfish contienen todas las confi
## Configuración básica
Antes de crear cualquier contenido, hay algunas cosas que debes configurar para una nueva instalación. Comenzando en el archivo `hugo.toml`, establece los parámetros `baseURL` y `languageCode`. El `languageCode` debe configurarse con el idioma principal que usarás para escribir tu contenido.
Antes de crear cualquier contenido, hay algunas cosas que debes configurar para una nueva instalación. Comenzando en el archivo `hugo.toml`, establece los parámetros `baseURL` y `locale`. El `locale` debe configurarse con el idioma principal que usarás para escribir tu contenido.
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "es"
locale = "es"
```
El siguiente paso es configurar los ajustes de idioma. Aunque Blowfish admite configuraciones multilingües, por ahora, solo configura el idioma principal.
@@ -39,7 +39,7 @@ El siguiente paso es configurar los ajustes de idioma. Aunque Blowfish admite co
Localiza el archivo `languages.en.toml` en la carpeta de configuración. Si tu idioma principal es el inglés, puedes usar este archivo tal cual. De lo contrario, renómbralo para que incluya el código de idioma correcto en el nombre del archivo. Por ejemplo, para español, renombra el archivo a `languages.es.toml`.
{{< alert >}}
Ten en cuenta que el código de idioma en el nombre del archivo de configuración de idioma debe coincidir con la configuración `languageCode` en `hugo.toml`.
Ten en cuenta que el código de idioma en el nombre del archivo de configuración de idioma debe coincidir con la configuración `locale` en `hugo.toml`.
{{< /alert >}}
```toml
@@ -25,13 +25,13 @@ Les fichiers de configuration livrés avec Blowfish contiennent tous les paramè
## Configuration de base
Avant de créer du contenu, il y a quelques éléments à définir pour une nouvelle installation. En commençant par le fichier `hugo.toml`, définissez les paramètres `baseURL` et `languageCode`. Le `languageCode` doit être défini sur la langue principale que vous utiliserez pour rédiger votre contenu.
Avant de créer du contenu, il y a quelques éléments à définir pour une nouvelle installation. En commençant par le fichier `hugo.toml`, définissez les paramètres `baseURL` et `locale`. Le `locale` doit être défini sur la langue principale que vous utiliserez pour rédiger votre contenu.
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "fr"
locale = "fr"
```
L'étape suivante consiste à configurer les paramètres de langue. Bien que Blowfish prenne en charge les configurations multilingues, pour l'instant, configurez simplement la langue principale.
@@ -39,7 +39,7 @@ L'étape suivante consiste à configurer les paramètres de langue. Bien que Blo
Localisez le fichier `languages.en.toml` dans le dossier de configuration. Si votre langue principale est l'anglais, vous pouvez utiliser ce fichier tel quel. Sinon, renommez-le pour qu'il inclue le code de langue correct dans le nom du fichier. Par exemple, pour le français, renommez le fichier en `languages.fr.toml`.
{{< alert >}}
Notez que le code de langue dans le nom du fichier de configuration de langue doit correspondre au paramètre `languageCode` dans `hugo.toml`.
Notez que le code de langue dans le nom du fichier de configuration de langue doit correspondre au paramètre `locale` dans `hugo.toml`.
{{< /alert >}}
```toml
@@ -32,7 +32,7 @@ Prima di creare qualsiasi contenuto, è necessario impostare alcune cose per una
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "en"
locale = "en"
```
Il passo successivo è configurare le impostazioni della lingua. Sebbene Blowfish supporti le configurazioni multilingue, per ora basta configurare la lingua principale.
@@ -41,7 +41,7 @@ Individua il file "languages.en.toml" nella cartella di configurazione. Se la tu
{{< alert >}}
Tieni presente che il codice della lingua nel nome del file di configurazione della lingua deve corrispondere all'impostazione "languageCode" in "hugo.toml".
Tieni presente che il codice della lingua nel nome del file di configurazione della lingua deve corrispondere all'impostazione "locale" in "hugo.toml".
{{< /alert >}}
@@ -25,13 +25,13 @@ Blowfish に同梱されている設定ファイルには、テーマが認識
## 基本設定
コンテンツを作成する前に、新しいインストール用に設定する必要があるものがいくつかあります。まず、`hugo.toml` ファイルで、`baseURL` と `languageCode` パラメータを設定します。`languageCode` は、コンテンツの作成に使用する主要言語に設定する必要があります。
コンテンツを作成する前に、新しいインストール用に設定する必要があるものがいくつかあります。まず、`hugo.toml` ファイルで、`baseURL` と `locale` パラメータを設定します。`locale` は、コンテンツの作成に使用する主要言語に設定する必要があります。
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "ja"
locale = "ja"
```
次のステップは、言語設定です。Blowfish は多言語設定をサポートしていますが、ここではまず主要言語を設定します。
@@ -39,7 +39,7 @@ languageCode = "ja"
設定フォルダで `languages.en.toml` ファイルを見つけます。主要言語が英語の場合は、このファイルをそのまま使用できます。それ以外の場合は、ファイル名に正しい言語コードが含まれるように名前を変更します。例えば日本語の場合は、`languages.ja.toml`にファイル名を変更します。
{{< alert >}}
言語設定ファイル名の言語コードは、`hugo.toml` の `languageCode` 設定と一致する必要があることに注意してください。
言語設定ファイル名の言語コードは、`hugo.toml` の `locale` 設定と一致する必要があることに注意してください。
{{< /alert >}}
```toml
@@ -25,13 +25,13 @@ The config files that ship with Blowfish contain all of the possible settings th
## Basic configuration
Before creating any content, there are a few things you should set for a new installation. Starting in the `hugo.toml` file, set the `baseURL` and `languageCode` parameters. The `languageCode` should be set to the main language that you will be using to author your content.
Before creating any content, there are a few things you should set for a new installation. Starting in the `hugo.toml` file, set the `baseURL` and `locale` parameters. The `locale` should be set to the main language that you will be using to author your content.
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "en"
locale = "en"
```
The next step is to configure the language settings. Although Blowfish supports multilingual setups, for now, just configure the main language.
@@ -39,7 +39,7 @@ The next step is to configure the language settings. Although Blowfish supports
Locate the `languages.en.toml` file in the config folder. If your main language is English you can use this file as is. Otherwise, rename it so that it includes the correct language code in the filename. For example, for French, rename the file to `languages.fr.toml`.
{{< alert >}}
Note that the language code in the language config filename should match the `languageCode` setting in `hugo.toml`.
Note that the language code in the language config filename should match the `locale` setting in `hugo.toml`.
{{< /alert >}}
```toml
@@ -25,13 +25,13 @@ Os arquivos de configuração que acompanham o Blowfish contêm todas as configu
## Configuração básica
Antes de criar qualquer conteúdo, há algumas coisas que você deve configurar para uma nova instalação. Começando no arquivo `hugo.toml`, defina os parâmetros `baseURL` e `languageCode`. O `languageCode` deve ser definido para o idioma principal que você usará para escrever seu conteúdo.
Antes de criar qualquer conteúdo, há algumas coisas que você deve configurar para uma nova instalação. Começando no arquivo `hugo.toml`, defina os parâmetros `baseURL` e `locale`. O `locale` deve ser definido para o idioma principal que você usará para escrever seu conteúdo.
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "pt-br"
locale = "pt-br"
```
O próximo passo é configurar as definições de idioma. Embora o Blowfish suporte configurações multilíngues, por enquanto, apenas configure o idioma principal.
@@ -39,7 +39,7 @@ O próximo passo é configurar as definições de idioma. Embora o Blowfish supo
Localize o arquivo `languages.en.toml` na pasta de configuração. Se seu idioma principal for inglês, você pode usar este arquivo como está. Caso contrário, renomeie-o para incluir o código de idioma correto no nome do arquivo. Por exemplo, para português brasileiro, renomeie o arquivo para `languages.pt-br.toml`.
{{< alert >}}
Note que o código de idioma no nome do arquivo de configuração de idioma deve corresponder à configuração `languageCode` em `hugo.toml`.
Note que o código de idioma no nome do arquivo de configuração de idioma deve corresponder à configuração `locale` em `hugo.toml`.
{{< /alert >}}
```toml
@@ -25,13 +25,13 @@ Os ficheiros de configuração que acompanham o Blowfish contêm todas as defini
## Configuração básica
Antes de criar qualquer conteúdo, há algumas coisas que deve configurar para uma nova instalação. Começando no ficheiro `hugo.toml`, defina os parâmetros `baseURL` e `languageCode`. O `languageCode` deve ser definido para o idioma principal que utilizará para escrever o seu conteúdo.
Antes de criar qualquer conteúdo, há algumas coisas que deve configurar para uma nova instalação. Começando no ficheiro `hugo.toml`, defina os parâmetros `baseURL` e `locale`. O `locale` deve ser definido para o idioma principal que utilizará para escrever o seu conteúdo.
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "pt-pt"
locale = "pt-pt"
```
O próximo passo é configurar as definições de idioma. Embora o Blowfish suporte configurações multilingues, por agora, apenas configure o idioma principal.
@@ -39,7 +39,7 @@ O próximo passo é configurar as definições de idioma. Embora o Blowfish supo
Localize o ficheiro `languages.en.toml` na pasta de configuração. Se o seu idioma principal for inglês, pode utilizar este ficheiro tal como está. Caso contrário, renomeie-o para incluir o código de idioma correto no nome do ficheiro. Por exemplo, para português europeu, renomeie o ficheiro para `languages.pt-pt.toml`.
{{< alert >}}
Note que o código de idioma no nome do ficheiro de configuração de idioma deve corresponder à definição `languageCode` em `hugo.toml`.
Note que o código de idioma no nome do ficheiro de configuração de idioma deve corresponder à definição `locale` em `hugo.toml`.
{{< /alert >}}
```toml
@@ -25,13 +25,13 @@ Blowfish 中的配置文件中包含了主题需要的所有可能的设置选
## 基础设置
在刚刚安装完成,创建内容之前,有几个设置需要关注。从 `hugo.toml` 开始,设置 `baseURL` 和 `languageCode` 参数。`languageCode`参数是用来指定你创作内容的主要语言。
在刚刚安装完成,创建内容之前,有几个设置需要关注。从 `hugo.toml` 开始,设置 `baseURL` 和 `locale` 参数。`locale`参数是用来指定你创作内容的主要语言。
```toml
# config/_default/hugo.toml
baseURL = "https://your_domain.com/"
languageCode = "en"
locale = "en"
```
下一步是设置语言。尽管 Blowfish 支持多语言,但是 `hugo.toml` 只能配置一个主语言。
@@ -39,7 +39,7 @@ languageCode = "en"
在 `config/_default` 文件夹中找到 `languages.en.toml`。如果你的主语言是英语,你可以直接使用此文件。否则需要重命名为主语言对应的文件名。例如,如果主语言是法语,那么需要将文件命名为 `languages.fr.toml`。
{{< alert >}}
注意:语言配置文件名中的语言代码需要与 `hugo.toml` 中 `languageCode` 相匹配。
注意:语言配置文件名中的语言代码需要与 `hugo.toml` 中 `locale` 相匹配。
{{< /alert >}}
```toml
@@ -22,7 +22,7 @@ Diese Anweisungen bringen Sie von einem komplett leeren Zustand mit Hugo und Blo
Wenn Sie Hugo noch nicht verwendet haben, müssen Sie es [auf Ihrem lokalen Computer installieren](https://gohugo.io/getting-started/installing). Sie können überprüfen, ob es bereits installiert ist, indem Sie den Befehl `hugo version` ausführen.
{{< alert >}}
Stellen Sie sicher, dass Sie **Hugo Version 0.141.0** oder höher verwenden, da das Theme einige der neuesten Hugo-Funktionen nutzt.
Stellen Sie sicher, dass Sie **Hugo Version 0.158.0** oder höher verwenden, da das Theme einige der neuesten Hugo-Funktionen nutzt.
{{< /alert >}}
Sie finden detaillierte Installationsanweisungen für Ihre Plattform in der [Hugo-Dokumentation](https://gohugo.io/getting-started/installing).
@@ -22,7 +22,7 @@ Estas instrucciones te ayudarán a empezar con Hugo y Blowfish desde un estado c
Si nunca has usado Hugo antes, necesitarás [instalarlo en tu máquina local](https://gohugo.io/getting-started/installing). Puedes verificar si ya está instalado ejecutando el comando `hugo version`.
{{< alert >}}
Asegúrate de estar usando **Hugo versión 0.141.0** o posterior, ya que el tema aprovecha algunas de las últimas características de Hugo.
Asegúrate de estar usando **Hugo versión 0.158.0** o posterior, ya que el tema aprovecha algunas de las últimas características de Hugo.
{{< /alert >}}
Puedes encontrar instrucciones de instalación detalladas para tu plataforma en la [documentación de Hugo](https://gohugo.io/getting-started/installing).
@@ -22,7 +22,7 @@ Ces instructions vous permettront de démarrer avec Hugo et Blowfish à partir d
Si vous n'avez jamais utilisé Hugo auparavant, vous devrez [l'installer sur votre machine locale](https://gohugo.io/getting-started/installing). Vous pouvez vérifier s'il est déjà installé en exécutant la commande `hugo version`.
{{< alert >}}
Assurez-vous d'utiliser **Hugo version 0.141.0** ou ultérieure car le thème tire parti de certaines des dernières fonctionnalités de Hugo.
Assurez-vous d'utiliser **Hugo version 0.158.0** ou ultérieure car le thème tire parti de certaines des dernières fonctionnalités de Hugo.
{{< /alert >}}
Vous pouvez trouver des instructions d'installation détaillées pour votre plateforme dans la [documentation Hugo](https://gohugo.io/getting-started/installing).
@@ -23,7 +23,7 @@ Se non hai mai utilizzato Hugo prima, dovrai [installarlo nella tua local machin
Puoi verificare se hai già installato Hugo utilizzando il comando `hugo version`.
{{< alert >}}
Assicurati di usare la **versione 0.141.0 di Hugo** o successiva, poiché il tema sfrutta alcune delle ultime caratteristiche di Hugo.
Assicurati di usare la **versione 0.158.0 di Hugo** o successiva, poiché il tema sfrutta alcune delle ultime caratteristiche di Hugo.
{{< /alert >}}
Puoi trovare le istruzioni dettagliate sull'installazione per la propria piattaforma in [Documenti Hugo](https://gohugo.io/getting-started/installing).
@@ -22,7 +22,7 @@ Hugo の[クイックスタートガイド](https://gohugo.io/getting-started/qu
Hugo を初めて使用する場合は、[公式サイトの手順](https://gohugo.io/getting-started/installing)に従って、ローカルマシンにインストールしてください。すでにインストールされているかどうかは、コマンド `hugo version` を実行して確認できます。
{{< alert >}}
テーマは最新の Hugo の機能を活用しているため、**Hugo バージョン 0.141.0 以降**を使用していることを確認してください。
テーマは最新の Hugo の機能を活用しているため、**Hugo バージョン 0.158.0 以降**を使用していることを確認してください。
{{< /alert >}}
お使いのプラットフォームに合わせた詳細なインストール手順は、[Hugo の公式ドキュメント](https://gohugo.io/getting-started/installing)に記載されています。
@@ -22,7 +22,7 @@ These instructions will get you up and running using Hugo and Blowfish from a co
If you haven't used Hugo before, you will need to [install it onto your local machine](https://gohugo.io/getting-started/installing). You can check if it's already installed by running the command `hugo version`.
{{< alert >}}
Make sure you are using **Hugo version 0.141.0** or later as the theme takes advantage of some of the latest Hugo features.
Make sure you are using **Hugo version 0.158.0** or later as the theme takes advantage of some of the latest Hugo features.
{{< /alert >}}
You can find detailed installation instructions for your platform in the [Hugo docs](https://gohugo.io/getting-started/installing).
@@ -22,7 +22,7 @@ Estas instruções vão te ajudar a começar com Hugo e Blowfish a partir de um
Se você nunca usou Hugo antes, precisará [instalá-lo em sua máquina local](https://gohugo.io/getting-started/installing). Você pode verificar se já está instalado executando o comando `hugo version`.
{{< alert >}}
Certifique-se de estar usando **Hugo versão 0.141.0** ou posterior, pois o tema aproveita alguns dos recursos mais recentes do Hugo.
Certifique-se de estar usando **Hugo versão 0.158.0** ou posterior, pois o tema aproveita alguns dos recursos mais recentes do Hugo.
{{< /alert >}}
Você pode encontrar instruções de instalação detalhadas para sua plataforma na [documentação do Hugo](https://gohugo.io/getting-started/installing).
@@ -22,7 +22,7 @@ Estas instruções irão ajudá-lo a começar com Hugo e Blowfish a partir de um
Se nunca utilizou Hugo antes, precisará de [instalá-lo na sua máquina local](https://gohugo.io/getting-started/installing). Pode verificar se já está instalado executando o comando `hugo version`.
{{< alert >}}
Certifique-se de que está a utilizar **Hugo versão 0.141.0** ou posterior, pois o tema aproveita algumas das funcionalidades mais recentes do Hugo.
Certifique-se de que está a utilizar **Hugo versão 0.158.0** ou posterior, pois o tema aproveita algumas das funcionalidades mais recentes do Hugo.
{{< /alert >}}
Pode encontrar instruções de instalação detalhadas para a sua plataforma na [documentação do Hugo](https://gohugo.io/getting-started/installing).
@@ -22,7 +22,7 @@ series_order: 2
如果你之前没有使用过 Hugo,你首先需要了解[在本地机器安装 Hugo](https://gohugo.io/getting-started/installing)。你可以通过运行命令 `hugo version` 来检查是否安装完成。
{{< alert >}}
确保你使用 **Hugo 0.141.0** 或更高的版本,Blowfish 主题中使用了最新的 Hugo 特性。
确保你使用 **Hugo 0.158.0** 或更高的版本,Blowfish 主题中使用了最新的 Hugo 特性。
{{< /alert >}}
你可以在 [Hugo 文档](https://gohugo.io/getting-started/installing) 中找到不同平台更加详细的安装指南。
@@ -92,7 +92,8 @@ Das Alert-Zeichen (`+` oder `-`) ist optional, um zu steuern, ob die Admonition
> **GitHub-Typen:** `NOTE`, `TIP`, `IMPORTANT`, `WARNING`, `CAUTION`
> **Obsidian-Typen:** `note`, `abstract`, `info`, `todo`, `tip`, `success`, `question`, `warning`, `failure`, `danger`, `bug`, `example`, `quote`
<br/><br/><br/>
> [!INFO]- Admonition anpassen
> Siehe die [Anleitung zur Anpassung von Admonition](https://github.com/nunocoracao/blowfish/blob/main/layouts/_default/_markup/render-blockquote.html).
## Article
+58 -1
View File
@@ -187,6 +187,39 @@ The alert sign (`+` or `-`) is optional to control whether the admonition is fol
<br/><br/><br/>
## 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.
<!-- prettier-ignore-start -->
| 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` |
<!-- prettier-ignore-end -->
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
{{</* ansible role="geerlingguy.docker" */>}}
```
{{< ansible role="geerlingguy.docker" >}}
**Example 2: Collection**
```md
{{</* ansible collection="community.general" */>}}
```
{{< ansible collection="community.general" >}}
<br/><br/><br/>
## 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._
@@ -229,7 +262,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 +276,18 @@ Call to action
Call to action
{{< /button >}}
**Example using `pageRef`:**
```md
{{</* button pageRef="docs/getting-started" */>}}
Get started
{{</* /button */>}}
```
{{< button pageRef="docs/getting-started" >}}
Get started
{{< /button >}}
<br/><br/><br/>
## Carousel
@@ -376,6 +421,18 @@ This shortcode is for importing code from external sources easily without copyin
<br/><br/><br/>
## Email
Creates an obfuscated mailto link:
```md
{{</* email email="mailto:hello@test.com" text="text" subject="Reply to awesome article" */>}}
```
{{< email email="mailto:hello@test.com" text="text" subject="Reply to awesome article" >}}
<br/><br/><br/>
## Figure
Blowfish includes a `figure` shortcode for adding images to content. The shortcode replaces the base Hugo functionality in order to provide additional performance benefits.
+1 -1
View File
@@ -26,7 +26,7 @@ Una característica muy solicitada: ¡Blowfish ahora es multilingüe! Si publica
<div class="text-2xl text-center" style="font-size: 2.8rem">🇬🇧 🇩🇪 🇫🇷 🇪🇸 🇨🇳 🇧🇷 🇹🇷 🇧🇩</div>
Gracias a las contribuciones de la comunidad, Blowfish ya ha sido traducido a [treinta idiomas](https://github.com/nunocoracao/blowfish/tree/main/i18n), y se añadirán más con el tiempo. Por cierto, ¡los [pull requests](https://github.com/nunocoracao/blowfish/pulls) para nuevos idiomas siempre son bienvenidos!
Gracias a las contribuciones de la comunidad, Blowfish ya ha sido traducido a [treinta y dos idiomas](https://github.com/nunocoracao/blowfish/tree/main/i18n), y se añadirán más con el tiempo. Por cierto, ¡los [pull requests](https://github.com/nunocoracao/blowfish/pulls) para nuevos idiomas siempre son bienvenidos!
## Soporte para idiomas RTL
+1 -1
View File
@@ -26,7 +26,7 @@ A highly requested feature, Blowfish is now multilingual! If you publish your co
<div class="text-2xl text-center" style="font-size: 2.8rem">🇬🇧 🇩🇪 🇫🇷 🇪🇸 🇨🇳 🇧🇷 🇹🇷 🇧🇩</div>
Thanks to submissions from the community, Blowfish has already been translated into [thirty languages](https://github.com/nunocoracao/blowfish/tree/main/i18n) with more to be added over time. By the way, [pull requests](https://github.com/nunocoracao/blowfish/pulls) for new languages are always welcome!
Thanks to submissions from the community, Blowfish has already been translated into [thirty-two languages](https://github.com/nunocoracao/blowfish/tree/main/i18n) with more to be added over time. By the way, [pull requests](https://github.com/nunocoracao/blowfish/pulls) for new languages are always welcome!
## RTL language support
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 43 KiB

@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [Persönliche Seite, Themenautor]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [sitio personal, Autor del tema]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [Site personnel, Auteur du thème]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [Sito personale, Autore del tema]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [個人サイト, テーマ作者]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [Site pessoal, Autor do tema]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [Site pessoal, Autor do tema]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "n9o.xyz"
tags: [个人网站, 主题作者]
tags: [Personal site,Theme author]
externalUrl: "https://n9o.xyz"
weight: 1
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [Persönliche Seite]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [sitio personal]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [Site personnel]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [Sito personale]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [個人サイト]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [Site pessoal]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [Site pessoal]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,6 +1,6 @@
---
title: "madoke.org"
tags: [个人网站]
tags: [Personal site]
externalUrl: "https://madoke.org/"
weight: 2
showDate: false
@@ -11,4 +11,3 @@
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blastomussa.dev"
tags: [Personal site]
externalUrl: "https://blastomussa.dev"
weight: 11
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Loaded 100 of 2517 files, more files were not shown because too many files have changed in this diff. Show more