Add documentation and unit tests for `.mdbookignore`
This commit is contained in:
parent
1799d4075e
commit
fcf98be339
|
@ -298,6 +298,16 @@ The value can be any valid URI the browser should navigate to (e.g. `https://rus
|
||||||
This will generate an HTML page which will automatically redirect to the given location.
|
This will generate an HTML page which will automatically redirect to the given location.
|
||||||
Note that the source location does not support `#` anchor redirects.
|
Note that the source location does not support `#` anchor redirects.
|
||||||
|
|
||||||
|
### `[.mdbookignore]`
|
||||||
|
|
||||||
|
You can use a `.mdbookignore` file to exclude files from the build process. The file is places in the `src` directory of your book and has the format known from [`.gitignore`](https://git-scm.com/docs/gitignore) files.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
```
|
||||||
|
*.rs
|
||||||
|
/target/
|
||||||
|
```
|
||||||
|
|
||||||
## Markdown Renderer
|
## Markdown Renderer
|
||||||
|
|
||||||
The Markdown renderer will run preprocessors and then output the resulting
|
The Markdown renderer will run preprocessors and then output the resulting
|
||||||
|
|
|
@ -610,7 +610,8 @@ fn preprocessor_should_run(
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use toml::value::Table;
|
use tempfile::Builder as TempFileBuilder;
|
||||||
|
use toml::value::{Table, Value};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn config_defaults_to_html_renderer_if_empty() {
|
fn config_defaults_to_html_renderer_if_empty() {
|
||||||
|
@ -879,4 +880,21 @@ mod tests {
|
||||||
let got = preprocessor_should_run(&BoolPreprocessor(should_be), &html, &cfg);
|
let got = preprocessor_should_run(&BoolPreprocessor(should_be), &html, &cfg);
|
||||||
assert_eq!(got, should_be);
|
assert_eq!(got, should_be);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn build_test_book() {
|
||||||
|
let temp_dir = TempFileBuilder::new().prefix("mdbook-").tempdir().unwrap();
|
||||||
|
let test_book_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("test_book");
|
||||||
|
|
||||||
|
utils::fs::copy_files_except_ext(&test_book_dir, temp_dir.path(), true, None, None)
|
||||||
|
.expect("Error while copying test book to temp dir");
|
||||||
|
|
||||||
|
let book = MDBook::load(temp_dir.path()).expect("Unable to load book");
|
||||||
|
book.build().expect("Error while building book");
|
||||||
|
|
||||||
|
let book_dir = temp_dir.path().join("book");
|
||||||
|
assert!(book_dir.join("index.html").exists());
|
||||||
|
assert!(book_dir.join(".mdbookignore").exists());
|
||||||
|
assert!(!book_dir.join("ignored_file").exists());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
ignored_file
|
|
@ -0,0 +1 @@
|
||||||
|
This will not be copied to the book directory.
|
Loading…
Reference in New Issue