📝 docs: clarify instructions for listing recent posts (#418)
This commit is contained in:
parent
5737c279e5
commit
3442fd9ff0
48
README.md
48
README.md
@ -111,26 +111,44 @@ highlight_code = true
|
|||||||
highlight_theme = "css"
|
highlight_theme = "css"
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Create a `content/_index.md` file with the following content:
|
5. Create a `content/_index.md` file. This file controls how your home page looks and behaves. Choose one of the following options:
|
||||||
|
|
||||||
```
|
**Option A: Serve posts from `/`**:
|
||||||
+++
|
|
||||||
title = "Home"
|
|
||||||
paginate_by = 5 # Set the number of posts per page
|
|
||||||
template = "index.html"
|
|
||||||
+++
|
|
||||||
```
|
|
||||||
|
|
||||||
If you want to serve your blog posts from a different path, such as `blog/`, add a `section_path` in the `[extra]` section of `content/_index.md` (this file will need pagination):
|
```
|
||||||
|
+++
|
||||||
|
title = "Home"
|
||||||
|
paginate_by = 5 # Show 5 posts per page.
|
||||||
|
template = "section.html"
|
||||||
|
+++
|
||||||
|
```
|
||||||
|
|
||||||
```
|
- This will display posts in `content/` with pagination.
|
||||||
[extra]
|
|
||||||
section_path = "blog/_index.md"
|
|
||||||
```
|
|
||||||
|
|
||||||
**Note**: use the full path to the section's `_index.md` file. Simply using `section_path = "blog/"` will not work.
|
**Option B: Serve posts from a different path (e.g., `blog/`)**:
|
||||||
|
|
||||||
6. If you want an introduction section (see screenshot above), add these lines to `content/_index.md`:
|
```
|
||||||
|
+++
|
||||||
|
title = "Home"
|
||||||
|
# Note we're not setting `paginate_by` here.
|
||||||
|
template = "section.html"
|
||||||
|
+++
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
section_path = "blog/_index.md" # Where to find your posts.
|
||||||
|
max_posts = 5 # Show 5 posts on the home page.
|
||||||
|
```
|
||||||
|
|
||||||
|
- This will display the latest 5 posts from the `blog/` section.
|
||||||
|
- Do not set `paginate_by` if you choose this option.
|
||||||
|
- Use the full path to the section's `_index.md` file. Using `section_path = "blog/"` will not work.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Do not set both `paginate_by` and `section_path` in `content/_index.md`.
|
||||||
|
>
|
||||||
|
> These settings are mutually exclusive and using both may result in no posts being displayed.
|
||||||
|
|
||||||
|
1. If you want an introduction section (see screenshot above), add these lines to `content/_index.md`:
|
||||||
|
|
||||||
```
|
```
|
||||||
[extra]
|
[extra]
|
||||||
|
@ -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 = 2024-09-17
|
updated = 2024-10-20
|
||||||
description = "Descobreix les múltiples maneres en què pots personalitzar tabi."
|
description = "Descobreix les múltiples maneres en què pots personalitzar tabi."
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
@ -110,37 +110,48 @@ header = {title = "Hola! Soc tabi~", img = "img/main.webp", img_alt = "Óscar Fe
|
|||||||
|
|
||||||
La descripció és contingut Markdown normal, escrit fora del front matter.
|
La descripció és contingut Markdown normal, escrit fora del front matter.
|
||||||
|
|
||||||
#### Mostrant publicacions recents
|
#### Llistant publicacions recents
|
||||||
|
|
||||||
Si vols mostrar publicacions a la pàgina principal, primer necessites decidir si la seva ruta serà `/` o quelcom diferent, com ara `/blog/`.
|
Per mostrar publicacions a la pàgina principal, primer has de decidir d'on es serviran: de la ruta arrel (`/`) o d'un subdirectori (per exemple, `/blog`).
|
||||||
|
|
||||||
Si vols servir les publicacions des de `/`, necessites configurar `paginate_by = 5` al front matter del teu arxiu `_index.md`. **Nota**: això no es configura a l'apartat `[extra]`, sinó al front matter principal. Exemple:
|
**Opció A: Servir publicacions des de la ruta arrel (`/`)**
|
||||||
|
|
||||||
|
Configura `paginate_by` al front matter del teu arxiu `content/_index.md`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
|
title = "Últimes publicacions"
|
||||||
sort_by = "date"
|
sort_by = "date"
|
||||||
template = "section.html"
|
template = "section.html"
|
||||||
paginate_by = 5
|
paginate_by = 5 # Mostra 5 publicacions per pàgina.
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
header = {title = "Hola! Sóc tabi~", img = "img/main.webp", img_alt = "Óscar Fernández, l'autor del tema" }
|
header = {title = "Hola! Soc tabi~", img = "img/main.webp", img_alt = "El teu nom" }
|
||||||
```
|
```
|
||||||
|
|
||||||
Si prefereixes servir les publicacions des de `/blog`, pots configurar `section_path = "/blog"` a la secció `[extra]`. Aquesta és la configuració d'aquesta demo:
|
{{ admonition(type="note", text="La configuració `paginate_by` va al front matter principal, no a la secció `[extra]`.") }}
|
||||||
|
|
||||||
|
**Opció B: Servir publicacions des d'un subdirectori (per exemple, `/blog`)**
|
||||||
|
|
||||||
|
Utilitza `section_path` a la secció `[extra]` del teu arxiu `content/_index.md`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
title = "Publicacions recents"
|
title = "Últimes publicacions"
|
||||||
sort_by = "date"
|
sort_by = "date"
|
||||||
template = "section.html"
|
template = "section.html"
|
||||||
|
# No configuris `paginate_by` aquí.
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
header = {title = "Hola! Sóc tabi~", img = "img/main.webp", img_alt = "Óscar Fernández, l'autor del tema" }
|
header = {title = "Hola! Soc tabi~", img = "img/main.webp", img_alt = "El teu nom" }
|
||||||
section_path = "blog/_index.es.md"
|
section_path = "blog/_index.md" # On trobar les teves publicacions.
|
||||||
max_posts = 4
|
max_posts = 5 # Mostra fins a 5 publicacions a la pàgina principal.
|
||||||
```
|
```
|
||||||
|
|
||||||
Fixa't que si configures `section_path`, no cal que configuris `paginate_by`. Pots establir `max_posts` per determinar el nombre de publicacions que vols mostrar a la pàgina principal.
|
{{ admonition(type="warning", title="ALERTA", text="No configuris `paginate_by` i `section_path` alhora. Aquestes configuracions són mútuament excloents i usar ambdues pot fer que no es mostrin publicacions.") }}
|
||||||
|
|
||||||
El `title` és el títol que apareix a sobre de les publicacions.
|
Notes addicionals:
|
||||||
|
|
||||||
|
- El `title` al front matter estableix el títol que apareix sobre les publicacions.
|
||||||
|
- Utilitza la ruta completa a l'arxiu `_index.md` de la secció per a `section_path`. Usar `section_path = "blog/"` no funcionarà.
|
||||||
|
|
||||||
##### Mostrar la data dels articles al llistat
|
##### Mostrar la data dels articles al llistat
|
||||||
|
|
||||||
|
@ -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 = 2024-09-17
|
updated = 2024-10-20
|
||||||
description = "Descubre las múltiples maneras en que puedes personalizar tabi."
|
description = "Descubre las múltiples maneras en que puedes personalizar tabi."
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
@ -110,37 +110,48 @@ header = {title = "¡Hola! Soy tabi~", img = "blog/mastering-tabi-settings/img/m
|
|||||||
|
|
||||||
La descripción es contenido Markdown normal, escrito fuera del front matter.
|
La descripción es contenido Markdown normal, escrito fuera del front matter.
|
||||||
|
|
||||||
#### Mostrando publicaciones recientes
|
#### Listando publicaciones recientes
|
||||||
|
|
||||||
Si deseas mostrar publicaciones en la página principal, primero necesitas decidir si su ruta será `/` o algo como `/blog`.
|
Para mostrar publicaciones en la página principal, primero debes decidir de dónde se servirán: de la ruta raíz (`/`) o de un subdirectorio (por ejemplo, `/blog`).
|
||||||
|
|
||||||
Si quieres servir las publicaciones desde `/`, necesitas configurar `paginate_by = 5` en el front matter de tu archivo `_index.md`. **Nota**: esto no se configura en el apartado `[extra]`, sino en el front matter principal. Ejemplo:
|
**Opción A: Servir publicaciones desde la ruta raíz (`/`)**
|
||||||
|
|
||||||
|
Configura `paginate_by` en el front matter de tu archivo `content/_index.md`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
|
title = "Últimas publicaciones"
|
||||||
sort_by = "date"
|
sort_by = "date"
|
||||||
template = "section.html"
|
template = "section.html"
|
||||||
paginate_by = 5
|
paginate_by = 5 # Muestra 5 publicaciones por página.
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
header = {title = "¡Hola! Soy tabi~", img = "img/main.webp", img_alt = "Óscar Fernández, el autor del tema" }
|
header = {title = "¡Hola! Soy tabi~", img = "img/main.webp", img_alt = "Tu nombre" }
|
||||||
```
|
```
|
||||||
|
|
||||||
Si prefieres servir las publicaciones desde `/blog`, puedes configurar `section_path = "/blog"` en la sección `[extra]`. Esta es la configuración de esta demo:
|
{{ admonition(type="note", text="La configuración `paginate_by` va en el front matter principal, no en la sección `[extra]`.") }}
|
||||||
|
|
||||||
|
**Opción B: Servir publicaciones desde un subdirectorio (por ejemplo, `/blog`)**
|
||||||
|
|
||||||
|
Utiliza `section_path` en la sección `[extra]` de tu archivo `content/_index.md`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
title = "Publicaciones recientes"
|
title = "Últimas publicaciones"
|
||||||
sort_by = "date"
|
sort_by = "date"
|
||||||
template = "section.html"
|
template = "section.html"
|
||||||
|
# No configures `paginate_by` aquí.
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
header = {title = "¡Hola! Soy tabi~", img = "img/main.webp", img_alt = "Óscar Fernández, el autor del tema" }
|
header = {title = "¡Hola! Soy tabi~", img = "img/main.webp", img_alt = "Tu nombre" }
|
||||||
section_path = "blog/_index.es.md"
|
section_path = "blog/_index.md" # Dónde encontrar tus publicaciones.
|
||||||
max_posts = 4
|
max_posts = 5 # Muestra hasta 5 publicaciones en la página principal.
|
||||||
```
|
```
|
||||||
|
|
||||||
Fíjate que si configuras `section_path`, no necesitas configurar `paginate_by`. Puedes establecer `max_posts` para determinar el número de publicaciones que deseas mostrar en la página principal.
|
{{ admonition(type="warning", title="ALERTA", text="No configures `paginate_by` y `section_path` a la vez. Estas configuraciones son mutuamente excluyentes y usarlas juntas puede resultar en que no se muestren publicaciones.") }}
|
||||||
|
|
||||||
El `title` es el encabezado que aparece sobre las publicaciones.
|
Notas adicionales:
|
||||||
|
|
||||||
|
- El `title` en el front matter establece el título que aparece sobre las publicaciones.
|
||||||
|
- Usa la ruta completa al archivo `_index.md` de la sección para `section_path`. Usar `section_path = "blog/"` no funcionará.
|
||||||
|
|
||||||
##### Mostrar la fecha de los artículos en el listado
|
##### Mostrar la fecha de los artículos en el listado
|
||||||
|
|
||||||
|
@ -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 = 2024-09-17
|
updated = 2024-10-20
|
||||||
description = "Discover the many ways you can customise your tabi site."
|
description = "Discover the many ways you can customise your tabi site."
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
@ -112,35 +112,46 @@ The description is regular Markdown content, set outside the front matter.
|
|||||||
|
|
||||||
#### Listing Recent Posts
|
#### Listing Recent Posts
|
||||||
|
|
||||||
If you'd like to show posts on the main page, you first need to decide whether their path will be `/` or something like `/blog`.
|
To show posts on your main page, you first need to decide where these posts will be served from: the root path (`/`) or a subdirectory (e.g., `/blog`).
|
||||||
|
|
||||||
If you want to serve the posts from `/`, you need to set `paginate_by = 5` in the front matter of your `_index.md` file. **Note**: this is not in the `[extra]` section, but in the main front matter. Example:
|
**Option A: Serve posts from the root path (`/`)**
|
||||||
|
|
||||||
```toml
|
Set `paginate_by` in the front matter of your `content/_index.md` file:
|
||||||
sort_by = "date"
|
|
||||||
template = "section.html"
|
|
||||||
paginate_by = 5
|
|
||||||
|
|
||||||
[extra]
|
|
||||||
header = {title = "Hello! I'm tabi~", img = "img/main.webp", img_alt = "Óscar Fernández, the theme's author" }
|
|
||||||
```
|
|
||||||
|
|
||||||
If you'd rather serve the posts from `/blog`, you can set `section_path = "/blog"` in the `[extra]` section. This is the setup of this demo:
|
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
title = "Latest posts"
|
title = "Latest posts"
|
||||||
sort_by = "date"
|
sort_by = "date"
|
||||||
template = "section.html"
|
template = "section.html"
|
||||||
|
paginate_by = 5 # Show 5 posts per page.
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
header = {title = "Hello! I'm tabi~", img = "img/main.webp", img_alt = "Óscar Fernández, the theme's author" }
|
header = {title = "Hello! I'm tabi~", img = "img/main.webp", img_alt = "Your Name" }
|
||||||
section_path = "blog/_index.md"
|
|
||||||
max_posts = 4
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Notice how if you set `section_path`, you don't need to set `paginate_by`. You can set `max_posts` to the determine the number of posts you want to show on the main page.
|
{{ admonition(type="note", text="The `paginate_by` setting goes in the main front matter, not in the `[extra]` section.") }}
|
||||||
|
|
||||||
The `title` is the header that appears above the posts.
|
**Option B: Serve posts from a subdirectory (e.g., `/blog`)**
|
||||||
|
|
||||||
|
Use `section_path` in the `[extra]` section of your `content/_index.md` file:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
title = "Latest posts"
|
||||||
|
sort_by = "date"
|
||||||
|
template = "section.html"
|
||||||
|
# Do not set `paginate_by` here.
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
header = {title = "Hello! I'm tabi~", img = "img/main.webp", img_alt = "Your Name" }
|
||||||
|
section_path = "blog/_index.md" # Where to find your posts.
|
||||||
|
max_posts = 5 # Show up to 5 posts on the main page.
|
||||||
|
```
|
||||||
|
|
||||||
|
{{ admonition(type="warning", text="Do not set both `paginate_by` and `section_path`. These settings are mutually exclusive and using both may result in no posts being displayed.") }}
|
||||||
|
|
||||||
|
Additional notes:
|
||||||
|
|
||||||
|
- The `title` in the front matter sets the header that appears above the posts.
|
||||||
|
- Use the full path to the section's `_index.md` file for `section_path`. Using `section_path = "blog/"` will not work.
|
||||||
|
|
||||||
##### Display the Date of Posts in Listing
|
##### Display the Date of Posts in Listing
|
||||||
|
|
||||||
|
@ -4,6 +4,32 @@
|
|||||||
{{ macros_page_header::page_header(title=section.title) }}
|
{{ macros_page_header::page_header(title=section.title) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{# Check if both paginate_by and section_path are set #}
|
||||||
|
{%- set both_settings_set = paginator and extra_section -%}
|
||||||
|
{%- set paginator_has_no_pages = paginator and paginator.pages | length == 0 -%}
|
||||||
|
{%- set extra_section_has_pages = extra_section and extra_section.pages | length > 0 -%}
|
||||||
|
|
||||||
|
{# Display a warning if both settings are set, paginator has no pages, but extra section does #}
|
||||||
|
{%- if both_settings_set and paginator_has_no_pages and extra_section_has_pages -%}
|
||||||
|
<div class="admonition warning">
|
||||||
|
<div class="admonition-icon admonition-icon-warning"></div>
|
||||||
|
<div class="admonition-content">
|
||||||
|
<strong class="admonition-title">WARNING: Conflicting Configuration</strong>
|
||||||
|
<p>
|
||||||
|
No posts are displayed due to conflicting settings in your <code>_index.md</code>:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>paginate_by</code> is set, but there are no posts to paginate in the current section.</li>
|
||||||
|
<li><code>section_path</code> is set, and posts are available in that section.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<strong>Solution:</strong> Remove <code>paginate_by</code> from your <code>_index.md</code>.
|
||||||
|
To limit the number of displayed posts, use <code>max_posts</code> in the <code>[extra]</code> section instead.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if paginator %}
|
{%- if paginator %}
|
||||||
{%- set pages = paginator.pages -%}
|
{%- set pages = paginator.pages -%}
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -14,7 +40,7 @@
|
|||||||
{{ macros_list_posts::list_posts(posts=pages, max=max_posts, language_strings=language_strings, section_path=path) }}
|
{{ macros_list_posts::list_posts(posts=pages, max=max_posts, language_strings=language_strings, section_path=path) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if paginator %}
|
{% if paginator and paginator.pages | length > 0 %}
|
||||||
{%- include "partials/paginate.html" -%}
|
{%- include "partials/paginate.html" -%}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user