Skip to content

Commit d758753

Browse files
committed
Finish moving builtin renderers to mdbook-driver
1 parent 9b27b14 commit d758753

File tree

8 files changed

+21
-26
lines changed

8 files changed

+21
-26
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/mdbook-driver/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ anyhow.workspace = true
1212
log.workspace = true
1313
mdbook-core.workspace = true
1414
mdbook-preprocessor.workspace = true
15+
mdbook-renderer.workspace = true
1516
regex.workspace = true
1617
serde_json.workspace = true
1718
shlex.workspace = true
19+
toml.workspace = true
1820

1921
[lints]
2022
workspace = true

crates/mdbook-driver/src/builtin_renderers/markdown_renderer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
use crate::book::BookItem;
2-
use crate::renderer::{RenderContext, Renderer};
31
use anyhow::{Context, Result};
42
use log::trace;
3+
use mdbook_core::book::BookItem;
54
use mdbook_core::utils;
5+
use mdbook_renderer::{RenderContext, Renderer};
66
use std::fs;
77

88
#[derive(Default)]

crates/mdbook-driver/src/builtin_renderers/mod.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
//! `mdbook`'s low level rendering interface.
1+
//! Built-in renderers.
22
//!
3-
//! # Note
4-
//!
5-
//! You usually don't need to work with this module directly. If you want to
6-
//! implement your own backend, then check out the [For Developers] section of
7-
//! the user guide.
8-
//!
9-
//! The definition for [RenderContext] may be useful though.
10-
//!
11-
//! [For Developers]: https://rust-lang.github.io/mdBook/for_developers/index.html
12-
//! [RenderContext]: struct.RenderContext.html
3+
//! The HTML renderer can be found in the [`mdbook_html`] crate.
134
145
use anyhow::{Context, Result, bail};
156
use log::{error, info, trace, warn};

crates/mdbook-driver/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
//! High-level library for running mdBook.
22
33
pub mod builtin_preprocessors;
4+
pub mod builtin_renderers;

src/book/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ mod init;
1010

1111
pub use self::book::load_book;
1212
pub use self::init::BookBuilder;
13-
use crate::renderer::{CmdRenderer, MarkdownRenderer};
1413
use anyhow::{Context, Error, Result, bail};
1514
use log::{debug, error, info, log_enabled, trace, warn};
1615
pub use mdbook_core::book::{Book, BookItem, BookItems, Chapter, SectionNumber};
1716
use mdbook_core::config::{Config, RustEdition};
1817
use mdbook_core::utils;
1918
use mdbook_driver::builtin_preprocessors::{CmdPreprocessor, IndexPreprocessor, LinkPreprocessor};
19+
use mdbook_driver::builtin_renderers::{CmdRenderer, MarkdownRenderer};
2020
use mdbook_html::HtmlHandlebars;
2121
use mdbook_preprocessor::{Preprocessor, PreprocessorContext};
2222
use mdbook_renderer::{RenderContext, Renderer};

src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
//! [`Config`]: mdbook_core::config::Config
8282
8383
pub mod book;
84-
pub mod renderer;
8584

8685
pub use crate::book::BookItem;
8786
pub use crate::book::MDBook;

