cmark_writer/
lib.rs

1#![doc = include_str!("../README.md")]
2#![deny(missing_docs)]
3
4// AST related exports
5pub use crate::ast::{CodeBlockType, HeadingType, HtmlAttribute, HtmlElement, ListItem, Node};
6
7// Error types
8pub use crate::error::{CodedError, StructureError, WriteError, WriteResult};
9
10// Unified trait architecture
11pub use crate::traits::{
12    // Processing traits
13    BlockNodeProcessor,
14    // Formatting traits
15    CommonMarkRenderable,
16    ConfigurableProcessor,
17    // Core traits
18    CustomNode,
19    // Utility traits
20    ErrorContext,
21    ErrorFactory,
22    Format,
23    HtmlRenderable,
24    InlineNodeProcessor,
25    MultiFormat,
26    NodeClone,
27    NodeContent,
28    NodeProcessor,
29    ToCommonMark,
30    ToHtml,
31    Writer,
32};
33
34// New processors
35pub use crate::writer::processors::{
36    BlockProcessorConfig, CustomNodeProcessor, EnhancedBlockProcessor, EnhancedInlineProcessor,
37    InlineProcessorConfig,
38};
39
40// Options
41pub use crate::options::{WriterOptions, WriterOptionsBuilder};
42
43// CommonMark writer
44pub use crate::writer::CommonMarkWriter;
45
46// HTML writer related exports
47pub use crate::writer::{HtmlWriteError, HtmlWriteResult, HtmlWriter, HtmlWriterOptions};
48
49// Export proc-macro attributes and derive macros
50pub use cmark_writer_macros::{coded_error, structure_error, CommonMarkOnly};
51
52pub mod ast;
53pub mod error;
54pub mod options;
55pub mod traits;
56pub mod writer;
57
58/// GitHub Flavored Markdown (GFM) extensions
59///
60/// This module is only available when the `gfm` feature is enabled.
61#[cfg(feature = "gfm")]
62pub mod gfm;