Skip to main content

Catalog

Struct Catalog 

Source
pub struct Catalog { /* private fields */ }
Expand description

Document catalog for tracking referenceable elements.

The catalog maintains a registry of all elements that can be referenced via cross-references, including anchors, sections, and bibliography entries. It provides functionality for registering new references, resolving reference text to IDs, and detecting duplicate IDs.

Implementations§

Source§

impl Catalog

Source

pub fn get_ref(&self, id: &str) -> Option<&RefEntry>

Returns a reference entry by ID, if it exists.

Source

pub fn contains_id(&self, id: &str) -> bool

Returns true if an ID is already registered in the catalog.

Source

pub fn resolve_id(&self, reftext: &str) -> Option<String>

Resolve reference text to an ID, if possible.

Source

pub fn ids(&self) -> impl Iterator<Item = &str>

Returns an iterator over all registered reference IDs, sorted by ID.

This lets a multi-document pipeline enumerate a document’s anchors and section IDs (for example, to build a global cross-reference index) without re-walking the block tree. The order is deterministic across process runs, so any output derived from it is reproducible.

Source

pub fn entries(&self) -> impl Iterator<Item = (&str, &RefEntry)>

Returns an iterator over all registered reference entries, sorted by ID.

Each item pairs an ID with its RefEntry (which also carries the entry’s reftext and RefType). The order is deterministic across process runs, so any output derived from it is reproducible.

Source

pub fn len(&self) -> usize

Returns the number of registered references.

Source

pub fn is_empty(&self) -> bool

Returns true if the catalog contains no registered references.

Source

pub fn footnotes(&self) -> &[Footnote]

Returns the footnotes registered in this document, in document order.

Source

pub fn images(&self) -> &[ImageReference]

Returns the images referenced in this document, in document order.

This list is populated only when the parser was configured with with_catalog_assets(true); it is empty otherwise.

Returns the link targets referenced in this document, in document order.

This list is populated only when the parser was configured with with_catalog_assets(true); it is empty otherwise.

Source

pub fn include_is_full(&self, key: &str) -> bool

Returns true if the file named by key (an include target relative to the outermost document, without its AsciiDoc extension) was included into this document in full – i.e. at least one include:: directive merged the whole file, rather than only a lines/tag(s) portion of it.

Returns false if the file was only ever partially included, or was not included at all.

Source

pub fn was_included(&self, key: &str) -> bool

Returns true if the file named by key (an include target relative to the outermost document, without its AsciiDoc extension) was included into this document, whether in full or only partially.

Trait Implementations§

Source§

impl Clone for Catalog

Source§

fn clone(&self) -> Catalog

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Catalog

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Catalog

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for Catalog

Source§

impl PartialEq for Catalog

Source§

fn eq(&self, other: &Catalog) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Catalog

Auto Trait Implementations§

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> 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.