update language attribute to configurable
This commit is contained in:
parent
04e74bfa1b
commit
4f7c299de7
|
@ -2,6 +2,7 @@
|
||||||
title = "mdBook Documentation"
|
title = "mdBook Documentation"
|
||||||
description = "Create book from markdown files. Like Gitbook but implemented in Rust"
|
description = "Create book from markdown files. Like Gitbook but implemented in Rust"
|
||||||
authors = ["Mathieu David", "Michael-F-Bryan"]
|
authors = ["Mathieu David", "Michael-F-Bryan"]
|
||||||
|
language = "en"
|
||||||
|
|
||||||
[output.html]
|
[output.html]
|
||||||
mathjax-support = true
|
mathjax-support = true
|
||||||
|
|
|
@ -42,6 +42,7 @@ This is general information about your book.
|
||||||
- **src:** By default, the source directory is found in the directory named
|
- **src:** By default, the source directory is found in the directory named
|
||||||
`src` directly under the root folder. But this is configurable with the `src`
|
`src` directly under the root folder. But this is configurable with the `src`
|
||||||
key in the configuration file.
|
key in the configuration file.
|
||||||
|
- **language:** The main language of the book, which is used as a language attribute `<html lang="en">` for example.
|
||||||
|
|
||||||
**book.toml**
|
**book.toml**
|
||||||
```toml
|
```toml
|
||||||
|
@ -50,6 +51,7 @@ title = "Example book"
|
||||||
authors = ["John Doe", "Jane Doe"]
|
authors = ["John Doe", "Jane Doe"]
|
||||||
description = "The example book covers examples."
|
description = "The example book covers examples."
|
||||||
src = "my-src" # the source files will be found in `root/my-src` instead of `root/src`
|
src = "my-src" # the source files will be found in `root/my-src` instead of `root/src`
|
||||||
|
language = "en"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Build options
|
### Build options
|
||||||
|
|
|
@ -17,9 +17,8 @@ handlebars template you can access this information by using
|
||||||
|
|
||||||
Here is a list of the properties that are exposed:
|
Here is a list of the properties that are exposed:
|
||||||
|
|
||||||
- ***language*** Language of the book in the form `en`. To use in <code
|
- ***language*** Language of the book in the form `en`, as specified in `book.toml` (if not specified, defaults to `en`). To use in <code
|
||||||
class="language-html">\<html lang="{{ language }}"></code> for example. At the
|
class="language-html">\<html lang="{{ language }}"></code> for example.
|
||||||
moment it is hardcoded.
|
|
||||||
- ***title*** Title of the book, as specified in `book.toml`
|
- ***title*** Title of the book, as specified in `book.toml`
|
||||||
- ***chapter_title*** Title of the current chapter, as listed in `SUMMARY.md`
|
- ***chapter_title*** Title of the current chapter, as listed in `SUMMARY.md`
|
||||||
|
|
||||||
|
|
|
@ -374,6 +374,8 @@ pub struct BookConfig {
|
||||||
pub src: PathBuf,
|
pub src: PathBuf,
|
||||||
/// Does this book support more than one language?
|
/// Does this book support more than one language?
|
||||||
pub multilingual: bool,
|
pub multilingual: bool,
|
||||||
|
/// The main language of the book.
|
||||||
|
pub language: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for BookConfig {
|
impl Default for BookConfig {
|
||||||
|
@ -384,6 +386,7 @@ impl Default for BookConfig {
|
||||||
description: None,
|
description: None,
|
||||||
src: PathBuf::from("src"),
|
src: PathBuf::from("src"),
|
||||||
multilingual: false,
|
multilingual: false,
|
||||||
|
language: Some(String::from("en")),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -570,6 +573,7 @@ mod tests {
|
||||||
description = "A completely useless book"
|
description = "A completely useless book"
|
||||||
multilingual = true
|
multilingual = true
|
||||||
src = "source"
|
src = "source"
|
||||||
|
language = "ja"
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
build-dir = "outputs"
|
build-dir = "outputs"
|
||||||
|
@ -604,6 +608,7 @@ mod tests {
|
||||||
description: Some(String::from("A completely useless book")),
|
description: Some(String::from("A completely useless book")),
|
||||||
multilingual: true,
|
multilingual: true,
|
||||||
src: PathBuf::from("source"),
|
src: PathBuf::from("source"),
|
||||||
|
language: Some(String::from("ja")),
|
||||||
};
|
};
|
||||||
let build_should_be = BuildConfig {
|
let build_should_be = BuildConfig {
|
||||||
build_dir: PathBuf::from("outputs"),
|
build_dir: PathBuf::from("outputs"),
|
||||||
|
|
|
@ -381,7 +381,10 @@ fn make_data(
|
||||||
let html = config.html_config().unwrap_or_default();
|
let html = config.html_config().unwrap_or_default();
|
||||||
|
|
||||||
let mut data = serde_json::Map::new();
|
let mut data = serde_json::Map::new();
|
||||||
data.insert("language".to_owned(), json!("en"));
|
data.insert(
|
||||||
|
"language".to_owned(),
|
||||||
|
json!(config.book.language.clone().unwrap_or_default()),
|
||||||
|
);
|
||||||
data.insert(
|
data.insert(
|
||||||
"book_title".to_owned(),
|
"book_title".to_owned(),
|
||||||
json!(config.book.title.clone().unwrap_or_default()),
|
json!(config.book.title.clone().unwrap_or_default()),
|
||||||
|
|
Loading…
Reference in New Issue