[][src]Struct readme_sync::CMarkDocs

pub struct CMarkDocs<P, M> { /* fields omitted */ }

Parsed documentation Markdown with optionally specified package path and package manifest.

Implementations

impl<'a> CMarkDocs<&'a Path, &'a Manifest>[src]

pub fn from_package_with_default_config(
    package: &'a Package
) -> Result<Self, CMarkDocsFromPackageError>
[src]

Creates docs from package and default config.

First it reads docs file by path specified in the package manifest. Then it parses it with default configuration.

pub fn from_package_and_config(
    package: &'a Package,
    config: &Config<'_>
) -> Result<Self, CMarkDocsFromPackageError>
[src]

Creates docs from package and the specified config.

First it reads docs file by path specified in the package manifest. Then it parses it with the specified configuration.

impl<'a> CMarkDocs<(), ()>[src]

pub fn from_file_and_config(
    file: Arc<File>,
    config: &Config<'_>
) -> Result<Self, FileDocsFromFileError>
[src]

Creates docs from file and the specified config.

The method parses a file with the specified configuration.

impl<'a, P, M> CMarkDocs<P, M>[src]

pub fn with_package_path(
    self,
    package_path: &'a Package
) -> CMarkDocs<&'a Package, M>
[src]

Adding the specified package path to the docs.

pub fn with_manifest(self, manifest: &'a Manifest) -> CMarkDocs<P, &'a Manifest>[src]

Adding the specified manifest to the docs.

pub fn from_file_and_config_and_package_path_and_manifest(
    file: Arc<File>,
    config: &Config<'_>,
    package_path: P,
    manifest: M
) -> Result<Self, FileDocsFromFileError>
[src]

Creates docs from file, config, package path and manifest.

pub fn from_file_docs_and_package_path_and_manifest(
    file_docs: Arc<FileDocs>,
    package_path: P,
    manifest: M
) -> Self
[src]

Creates docs from file docs content, package path and manifest.

pub fn from_data_chunks_package_pach_and_manifest(
    data: CMarkData,
    package_path: P,
    manifest: M
) -> Self
[src]

Creates docs from CMark items, package path and manifest.

pub fn data(&self) -> &CMarkData[src]

Returns CMark items.

pub fn package_path(&self) -> &P[src]

Returns the package path.

pub fn manifest(&self) -> &M[src]

Returns the manifest.

pub fn iter(&self) -> CMarkDataIter<'_>[src]

Iterate over CMarkItems.

pub fn concat_texts(self) -> CMarkDocs<P, M>[src]

Concatenate adjacent text events.

Use this transformation if you deleted some nodes manually and want to merge the neighboring text nodes.

This transformation is always applied right after readme and docs parsing, because some text events remain ununited. For example Rust attribute parser generate seperate text events for every line of source code, and pulldown_cmark generate seperate text events for character entity reference.

pub fn increment_heading_levels(self) -> CMarkDocs<P, M>[src]

Increment levels of all headings.

In readme, the first level heading is usually used only for the project title. The second level header is usually used in for text section headings in readme. Rustdoc automatically adds the header of a crate name and the first level headers are used for text sections.

So it is necessary to increase the level of all headings in the documentation in order to synchronize the headings.

pub fn add_title(self, text: &str) -> CMarkDocs<P, M>[src]

Add a first level heading with the specified text.

This function could be useful after heading level incremented.

pub fn remove_section(self, heading: &str, level: u32) -> Self[src]

Remove section with the specified heading text and level and its subsections.

pub fn remove_codeblock_tag(self, tag: &str) -> CMarkDocs<P, M>[src]

Remove the specified fenced code block tag.

pub fn remove_codeblock_tags(self, tags: &[&str]) -> CMarkDocs<P, M>[src]

Remove the specified fenced code block tags.

pub fn remove_codeblock_rust_test_tags(self) -> CMarkDocs<P, M>[src]

Remove fenced code block tags that are used by cargo test.

See https://doc.rust-lang.org/rustdoc/documentation-tests.html for more details.

pub fn use_default_codeblock_tag(self, tag: &str) -> CMarkDocs<P, M>[src]

Use the specified codeblock tag, if they are not specified

pub fn use_default_codeblock_rust_tag(self) -> CMarkDocs<P, M>[src]

Use rust fenced codeblock highlight as default.

pub fn remove_hidden_rust_code(self) -> CMarkDocs<P, M>[src]

Remove hidden rust code from rust fenced codeblocks.

See https://doc.rust-lang.org/rustdoc/documentation-tests.html#hiding-portions-of-the-example for more details.

Returns self if absolute docs links to the specified repository not found, otherwise returns an error.

pub fn use_absolute_docs_urls(
    self,
    package_name: &str,
    documentation_url: &str
) -> CMarkDocs<P, M>
[src]

Convert all relative links into absolute ones using the specified package documentation url as the root address.

impl<'a, P> CMarkDocs<P, &'a Manifest>[src]

pub fn add_package_title(self) -> CMarkDocs<P, &'a Manifest>[src]

Add a first level heading with the manifest package name.

This function could be useful after heading level incremented.

Returns self if absolute docs links to the manifest repository not found, otherwise returns an error.

pub fn use_absolute_package_docs_urls(
    self
) -> Result<CMarkDocs<P, &'a Manifest>, UseAbsolutePackageDocsUrlsError>
[src]

Convert all relative links into absolute ones using the manifest package documentation url as the root address.

Trait Implementations

impl<P: Clone, M: Clone> Clone for CMarkDocs<P, M>[src]

impl<P: Debug, M: Debug> Debug for CMarkDocs<P, M>[src]

impl<P: Default, M: Default> Default for CMarkDocs<P, M>[src]

impl<P: PartialEq, M: PartialEq> PartialEq<CMarkDocs<P, M>> for CMarkDocs<P, M>[src]

impl<P, M> StructuralPartialEq for CMarkDocs<P, M>[src]

Auto Trait Implementations

impl<P, M> RefUnwindSafe for CMarkDocs<P, M> where
    M: RefUnwindSafe,
    P: RefUnwindSafe

impl<P, M> Send for CMarkDocs<P, M> where
    M: Send,
    P: Send

impl<P, M> Sync for CMarkDocs<P, M> where
    M: Sync,
    P: Sync

impl<P, M> Unpin for CMarkDocs<P, M> where
    M: Unpin,
    P: Unpin

impl<P, M> UnwindSafe for CMarkDocs<P, M> where
    M: UnwindSafe,
    P: UnwindSafe

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> 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.