From edcfa359ef1abab43d5bedf77a24c3fab27f0297 Mon Sep 17 00:00:00 2001 From: welpo Date: Wed, 2 Aug 2023 19:38:04 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20global/individual=20toggle?= =?UTF-8?q?=20for=20KaTeX=20and=20copy=20button?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow KaTeX and copy button to be enabled globally or for individual posts. --- config.toml | 3 +++ content/blog/javascript.ca.md | 24 ++++++++++-------------- content/blog/javascript.es.md | 24 ++++++++++-------------- content/blog/javascript.md | 20 ++++++++------------ content/blog/markdown.ca.md | 2 ++ content/blog/markdown.es.md | 2 ++ content/blog/markdown.md | 2 ++ templates/base.html | 4 ++-- theme.toml | 3 +++ 9 files changed, 42 insertions(+), 42 deletions(-) diff --git a/config.toml b/config.toml index 675efd90d..2d0780b74 100644 --- a/config.toml +++ b/config.toml @@ -143,6 +143,9 @@ copy_button = true # Adds backlinks to footnotes (loads ~500 bytes of JavaScripts). footnote_backlinks = false +# Enable KaTeX for all posts. +katex = false + # Date format used when listing posts (main page, /blog section, tag posts list…) # Default is "6th July 2049" in English and "%d %B %Y" in other languages. long_date_format = "%d %B %Y" diff --git a/content/blog/javascript.ca.md b/content/blog/javascript.ca.md index 8e9c2652e..22c043382 100644 --- a/content/blog/javascript.ca.md +++ b/content/blog/javascript.ca.md @@ -10,25 +10,21 @@ tags = ["funcionalitat", "tutorial"] Aquest tema no requereix JavaScript obligatori. Opcionalment, pot carregar una quantitat mínima per afegir algunes característiques que són impossibles d'aconseguir amb HTML i CSS. -## Opcions globals +## Opcions habilitades globalment -Pots habilitar les següents opcions per a totes les pàgines: +L'**interruptor de mode clar/fosc** pot habilitar-se configurant `theme_switcher = true` a la secció `[extra]` del teu `config.toml` (~900 bytes de JavaScript). -- **Canvi de mode clar/fosc**. Habilitat configurant `theme_switcher = true`. (~900 bytes) -- **Còpia de blocs de codi amb un sol clic**. Habilitat configurant `copy_button = true`. (~700 bytes) -- **Enllaços de retorn de notes a peu de pàgina**. Habilitats configurant `footnote_backlinks = true` (~500 bytes). +## Configuracions que es poden habilitar tant globalment com en publicacions individuals +Les següents configuracions es poden habilitar globalment per a totes les pàgines o específicament per a publicacions individuals: -Aquestes dues configuracions es poden aplicar a la secció `[extra]` del teu fitxer `config.toml`. +- [**KaTeX**](@/blog/markdown.ca.md#katex). Habilitat configurant `katex = true` (274 KB). +- [**Còpia de blocs de codi amb un sol clic**](@/blog/markdown.ca.md#bloc-de-codi). Habilitada configurant `copy_button = true`. (~700 bytes) +- [**Enllaços de retorn de notes al peu de pàgina**](@/blog/markdown.ca.md#1). Habilitats configurant `footnote_backlinks = true` (~500 bytes). -- [**Comentaris**](@/blog/comments.ca.md). giscus (2 KB), utterances (1 KB), Hyvor Talk (~800 bytes) o Isso (1KB) es poden habilitar globalment configurant `enabled_for_all_posts = true` a la secció correcta de `config.toml` (`[extra.giscus]`, `[extra.utterances]`, `[extra.hyvortalk]` o `[extra.isso]`). +Per habilitar aquestes configuracions globalment, afegeix-les a la secció `[extra]` del teu `config.toml`. Per habilitar-les en publicacions individuals, estableix les variables corresponents a l'apartat `[extra]` del front matter de la publicació. -## Configuracions específiques de la pàgina - -Les següents configuracions es poden habilitar en posts específics configurant certes variables a la secció `[extra]` del front matter de la publicació. - -- [**KaTeX**](@/blog/markdown.ca.md#katex) (274 KB) es pot habilitar amb `katex = true`. -- [**Comentaris**](@/blog/comments.ca.md). Es poden habilitar assignant el nom del sistema `= true` (per exemple, `hyvortalk = true`). -- **Enllaços de retorn de notes a peu de pàgina**. Es poden habilitar amb `footnote_backlinks = true`. +- [**Comentaris**](@/blog/comments.ca.md). giscus (2 KB), utterances (1 KB), Hyvor Talk (~800 bytes) o Isso (1KB) es poden habilitar globalment configurant `enabled_for_all_posts = true` a la secció apropiada del teu fitxer `config.toml` (`[extra.giscus]`, `[extra.utterances]`, `[extra.hyvortalk]` o `[extra.isso]`). Per habilitar comentaris en publicacions individuals, configura el nom del sistema `= true` (per exemple, `hyvort +- [**Comentaris**](@/blog/comments.ca.md). giscus (2 KB), utterances (1 KB), Hyvor Talk (~800 bytes) o Isso (1KB) es poden habilitar globalment configurant `enabled_for_all_posts = true` a la secció apropiada del teu fitxer `config.toml` (`[extra.giscus]`, `[extra.utterances]`, `[extra.hyvortalk]` o `[extra.isso]`). Per habilitar comentaris en publicacions individuals, configura el nom del sistema `= true` (per exemple, `hyvortalk = true`) al front matter del post. A part d'això, és un tema ràpid amb HTML i CSS que funciona sense JavaScript. Just com hauria de ser (la majoria de) la web :-) diff --git a/content/blog/javascript.es.md b/content/blog/javascript.es.md index e6c493889..c85a22f84 100644 --- a/content/blog/javascript.es.md +++ b/content/blog/javascript.es.md @@ -10,24 +10,20 @@ tags = ["funcionalidad", "tutorial"] Este tema no tiene JavaScript obligatorio. Opcionalmente, puede cargar una cantidad mínima para agregar algunas características que son imposibles de lograr con HTML y CSS. -## Opciones globales +## Opciones habilitadas globalmente -Puedes habilitar las siguientes opciones en todas las páginas: +El **interruptor de modo claro/oscuro** puede habilitarse configurando `theme_switcher = true` en la sección `[extra]` de tu `config.toml` (~900 bytes de JavaScript). -- **Interruptor de modo claro/oscuro**. Habilitado configurando `theme_switcher = true`. (~900 bytes) -- **Copia de bloques de código con un solo clic**. Habilitado configurando `copy_button = true`. (~700 bytes) -- **Enlaces de retorno de notas al pie**. Habilitados configurando `footnote_backlinks = true` (~500 bytes). +## Configuraciones que pueden habilitarse tanto globalmente como en publicaciones individuales -Estas dos configuraciones se pueden aplicar en la sección `[extra]` de tu `config.toml`. +Las siguientes configuraciones pueden habilitarse globalmente para todas las páginas o específicamente para publicaciones individuales: -- [**Comentarios**](@/blog/comments.es.md). giscus (2 KB), utterances (1 KB), Hyvor Talk (~800 bytes) o Isso (1KB) se pueden habilitar globalmente configurando `enabled_for_all_posts = true` en la sección apropiada de tu archivo `config.toml` (`[extra.giscus]`, `[extra.utterances]`, `[extra.hyvortalk]` o `[extra.isso]`). +- [**KaTeX**](@/blog/markdown.es.md#katex). Habilitado configurando `katex = true` (274 KB). +- [**Copia de bloques de código con un solo clic**](@/blog/markdown.es.md#bloque-de-codigo). Habilitada configurando `copy_button = true`. (~700 bytes) +- [**Enlaces de retorno de notas al pie**](@/blog/markdown.es.md#1). Habilitados configurando `footnote_backlinks = true` (~500 bytes). -## Opciones para publicaciones individuales +Para habilitar estas configuraciones globalmente, añádelas en la sección `[extra]` de tu `config.toml`. Para habilitarlas en publicaciones individuales, establece las variables correspondientes en el apartado `[extra]` del front matter de la publicación. -Las siguientes configuraciones se pueden habilitar en publicaciones específicas configurando ciertas variables en la sección `[extra]` del front matter del post. +- [**Comentarios**](@/blog/comments.es.md). giscus (2 KB), utterances (1 KB), Hyvor Talk (~800 bytes) o Isso (1KB) se pueden habilitar globalmente configurando `enabled_for_all_posts = true` en el apartado apropiado de tu archivo `config.toml` (`[extra.giscus]`, `[extra.utterances]`, `[extra.hyvortalk]` o `[extra.isso]`). Para habilitar comentarios en publicaciones individuales, configura el nombre del sistema `= true` (por ejemplo, `hyvortalk = true`) en el front matter del post. -- [**KaTeX**](@/blog/markdown.es.md#katex) (274 KB) se puede habilitar con `katex = true`. -- [**Comentarios**](@/blog/comments.es.md). Se pueden habilitar con el nombre del sistema `= true` (por ejemplo, `hyvortalk = true`). -- **Enlaces de retorno de notas al pie**. Se pueden habilitar con `footnote_backlinks = true`. - -Aparte de eso, es un tema rápido con HTML y CSS que funciona con JavaScript deshabilitado. Como debería ser (en su mayoría) la web :-) +Aparte de eso, es un tema rápido con HTML y CSS que funciona con JavaScript deshabilitado. Justo como debería ser (en su mayoría) la web :-) diff --git a/content/blog/javascript.md b/content/blog/javascript.md index 9efc7085e..29fe968f4 100644 --- a/content/blog/javascript.md +++ b/content/blog/javascript.md @@ -12,22 +12,18 @@ This theme has no mandatory JavaScript. Optionally, it can load a minimal amount ## Globally enabled settings -You can enable the following settings for all pages: +The **light/dark mode switch** can be enabled by setting `theme_switcher = true` in the `[extra]` section of your `config.toml` (~900 bytes of JavaScript). -- **Light/dark mode switch**. Enabled by setting `theme_switcher = true`. (~900 bytes) -- **One-click copy of code blocks**. Enabled by setting `copy_button = true`. (~700 bytes) -- **Footnote backlinks**. Enabled by setting `footnote_backlinks = true` (~500 bytes). +## Settings that can be enabled globally and for individual posts -These settings can be applied in the `[extra]` section of your `config.toml` file. +The following settings can be enabled globally for all pages or specifically for individual posts: -- [**Comments**](@/blog/comments.md). giscus (2 KB), utterances (1 KB), Hyvor Talk (~800 bytes) or Isso (1KB) can be globally enabled by setting `enabled_for_all_posts = true` in the right section of your `config.toml` (i.e. `[extra.giscus]`, `[extra.utterances]`, `[extra.hyvortalk]` or `[extra.isso]`). +- [**KaTeX support**](@/blog/markdown.md#katex). Enabled by setting `katex = true` (274 KB). +- [**One-click copy of code blocks**](@/blog/markdown.md#code-block). Enabled by setting `copy_button = true`. (~700 bytes) +- [**Footnote backlinks**](@/blog/markdown.md#1). Enabled by setting `footnote_backlinks = true` (~500 bytes). -## Page-specific settings +To enable these settings globally, add them in the `[extra]` section of your `config.toml` file. To enable for individual posts, set the corresponding variables in the `[extra]` section of the post's front matter. -The following settings can be enabled on specific posts by setting certain variables in the `[extra]` section of the post's front matter. - -- [**KaTeX** support](@/blog/markdown.md#katex) (274 KB) can be enabled by setting `katex = true`. -- [**Comments**](@/blog/comments.md) can be enabled by setting the name of the system `= true` (e.g. `hyvortalk = true`). -- **Footnote backlinks** can be enabled by setting `footnote_backlinks = true`. +- [**Comments**](@/blog/comments.md). giscus (2 KB), utterances (1 KB), Hyvor Talk (~800 bytes) or Isso (1KB) can be globally enabled by setting `enabled_for_all_posts = true` in the right section of your `config.toml` (i.e. `[extra.giscus]`, `[extra.utterances]`, `[extra.hyvortalk]` or `[extra.isso]`). To enable comments on individual posts, set the name of the system `= true` (e.g. `hyvortalk = true`) in the post's front matter. Other than that, it's a fast theme with HTML and CSS which works with JavaScript disabled. Just the way (most of) the web should be :-) diff --git a/content/blog/markdown.ca.md b/content/blog/markdown.ca.md index ddcb1e991..f79b3246a 100644 --- a/content/blog/markdown.ca.md +++ b/content/blog/markdown.ca.md @@ -36,6 +36,8 @@ katex = true +++ ``` +Per activar-lo globalment, afeigeix `katex = true` a la secció `[extra]` del teu `config.toml`. + 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: `\$`. diff --git a/content/blog/markdown.es.md b/content/blog/markdown.es.md index f51f67ddf..93573f965 100644 --- a/content/blog/markdown.es.md +++ b/content/blog/markdown.es.md @@ -36,6 +36,8 @@ katex = true +++ ``` +Para activarlo globalmente, añade `katex = true` en la sección `[extra]` de tu `config.toml`. + 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: `\$`. diff --git a/content/blog/markdown.md b/content/blog/markdown.md index 9fc50bc34..607f18e7a 100644 --- a/content/blog/markdown.md +++ b/content/blog/markdown.md @@ -36,6 +36,8 @@ katex = true +++ ``` +You may enable it globally as well, by setting `katex = true` in the `[extra]` section of your `config.toml`. + 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: `\$`. diff --git a/templates/base.html b/templates/base.html index 0e30b54c3..c2ecd327c 100644 --- a/templates/base.html +++ b/templates/base.html @@ -24,13 +24,13 @@ {% include "partials/footer.html" %} {# Add KaTeX functionality (loads CSS and JS) #} - {%- if page.extra.katex and page.extra.katex == true -%} + {%- if config.extra.katex and config.extra.katex == true or page.extra.katex and page.extra.katex == true -%} {%- endif -%} {# Add copy button to codeblocks #} - {%- if config.extra.copy_button and config.extra.copy_button == true -%} + {%- if config.extra.copy_button and config.extra.copy_button == true or page.extra.copy_button and page.extra.copy_button == true -%} {%- endif -%} diff --git a/theme.toml b/theme.toml index 131106727..a24e4af57 100644 --- a/theme.toml +++ b/theme.toml @@ -36,6 +36,9 @@ copy_button = true # Adds backlinks to footnotes (loads ~500 bytes of JavaScripts). footnote_backlinks = false +# Enable KaTeX for all posts. +katex = false + # Date format used when listing posts (main page, /blog section, tag posts list…) # Default is "6th July 2049" in English and "%d %B %Y" in other languages. long_date_format = "%d %B %Y"