addded the metadata preprocessor to the default list of preprocessors.
This commit is contained in:
parent
c5aa243e0f
commit
5fa84ac880
|
@ -23,7 +23,8 @@ use toml::Value;
|
||||||
|
|
||||||
use crate::errors::*;
|
use crate::errors::*;
|
||||||
use crate::preprocess::{
|
use crate::preprocess::{
|
||||||
CmdPreprocessor, IndexPreprocessor, LinkPreprocessor, Preprocessor, PreprocessorContext,
|
CmdPreprocessor, IndexPreprocessor, LinkPreprocessor, MetadataPreprocessor, Preprocessor,
|
||||||
|
PreprocessorContext,
|
||||||
};
|
};
|
||||||
use crate::renderer::{CmdRenderer, HtmlHandlebars, MarkdownRenderer, RenderContext, Renderer};
|
use crate::renderer::{CmdRenderer, HtmlHandlebars, MarkdownRenderer, RenderContext, Renderer};
|
||||||
use crate::utils;
|
use crate::utils;
|
||||||
|
@ -375,12 +376,15 @@ fn default_preprocessors() -> Vec<Box<dyn Preprocessor>> {
|
||||||
vec![
|
vec![
|
||||||
Box::new(LinkPreprocessor::new()),
|
Box::new(LinkPreprocessor::new()),
|
||||||
Box::new(IndexPreprocessor::new()),
|
Box::new(IndexPreprocessor::new()),
|
||||||
|
Box::new(MetadataPreprocessor::new()),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_default_preprocessor(pre: &dyn Preprocessor) -> bool {
|
fn is_default_preprocessor(pre: &dyn Preprocessor) -> bool {
|
||||||
let name = pre.name();
|
let name = pre.name();
|
||||||
name == LinkPreprocessor::NAME || name == IndexPreprocessor::NAME
|
name == LinkPreprocessor::NAME
|
||||||
|
|| name == IndexPreprocessor::NAME
|
||||||
|
|| name == MetadataPreprocessor::NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Look at the `MDBook` and try to figure out what preprocessors to run.
|
/// Look at the `MDBook` and try to figure out what preprocessors to run.
|
||||||
|
@ -396,6 +400,7 @@ fn determine_preprocessors(config: &Config) -> Result<Vec<Box<dyn Preprocessor>>
|
||||||
match key.as_ref() {
|
match key.as_ref() {
|
||||||
"links" => preprocessors.push(Box::new(LinkPreprocessor::new())),
|
"links" => preprocessors.push(Box::new(LinkPreprocessor::new())),
|
||||||
"index" => preprocessors.push(Box::new(IndexPreprocessor::new())),
|
"index" => preprocessors.push(Box::new(IndexPreprocessor::new())),
|
||||||
|
"metadata" => preprocessors.push(Box::new(MetadataPreprocessor::new())),
|
||||||
name => preprocessors.push(interpret_custom_preprocessor(
|
name => preprocessors.push(interpret_custom_preprocessor(
|
||||||
name,
|
name,
|
||||||
&preprocessor_table[name],
|
&preprocessor_table[name],
|
||||||
|
@ -513,9 +518,10 @@ mod tests {
|
||||||
let got = determine_preprocessors(&cfg);
|
let got = determine_preprocessors(&cfg);
|
||||||
|
|
||||||
assert!(got.is_ok());
|
assert!(got.is_ok());
|
||||||
assert_eq!(got.as_ref().unwrap().len(), 2);
|
assert_eq!(got.as_ref().unwrap().len(), 3);
|
||||||
assert_eq!(got.as_ref().unwrap()[0].name(), "links");
|
assert_eq!(got.as_ref().unwrap()[0].name(), "links");
|
||||||
assert_eq!(got.as_ref().unwrap()[1].name(), "index");
|
assert_eq!(got.as_ref().unwrap()[1].name(), "index");
|
||||||
|
assert_eq!(got.as_ref().unwrap()[2].name(), "metadata");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Reference in New Issue