obsidian_export

Struct Exporter

Source
pub struct Exporter<'a> { /* private fields */ }
Expand description

Exporter provides the main interface to this library.

Users are expected to create an Exporter using Exporter::new, optionally followed by customization using Exporter::frontmatter_strategy and Exporter::walk_options.

After that, calling Exporter::run will start the export process.

Implementations§

Source§

impl<'a> Exporter<'a>

Source

pub fn new(root: PathBuf, destination: PathBuf) -> Self

Create a new exporter which reads notes from root and exports these to destination.

Source

pub fn start_at(&mut self, start_at: PathBuf) -> &mut Self

Set a custom starting point for the export.

Normally all notes under root (except for notes excluded by ignore rules) will be exported. When start_at is set, only notes under this path will be exported to the target destination.

Source

pub fn walk_options(&mut self, options: WalkOptions<'a>) -> &mut Self

Set the WalkOptions to be used for this exporter.

Source

pub fn frontmatter_strategy( &mut self, strategy: FrontmatterStrategy, ) -> &mut Self

Set the FrontmatterStrategy to be used for this exporter.

Source

pub fn process_embeds_recursively(&mut self, recursive: bool) -> &mut Self

Set the behavior when recursive embeds are encountered.

When recursive is true (the default), emdeds are always processed recursively. This may lead to infinite recursion when note A embeds B, but B also embeds A. (When this happens, ExportError::RecursionLimitExceeded will be returned by Exporter::run).

When recursive is false, if a note is encountered for a second time while processing the original note, instead of embedding it again a link to the note is inserted instead.

Source

pub fn preserve_mtime(&mut self, preserve: bool) -> &mut Self

Set whether the modified time of exported files should be preserved.

When preserve is true, the modified time of exported files will be set to the modified time of the source file.

Source

pub fn add_postprocessor( &mut self, processor: &'a Postprocessor<'_>, ) -> &mut Self

Append a function to the chain of postprocessors to run on exported Obsidian Markdown notes.

Source

pub fn add_embed_postprocessor( &mut self, processor: &'a Postprocessor<'_>, ) -> &mut Self

Append a function to the chain of postprocessors for embeds.

Source

pub fn run(&mut self) -> Result<(), ExportError>

Export notes using the settings configured on this exporter.

Trait Implementations§

Source§

impl<'a> Clone for Exporter<'a>

Source§

fn clone(&self) -> Exporter<'a>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Exporter<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Exporter<'a>

§

impl<'a> !RefUnwindSafe for Exporter<'a>

§

impl<'a> Send for Exporter<'a>

§

impl<'a> Sync for Exporter<'a>

§

impl<'a> Unpin for Exporter<'a>

§

impl<'a> !UnwindSafe for Exporter<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize = _

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.