Module markdown

Source
Expand description

Markdown formatting for rustdoc.

This module implements markdown formatting through the pulldown-cmark library.

#![feature(rustc_private)]

extern crate rustc_span;

use rustc_span::edition::Edition;
use rustdoc::html::markdown::{HeadingOffset, IdMap, Markdown, ErrorCodes};

let s = "My *markdown* _text_";
let mut id_map = IdMap::new();
let md = Markdown {
    content: s,
    links: &[],
    ids: &mut id_map,
    error_codes: ErrorCodes::Yes,
    edition: Edition::Edition2015,
    playground: &None,
    heading_offset: HeadingOffset::H2,
};
let html = md.into_string();
// ... something using html

Modules§

footnotes πŸ”’
Markdown footnote handling.

Structs§

CodeBlocks πŸ”’
Adds syntax highlighting and playground Run buttons to Rust code blocks.
ExtraInfo πŸ”’
HeadingLinks πŸ”’
Make headings links with anchor IDs and build up TOC.
IdMap
Indices πŸ”’
LangString πŸ”’
LinkReplacer πŸ”’
LinkReplacerInner πŸ”’
Make headings links with anchor IDs and build up TOC.
Markdown
When to_string is called, this struct will emit the HTML corresponding to the rendered version of the contained markdown string.
MarkdownItemInfo πŸ”’
A tuple struct like Markdown that renders the markdown escaping HTML tags and includes no paragraph tags.
MarkdownLink πŸ”’
MarkdownSummaryLine πŸ”’
A tuple struct like Markdown that renders only the first paragraph.
MarkdownWithToc πŸ”’
A struct like Markdown that renders the markdown with a table of contents.
MdRelLine πŸ”’
A newtype that represents a relative line number in Markdown.
Playground
RustCodeBlock πŸ”’
SpannedLinkReplacer πŸ”’
SummaryLine πŸ”’
Extracts just the first paragraph.
TableWrapper πŸ”’
Wrap HTML tables into <div> to prevent having the doc blocks width being too big.
TagIterator πŸ”’
This is the parser for fenced codeblocks attributes. It implements the following eBNF:

Enums§

ErrorCodes
HeadingOffset
Ignore πŸ”’
LangStringToken πŸ”’
Line πŸ”’
Controls whether a line will be hidden or shown in HTML output.
MarkdownLinkRange πŸ”’

Constants§

MAX_HEADER_LEVEL πŸ”’

Functions§

check_if_allowed_tag πŸ”’
find_codes πŸ”’
find_testable_code πŸ”’
html_text_from_events πŸ”’
is_bareword_char πŸ”’
is_default_id πŸ”’
is_forbidden_tag πŸ”’
is_leading_char πŸ”’
is_separator πŸ”’
map_line πŸ”’
This function is used to handle the β€œhidden lines” (ie starting with #) in doctests. It also transforms ## back into #.
markdown_links πŸ”’
markdown_summary_with_limit πŸ”’
Renders a subset of Markdown in the first paragraph of the provided Markdown.
plain_text_from_events πŸ”’
plain_text_summary πŸ”’
Renders the first paragraph of the provided markdown as plain text. Useful for alt-text.
rust_code_blocks πŸ”’
Returns a range of bytes for each code block in the markdown that is tagged as rust or untagged (and assumed to be rust).
short_markdown_summary πŸ”’
Renders a shortened first paragraph of the given Markdown as a subset of Markdown, making it suitable for contexts like the search index.
slugify πŸ”’
Convert chars from a title for an id.
summary_opts πŸ”’
Options for rendering Markdown in summaries (e.g., in search results).
main_body_opts πŸ”’
Options for rendering Markdown in the main body of documentation.

Type Aliases§

SpannedEvent πŸ”’