Allow relative paths in new_file()/new_section() (#763)

These functions expect that file_path can have base_path stripped from
it, but during reloading they can be given relative paths.  Maybe this
behaviour varies between the notify backends?

This fixes two zola serve panics on FreeBSD (poll backend).
This commit is contained in:
Thomas Hurst 2019-08-01 09:17:38 +01:00 committed by Vincent Prouillet
parent 7e618684da
commit 0cd9e58a86

View file

@ -57,7 +57,7 @@ impl FileInfo {
let mut parent = file_path.parent().expect("Get parent of page").to_path_buf();
let name = path.file_stem().unwrap().to_string_lossy().to_string();
let mut components = find_content_components(
&file_path.strip_prefix(base_path).expect("Strip base path prefix for page"),
&file_path.strip_prefix(base_path).unwrap_or(&file_path),
);
let relative = if !components.is_empty() {
format!("{}/{}.md", components.join("/"), name)
@ -92,7 +92,7 @@ impl FileInfo {
let parent = path.parent().expect("Get parent of section").to_path_buf();
let name = path.file_stem().unwrap().to_string_lossy().to_string();
let components = find_content_components(
&file_path.strip_prefix(base_path).expect("Strip base path prefix for section"),
&file_path.strip_prefix(base_path).unwrap_or(&file_path),
);
let relative = if !components.is_empty() {
format!("{}/{}.md", components.join("/"), name)