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§
- Code
Blocks 🔒 - Adds syntax highlighting and playground Run buttons to Rust code blocks.
- Extra
Info 🔒 - Heading
Links 🔒 - Make headings links with anchor IDs and build up TOC.
- IdMap
- Indices 🔒
- Lang
String 🔒 - Link
Replacer 🔒 - Link
Replacer 🔒Inner - 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. - Markdown
Item 🔒Info - A tuple struct like
Markdown
that renders the markdown escaping HTML tags and includes no paragraph tags. - Markdown
Link 🔒 - Markdown
Summary 🔒Line - A tuple struct like
Markdown
that renders only the first paragraph. - Markdown
With 🔒Toc - A struct like
Markdown
that renders the markdown with a table of contents. - MdRel
Line 🔒 - A newtype that represents a relative line number in Markdown.
- Playground
- Rust
Code 🔒Block - Spanned
Link 🔒Replacer - Summary
Line 🔒 - Extracts just the first paragraph.
- Table
Wrapper 🔒 - 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§
- Error
Codes - Heading
Offset - Ignore 🔒
- Lang
String 🔒Token - Line 🔒
- Controls whether a line will be hidden or shown in HTML output.
- Markdown
Link 🔒Range
Constants§
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.