[][src]Struct mdbook::renderer::CmdRenderer

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). The cmd string lets you pass in command line arguments, so there's no reason why it couldn't be python /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

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 Clone for CmdRenderer[src]

impl Debug for CmdRenderer[src]

impl PartialEq<CmdRenderer> for CmdRenderer[src]

impl Renderer for CmdRenderer[src]

impl StructuralPartialEq for CmdRenderer[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,