pub struct Pandoc { /* private fields */ }
Expand description
the argument builder
Implementations
sourceimpl Pandoc
impl Pandoc
sourcepub fn new() -> Pandoc
pub fn new() -> Pandoc
Get a new Pandoc object This function returns a builder object to configure the Pandoc execution.
sourcepub fn add_latex_path_hint<T: AsRef<Path> + ?Sized>(
&mut self,
path: &T
) -> &mut Pandoc
pub fn add_latex_path_hint<T: AsRef<Path> + ?Sized>(
&mut self,
path: &T
) -> &mut Pandoc
Add a path hint to search for the LaTeX executable.
The supplied path is searched first for the latex executable, then the environment variable
PATH
, then some hard-coded location hints.
sourcepub fn add_pandoc_path_hint<T: AsRef<Path> + ?Sized>(
&mut self,
path: &T
) -> &mut Pandoc
pub fn add_pandoc_path_hint<T: AsRef<Path> + ?Sized>(
&mut self,
path: &T
) -> &mut Pandoc
Add a path hint to search for the Pandoc executable.
The supplied path is searched first for the Pandoc executable, then the environment variable PATH
, then
some hard-coded location hints.
sourcepub fn set_doc_class(&mut self, class: DocumentClass) -> &mut Pandoc
pub fn set_doc_class(&mut self, class: DocumentClass) -> &mut Pandoc
Set or overwrite the document-class.
sourcepub fn set_show_cmdline(&mut self, flag: bool) -> &mut Pandoc
pub fn set_show_cmdline(&mut self, flag: bool) -> &mut Pandoc
Set whether Pandoc should print the used command-line
If set to true, the command-line to execute pandoc (as a subprocess) will be displayed on stdout.
sourcepub fn set_output_format(
&mut self,
format: OutputFormat,
extensions: Vec<MarkdownExtension>
) -> &mut Pandoc
pub fn set_output_format(
&mut self,
format: OutputFormat,
extensions: Vec<MarkdownExtension>
) -> &mut Pandoc
Set or overwrite the output format.
sourcepub fn set_input_format(
&mut self,
format: InputFormat,
extensions: Vec<MarkdownExtension>
) -> &mut Pandoc
pub fn set_input_format(
&mut self,
format: InputFormat,
extensions: Vec<MarkdownExtension>
) -> &mut Pandoc
Set or overwrite the input format
sourcepub fn add_input<T: AsRef<Path> + ?Sized>(&mut self, filename: &T) -> &mut Pandoc
pub fn add_input<T: AsRef<Path> + ?Sized>(&mut self, filename: &T) -> &mut Pandoc
Add additional input files
The order of adding the files is the order in which they are processed, hence the order is
important.
This function does not work, if input has been already set to standard input using
set_input
.
sourcepub fn set_input(&mut self, input: InputKind) -> &mut Pandoc
pub fn set_input(&mut self, input: InputKind) -> &mut Pandoc
Set input for Pandoc.
The input is given with pandoc::InputKind
and overrides any inputs already
supplied.
Example
// pass in a string using standard input:
let markdown = "**very** _important".into();
let mut p = pandoc::new(); // assign to variable to increase life time
p.set_input(pandoc::InputKind::Pipe(markdown));
sourcepub fn set_output(&mut self, output: OutputKind) -> &mut Pandoc
pub fn set_output(&mut self, output: OutputKind) -> &mut Pandoc
Set or overwrite the output filename.
sourcepub fn set_bibliography<T: AsRef<Path> + ?Sized>(
&mut self,
filename: &T
) -> &mut Pandoc
pub fn set_bibliography<T: AsRef<Path> + ?Sized>(
&mut self,
filename: &T
) -> &mut Pandoc
Set the file name of the bibliography database.
sourcepub fn set_csl<T: AsRef<Path> + ?Sized>(&mut self, filename: &T) -> &mut Pandoc
pub fn set_csl<T: AsRef<Path> + ?Sized>(&mut self, filename: &T) -> &mut Pandoc
Set the filename of the citation style file.
sourcepub fn set_toc(&mut self) -> &mut Pandoc
pub fn set_toc(&mut self) -> &mut Pandoc
Enable the generation of a table of contents
By default, documents are transformed as they are. If this option is set, a table of contents is added right in front of the actual document.
sourcepub fn set_chapters(&mut self) -> &mut Pandoc
pub fn set_chapters(&mut self) -> &mut Pandoc
Treat top-level headers as chapters in LaTeX, ConTeXt, and DocBook output.
sourcepub fn set_number_sections(&mut self) -> &mut Pandoc
pub fn set_number_sections(&mut self) -> &mut Pandoc
Set custom prefix for sections.
If this function is called, all sections will be numbered. Normally, sections in LaTeX, ConTeXt, HTML, or EPUB output are unnumbered.
sourcepub fn set_latex_template<T: AsRef<Path> + ?Sized>(
&mut self,
filename: &T
) -> &mut Pandoc
pub fn set_latex_template<T: AsRef<Path> + ?Sized>(
&mut self,
filename: &T
) -> &mut Pandoc
Set a custom latex template.
sourcepub fn set_slide_level(&mut self, level: u32) -> &mut Pandoc
pub fn set_slide_level(&mut self, level: u32) -> &mut Pandoc
Set the header level that causes a new slide to be generated.
sourcepub fn set_variable<T: AsRef<str> + ?Sized, U: AsRef<str> + ?Sized>(
&mut self,
key: &T,
value: &U
) -> &mut Pandoc
pub fn set_variable<T: AsRef<str> + ?Sized, U: AsRef<str> + ?Sized>(
&mut self,
key: &T,
value: &U
) -> &mut Pandoc
Set a custom variable.
This method sets a custom Pandoc variable. It is adviced not to use this function, because there are convenience functions for most of the available variables.
sourcepub fn add_filter<F>(&mut self, filter: F) -> &mut Pandocwhere
F: 'static + Fn(String) -> String,
pub fn add_filter<F>(&mut self, filter: F) -> &mut Pandocwhere
F: 'static + Fn(String) -> String,
Add a Pandoc filter.
Pandoc parses any of the supported input formats to an abstract syntax tree (AST). If a filter is specified, it will receive a JSON representation of this AST and can transform it to its liking and add/modify/remove elements. The output is then passed back to Pandoc.
The provided filter function must live at least as long as the Pandoc instance,
which will typically be achieved by making it a function, or else a closure which
does not attempt to hold references to anything which isn’t 'static
.
sourcepub fn add_option(&mut self, option: PandocOption) -> &mut Pandoc
pub fn add_option(&mut self, option: PandocOption) -> &mut Pandoc
Add a PandocOption.
pub fn add_options(&mut self, options: &[PandocOption]) -> &mut Pandoc
sourcepub fn arg<T: AsRef<str> + ?Sized, U: AsRef<str> + ?Sized>(
&mut self,
key: &T,
value: &U
) -> &mut Pandoc
pub fn arg<T: AsRef<str> + ?Sized, U: AsRef<str> + ?Sized>(
&mut self,
key: &T,
value: &U
) -> &mut Pandoc
Add a raw command-line argument. You should generally use one of the convenience functions instead.
sourcepub fn generate_latex_template<T: AsRef<str> + ?Sized>(self, filename: &T)
pub fn generate_latex_template<T: AsRef<str> + ?Sized>(self, filename: &T)
generate a latex template from the given settings
Warning: this function can panic in a lot of places.
sourcepub fn execute(self) -> Result<PandocOutput, PandocError>
pub fn execute(self) -> Result<PandocOutput, PandocError>
Execute the Pandoc configured command.
A successful Pandoc run can return either the path to a file written by
the operation, or the result of the operation from stdio
.
The PandocOutput
variant returned depends on the OutputKind
configured:
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Pandoc
impl !Send for Pandoc
impl !Sync for Pandoc
impl Unpin for Pandoc
impl !UnwindSafe for Pandoc
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more