Skip to main content

markdown_syntax/
lib.rs

1#![doc = include_str!("../README.md")]
2#![no_std]
3#![deny(missing_docs)]
4
5extern crate alloc;
6
7mod entities;
8mod memo;
9#[cfg(test)]
10mod test_support;
11mod unicode_punctuation;
12
13pub mod ast;
14pub mod diagnostic;
15#[cfg(feature = "html")]
16pub mod html;
17pub mod options;
18pub mod parse;
19pub mod serialize;
20pub mod span;
21pub mod validate;
22
23pub use ast::*;
24pub use diagnostic::{Diagnostic, DiagnosticCode, DiagnosticSeverity};
25#[cfg(feature = "html")]
26pub use html::{HtmlError, HtmlOptions, SafeRawHtmlForm, TasklistAttrOrder};
27pub use options::{
28    Construct, Constructs, ParseOptions, SyntaxConfigError, SyntaxOptions, WikiLinkOrder,
29};
30pub use parse::{parse, ParseOutput, ParseStrictError};
31pub use serialize::{LineEnding, SerializeError, SerializeOptions};
32pub use span::{LineIndex, LinePosition, Span};
33
34/// Common imports for working with `markdown-syntax`: `use
35/// markdown_syntax::prelude::*;` brings the AST, options, diagnostics, parse
36/// entry points, and serialize/span types (plus the HTML renderer under the
37/// `html` feature) into scope.
38pub mod prelude {
39    pub use crate::ast::*;
40    pub use crate::diagnostic::{Diagnostic, DiagnosticCode, DiagnosticSeverity};
41    #[cfg(feature = "html")]
42    pub use crate::html::{HtmlError, HtmlOptions, SafeRawHtmlForm, TasklistAttrOrder};
43    pub use crate::options::{
44        Construct, Constructs, ParseOptions, SyntaxConfigError, SyntaxOptions, WikiLinkOrder,
45    };
46    pub use crate::parse::{parse, ParseOutput, ParseStrictError};
47    pub use crate::serialize::{LineEnding, SerializeError, SerializeOptions};
48    pub use crate::span::{LineIndex, LinePosition, Span};
49}