Struct mdbook::renderer::CmdRenderer
[−]
[src]
pub struct CmdRenderer { /* fields omitted */ }
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
). Thecmd
string 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.
Methods
impl CmdRenderer
[src]
pub fn new(name: String, cmd: String) -> CmdRenderer
[src]
Create a new CmdRenderer
which will invoke the provided cmd
string.
Trait Implementations
impl Debug for CmdRenderer
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Clone for CmdRenderer
[src]
fn clone(&self) -> CmdRenderer
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq for CmdRenderer
[src]
fn eq(&self, __arg_0: &CmdRenderer) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &CmdRenderer) -> bool
[src]
This method tests for !=
.