tests/testsuite/renderer.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ fn failing_command() {
6666
.expect_stderr(str![[r#"
6767
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
6868
[TIMESTAMP] [INFO] (mdbook::book): Running the failing backend
69-
[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "failing" renderer
70-
[TIMESTAMP] [ERROR] (mdbook::renderer): Renderer exited with non-zero return code.
69+
[TIMESTAMP] [INFO] (mdbook_driver::builtin_renderers): Invoking the "failing" renderer
70+
[TIMESTAMP] [ERROR] (mdbook_driver::builtin_renderers): Renderer exited with non-zero return code.
7171
[TIMESTAMP] [ERROR] (mdbook_core::utils): Error: Rendering failed
7272
[TIMESTAMP] [ERROR] (mdbook_core::utils): [TAB]Caused By: The "failing" renderer failed
7373
@@ -84,8 +84,8 @@ fn missing_renderer() {
8484
.expect_stderr(str![[r#"
8585
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
8686
[TIMESTAMP] [INFO] (mdbook::book): Running the missing backend
87-
[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "missing" renderer
88-
[TIMESTAMP] [ERROR] (mdbook::renderer): The command `trduyvbhijnorgevfuhn` wasn't found, is the "missing" backend installed? If you want to ignore this error when the "missing" backend is not installed, set `optional = true` in the `[output.missing]` section of the book.toml configuration file.
87+
[TIMESTAMP] [INFO] (mdbook_driver::builtin_renderers): Invoking the "missing" renderer
88+
[TIMESTAMP] [ERROR] (mdbook_driver::builtin_renderers): The command `trduyvbhijnorgevfuhn` wasn't found, is the "missing" backend installed? If you want to ignore this error when the "missing" backend is not installed, set `optional = true` in the `[output.missing]` section of the book.toml configuration file.
8989
[TIMESTAMP] [ERROR] (mdbook_core::utils): Error: Rendering failed
9090
[TIMESTAMP] [ERROR] (mdbook_core::utils): [TAB]Caused By: Unable to start the backend
9191
[TIMESTAMP] [ERROR] (mdbook_core::utils): [TAB]Caused By: [NOT_FOUND]
@@ -101,8 +101,8 @@ fn missing_optional_not_fatal() {
101101
cmd.expect_stdout(str![[""]]).expect_stderr(str![[r#"
102102
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
103103
[TIMESTAMP] [INFO] (mdbook::book): Running the missing backend
104-
[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "missing" renderer
105-
[TIMESTAMP] [WARN] (mdbook::renderer): The command `trduyvbhijnorgevfuhn` for backend `missing` was not found, but was marked as optional.
104+
[TIMESTAMP] [INFO] (mdbook_driver::builtin_renderers): Invoking the "missing" renderer
105+
[TIMESTAMP] [WARN] (mdbook_driver::builtin_renderers): The command `trduyvbhijnorgevfuhn` for backend `missing` was not found, but was marked as optional.
106106
107107
"#]]);
108108
});
@@ -133,7 +133,7 @@ Hello World!
133133
.expect_stderr(str![[r#"
134134
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
135135
[TIMESTAMP] [INFO] (mdbook::book): Running the arguments backend
136-
[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "arguments" renderer
136+
[TIMESTAMP] [INFO] (mdbook_driver::builtin_renderers): Invoking the "arguments" renderer
137137
138138
"#]]);
139139
});
@@ -158,7 +158,7 @@ fn backends_receive_render_context_via_stdin() {
158158
cmd.expect_stdout(str![[""]]).expect_stderr(str![[r#"
159159
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
160160
[TIMESTAMP] [INFO] (mdbook::book): Running the cat-to-file backend
161-
[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "cat-to-file" renderer
161+
[TIMESTAMP] [INFO] (mdbook_driver::builtin_renderers): Invoking the "cat-to-file" renderer
162162
163163
"#]]);
164164
})
@@ -236,7 +236,7 @@ fn legacy_relative_command_path() {
236236
cmd.expect_stdout(str![[""]]).expect_stderr(str![[r#"
237237
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
238238
[TIMESTAMP] [INFO] (mdbook::book): Running the myrenderer backend
239-
[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "myrenderer" renderer
239+
[TIMESTAMP] [INFO] (mdbook_driver::builtin_renderers): Invoking the "myrenderer" renderer
240240
241241
"#]]);
242242
})
@@ -255,8 +255,8 @@ fn legacy_relative_command_path() {
255255
cmd.expect_stdout(str![[""]]).expect_stderr(str![[r#"
256256
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
257257
[TIMESTAMP] [INFO] (mdbook::book): Running the myrenderer backend
258-
[TIMESTAMP] [INFO] (mdbook::renderer): Invoking the "myrenderer" renderer
259-
[TIMESTAMP] [WARN] (mdbook::renderer): Renderer command `../renderers/myrenderer[EXE]` uses a path relative to the renderer output directory `[ROOT]/book`. This was previously accepted, but has been deprecated. Relative executable paths should be relative to the book root.
258+
[TIMESTAMP] [INFO] (mdbook_driver::builtin_renderers): Invoking the "myrenderer" renderer
259+
[TIMESTAMP] [WARN] (mdbook_driver::builtin_renderers): Renderer command `../renderers/myrenderer[EXE]` uses a path relative to the renderer output directory `[ROOT]/book`. This was previously accepted, but has been deprecated. Relative executable paths should be relative to the book root.
260260
261261
"#]]);
262262
})

0 commit comments

Comments
 (0)