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 🔒