Ensure root output directory exists explicitly.
Aliases that have no directory nesting sneakily avoid the code path that ensures the directories exist
This commit is contained in:
parent
4c9fd0d302
commit
05b8bb4ac6
|
@ -565,6 +565,7 @@ impl Site {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn render_aliases(&self) -> Result<()> {
|
pub fn render_aliases(&self) -> Result<()> {
|
||||||
|
ensure_directory_exists(&self.output_path)?;
|
||||||
for (_, page) in self.library.pages() {
|
for (_, page) in self.library.pages() {
|
||||||
for alias in &page.meta.aliases {
|
for alias in &page.meta.aliases {
|
||||||
let mut output_path = self.output_path.to_path_buf();
|
let mut output_path = self.output_path.to_path_buf();
|
||||||
|
|
|
@ -19,7 +19,7 @@ fn can_parse_site() {
|
||||||
site.load().unwrap();
|
site.load().unwrap();
|
||||||
|
|
||||||
// Correct number of pages (sections are pages too)
|
// Correct number of pages (sections are pages too)
|
||||||
assert_eq!(site.library.pages().len(), 15);
|
assert_eq!(site.library.pages().len(), 16);
|
||||||
let posts_path = path.join("content").join("posts");
|
let posts_path = path.join("content").join("posts");
|
||||||
|
|
||||||
// Make sure the page with a url doesn't have any sections
|
// Make sure the page with a url doesn't have any sections
|
||||||
|
@ -41,7 +41,7 @@ fn can_parse_site() {
|
||||||
|
|
||||||
let posts_section = site.library.get_section(&posts_path.join("_index.md")).unwrap();
|
let posts_section = site.library.get_section(&posts_path.join("_index.md")).unwrap();
|
||||||
assert_eq!(posts_section.subsections.len(), 1);
|
assert_eq!(posts_section.subsections.len(), 1);
|
||||||
assert_eq!(posts_section.pages.len(), 7);
|
assert_eq!(posts_section.pages.len(), 8);
|
||||||
assert_eq!(posts_section.ancestors, vec![*site.library.get_section_key(&index_section.file.path).unwrap()]);
|
assert_eq!(posts_section.ancestors, vec![*site.library.get_section_key(&index_section.file.path).unwrap()]);
|
||||||
|
|
||||||
// Make sure we remove all the pwd + content from the sections
|
// Make sure we remove all the pwd + content from the sections
|
||||||
|
|
8
test_site/content/posts/top-level-alias.md
Normal file
8
test_site/content/posts/top-level-alias.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
+++
|
||||||
|
title = "Top level alias"
|
||||||
|
description = ""
|
||||||
|
date = 2017-01-01
|
||||||
|
aliases = ["top-level.html"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Simple page
|
Loading…
Reference in a new issue