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 unicode_punctuation;
9
10pub mod ast;
11pub mod diagnostic;
12#[cfg(feature = "html")]
13pub mod html;
14pub mod options;
15pub mod parse;
16pub mod serialize;
17pub mod span;
18pub mod validate;
19
20pub use ast::*;
21pub use diagnostic::{Diagnostic, DiagnosticCode, DiagnosticSeverity};
22#[cfg(feature = "html")]
23pub use html::{HtmlError, HtmlOptions, SafeRawHtmlForm, TasklistAttrOrder};
24pub use options::{
25    Construct, Constructs, ParseOptions, SyntaxConfigError, SyntaxOptions, WikiLinkOrder,
26};
27pub use parse::{parse, ParseOutput, ParseStrictError};
28pub use serialize::{LineEnding, SerializeError, SerializeOptions};
29pub use span::{LineIndex, LinePosition, Span};
30
31/// Common imports for working with `markdown-syntax`: `use
32/// markdown_syntax::prelude::*;` brings the AST, options, diagnostics, parse
33/// entry points, and serialize/span types (plus the HTML renderer under the
34/// `html` feature) into scope.
35pub mod prelude {
36    pub use crate::ast::*;
37    pub use crate::diagnostic::{Diagnostic, DiagnosticCode, DiagnosticSeverity};
38    #[cfg(feature = "html")]
39    pub use crate::html::{HtmlError, HtmlOptions, SafeRawHtmlForm, TasklistAttrOrder};
40    pub use crate::options::{
41        Construct, Constructs, ParseOptions, SyntaxConfigError, SyntaxOptions, WikiLinkOrder,
42    };
43    pub use crate::parse::{parse, ParseOutput, ParseStrictError};
44    pub use crate::serialize::{LineEnding, SerializeError, SerializeOptions};
45    pub use crate::span::{LineIndex, LinePosition, Span};
46}