💥 feat!: add tag filtering for projects (#431)
- Card (project) images no longer require manual top/bottom margin adjustments for proper spacing. Action needed: Review existing card images as previous manual margin adjustments may now be unnecessary/excessive. - Sites using `cards.html` with tags will now load JavaScript by default when tags are present. To maintain no-JS behaviour, explicitly set `enable_cards_tag_filtering = false` in either `config.toml` or the `_index.md` file where `cards.html` is used.
This commit is contained in:
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
@@ -1,7 +1,7 @@
|
||||
+++
|
||||
title = "Domina la configuració de tabi: guia completa"
|
||||
date = 2023-09-18
|
||||
updated = 2024-11-14
|
||||
updated = 2024-11-16
|
||||
description = "Descobreix les múltiples maneres en què pots personalitzar tabi."
|
||||
|
||||
[taxonomies]
|
||||
@@ -391,6 +391,33 @@ Quan un usuari faci clic a la imatge o al títol d'un projecte, serà portat a l
|
||||
|
||||
La pàgina del projecte individual es renderitza amb la plantilla predeterminada, tret que estableixis una altra, per exemple, `template = "info-page.html"`.
|
||||
|
||||
#### Filtrar projectes
|
||||
|
||||
Si afegeixes etiquetes als teus projectes, veuràs un filtre d'etiquetes:
|
||||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/projects_tag_filter_light.webp", dark_src="blog/mastering-tabi-settings/img/projects_tag_filter_dark.webp", alt="Pàgina de projectes amb filtre d'etiquetes", full_width=true) }}
|
||||
|
||||
El sistema de filtratge d'etiquetes utilitza millora progressiva:
|
||||
|
||||
- Sense JavaScript: Les etiquetes enllacen directament a pàgines d'etiquetes dedicades (per exemple, `/tags/nom-de-l-etiqueta`).
|
||||
- Amb JavaScript: Filtratge instantani, sincronització d'URL (#nom-etiqueta) i navegació amb el teclat.
|
||||
|
||||
Per desactivar aquesta funció, estableix `enable_cards_tag_filtering = false` a la secció `[extra]` del fitxer `projects/_index.md` o a `config.toml`.
|
||||
|
||||
{% admonition(type="tip") %}
|
||||
|
||||
Per filtrar projectes per etiquetes, necessites establir etiquetes a la front matter de cada projecte. Per exemple:
|
||||
|
||||
```toml
|
||||
title = "nom del projecte"
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["etiqueta", "etiqueta 2", "tercera etiqueta"]
|
||||
```
|
||||
|
||||
{% end %}
|
||||
|
||||
### Arxiu
|
||||
|
||||
Afegir una pàgina d'arxiu és similar a afegir una pàgina de projectes. Pots crear un directori a `content/archive/`. Allà, pots crear un fitxer `_index.md` amb el següent encapçalament:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
+++
|
||||
title = "Domina la configuración de tabi: guía completa"
|
||||
date = 2023-09-18
|
||||
updated = 2024-11-14
|
||||
updated = 2024-11-16
|
||||
description = "Descubre las múltiples maneras en que puedes personalizar tabi."
|
||||
|
||||
[taxonomies]
|
||||
@@ -391,6 +391,33 @@ Cuando un usuario haga clic en la imagen o el título de un proyecto, será llev
|
||||
|
||||
La página del proyecto individual se renderiza con la plantilla predeterminada, a menos que establezcas otra, por ejemplo, `template = "info-page.html"`.
|
||||
|
||||
#### Filtrar proyectos
|
||||
|
||||
Si agregas etiquetas a tus proyectos, verás un filtro de etiquetas:
|
||||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/projects_tag_filter_light.webp", dark_src="blog/mastering-tabi-settings/img/projects_tag_filter_dark.webp", alt="Página de proyectos con filtro de etiquetas", full_width=true) }}
|
||||
|
||||
El sistema de filtrado de etiquetas utiliza mejora progresiva:
|
||||
|
||||
- Sin JavaScript: Las etiquetas enlazan directamente a páginas de etiquetas dedicadas (por ejemplo, `/tags/nombre-etiqueta`).
|
||||
- Con JavaScript: Filtrado instantáneo, sincronización de URL (#nombre-etiqueta) y navegación por teclado.
|
||||
|
||||
Para desactivar esta función, establece `enable_cards_tag_filtering = false` en la sección `[extra]` del archivo `projects/_index.md` o en `config.toml`.
|
||||
|
||||
{% admonition(type="tip") %}
|
||||
|
||||
Para filtrar proyectos por etiquetas, necesitas establecer etiquetas en el front matter de cada proyecto. Por ejemplo:
|
||||
|
||||
```toml
|
||||
title = "nombre del proyecto"
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["etiqueta uno", "etiqueta 2", "tercera etiqueta"]
|
||||
```
|
||||
|
||||
{% end %}
|
||||
|
||||
### Archivo
|
||||
|
||||
Agregar una página de archivo es similar a agregar una página de proyectos. Puedes crear un directorio en `content/archive/`. Allí, puedes crear un archivo `_index.md` con el siguiente encabezado:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
+++
|
||||
title = "Mastering tabi Settings: A Comprehensive Guide"
|
||||
date = 2023-09-18
|
||||
updated = 2024-11-14
|
||||
updated = 2024-11-16
|
||||
description = "Discover the many ways you can customise your tabi site."
|
||||
|
||||
[taxonomies]
|
||||
@@ -356,7 +356,7 @@ Clicking on this link will take you to the commit history of the post, where you
|
||||
|
||||
### Projects
|
||||
|
||||
tabi has a built-in projects template. To enable it, you can create a directory in `content/projects/`. There, you can create a `_index.md` file with the following front matter:
|
||||
tabi has a built-in projects (cards) template. To enable it, you can create a directory in `content/projects/`. There, you can create a `_index.md` file with the following front matter:
|
||||
|
||||
```toml
|
||||
title = "Projects"
|
||||
@@ -396,6 +396,33 @@ When a user clicks on the image or title of a project, they will be taken to the
|
||||
|
||||
The individual project's page is rendered with the default template, unless you set another one, e.g. `template = "info-page.html"`.
|
||||
|
||||
#### Filtering Projects
|
||||
|
||||
If you add tags to your projects, you will see a tag filter:
|
||||
|
||||
{{ dual_theme_image(light_src="blog/mastering-tabi-settings/img/projects_tag_filter_light.webp", dark_src="blog/mastering-tabi-settings/img/projects_tag_filter_dark.webp", alt="Projects page with tag filter", full_width=true) }}
|
||||
|
||||
The tag filtering system uses progressive enhancement:
|
||||
|
||||
- Without JavaScript: Tags link directly to dedicated tag pages (e.g. `/tags/tag-name`)
|
||||
- With JavaScript: Instant filtering, URL syncing (#tag-name), and keyboard navigation
|
||||
|
||||
To disable this feature, set `enable_cards_tag_filtering = false` in the `[extra]` section of the `projects/_index.md` file or in `config.toml`.
|
||||
|
||||
{% admonition(type="tip") %}
|
||||
|
||||
To filter projects by tags, you need to set tags in the front matter of each project. For example:
|
||||
|
||||
```toml
|
||||
title = "project name"
|
||||
weight = 40
|
||||
|
||||
[taxonomies]
|
||||
tags = ["tag one", "tag 2", "third tag"]
|
||||
```
|
||||
|
||||
{% end %}
|
||||
|
||||
### Archive
|
||||
|
||||
Adding an archive page is similar to adding a projects page. You can create a directory in `content/archive/`. There, you can create a `_index.md` file with the following front matter:
|
||||
|
Reference in New Issue
Block a user