Create optional language switcher
4 files changed, 29 insertions(+), 6 deletions(-)
M config.toml → config.toml
@@ -44,23 +44,29 @@ [extra] date_format="%d %b, %Y" webserver_sends_csp_headers=true +language_switcher=true + +translations = [ + { code="en", name="English" }, + { code="de", name="Deutsch" }, +] [[extra.main_menu]] -name_en = "Home" +name = "Home" name_de = "Startseite" url = "/" [[extra.main_menu]] -name_en = "Bear" +name = "Bear" name_de = "Bear" url = "@/bear.md" [[extra.main_menu]] -name_en = "Zola" +name = "Zola" name_de = "Zola" url = "@/zola.md" [[extra.main_menu]] -name_en = "Blog" +name = "Blog" name_de = "Blog" url = "@/blog/_index.md"
M templates/header.html → templates/header.html
@@ -1,4 +1,5 @@ <header> + {% include "language_switcher.html" %} <a href="{{ get_url(path="@/_index.md", lang=lang) }}" class="title"> <h1>{{ config.title }}</h1> </a>
A templates/language_switcher.html
@@ -0,0 +1,11 @@ +{% if config.extra.language_switcher %} + <nav> + {%- for tr in config.extra.translations %} + {%- if tr.code == lang %} + <strong>{{ tr.name }}</strong> + {%- else %} + <a href="{{ get_url(path="/", lang=tr.code) }}">{{ tr.name }}</a> + {%- endif %} + {%- endfor %} + </nav> +{% endif %}