Merge branch 'welpo:main' into local_image_dark

This commit is contained in:
Poolitzer 2026-01-01 23:34:55 +01:00 committed by GitHub
commit 660e837f95
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 190 additions and 21 deletions

View file

@ -292,7 +292,9 @@ menu = [
{ name = "projects", url = "projects", trailing_slash = true }, { name = "projects", url = "projects", trailing_slash = true },
] ]
# The RSS icon will be shown if (1) it's enabled and (2) the following variable is set to true. # The RSS icon will be shown if (1) it's enabled and (2) the following variable is set.
# Set to true to use the default "rss" icon, or specify a custom icon name (e.g. "square-rss").
# The icon must exist in static/social_icons/ (without the .svg extension).
# Note for Zola 0.19.X users: when `feed_filenames` has two filenames, only the first one will be linked in the footer. # Note for Zola 0.19.X users: when `feed_filenames` has two filenames, only the first one will be linked in the footer.
feed_icon = true feed_icon = true

View file

@ -1,7 +1,7 @@
+++ +++
title = "أمثلة على ماركداون" title = "أمثلة على ماركداون"
date = 2023-01-31 date = 2023-01-31
updated = 2023-09-01 updated = 2026-01-01
description = "تعرض هذه التدوينة بعض الأمثلة على تنسيق ماركداون، بما في ذلك الجداول، والشِفرات البرمجية والوسوم، والاقتباسات، والهوامش." description = "تعرض هذه التدوينة بعض الأمثلة على تنسيق ماركداون، بما في ذلك الجداول، والشِفرات البرمجية والوسوم، والاقتباسات، والهوامش."
[taxonomies] [taxonomies]
@ -31,7 +31,7 @@ katex = true
على سبيل المثال، `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` سيظهر هكذا: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\] على سبيل المثال، `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` سيظهر هكذا: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]
لتفعيل $\KaTeX$ لتدوينة أو قسم كامل، أضف `katex = true` داخل قسم `[extra]` في المقدمة. على سبيل المثال: فعّل $\KaTeX$ بإضافة `katex = true` في `[extra]`:
```toml,hl_lines=5-6 ```toml,hl_lines=5-6
title = "تجربة KaTeX" title = "تجربة KaTeX"
@ -41,12 +41,20 @@ date = 2002-11-30
katex = true katex = true
``` ```
يمكنك أيضاً تفعيله بشكل عام عن طريق تعيين `katex = true` في قسم `[extra]` في ملف `config.toml` الخاص بك. يعمل في: مقدمة الصفحة، `_index.md` للقسم، أو عالمياً في `config.toml`.
لتحسين الأداء والأمان، يتم استضافة ملفات جافا سكريبت و CSS والخطوط الخاصة بـ $\KaTeX$ محلياً. لتحسين الأداء والأمان، يتم استضافة ملفات جافا سكريبت و CSS والخطوط الخاصة بـ $\KaTeX$ محلياً.
**ملاحظة**: بعد تفعيل $\KaTeX$، إذا أردت استخدام \$ بدون عرض تعبير رياضي، استخدم شرطة مائلة للخلف قبلها: `\$`. **ملاحظة**: بعد تفعيل $\KaTeX$، إذا أردت استخدام \$ بدون عرض تعبير رياضي، استخدم شرطة مائلة للخلف قبلها: `\$`.
### الصيغ الكيميائية
الصيغ الكيميائية مدعومة عبر [امتداد mhchem](https://mhchem.github.io/MathJax-mhchem/)، الذي يُحمّل تلقائياً عند استخدام `\ce{}` أو `\pu{}`.
`\ce{}` للكيمياء: $\ce{H2O}$، $\ce{CO2 + H2O -> H2CO3}$
`\pu{}` للوحدات: $\pu{25 °C}$، $\pu{1.2 mol/L}$
## جدول ## جدول
هذا مثال على جدول[^1]. تتغير ألوانه حسب سمة التدوينة. هذا مثال على جدول[^1]. تتغير ألوانه حسب سمة التدوينة.

View file

@ -1,7 +1,7 @@
+++ +++
title = "Exemples de Markdown" title = "Exemples de Markdown"
date = 2023-01-31 date = 2023-01-31
updated = 2025-02-21 updated = 2026-01-01
description = "Aquesta publicació mostra alguns exemples de format en Markdown, incloent-hi una taula, blocs de codi i etiquetes, citacions, taules i notes a peu de pàgina." description = "Aquesta publicació mostra alguns exemples de format en Markdown, incloent-hi una taula, blocs de codi i etiquetes, citacions, taules i notes a peu de pàgina."
[taxonomies] [taxonomies]
@ -24,7 +24,7 @@ Per mostrar l'expressió **en una línia pròpia i centrada**, embolcalla-la amb
Per exemple, `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` es renderitzarà com: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\] Per exemple, `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` es renderitzarà com: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]
Per activar $\KaTeX$ en una publicació o secció sencera, inclou `katex = true` dins de la secció `[extra]` de les metadades. Per exemple: Activa $\KaTeX$ afegint `katex = true` a `[extra]`:
```toml,hl_lines=5-6 ```toml,hl_lines=5-6
title = "Provant KaTeX" title = "Provant KaTeX"
@ -34,12 +34,20 @@ date = 2002-11-30
katex = true katex = true
``` ```
Per activar-lo globalment, afeigeix `katex = true` a la secció `[extra]` del teu `config.toml`. Funciona a: metadades de pàgina, `_index.md` de secció, o globalment a `config.toml`.
Per obtenir un millor rendiment i seguretat, els fitxers JavaScript, CSS i les tipografies de $\KaTeX$ s'allotgen localment. Per obtenir un millor rendiment i seguretat, els fitxers JavaScript, CSS i les tipografies de $\KaTeX$ s'allotgen localment.
**Nota**: Després d'activar $\KaTeX$, si vols utilitzar el caràcter \$ sense renderitzar-lo com a expressió matemàtica, escapa'l amb una barra inversa: `\$`. **Nota**: Després d'activar $\KaTeX$, si vols utilitzar el caràcter \$ sense renderitzar-lo com a expressió matemàtica, escapa'l amb una barra inversa: `\$`.
### Fórmules químiques
Les fórmules químiques estan suportades mitjançant l'[extensió mhchem](https://mhchem.github.io/MathJax-mhchem/), que es carrega automàticament en utilitzar `\ce{}` o `\pu{}`.
`\ce{}` per química: $\ce{H2O}$, $\ce{CO2 + H2O -> H2CO3}$
`\pu{}` per unitats: $\pu{25 °C}$, $\pu{1.2 mol/L}$
## Taula ## Taula
Aquí tens un exemple de taula[^1]. Els seus colors canvien en funció del tema actual. Aquí tens un exemple de taula[^1]. Els seus colors canvien en funció del tema actual.

