diff --git a/src/renderer/html_handlebars/hbs_renderer.rs b/src/renderer/html_handlebars/hbs_renderer.rs
index 4341ce3b..5acdbd77 100644
--- a/src/renderer/html_handlebars/hbs_renderer.rs
+++ b/src/renderer/html_handlebars/hbs_renderer.rs
@@ -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 {
+ fn entry_is_maybe_book_file(entry: fs::DirEntry) -> Result {
+ 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 {
fn name(&self) -> &str {
"html"
@@ -276,6 +294,11 @@ impl Renderer for HtmlHandlebars {
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);
debug!("Register the index handlebars template");