* Add path to `TranslatedContent` This makes it possible to retrieve the translated page through the `get_page` function. * Use TranslatedContent::path field in test_site_i18n Use it with the `get_page` function to get a reference to the page object.index-subcmd
@@ -1,5 +1,6 @@ | |||||
//! What we are sending to the templates when rendering them | //! What we are sending to the templates when rendering them | ||||
use std::collections::HashMap; | use std::collections::HashMap; | ||||
use std::path::Path; | |||||
use tera::{Map, Value}; | use tera::{Map, Value}; | ||||
@@ -12,6 +13,9 @@ pub struct TranslatedContent<'a> { | |||||
lang: &'a str, | lang: &'a str, | ||||
permalink: &'a str, | permalink: &'a str, | ||||
title: &'a Option<String>, | title: &'a Option<String>, | ||||
/// The path to the markdown file; useful for retrieving the full page through | |||||
/// the `get_page` function. | |||||
path: &'a Path, | |||||
} | } | ||||
impl<'a> TranslatedContent<'a> { | impl<'a> TranslatedContent<'a> { | ||||
@@ -25,6 +29,7 @@ impl<'a> TranslatedContent<'a> { | |||||
lang: &other.lang, | lang: &other.lang, | ||||
permalink: &other.permalink, | permalink: &other.permalink, | ||||
title: &other.meta.title, | title: &other.meta.title, | ||||
path: &other.file.path, | |||||
}); | }); | ||||
} | } | ||||
@@ -40,6 +45,7 @@ impl<'a> TranslatedContent<'a> { | |||||
lang: &other.lang, | lang: &other.lang, | ||||
permalink: &other.permalink, | permalink: &other.permalink, | ||||
title: &other.meta.title, | title: &other.meta.title, | ||||
path: &other.file.path, | |||||
}); | }); | ||||
} | } | ||||
@@ -132,5 +132,8 @@ lang: String?; | |||||
title: String?; | title: String?; | ||||
// A permalink to that content | // A permalink to that content | ||||
permalink: String; | permalink: String; | ||||
// The path to the markdown file; useful for retrieving the full page through | |||||
// the `get_page` function. | |||||
path: String; | |||||
``` | ``` | ||||
@@ -4,6 +4,12 @@ Language: {{lang}} | |||||
{% for t in page.translations %} | {% for t in page.translations %} | ||||
Translated in {{t.lang|default(value=config.default_language)}}: {{t.title}} {{t.permalink|safe}} | Translated in {{t.lang|default(value=config.default_language)}}: {{t.title}} {{t.permalink|safe}} | ||||
<br><br> | |||||
{% set translated_page = get_page(path = t.path) %} | |||||
{{ translated_page.content | safe }} | |||||
{% endfor %} | {% endfor %} | ||||
{% for taxo_kind, items in page.taxonomies %} | {% for taxo_kind, items in page.taxonomies %} | ||||