From 5bc593b67609454d8a1b0b1245ed53cc1f778171 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar?= Date: Thu, 2 May 2024 22:57:56 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(shortcodes):=20add=20remote=5F?= =?UTF-8?q?text=20shortcode=20(#305)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/blog/shortcodes/index.ca.md | 28 ++++++++++++++++++++++++++- content/blog/shortcodes/index.es.md | 28 ++++++++++++++++++++++++++- content/blog/shortcodes/index.md | 28 ++++++++++++++++++++++++++- templates/shortcodes/remote_text.html | 7 +++++++ 4 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 templates/shortcodes/remote_text.html diff --git a/content/blog/shortcodes/index.ca.md b/content/blog/shortcodes/index.ca.md index fc9ff43..680a02b 100644 --- a/content/blog/shortcodes/index.ca.md +++ b/content/blog/shortcodes/index.ca.md @@ -1,7 +1,7 @@ +++ title = "Shortcodes personalitzats" date = 2023-02-19 -updated = 2024-03-20 +updated = 2024-05-02 description = "Aquest tema inclou alguns shortcodes personalitzats útils que pots utilitzar per millorar les teves publicacions. Ja sigui per mostrar imatges que s'adapten als temes clar i fosc, o per donar format a una secció de referències amb un aspecte professional, aquests shortcodes personalitzats t'ajudaran." [taxonomies] @@ -97,6 +97,32 @@ Tots els altres shortcodes d'imatges poden utilizar l'amplada completa assignant ## Shortcodes de text +### Text remot + +Afegeix text des d'una URL remota o un arxiu local. + +**Important**: + +- **Arxius remots VS arxius locals**: Si `src` comença amb "http", es tractarà com un arxiu remot. D'altra banda, s'assumeix que és una ruta d'arxiu local. +- **Accés a arxius**: Atès que utilitza la funció [`load_data`](https://www.getzola.org/documentation/templates/overview/#load-data) de Zola, els arxius locals han d'estar dins del directori de Zola —vegeu la [lògica de cerca d'arxius](https://www.getzola.org/documentation/templates/overview/#file-searching-logic). +- **Formateig de blocs de codi**: Per mostrar el text com un bloc de codi, has d'afegir manualment les tanques de codi Markdown (cometes inverses) i, opcionalment, especificar el llenguatge de programació per al ressaltat sintàctic. + +#### Ús + +Afegeix un script de Python remot dins d'un bloc de codi amb ressaltat sintàctic: + +```` +```python +{{/* remote_text(src="https://example.com/script.py") */}} +``` +```` + +Mostra el text d'un arxiu local: + +``` +{{/* remote_text(src="ruta/a/arxiu.txt") */}} +``` + ### Advertències Destaca informació amb aquests shortcodes. Hi ha cinc tipus (`type`): `note`, `tip`, `info`, `warning`, i `danger`. diff --git a/content/blog/shortcodes/index.es.md b/content/blog/shortcodes/index.es.md index 9e38655..c8e53ad 100644 --- a/content/blog/shortcodes/index.es.md +++ b/content/blog/shortcodes/index.es.md @@ -1,7 +1,7 @@ +++ title = "Shortcodes personalizados" date = 2023-02-19 -updated = 2024-03-20 +updated = 2024-05-02 description = "Este tema incluye algunos shortcodes personalizados útiles que puedes utilizar para mejorar tus publicaciones. Puedes mostrar imágenes que se adapten a los temas claro y oscuro, dar formato a una sección de referencias con un aspecto profesional, y más." [taxonomies] @@ -98,6 +98,32 @@ Todos los otros shortcodes de imágenes pueden usar el ancho completo asignando ## Shortcodes de texto +### Texto remoto + +Añade texto desde una URL remota o un archivo local. + +**Importante**: + +- **Archivos remotos VS archivos locales**: Si `src` empieza con "http", se tratará como un archivo remoto. De lo contrario, se asume que es una ruta de archivo local. +- **Acceso a archivos**: Dado que utiliza la función [`load_data`](https://www.getzola.org/documentation/templates/overview/#load-data) de Zola, los archivos locales deben estar dentro del directorio de Zola —ver la [lógica de búsqueda de archivos](https://www.getzola.org/documentation/templates/overview/#file-searching-logic). +- **Formateo de bloques de código**: Para mostrar el texto como un bloque de código, debes añadir manualmente las cercas de código Markdown (comillas invertidas) y, opcionalmente, especificar el lenguaje de programación para el resaltado sintáctico. + +#### Uso + +Añade un script de Python remoto dentro de un bloque de código con resaltado sintáctico: + +```` +```python +{{/* remote_text(src="https://example.com/script.py") */}} +``` +```` + +Visualización de texto de un archivo local: + +``` +{{/* remote_text(src="ruta/a/archivo.txt") */}} +``` + ### Advertencias Destaca información con estos shortcodes. Hay cinco tipos (`type`): `note`, `tip`, `info`, `warning`, y `danger`. diff --git a/content/blog/shortcodes/index.md b/content/blog/shortcodes/index.md index e85f7f9..16412c5 100644 --- a/content/blog/shortcodes/index.md +++ b/content/blog/shortcodes/index.md @@ -1,7 +1,7 @@ +++ title = "Custom shortcodes" date = 2023-02-19 -updated = 2024-03-20 +updated = 2024-05-02 description = "This theme includes some useful custom shortcodes that you can use to enhance your posts. Whether you want to display images that adapt to light and dark themes, or format a professional-looking reference section, these custom shortcodes have got you covered." [taxonomies] @@ -97,6 +97,32 @@ All other image shortcodes can be made into full-width by setting the optional p ## Text shortcodes +### Remote text + +Embed text from a remote URL or a local file. + +**Important**: + +- **Remote VS local files**: If `src` starts with "http", it will be treated as a remote file. Otherwise, it assumes a local file path. +- **Files access**: As it uses Zola's [`load_data`](https://www.getzola.org/documentation/templates/overview/#load-data), local files must be inside the Zola directory—see [File searching logic](https://www.getzola.org/documentation/templates/overview/#file-searching-logic). +- **Code block formatting**: To display the text as a code block, you must manually add the Markdown code fences (backticks) and, optionally, specify the programming language for syntax highlighting. + +#### Usage + +Embedding a remote Python script within a code block with syntax highlighting: + +```` +```python +{{/* remote_text(src="https://example.com/script.py") */}} +``` +```` + +Displaying text from a local file: + +``` +{{/* remote_text(src="path/to/file.txt") */}} +``` + ### Admonitions Bring attention to information with these admonition shortcodes. They come in five `type`s: `note`, `tip`, `info`, `warning`, and `danger`. diff --git a/templates/shortcodes/remote_text.html b/templates/shortcodes/remote_text.html new file mode 100644 index 0000000..4c186d3 --- /dev/null +++ b/templates/shortcodes/remote_text.html @@ -0,0 +1,7 @@ +{#- load_data uses different arguments based on whether it's a remote or local file -#} +{%- if src is starting_with("http") -%} + {%- set response = load_data(url=src, format="plain") -%} +{%- else -%} + {%- set response = load_data(path=src, format="plain") -%} +{%- endif -%} +{{- response | trim_end | safe -}}