Compare commits

...
76 Commits
Author SHA1 Message Date
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
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
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
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
166 changed files with 4589 additions and 3116 deletions

No files matched your search

+1 -1
View File
@@ -8,7 +8,7 @@ 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
+1 -1
View File
@@ -8,7 +8,7 @@ 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:
+1 -1
View File
@@ -11,7 +11,7 @@ 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: main
submodules: true # Fetch Hugo themes (true OR recursive)
+1 -1
View File
@@ -37,7 +37,7 @@ 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
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
submodules: true
fetch-depth: 0
File diff suppressed because it is too large. Load diff
+38 -1
View File
@@ -268,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;
}
}
}
+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;
}
+2 -2
View File
@@ -1,9 +1,9 @@
/**
* Fuse.js v7.3.0 - Lightweight fuzzy-search (http://fusejs.io)
* Fuse.js v7.4.2 - 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
*/
"use strict";function t(t){return Array.isArray?Array.isArray(t):"[object Array]"===u(t)}function e(t){return null==t?"":function(t){if("string"==typeof t)return t;if("bigint"==typeof t)return t.toString();const e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(t)}function s(t){return"string"==typeof t}function i(t){return"number"==typeof t}function n(t){return!0===t||!1===t||function(t){return r(t)&&null!==t}(t)&&"[object Boolean]"==u(t)}function r(t){return"object"==typeof t}function c(t){return null!=t}function o(t){return!t.trim().length}function u(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const h=Object.prototype.hasOwnProperty;class a{constructor(t){this._keys=[],this._keyMap={};let e=0;t.forEach(t=>{const s=l(t);this._keys.push(s),this._keyMap[s.id]=s,e+=s.weight}),this._keys.forEach(t=>{t.weight/=e})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function l(e){let i=null,n=null,r=null,c=1,o=null;if(s(e)||t(e))r=e,i=d(e),n=g(e);else{if(!h.call(e,"name"))throw new Error((t=>`Missing ${t} property in key`)("name"));const t=e.name;if(r=t,h.call(e,"weight")&&(c=e.weight,c<=0))throw new Error((t=>`Property 'weight' in key '${t}' must be a positive integer`)(t));i=d(t),n=g(t),o=e.getFn}return{path:i,id:n,weight:c,src:r,getFn:o}}function d(e){return t(e)?e:e.split(".")}function g(e){return t(e)?e.join("."):e}const f={useExtendedSearch:!1,useTokenSearch:!1,getFn:function(r,o){const u=[];let h=!1;const a=(r,o,l,d)=>{if(c(r))if(o[l]){const g=r[o[l]];if(!c(g))return;if(l===o.length-1&&(s(g)||i(g)||n(g)||"bigint"==typeof g))u.push(void 0!==d?{v:e(g),i:d}:e(g));else if(t(g)){h=!0;for(let t=0,e=g.length;t<e;t+=1)a(g[t],o,l+1,t)}else o.length&&a(g,o,l+1,d)}else u.push(void 0!==d?{v:r,i:d}:r)};return a(r,s(o)?o.split("."):o,0),h?u:u[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},p=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,e)=>t.score===e.score?t.idx<e.idx?-1:1:t.score<e.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...f}),A=/[^ ]+/g;class m{constructor({getFn:t=p.getFn,fieldNormWeight:e=p.fieldNormWeight}={}){this.norm=function(t=1,e=3){const s=new Map,i=Math.pow(10,e);return{get(e){const n=e.match(A).length;if(s.has(n))return s.get(n);const r=1/Math.pow(n,.5*t),c=parseFloat(Math.round(r*i)/i);return s.set(n,c),c},clear(){s.clear()}}}(e,3),this.getFn=t,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((t,e)=>{this._keysMap[t.id]=e})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,s(this.docs[0])?this.docs.forEach((t,e)=>{this._addString(t,e)}):this.docs.forEach((t,e)=>{this._addObject(t,e)}),this.norm.clear())}add(t){const e=this.size();s(t)?this._addString(t,e):this._addObject(t,e)}removeAt(t){this.records.splice(t,1);for(let e=t,s=this.size();e<s;e+=1)this.records[e].i-=1}removeAll(t){for(let e=t.length-1;e>=0;e-=1)this.records.splice(t[e],1);for(let t=0,e=this.records.length;t<e;t+=1)this.records[t].i=t}getValueForItemAtKeyId(t,e){return t[this._keysMap[e]]}size(){return this.records.length}_addString(t,e){if(!c(t)||o(t))return;const s={v:t,i:e,n:this.norm.get(t)};this.records.push(s)}_addObject(i,n){const r={i:n,$:{}};this.keys.forEach((n,u)=>{const h=n.getFn?n.getFn(i):this.getFn(i,n.path);if(c(h))if(t(h)){const t=[];for(let i=0,n=h.length;i<n;i+=1){const n=h[i];if(c(n))if(s(n)){if(!o(n)){const e={v:n,i:i,n:this.norm.get(n)};t.push(e)}}else if(c(n.v)){const i=s(n.v)?n.v:e(n.v);if(!o(i)){const e={v:i,i:n.i,n:this.norm.get(i)};t.push(e)}}}r.$[u]=t}else if(s(h)&&!o(h)){const t={v:h,n:this.norm.get(h)};r.$[u]=t}}),this.records.push(r)}toJSON(){return{keys:this.keys.map(({getFn:t,...e})=>e),records:this.records}}}function C(t,e,{getFn:s=p.getFn,fieldNormWeight:i=p.fieldNormWeight}={}){const n=new m({getFn:s,fieldNormWeight:i});return n.setKeys(t.map(l)),n.setSources(e),n.create(),n}const M=32;function y(t,e,s,{location:i=p.location,distance:n=p.distance,threshold:r=p.threshold,findAllMatches:c=p.findAllMatches,minMatchCharLength:o=p.minMatchCharLength,includeMatches:u=p.includeMatches,ignoreLocation:h=p.ignoreLocation}={}){if(e.length>M)throw new Error(`Pattern length exceeds max of ${M}.`);const a=e.length,l=t.length,d=Math.max(0,Math.min(i,l));let g=r,f=d;const A=(t,e)=>{const s=t/a;if(h)return s;const i=Math.abs(d-e);return n?s+i/n:i?1:s},m=o>1||u,C=m?Array(l):[];let y;for(;(y=t.indexOf(e,f))>-1;){const t=A(0,y);if(g=Math.min(t,g),f=y+a,m){let t=0;for(;t<a;)C[y+t]=1,t+=1}}f=-1;let x=[],F=1,D=a+l;const E=1<<a-1;for(let e=0;e<a;e+=1){let i=0,n=D;for(;i<n;){A(e,d+n)<=g?i=n:D=n,n=Math.floor((D-i)/2+i)}D=n;let r=Math.max(1,d-n+1);const o=c?l:Math.min(d+n,l)+a,u=Array(o+2);u[o+1]=(1<<e)-1;for(let i=o;i>=r;i-=1){const n=i-1,c=sLine truncated
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 ee(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=1,a=!1;for(let e=0;e<t.length;e++)t.charCodeAt(e)===32?a||(i++,a=!0):a=!1;if(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 D=class{constructor({getFn:e=E.getFn,fieldNormWeight:t=E.fieldNormWeight}={}){this.norm=ee(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 O(e,t,{getFn:n=E.getFn,fieldNormWeight:r=E.fieldNormWeight}={}){let i=new D({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(v)),i.setSources(t),i.create(),i}function te(e,{getFn:t=E.getFn,fieLine 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 io}});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
+762 -580
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -2,4 +2,4 @@
[module.hugoVersion]
extended = true
min = "0.158.0"
max = "0.161.1"
max = "0.163.3"
+7
View File
@@ -42,6 +42,13 @@ 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".
+292 -220
View File
@@ -1,19 +1,19 @@
[
{
"avatar_url": "https://avatars.githubusercontent.com/u/3803196?v=4&s=80",
"contributions": 2594,
"contributions": 2638,
"profile_url": "https://github.com/nunocoracao",
"username": "nunocoracao"
},
{
"avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4&s=80",
"contributions": 586,
"contributions": 599,
"profile_url": "https://github.com/apps/dependabot",
"username": "dependabot[bot]"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/98386542?v=4&s=80",
"contributions": 317,
"contributions": 319,
"profile_url": "https://github.com/ZhenShuo2021",
"username": "ZhenShuo2021"
},
@@ -84,16 +84,10 @@
"username": "wermos"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/22768251?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/39312305?v=4&s=80",
"contributions": 12,
"profile_url": "https://github.com/daniel-odrinski",
"username": "daniel-odrinski"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/48058525?v=4&s=80",
"contributions": 12,
"profile_url": "https://github.com/pfrogond",
"username": "pfrogond"
"profile_url": "https://github.com/insidemordecai",
"username": "insidemordecai"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/14023456?v=4&s=80",
@@ -102,10 +96,22 @@
"username": "ragibson"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/39312305?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/48058525?v=4&s=80",
"contributions": 12,
"profile_url": "https://github.com/insidemordecai",
"username": "insidemordecai"
"profile_url": "https://github.com/pfrogond",
"username": "pfrogond"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/22768251?v=4&s=80",
"contributions": 12,
"profile_url": "https://github.com/daniel-odrinski",
"username": "daniel-odrinski"
},
{
"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",
@@ -125,12 +131,6 @@
"profile_url": "https://github.com/madoke",
"username": "madoke"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/32818386?v=4&s=80",
"contributions": 9,
"profile_url": "https://github.com/laterre39",
"username": "laterre39"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/110763842?v=4&s=80",
"contributions": 9,
@@ -138,10 +138,10 @@
"username": "RxChi1d"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80",
"contributions": 8,
"profile_url": "https://github.com/racehd",
"username": "racehd"
"avatar_url": "https://avatars.githubusercontent.com/u/32818386?v=4&s=80",
"contributions": 9,
"profile_url": "https://github.com/laterre39",
"username": "laterre39"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/49299328?v=4&s=80",
@@ -162,16 +162,10 @@
"username": "fuse314"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/23740867?v=4&s=80",
"contributions": 6,
"profile_url": "https://github.com/mnjm",
"username": "mnjm"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/593379?v=4&s=80",
"contributions": 6,
"profile_url": "https://github.com/androw",
"username": "androw"
"avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80",
"contributions": 7,
"profile_url": "https://github.com/racehd",
"username": "racehd"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/48385577?v=4&s=80",
@@ -180,34 +174,16 @@
"username": "nofalbriansah"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/128139875?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/UmmItKin",
"username": "UmmItKin"
"avatar_url": "https://avatars.githubusercontent.com/u/593379?v=4&s=80",
"contributions": 6,
"profile_url": "https://github.com/androw",
"username": "androw"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/92191413?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/mztiq",
"username": "mztiq"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/5170081?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/iunn-sh",
"username": "iunn-sh"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/27051374?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/ajmandourah",
"username": "ajmandourah"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1886360?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/michaeldorner",
"username": "michaeldorner"
"avatar_url": "https://avatars.githubusercontent.com/u/23740867?v=4&s=80",
"contributions": 6,
"profile_url": "https://github.com/mnjm",
"username": "mnjm"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/31572931?v=4&s=80",
@@ -216,10 +192,34 @@
"username": "jmmarino2"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/74207682?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/d4rklynk",
"username": "d4rklynk"
"avatar_url": "https://avatars.githubusercontent.com/u/1886360?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/michaeldorner",
"username": "michaeldorner"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/27051374?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/ajmandourah",
"username": "ajmandourah"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/5170081?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/iunn-sh",
"username": "iunn-sh"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/92191413?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/mztiq",
"username": "mztiq"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/128139875?v=4&s=80",
"contributions": 5,
"profile_url": "https://github.com/UmmItKin",
"username": "UmmItKin"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/14915201?v=4&s=80",
@@ -227,6 +227,12 @@
"profile_url": "https://github.com/tekdahl",
"username": "tekdahl"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/74207682?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/d4rklynk",
"username": "d4rklynk"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/43378713?v=4&s=80",
"contributions": 4,
@@ -270,10 +276,10 @@
"username": "EricGusmao"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/137512150?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/18169566?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/aplgr",
"username": "aplgr"
"profile_url": "https://github.com/deining",
"username": "deining"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8541450?v=4&s=80",
@@ -287,48 +293,12 @@
"profile_url": "https://github.com/aakashnand",
"username": "aakashnand"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/18169566?v=4&s=80",
"contributions": 4,
"profile_url": "https://github.com/deining",
"username": "deining"
},
{
"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/85546881?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Xeonzilla",
"username": "Xeonzilla"
},
{
"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/100203867?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/adilhyz",
"username": "adilhyz"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/18405490?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/GuillaumeASSIER",
"username": "GuillaumeASSIER"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/139241743?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/JahsehJ",
"username": "JahsehJ"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/41281398?v=4&s=80",
"contributions": 3,
@@ -354,40 +324,22 @@
"username": "ModdyLP"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1080487?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/139241743?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Scoty",
"username": "Scoty"
"profile_url": "https://github.com/JahsehJ",
"username": "JahsehJ"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1698841?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/18405490?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/eallion",
"username": "eallion"
"profile_url": "https://github.com/GuillaumeASSIER",
"username": "GuillaumeASSIER"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/13023025?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/85546881?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/60493188?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/hudsonm62",
"username": "hudsonm62"
"profile_url": "https://github.com/Xeonzilla",
"username": "Xeonzilla"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/91547012?v=4&s=80",
@@ -401,6 +353,48 @@
"profile_url": "https://github.com/StepaniaH",
"username": "StepaniaH"
},
{
"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/1698841?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/eallion",
"username": "eallion"
},
{
"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/1080487?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/Scoty",
"username": "Scoty"
},
{
"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/43930380?v=4&s=80",
"contributions": 3,
"profile_url": "https://github.com/albertonl",
"username": "albertonl"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/254813078?v=4&s=80",
"contributions": 3,
@@ -413,12 +407,30 @@
"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,
@@ -438,10 +450,10 @@
"username": "pwhittlesea"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/160235066?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/44194527?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/t1mssc",
"username": "t1mssc"
"profile_url": "https://github.com/unacro",
"username": "unacro"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1633293?v=4&s=80",
@@ -456,10 +468,10 @@
"username": "StandingPadAnimations"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/138979906?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/160235066?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/mtheindiecoder",
"username": "mtheindiecoder"
"profile_url": "https://github.com/t1mssc",
"username": "t1mssc"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/24326642?v=4&s=80",
@@ -473,18 +485,18 @@
"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/44976946?v=4&s=80",
"contributions": 2,
@@ -498,10 +510,10 @@
"username": "abdalrahmanshaban0"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/7567933?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/97746?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/v20100v",
"username": "v20100v"
"profile_url": "https://github.com/das-g",
"username": "das-g"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/21687187?v=4&s=80",
@@ -599,18 +611,30 @@
"profile_url": "https://github.com/michael1-0",
"username": "michael1-0"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/143170516?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/michael1-0",
"username": "michael1-0"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/273727?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/marians",
"username": "marians"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/17978807?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/gabrielgbs97",
"username": "gabrielgbs97"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8990777?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/jamesbraza",
"username": "jamesbraza"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/84158931?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/joush007",
"username": "joush007"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/48477808?v=4&s=80",
"contributions": 2,
@@ -630,28 +654,22 @@
"username": "jnonino"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/84158931?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/joush007",
"username": "joush007"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8990777?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/jamesbraza",
"username": "jamesbraza"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/17978807?v=4&s=80",
"contributions": 2,
"profile_url": "https://github.com/gabrielgbs97",
"username": "gabrielgbs97"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1530082?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/104967223?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/technicat",
"username": "technicat"
"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/6557195?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tveyben",
"username": "tveyben"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/44779902?v=4&s=80",
@@ -743,6 +761,12 @@
"profile_url": "https://github.com/cEvolve05",
"username": "cEvolve05"
},
{
"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/63226956?v=4&s=80",
"contributions": 1,
@@ -756,16 +780,16 @@
"username": "dky"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/116770736?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/290924?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/githubdand",
"username": "githubdand"
"profile_url": "https://github.com/pjkundert",
"username": "pjkundert"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/66280613?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/1530082?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/roib20",
"username": "roib20"
"profile_url": "https://github.com/technicat",
"username": "technicat"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/152732280?v=4&s=80",
@@ -833,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,
@@ -876,16 +906,16 @@
"username": "TheLunaticDev"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/104967223?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/53149254?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tarunjana",
"username": "tarunjana"
"profile_url": "https://github.com/ripplesding",
"username": "ripplesding"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/6557195?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/66280613?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tveyben",
"username": "tveyben"
"profile_url": "https://github.com/roib20",
"username": "roib20"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/39915210?v=4&s=80",
@@ -1007,6 +1037,12 @@
"profile_url": "https://github.com/HeTongRe4per",
"username": "HeTongRe4per"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/116770736?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/githubdand",
"username": "githubdand"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/108755164?v=4&s=80",
"contributions": 1,
@@ -1031,6 +1067,12 @@
"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,
@@ -1127,18 +1169,6 @@
"profile_url": "https://github.com/reyneese",
"username": "reyneese"
},
{
"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/48291064?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/1an8r0wn",
"username": "1an8r0wn"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/11158353?v=4&s=80",
"contributions": 1,
@@ -1190,8 +1220,8 @@
{
"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",
@@ -1199,6 +1229,12 @@
"profile_url": "https://github.com/WarFox",
"username": "WarFox"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/32876?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/zzamboni",
"username": "zzamboni"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/65770837?v=4&s=80",
"contributions": 1,
@@ -1217,12 +1253,24 @@
"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,
"profile_url": "https://github.com/seniordevops7",
"username": "seniordevops7"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/61214924?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/eread",
"username": "eread"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/83219076?v=4&s=80",
"contributions": 1,
@@ -1248,10 +1296,16 @@
"username": "ghlrobin"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/8511620?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/12414284?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/graeme-a-stewart",
"username": "graeme-a-stewart"
"profile_url": "https://github.com/marcriera",
"username": "marcriera"
},
{
"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",
@@ -1331,6 +1385,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,
@@ -1374,10 +1434,10 @@
"username": "Taffer"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1822861?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/38843153?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tSU-RooT",
"username": "tSU-RooT"
"profile_url": "https://github.com/mariuskimmina",
"username": "mariuskimmina"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/583157?v=4&s=80",
@@ -1427,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,
@@ -1494,10 +1560,22 @@
"username": "OnqiauJliu"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/290924?v=4&s=80",
"avatar_url": "https://avatars.githubusercontent.com/u/8511620?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/pjkundert",
"username": "pjkundert"
"profile_url": "https://github.com/graeme-a-stewart",
"username": "graeme-a-stewart"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1620160?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/gregpuzzles1",
"username": "gregpuzzles1"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/1822861?v=4&s=80",
"contributions": 1,
"profile_url": "https://github.com/tSU-RooT",
"username": "tSU-RooT"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/47142521?v=4&s=80",
@@ -1559,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,
@@ -1606,17 +1690,5 @@
"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"
}
]
@@ -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 -->
@@ -116,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 -->
@@ -151,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.
@@ -201,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
@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "www.azriel.id"
tags: [Personal site,Blog,learning,Portfolio]
externalUrl: "https://www.azriel.id/"
weight: 123
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Douwe Zumker"
tags: [Personal site,Blog,Photography]
externalUrl: "https://douwez.dev"
weight: 124
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "fionnlinux.com"
tags: [Personal site,Blog,Linux,Open Source]
externalUrl: "https://fionnlinux.com"
weight: 125
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "techtrailpulse.com"
tags: [Personal site]
externalUrl: "https://techtrailpulse.com"
weight: 126
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "blog.nordbye.it"
tags: [Technology Blog]
externalUrl: "https://blog.nordbye.it/"
weight: 127
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -0,0 +1,13 @@
---
title: "Sebastian Zehner"
tags: [Personal Site,Blog,Techlab]
externalUrl: "https://sebastianzehner.com"
weight: 128
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

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