Add sections to sitemap
This commit is contained in:
parent
cd70aac065
commit
d8995c156c
|
@ -335,6 +335,8 @@ impl Site {
|
|||
fn render_sitemap(&self) -> Result<()> {
|
||||
let mut context = Context::new();
|
||||
context.add("pages", &self.pages.values().collect::<Vec<&Page>>());
|
||||
context.add("sections", &self.sections.values().collect::<Vec<&Section>>());
|
||||
// TODO: add categories and tags pages
|
||||
let sitemap = self.templates.render("sitemap.xml", &context)?;
|
||||
|
||||
create_file(self.output_path.join("sitemap.xml"), &sitemap)?;
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
{% for page in pages %}
|
||||
<url>
|
||||
<loc>{{ page.permalink }}</loc>
|
||||
<loc>{{ page.permalink | safe }}</loc>
|
||||
{% if page.date %}
|
||||
<lastmod>{{ page.date }}</lastmod>
|
||||
{% endif %}
|
||||
</url>
|
||||
{% endfor %}
|
||||
{% for section in sections %}
|
||||
<url>
|
||||
<loc>{{ section.permalink | safe }}</loc>
|
||||
</url>
|
||||
{% endfor %}
|
||||
</urlset>
|
||||
|
|
|
@ -78,7 +78,6 @@ macro_rules! file_contains {
|
|||
let mut file = File::open(&path).unwrap();
|
||||
let mut s = String::new();
|
||||
file.read_to_string(&mut s).unwrap();
|
||||
|
||||
s.contains($text)
|
||||
}
|
||||
}
|
||||
|
@ -117,6 +116,10 @@ fn test_can_build_site_without_live_reload() {
|
|||
|
||||
// no live reload code
|
||||
assert_eq!(file_contains!(public, "index.html", "/livereload.js?port=1112&mindelay=10"), false);
|
||||
|
||||
// Both pages and sections are in the sitemap
|
||||
assert!(file_contains!(public, "sitemap.xml", "<loc>https://replace-this-with-your-url.com/posts/simple</loc>"));
|
||||
assert!(file_contains!(public, "sitemap.xml", "<loc>https://replace-this-with-your-url.com/posts</loc>"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Reference in a new issue