From 28fe074ea0ced9a3302b77e2b587968607513b26 Mon Sep 17 00:00:00 2001 From: Christian Franzl Date: Thu, 2 Jan 2025 21:50:56 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20support=20using=20info-page?= =?UTF-8?q?.html=20for=20sections=20(#455)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: welpo --- .../blog/mastering-tabi-settings/index.ca.md | 13 ++++++++++++- .../blog/mastering-tabi-settings/index.es.md | 13 ++++++++++++- content/blog/mastering-tabi-settings/index.md | 13 ++++++++++++- templates/info-page.html | 6 ++++-- templates/partials/extra_features.html | 17 +++++++++++------ 5 files changed, 51 insertions(+), 11 deletions(-) diff --git a/content/blog/mastering-tabi-settings/index.ca.md b/content/blog/mastering-tabi-settings/index.ca.md index b394805d5..6984af99a 100644 --- a/content/blog/mastering-tabi-settings/index.ca.md +++ b/content/blog/mastering-tabi-settings/index.ca.md @@ -1,7 +1,7 @@ +++ title = "Domina la configuració de tabi: guia completa" date = 2023-09-18 -updated = 2024-11-30 +updated = 2025-01-02 description = "Descobreix les múltiples maneres en què pots personalitzar tabi." [taxonomies] @@ -490,6 +490,17 @@ path = "about" Fixa't com s'estableix `path = "about"`. Zola situarà la pàgina a `$base_url/about/`. Si vols que la pàgina estigui disponible a `/contacte/`, hauries d'establir `path = "contacte"`. +La plantilla `info-page.html` també es pot utilitzar per crear landing pages a la ruta arrel (`"/"`). Per fer-ho, l'arxiu `content/_index.md` hauria de ser així: + +```markdown ++++ +title = "Títol de la pàgina" +template = "info-page.html" ++++ + +Contingut amb Markdown. +``` + --- ## SEO diff --git a/content/blog/mastering-tabi-settings/index.es.md b/content/blog/mastering-tabi-settings/index.es.md index 044b2659c..cc0939307 100644 --- a/content/blog/mastering-tabi-settings/index.es.md +++ b/content/blog/mastering-tabi-settings/index.es.md @@ -1,7 +1,7 @@ +++ title = "Domina la configuración de tabi: guía completa" date = 2023-09-18 -updated = 2024-11-30 +updated = 2025-01-02 description = "Descubre las múltiples maneras en que puedes personalizar tabi." [taxonomies] @@ -490,6 +490,17 @@ path = "about" Fíjate cómo se establece `path = "about"`. Zola colocará la página en `$base_url/about/`. Si deseas que la página esté disponible en `/contacto/`, tendrías que establecer `path = "contacto"`. +La plantilla `info-page.html` también se puede utilizar para crear lading pages en la ruta raíz (`"/"`). Para hacerlo, el archivo `content/_index.md` debería verse así: + +```markdown ++++ +title = "Título de la página" +template = "info-page.html" ++++ + +Contenido con Markdown. +``` + --- ## SEO diff --git a/content/blog/mastering-tabi-settings/index.md b/content/blog/mastering-tabi-settings/index.md index afc850321..b022d0aa7 100644 --- a/content/blog/mastering-tabi-settings/index.md +++ b/content/blog/mastering-tabi-settings/index.md @@ -1,7 +1,7 @@ +++ title = "Mastering tabi Settings: A Comprehensive Guide" date = 2023-09-18 -updated = 2024-11-30 +updated = 2025-01-02 description = "Discover the many ways you can customise your tabi site." [taxonomies] @@ -495,6 +495,17 @@ path = "about" Notice how the `path` is set to `about`. Zola will place the page at `$base_url/about/`. If you'd like to have the page available at `/contact/`, you'd set `path = "contact"`. +The `info-page.html` template can also be used to create landing pages at the path root (`"/"`). To do that, the `content/_index.md` file should look like this: + +```markdown ++++ +title = "Landing Page Title" +template = "info-page.html" ++++ + +Place your landing page Markdown content here. +``` + --- ## SEO diff --git a/templates/info-page.html b/templates/info-page.html index e92ceeb22..077b1a1c0 100644 --- a/templates/info-page.html +++ b/templates/info-page.html @@ -4,13 +4,15 @@ {%- block main_content %} -{{ macros_page_header::page_header(title=page.title) }} +{%- set page_or_section = page | default(value=section) -%} + +{{ macros_page_header::page_header(title=page_or_section.title) }}
{# The replace pattern is used to enable arbitrary locations for the Table of Contents #} {# This is Philipp Oppermann's workaround: https://github.com/getzola/zola/issues/584#issuecomment-474329637 #} - {{ page.content | replace(from="", to=macros_toc::toc(page=page, header=false, language_strings=language_strings)) | safe }} + {{ page_or_section.content | replace(from="", to=macros_toc::toc(page=page_or_section, header=false, language_strings=language_strings)) | safe }}
diff --git a/templates/partials/extra_features.html b/templates/partials/extra_features.html index 46a10dffd..9a9128919 100644 --- a/templates/partials/extra_features.html +++ b/templates/partials/extra_features.html @@ -1,6 +1,11 @@ {%- set page_or_section = page | default(value=section) -%} + +{# prepare parameters for evaluate_setting_priority macro #} +{%- set page_s = page | default(value="") -%} +{%- set section_s = section | default(value="") -%} + {# Quick navigation buttons #} -{% if macros_settings::evaluate_setting_priority(setting="quick_navigation_buttons", page=page_or_section, default_global_value=false) == "true" %} +{% if macros_settings::evaluate_setting_priority(setting="quick_navigation_buttons", page=page_s, section=section_s, default_global_value=false) == "true" %}
{# Button to go show a floating Table of Contents #} {% if page_or_section.toc %} @@ -31,13 +36,13 @@ {% endif %} {# Add KaTeX functionality #} -{%- if macros_settings::evaluate_setting_priority(setting="katex", page=page_or_section, default_global_value=false) == "true" -%} +{%- if macros_settings::evaluate_setting_priority(setting="katex", page=page_s, section=section_s, default_global_value=false) == "true" -%} {%- endif -%} {# Load mermaid.js #} -{%- if macros_settings::evaluate_setting_priority(setting="mermaid", page=page_or_section, default_global_value=false) == "true" -%} +{%- if macros_settings::evaluate_setting_priority(setting="mermaid", page=page_s, section=section_s, default_global_value=false) == "true" -%} {%- if config.extra.serve_local_mermaid | default(value=true) -%} {%- else -%} @@ -46,7 +51,7 @@ {%- endif -%} {# Add copy button to code blocks #} -{%- if macros_settings::evaluate_setting_priority(setting="copy_button", page=page_or_section, default_global_value=true) == "true" -%} +{%- if macros_settings::evaluate_setting_priority(setting="copy_button", page=page_s, section=section_s, default_global_value=true) == "true" -%} {#- Add hidden HTML elements with the translated strings for the button's interactions -#}