Struct mdbook::renderer::CmdRenderer
source · pub struct CmdRenderer { /* private fields */ }Expand description
A generic renderer which will shell out to an arbitrary executable.
§Rendering Protocol
When the renderer’s render() method is invoked, CmdRenderer will spawn
the cmd as a subprocess. The RenderContext is passed to the subprocess
as a JSON string (using serde_json).
Note: The command used doesn’t necessarily need to be a single executable (i.e.
/path/to/renderer). Thecmdstring lets you pass in command line arguments, so there’s no reason why it couldn’t bepython /path/to/renderer --from mdbook --to epub.
Anything the subprocess writes to stdin or stdout will be passed through
to the user. While this gives the renderer maximum flexibility to output
whatever it wants, to avoid spamming users it is recommended to avoid
unnecessary output.
To help choose the appropriate output level, the RUST_LOG environment
variable will be passed through to the subprocess, if set.
If the subprocess wishes to indicate that rendering failed, it should exit with a non-zero return code.
Implementations§
source§impl CmdRenderer
impl CmdRenderer
sourcepub fn new(name: String, cmd: String) -> CmdRenderer
pub fn new(name: String, cmd: String) -> CmdRenderer
Create a new CmdRenderer which will invoke the provided cmd string.
Trait Implementations§
source§impl Clone for CmdRenderer
impl Clone for CmdRenderer
source§fn clone(&self) -> CmdRenderer
fn clone(&self) -> CmdRenderer
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for CmdRenderer
impl Debug for CmdRenderer
source§impl PartialEq for CmdRenderer
impl PartialEq for CmdRenderer
source§fn eq(&self, other: &CmdRenderer) -> bool
fn eq(&self, other: &CmdRenderer) -> bool
self and other values to be equal, and is used
by ==.