View file

@ -1,7 +1,7 @@
+++ +++
title = "Ejemplos de Markdown" title = "Ejemplos de Markdown"
date = 2023-01-31 date = 2023-01-31
updated = 2025-02-21 updated = 2026-01-01
description = "Esta publicación muestra algunos ejemplos de formato Markdown, incluyendo una tabla, bloques de código y etiquetas, citas, tablas y notas al pie de página." description = "Esta publicación muestra algunos ejemplos de formato Markdown, incluyendo una tabla, bloques de código y etiquetas, citas, tablas y notas al pie de página."
[taxonomies] [taxonomies]
@ -24,7 +24,7 @@ Para mostrar la expresión **en su propia línea y centrada**, envuélvela entre
Por ejemplo, `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` se mostraría como: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\] Por ejemplo, `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` se mostraría como: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]
Para activar $\KaTeX$ en una publicación o sección entera, incluye `katex = true` dentro de la sección `[extra]` del encabezado. Por ejemplo: Activa $\KaTeX$ añadiendo `katex = true` en `[extra]`:
```toml,hl_lines=5-6 ```toml,hl_lines=5-6
title = "Probando KaTeX" title = "Probando KaTeX"
@ -34,12 +34,20 @@ date = 2002-11-30
katex = true katex = true
``` ```
Para activarlo globalmente, añade `katex = true` en la sección `[extra]` de tu `config.toml`. Funciona en: encabezado de página, `_index.md` de sección, o globalmente en `config.toml`.
Para un mejor rendimiento y seguridad, el JavaScript, CSS y las fuentes de $\KaTeX$ se alojan localmente. Para un mejor rendimiento y seguridad, el JavaScript, CSS y las fuentes de $\KaTeX$ se alojan localmente.
**Nota**: Después de habilitar $\KaTeX$, si deseas usar \$ sin representar una expresión matemática, escápalo con una sola barra invertida: `\$`. **Nota**: Después de habilitar $\KaTeX$, si deseas usar \$ sin representar una expresión matemática, escápalo con una sola barra invertida: `\$`.
### Fórmulas químicas
Las fórmulas químicas están soportadas mediante la [extensión mhchem](https://mhchem.github.io/MathJax-mhchem/), que se carga automáticamente al usar `\ce{}` o `\pu{}`.
`\ce{}` para química: $\ce{H2O}$, $\ce{CO2 + H2O -> H2CO3}$
`\pu{}` para unidades: $\pu{25 °C}$, $\pu{1.2 mol/L}$
## Tabla ## Tabla
Aquí tienes un ejemplo de una tabla[^1]. Los colores cambian dependiendo del tema actual. Aquí tienes un ejemplo de una tabla[^1]. Los colores cambian dependiendo del tema actual.

View file

@ -1,7 +1,7 @@
+++ +++
title = "Markdown examples" title = "Markdown examples"
date = 2023-01-31 date = 2023-01-31
updated = 2025-02-21 updated = 2026-01-01
description = "This post showcases some examples of Markdown formatting, including a table, code blocks and tags, quotes, tables, and footnotes." description = "This post showcases some examples of Markdown formatting, including a table, code blocks and tags, quotes, tables, and footnotes."
[taxonomies] [taxonomies]
@ -24,7 +24,7 @@ To display the expression **on its own line and centered**, wrap it around `$$`
For example, `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` renders: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\] For example, `\\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]` renders: \\[ r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i - \bar{y})^2}} \\]
To activate $\KaTeX$ for a post or an entire section, include `katex = true` within the `[extra]` section of the front matter. For exemple: Enable $\KaTeX$ by setting `katex = true` in `[extra]`:
```toml,hl_lines=5-6 ```toml,hl_lines=5-6
title = "Testing KaTeX" title = "Testing KaTeX"
@ -34,12 +34,20 @@ date = 2002-11-30
katex = true katex = true
``` ```
You may enable it globally as well, by setting `katex = true` in the `[extra]` section of your `config.toml`. Works in: page front matter, section `_index.md`, or globally in `config.toml`.
For enhanced performance and security, the $\KaTeX$ JavaScript, CSS, and fonts are hosted locally. For enhanced performance and security, the $\KaTeX$ JavaScript, CSS, and fonts are hosted locally.
**Note**: After enabling $\KaTeX$, if you want to use \$ without rendering a mathematical expression, escape it with a single backslash: `\$`. **Note**: After enabling $\KaTeX$, if you want to use \$ without rendering a mathematical expression, escape it with a single backslash: `\$`.
### Chemistry formulas
Chemistry formulas are supported via the [mhchem extension](https://mhchem.github.io/MathJax-mhchem/), which loads automatically when using `\ce{}` or `\pu{}`.
`\ce{}` for chemistry: $\ce{H2O}$, $\ce{CO2 + H2O -> H2CO3}$
`\pu{}` for units: $\pu{25 °C}$, $\pu{1.2 mol/L}$
## Table ## Table
Here's an example of a table[^1]. Its colours change depending on the current theme. Here's an example of a table[^1]. Its colours change depending on the current theme.

View file

@ -1,7 +1,7 @@
+++ +++
title = "Domina la configuració de tabi: guia completa" title = "Domina la configuració de tabi: guia completa"
date = 2023-09-18 date = 2023-09-18
updated = 2025-12-27 updated = 2026-01-01
description = "Descobreix les múltiples maneres en què pots personalitzar tabi." description = "Descobreix les múltiples maneres en què pots personalitzar tabi."
[taxonomies] [taxonomies]
@ -884,6 +884,8 @@ Per utilitzar una icona personalitzada, pots afegir-la al directori `static/soci
Pots afegir un enllaç al teu feed RSS/Atom al peu de pàgina amb `feed_icon = true`. Pots afegir un enllaç al teu feed RSS/Atom al peu de pàgina amb `feed_icon = true`.
Per utilitzar una icona personalitzada, estableix `feed_icon` amb el nom de la icona (per exemple, `feed_icon = "square-rss"`). La icona ha d'existir a `static/social_icons/` (sense l'extensió `.svg`).
Nota pels usuaris de Zola 0.19.X: quan hi ha dos noms de fitxer a `feed_filenames`, només s'enllaçarà el primer al peu de pàgina. Nota pels usuaris de Zola 0.19.X: quan hi ha dos noms de fitxer a `feed_filenames`, només s'enllaçarà el primer al peu de pàgina.
#### Menú de peu de pàgina #### Menú de peu de pàgina

View file

@ -1,7 +1,7 @@
+++ +++
title = "Domina la configuración de tabi: guía completa" title = "Domina la configuración de tabi: guía completa"
date = 2023-09-18 date = 2023-09-18
updated = 2025-12-27 updated = 2026-01-01
description = "Descubre las múltiples maneras en que puedes personalizar tabi." description = "Descubre las múltiples maneras en que puedes personalizar tabi."
[taxonomies] [taxonomies]
@ -889,6 +889,8 @@ Para usar un icono personalizado, puedes añadirlo al directorio `static/social_
Puedes añadir un enlace a tu feed RSS/Atom en el pie de página con `feed_icon = true`. Puedes añadir un enlace a tu feed RSS/Atom en el pie de página con `feed_icon = true`.
Para usar un icono personalizado, establece `feed_icon` con el nombre del icono (por ejemplo, `feed_icon = "square-rss"`). El icono debe existir en `static/social_icons/` (sin la extensión `.svg`).
Nota para usuarios de Zola 0.19.X: cuando hay dos nombres de archivo en `feed_filenames`, solo se enlazará el primero en el pie de página. Nota para usuarios de Zola 0.19.X: cuando hay dos nombres de archivo en `feed_filenames`, solo se enlazará el primero en el pie de página.
### Menú de pie de página ### Menú de pie de página

View file

@ -1,7 +1,7 @@
+++ +++
title = "Mastering tabi Settings: A Comprehensive Guide" title = "Mastering tabi Settings: A Comprehensive Guide"
date = 2023-09-18 date = 2023-09-18
updated = 2025-12-27 updated = 2026-01-01
description = "Discover the many ways you can customise your tabi site." description = "Discover the many ways you can customise your tabi site."
[taxonomies] [taxonomies]
@ -898,6 +898,8 @@ To use a custom icon, you can add it to your site's `static/social_icons` direct
You can add a link to your RSS/Atom feed to the footer with `feed_icon = true`. You can add a link to your RSS/Atom feed to the footer with `feed_icon = true`.
To use a custom icon, set `feed_icon` to the icon name (e.g. `feed_icon = "square-rss"`). The icon must exist in `static/social_icons/` (without the `.svg` extension).
Note for Zola 0.19.X users: when there are two filenames in `feed_filenames`, only the first one will be linked in the footer. Note for Zola 0.19.X users: when there are two filenames in `feed_filenames`, only the first one will be linked in the footer.
### Footer Menu ### Footer Menu

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,32 @@
+++
title = "bunbu"
description = "Analitza la freqüència de paraules en textos japonesos."
weight = 34
[taxonomies]
tags = ["Japonès", "web app", "web", "JavaScript", "PWA"]
[extra]
local_image = "projects/bunbu/bunbu_logo.webp"
canonical_url = "https://osc.garden/es/projects/bunbu/"
social_media_card = "social_cards/projects_bunbu.jpg"
+++
**bunbu** és una aplicació web progressiva per analitzar la freqüència de paraules en textos en japonès. Enganxa o carrega qualsevol text en japonès i bunbu el desglossarà en paraules individuals i et mostrarà amb quina freqüència apareix cadascuna.
#### [Prova-la ara](https://bunbu.osc.garden) • [GitHub](https://github.com/welpo/bunbu) {.centered-text}
## Característiques
- Anàlisi morfològica de text japonès impulsada per [Goya](https://github.com/Leko/goya)
- Taula de freqüència de paraules amb recomptes, percentatges i categories gramaticals
- Furigana per als kanjis
- Enllaços a diccionaris en línia (Jisho, Weblio, Kotobank, Goo, Wiktionary)
- Referències de pronunciació (Forvo, YouGlish, ImmersionKit) i text a veu
- Filtra els resultats per categoria gramatical (substantius, verbs, adjectius…)
- Múltiples mètodes d'entrada: enganxar, escriure o importar fitxers
- Processament 100% local: el teu text mai surt del teu dispositiu
- Funciona fora de línia com a aplicació web progressiva (PWA)
- Instal·lable en mòbils i escriptori
[![targeta per a xarxes socials de bunbu](social_cards/projects_bunbu.jpg)](https://bunbu.osc.garden)

View file

@ -0,0 +1,32 @@
+++
title = "bunbu"
description = "Analiza la frecuencia de palabras en textos japoneses."
weight = 34
[taxonomies]
tags = ["Japonés", "web app", "web", "JavaScript", "PWA"]
[extra]
local_image = "projects/bunbu/bunbu_logo.webp"
canonical_url = "https://osc.garden/es/projects/bunbu/"
social_media_card = "social_cards/projects_bunbu.jpg"
+++
**bunbu** es una aplicación web progresiva (PWA) para analizar la frecuencia de palabras en textos en japonés. Pega o carga cualquier texto en japonés y bunbu lo desglosará en palabras individuales, mostrándote con qué frecuencia aparece cada una.
#### [Pruébala ahora](https://bunbu.osc.garden) • [GitHub](https://github.com/welpo/bunbu) {.centered-text}
## Características
- Análisis morfológico de texto japonés impulsado por [Goya](https://github.com/Leko/goya)
- Tabla de frecuencia de palabras con conteos, porcentajes y categorías gramaticales
- Furigana para los kanjis
- Enlaces a diccionarios online (Jisho, Weblio, Kotobank, Goo, Wiktionary)
- Referencias de pronunciación (Forvo, YouGlish, ImmersionKit) y texto a voz
- Filtrado de resultados por categoría gramatical (sustantivos, verbos, adjetivos…)
- Múltiples métodos de entrada: pegar, escribir o importar archivos
- Procesamiento 100% local: tu texto nunca sale de tu dispositivo
- Funciona sin conexión como aplicación web progresiva (PWA)
- Instalable en móviles y escritorio
[![tarjeta para redes sociales de bunbu](social_cards/projects_bunbu.jpg)](https://bunbu.osc.garden)

View file

@ -0,0 +1,32 @@
+++
title = "bunbu"
description = "Word frequency analysis of Japanese text."
weight = 34
[taxonomies]
tags = ["Japanese", "web app", "web", "JavaScript", "PWA"]
[extra]
local_image = "projects/bunbu/bunbu_logo.webp"
canonical_url = "https://osc.garden/projects/bunbu/"
social_media_card = "social_cards/projects_bunbu.jpg"
+++
**bunbu** is a Progressive Web App to analyse word frequency in Japanese text. Paste or load any Japanese text and bunbu will break it down into individual words, showing you how often each one appears.
#### [Try it now](https://bunbu.osc.garden) • [GitHub](https://github.com/welpo/bunbu) {.centered-text}
## Features
- Morphological analysis of Japanese text powered by [Goya](https://github.com/Leko/goya)
- Word frequency table with counts, percentages, and parts of speech
- Furigana for kanji
- Links to online dictionaries (Jisho, Weblio, Kotobank, Goo, Wiktionary)
- Pronunciation references (Forvo, YouGlish, ImmersionKit) and text-to-speech
- Filter results by part of speech (nouns, verbs, adjectives…)
- Multiple input methods: paste, type, or import files
- 100% local processing—your text never leaves your device
- Works offline as a Progressive Web App
- Installable on mobile and desktop
[![bunbu social media card](social_cards/projects_bunbu.jpg)](https://bunbu.osc.garden)

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

View file

@ -9,8 +9,10 @@ KATEX_CSS_DIR="static"
KATEX_FONTS_DIR="static/fonts/KaTeX" KATEX_FONTS_DIR="static/fonts/KaTeX"
KATEX_JS_FILE="katex.min.js" KATEX_JS_FILE="katex.min.js"
KATEX_CSS_FILE="katex.min.css" KATEX_CSS_FILE="katex.min.css"
KATEX_MHCHEM_FILE="mhchem.min.js"
KATEX_JS_PATH="${KATEX_JS_DIR}/${KATEX_JS_FILE}" KATEX_JS_PATH="${KATEX_JS_DIR}/${KATEX_JS_FILE}"
KATEX_CSS_PATH="${KATEX_CSS_DIR}/${KATEX_CSS_FILE}" KATEX_CSS_PATH="${KATEX_CSS_DIR}/${KATEX_CSS_FILE}"
KATEX_MHCHEM_PATH="${KATEX_JS_DIR}/${KATEX_MHCHEM_FILE}"
UGLIFY_ITERATIONS=5 UGLIFY_ITERATIONS=5
CURL_RETRIES=3 CURL_RETRIES=3
@ -287,7 +289,13 @@ EOM
local css_comparison_result local css_comparison_result
css_comparison_result=$(compare_md5 "${TEMP_DIR}/${KATEX_CSS_FILE}" "${KATEX_CSS_PATH}") css_comparison_result=$(compare_md5 "${TEMP_DIR}/${KATEX_CSS_FILE}" "${KATEX_CSS_PATH}")
if [ "$js_comparison_result" = "same" ] && [ "$css_comparison_result" = "same" ]; then # mhchem extension.
cp "${TEMP_DIR}/katex/contrib/mhchem.min.js" "${TEMP_DIR}/${KATEX_MHCHEM_FILE}"
uglify_file "${TEMP_DIR}/${KATEX_MHCHEM_FILE}" "$UGLIFY_ITERATIONS"
local mhchem_comparison_result
mhchem_comparison_result=$(compare_md5 "${TEMP_DIR}/${KATEX_MHCHEM_FILE}" "${KATEX_MHCHEM_PATH}")
if [ "$js_comparison_result" = "same" ] && [ "$css_comparison_result" = "same" ] && [ "$mhchem_comparison_result" = "same" ]; then
echo "KaTeX: New version is the same as current version. No update needed." echo "KaTeX: New version is the same as current version. No update needed."
return 0 return 0
fi fi
@ -306,6 +314,12 @@ EOM
changes_made=true changes_made=true
fi fi
if [ "$mhchem_comparison_result" != "same" ]; then
echo "KaTeX mhchem: New version differs from current version. Proceeding with update."
mv "${TEMP_DIR}/${KATEX_MHCHEM_FILE}" "${KATEX_MHCHEM_PATH}"
changes_made=true
fi
rm -rf "${KATEX_FONTS_DIR}" rm -rf "${KATEX_FONTS_DIR}"
mkdir -p "${KATEX_FONTS_DIR}" mkdir -p "${KATEX_FONTS_DIR}"
cp -r "${TEMP_DIR}/katex/fonts"/* "${KATEX_FONTS_DIR}/" cp -r "${TEMP_DIR}/katex/fonts"/* "${KATEX_FONTS_DIR}/"
@ -317,7 +331,7 @@ EOM
echo "KaTeX updated successfully!" echo "KaTeX updated successfully!"
echo "Preparing to commit changes…" echo "Preparing to commit changes…"
git add "${KATEX_JS_PATH}" "${KATEX_CSS_PATH}" "${KATEX_FONTS_DIR}" git add "${KATEX_JS_PATH}" "${KATEX_CSS_PATH}" "${KATEX_MHCHEM_PATH}" "${KATEX_FONTS_DIR}"
local commit_msg local commit_msg
commit_msg=$(generate_commit_message "$commit_msg_template" "$latest_version") commit_msg=$(generate_commit_message "$commit_msg_template" "$latest_version")
git commit -m "${commit_msg}" git commit -m "${commit_msg}"

1
static/js/mhchem.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M160 96C124.7 96 96 124.7 96 160L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 160C544 124.7 515.3 96 480 96L160 96zM192 200C192 186.7 202.7 176 216 176C353 176 464 287 464 424C464 437.3 453.3 448 440 448C426.7 448 416 437.3 416 424C416 313.5 326.5 224 216 224C202.7 224 192 213.3 192 200zM192 296C192 282.7 202.7 272 216 272C299.9 272 368 340.1 368 424C368 437.3 357.3 448 344 448C330.7 448 320 437.3 320 424C320 366.6 273.4 320 216 320C202.7 320 192 309.3 192 296zM192 416C192 398.3 206.3 384 224 384C241.7 384 256 398.3 256 416C256 433.7 241.7 448 224 448C206.3 448 192 433.7 192 416z"/></svg>

After

Width:  |  Height:  |  Size: 846 B

View file

@ -15,3 +15,12 @@
{%- set feed_url = feed_utils::get_feed_url() -%} {%- set feed_url = feed_utils::get_feed_url() -%}
{{- generate_feed and config.extra.feed_icon and feed_url -}} {{- generate_feed and config.extra.feed_icon and feed_url -}}
{%- endmacro should_show_footer_feed_icon -%} {%- endmacro should_show_footer_feed_icon -%}
{#- Get feed icon name: string value or "rss" for true, empty for false -#}
{%- macro get_feed_icon_name() -%}
{%- if config.extra.feed_icon is string -%}
{{- config.extra.feed_icon -}}
{%- elif config.extra.feed_icon -%}
{{- "rss" -}}
{%- endif -%}
{%- endmacro get_feed_icon_name -%}

View file

@ -9,8 +9,9 @@
{{ title -}} {{ title -}}
{% if show_feed_icon %} {% if show_feed_icon %}
{%- set feed_url = feed_utils::get_feed_url() -%} {%- set feed_url = feed_utils::get_feed_url() -%}
{%- set feed_icon_name = feed_utils::get_feed_icon_name() -%}
<a class="no-hover-padding social" rel="{{ rel_attributes }}" {{ blank_target }} href="{{ get_url(path=term.path ~ feed_url, lang=lang, trailing_slash=false) | safe }}"> <a class="no-hover-padding social" rel="{{ rel_attributes }}" {{ blank_target }} href="{{ get_url(path=term.path ~ feed_url, lang=lang, trailing_slash=false) | safe }}">
<img loading="lazy" alt="feed" title="feed" src="{{ get_url(path='/social_icons/rss.svg') }}"> <img loading="lazy" alt="feed" title="feed" src="{{ get_url(path='/social_icons/' ~ feed_icon_name ~ '.svg') }}">
</a> </a>
{% endif %} {% endif %}
</h1> </h1>

View file

@ -46,6 +46,10 @@
{%- if macros_settings::evaluate_setting_priority(setting="katex", page=page_s, section=section_s, default_global_value=false) == "true" -%} {%- if macros_settings::evaluate_setting_priority(setting="katex", page=page_s, section=section_s, default_global_value=false) == "true" -%}
<link rel="stylesheet" href="{{ get_url(path='katex.min.css', trailing_slash=false) | safe }}"> <link rel="stylesheet" href="{{ get_url(path='katex.min.css', trailing_slash=false) | safe }}">
<script defer src="{{ get_url(path='js/katex.min.js', trailing_slash=false) | safe }}"></script> <script defer src="{{ get_url(path='js/katex.min.js', trailing_slash=false) | safe }}"></script>
{# Load mhchem extension if chemistry formulas detected #}
{%- if page and page.content and ("\ce{" in page.content or "\pu{" in page.content) -%}
<script defer src="{{ get_url(path='js/mhchem.min.js', trailing_slash=false) | safe }}"></script>
{%- endif -%}
{%- endif -%} {%- endif -%}
{# Load mermaid.js #} {# Load mermaid.js #}

View file

@ -6,6 +6,7 @@
{#- Feed icon -#} {#- Feed icon -#}
{%- set feed_url = feed_utils::get_feed_url() -%} {%- set feed_url = feed_utils::get_feed_url() -%}
{%- set feed_icon_name = feed_utils::get_feed_icon_name() -%}
{%- set should_show_feed = feed_utils::should_show_footer_feed_icon() == "true" -%} {%- set should_show_feed = feed_utils::should_show_footer_feed_icon() == "true" -%}
{%- set should_show_footer_icons = should_show_feed or config.extra.socials or config.extra.email -%} {%- set should_show_footer_icons = should_show_feed or config.extra.socials or config.extra.email -%}
@ -18,7 +19,7 @@
{%- if should_show_feed -%} {%- if should_show_feed -%}
<li> <li>
<a class="nav-links no-hover-padding social" rel="{{ rel_attributes }}" {{ blank_target }} href="{{ get_url(path=feed_url, lang=lang, trailing_slash=false) | safe }}"> <a class="nav-links no-hover-padding social" rel="{{ rel_attributes }}" {{ blank_target }} href="{{ get_url(path=feed_url, lang=lang, trailing_slash=false) | safe }}">
<img loading="lazy" alt="feed" title="feed" src="{{ get_url(path='/social_icons/rss.svg') }}"> <img loading="lazy" alt="feed" title="feed" src="{{ get_url(path='/social_icons/' ~ feed_icon_name ~ '.svg') }}">
</a> </a>
</li> </li>
{%- endif -%} {%- endif -%}

View file

@ -240,7 +240,9 @@ menu = [
{ name = "projects", url = "projects", trailing_slash = true }, { name = "projects", url = "projects", trailing_slash = true },
] ]
# The RSS icon will be shown if (1) it's enabled and (2) the following variable is set to true. # The RSS icon will be shown if (1) it's enabled and (2) the following variable is set.
# Set to true to use the default "rss" icon, or specify a custom icon name (e.g. "square-rss").
# The icon must exist in static/social_icons/ (without the .svg extension).
# Note for Zola 0.19.X users: when `feed_filenames` has two filenames, only the first one will be linked in the footer. # Note for Zola 0.19.X users: when `feed_filenames` has two filenames, only the first one will be linked in the footer.
feed_icon = true feed_icon = true