pub struct CMarkDocs<P, M> { /* private fields */ }
Expand description
Parsed documentation Markdown with optionally specified package path and package manifest.
Implementations§
Source§impl<'a> CMarkDocs<&'a Path, &'a Manifest>
impl<'a> CMarkDocs<&'a Path, &'a Manifest>
Sourcepub fn from_package_with_default_config(
package: &'a Package,
) -> Result<Self, CMarkDocsFromPackageError>
pub fn from_package_with_default_config( package: &'a Package, ) -> Result<Self, CMarkDocsFromPackageError>
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.
Sourcepub fn from_package_and_config(
package: &'a Package,
config: &Config<'_>,
) -> Result<Self, CMarkDocsFromPackageError>
pub fn from_package_and_config( package: &'a Package, config: &Config<'_>, ) -> Result<Self, CMarkDocsFromPackageError>
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.
Source§impl CMarkDocs<(), ()>
impl CMarkDocs<(), ()>
Sourcepub fn from_file_and_config(
file: Arc<File>,
config: &Config<'_>,
) -> Result<Self, FileDocsFromFileError>
pub fn from_file_and_config( file: Arc<File>, config: &Config<'_>, ) -> Result<Self, FileDocsFromFileError>
Creates docs from file and the specified config.
The method parses a file with the specified configuration.
Source§impl<'a, P, M> CMarkDocs<P, M>
impl<'a, P, M> CMarkDocs<P, M>
Sourcepub fn with_package_path(
self,
package_path: &'a Package,
) -> CMarkDocs<&'a Package, M>
pub fn with_package_path( self, package_path: &'a Package, ) -> CMarkDocs<&'a Package, M>
Adding the specified package path to the docs.
Sourcepub fn with_manifest(self, manifest: &'a Manifest) -> CMarkDocs<P, &'a Manifest>
pub fn with_manifest(self, manifest: &'a Manifest) -> CMarkDocs<P, &'a Manifest>
Adding the specified manifest to the docs.
Sourcepub fn from_file_and_config_and_package_path_and_manifest(
file: Arc<File>,
config: &Config<'_>,
package_path: P,
manifest: M,
) -> Result<Self, FileDocsFromFileError>
pub fn from_file_and_config_and_package_path_and_manifest( file: Arc<File>, config: &Config<'_>, package_path: P, manifest: M, ) -> Result<Self, FileDocsFromFileError>
Creates docs from file, config, package path and manifest.
Sourcepub fn from_file_docs_and_package_path_and_manifest(
file_docs: Arc<FileDocs>,
package_path: P,
manifest: M,
) -> Self
pub fn from_file_docs_and_package_path_and_manifest( file_docs: Arc<FileDocs>, package_path: P, manifest: M, ) -> Self
Creates docs from file docs content, package path and manifest.
Sourcepub fn from_data_chunks_package_pach_and_manifest(
data: CMarkData,
package_path: P,
manifest: M,
) -> Self
pub fn from_data_chunks_package_pach_and_manifest( data: CMarkData, package_path: P, manifest: M, ) -> Self
Creates docs from CMark items, package path and manifest.
Sourcepub fn package_path(&self) -> &P
pub fn package_path(&self) -> &P
Returns the package path.
Sourcepub fn iter(&self) -> CMarkDataIter<'_>
pub fn iter(&self) -> CMarkDataIter<'_>
Iterate over CMarkItem
s.
Sourcepub fn iter_events(&self) -> impl Iterator<Item = &Event<'_>>
pub fn iter_events(&self) -> impl Iterator<Item = &Event<'_>>
Iterate over pulldown-cmark events.
Sourcepub fn concat_texts(self) -> CMarkDocs<P, M>
pub fn concat_texts(self) -> CMarkDocs<P, M>
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.
Sourcepub fn increment_heading_levels(self) -> CMarkDocs<P, M>
pub fn increment_heading_levels(self) -> CMarkDocs<P, M>
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.
Sourcepub fn add_title(self, text: &str) -> CMarkDocs<P, M>
pub fn add_title(self, text: &str) -> CMarkDocs<P, M>
Add a first level heading with the specified text.
This function could be useful after heading level incremented.
Sourcepub fn remove_section(self, heading: &str, level: u32) -> Self
pub fn remove_section(self, heading: &str, level: u32) -> Self
Remove section with the specified heading text and level and its subsections.
Sourcepub fn remove_codeblock_tag(self, tag: &str) -> CMarkDocs<P, M>
pub fn remove_codeblock_tag(self, tag: &str) -> CMarkDocs<P, M>
Remove the specified fenced code block tag.
Remove the specified fenced code block tags.
Remove fenced code block tags that are used by cargo test
.
See https://doc.rust-lang.org/rustdoc/documentation-tests.html for more details.
Sourcepub fn use_default_codeblock_tag(self, tag: &str) -> CMarkDocs<P, M>
pub fn use_default_codeblock_tag(self, tag: &str) -> CMarkDocs<P, M>
Use the specified codeblock tag, if they are not specified
Sourcepub fn use_default_codeblock_rust_tag(self) -> CMarkDocs<P, M>
pub fn use_default_codeblock_rust_tag(self) -> CMarkDocs<P, M>
Use rust fenced codeblock highlight as default.
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.
Sourcepub fn disallow_absolute_docs_links(
self,
package_name: &str,
documentation_url: &str,
) -> Result<CMarkDocs<P, M>, DisallowUrlsWithPrefixError>
pub fn disallow_absolute_docs_links( self, package_name: &str, documentation_url: &str, ) -> Result<CMarkDocs<P, M>, DisallowUrlsWithPrefixError>
Returns self if absolute docs links to the specified repository not found, otherwise returns an error.
Sourcepub fn use_absolute_docs_urls(
self,
package_name: &str,
documentation_url: &str,
) -> CMarkDocs<P, M>
pub fn use_absolute_docs_urls( self, package_name: &str, documentation_url: &str, ) -> CMarkDocs<P, M>
Convert all relative links into absolute ones using the specified package documentation url as the root address.
Source§impl<'a, P> CMarkDocs<P, &'a Manifest>
impl<'a, P> CMarkDocs<P, &'a Manifest>
Sourcepub fn add_package_title(self) -> CMarkDocs<P, &'a Manifest>
pub fn add_package_title(self) -> CMarkDocs<P, &'a Manifest>
Add a first level heading with the manifest package name.
This function could be useful after heading level incremented.
Sourcepub fn disallow_absolute_package_docs_links(
self,
) -> Result<CMarkDocs<P, &'a Manifest>, DisallowAbsolutePackageDocsLinksError>
pub fn disallow_absolute_package_docs_links( self, ) -> Result<CMarkDocs<P, &'a Manifest>, DisallowAbsolutePackageDocsLinksError>
Returns self if absolute docs links to the manifest repository not found, otherwise returns an error.
Sourcepub fn use_absolute_package_docs_urls(
self,
) -> Result<CMarkDocs<P, &'a Manifest>, UseAbsolutePackageDocsUrlsError>
pub fn use_absolute_package_docs_urls( self, ) -> Result<CMarkDocs<P, &'a Manifest>, UseAbsolutePackageDocsUrlsError>
Convert all relative links into absolute ones using the manifest package documentation url as the root address.