cmark_writer/
lib.rs

1//! # cmark-writer
2//!
3//! `cmark-writer` is a Rust library for writing CommonMark format.
4//!
5//! This library provides functionality to serialize in-memory data structures to CommonMark compliant text.
6//!
7//! ## Example
8//!
9//! ```rust
10//! use cmark_writer::ast::{Node, ListItem};
11//! use cmark_writer::writer::CommonMarkWriter;
12//!
13//! // Create a simple document
14//! let document = Node::Document(vec![
15//!     Node::Heading {
16//!         level: 1,
17//!         content: vec![Node::Text("Hello CommonMark".to_string())],
18//!     },
19//!     Node::Paragraph(vec![
20//!         Node::Text("This is a simple ".to_string()),
21//!         Node::Strong(vec![Node::Text("example".to_string())]),
22//!         Node::Text(".".to_string()),
23//!     ]),
24//! ]);
25//!
26//! // Write the document as CommonMark text
27//! let mut writer = CommonMarkWriter::new();
28//! writer.write(&document).expect("Failed to write document");
29//! let markdown = writer.into_string();
30//!
31//! println!("{}", markdown);
32//! ```
33
34// Re-export main public API components so users can access them directly via `cmark_writer::Node`
35pub use crate::ast::{Alignment, ListItem, Node};
36pub use crate::writer::{CommonMarkWriter, WriterOptions};
37
38// Export public modules to allow users to access more advanced functionality
39pub mod ast;
40pub mod writer;