Add a warning for possible theme directories which will no longer be used

This commit is contained in:
Matt Ickstadt 2018-05-16 12:06:55 -05:00
parent 9a9c625319
commit 0de177a344
1 changed files with 23 additions and 0 deletions

View File

@ -257,6 +257,24 @@ impl HtmlHandlebars {
} }
} }
// TODO(mattico): Remove some time after the 0.1.8 release
fn maybe_wrong_theme_dir(dir: &Path) -> Result<bool> {
fn entry_is_maybe_book_file(entry: fs::DirEntry) -> Result<bool> {
Ok(entry.file_type()?.is_file() && entry.path().extension().map_or(false, |ext| ext == "md"))
}
if dir.is_dir() {
for entry in fs::read_dir(dir)? {
if entry_is_maybe_book_file(entry?).unwrap_or(false) {
return Ok(false);
}
}
Ok(true)
} else {
Ok(false)
}
}
impl Renderer for HtmlHandlebars { impl Renderer for HtmlHandlebars {
fn name(&self) -> &str { fn name(&self) -> &str {
"html" "html"
@ -276,6 +294,11 @@ impl Renderer for HtmlHandlebars {
None => ctx.root.join("theme"), None => ctx.root.join("theme"),
}; };
if html_config.theme.is_none() && maybe_wrong_theme_dir(&src_dir.join("theme")).unwrap_or(false) {
warn!("Previous versions of mdBook erroneously accepted `./src/theme` as an automatic theme directory");
warn!("Please move your theme files to `./theme` for them to continue being used");
}
let theme = theme::Theme::new(theme_dir); let theme = theme::Theme::new(theme_dir);
debug!("Register the index handlebars template"); debug!("Register the index handlebars template");