66//!
77//! # Example
88//! ```rust
9- //! use pulldown_html_ext::{RendererConfig, render_markdown };
9+ //! use pulldown_html_ext::{HtmlConfig, push_html };
1010//!
11- //! let config = RendererConfig ::default();
11+ //! let config = HtmlConfig ::default();
1212//! let markdown = "# Hello\nThis is *markdown*";
13- //! let html = render_markdown (markdown, &config);
13+ //! let html = push_html (markdown, &config);
1414//! assert!(html.contains("<h1"));
1515//! ```
1616
@@ -22,13 +22,13 @@ mod tag_handler;
2222pub mod utils;
2323
2424pub use config:: {
25- AttributeMappings , CodeBlockOptions , ElementOptions , HeadingOptions , HtmlOptions , LinkOptions ,
26- RendererConfig ,
25+ AttributeMappings , CodeBlockOptions , ElementOptions , HeadingOptions , HtmlConfig , HtmlOptions ,
26+ LinkOptions ,
2727} ;
28- pub use default_handler:: DefaultTagHandler ;
28+ pub use default_handler:: DefaultHtmlWriter ;
2929pub use renderer:: Renderer ;
3030pub use renderer_state:: RendererState ;
31- pub use tag_handler:: TagHandler ;
31+ pub use tag_handler:: HtmlWriter ;
3232
3333use pulldown_cmark:: Parser ;
3434
@@ -42,16 +42,16 @@ use pulldown_cmark::Parser;
4242/// # Example
4343///
4444/// ```rust
45- /// use pulldown_html_ext::{RendererConfig, render_markdown };
45+ /// use pulldown_html_ext::{HtmlConfig, push_html };
4646///
47- /// let config = RendererConfig ::default();
47+ /// let config = HtmlConfig ::default();
4848/// let markdown = "# Title\nHello *world*!";
49- /// let html = render_markdown (markdown, &config);
49+ /// let html = push_html (markdown, &config);
5050/// ```
51- pub fn render_markdown ( markdown : & str , config : & RendererConfig ) -> String {
51+ pub fn push_html ( markdown : & str , config : & HtmlConfig ) -> String {
5252 let mut output = String :: new ( ) ;
5353 let parser = Parser :: new ( markdown) ;
54- let handler = default_handler:: DefaultTagHandler :: new ( & mut output, config) ;
54+ let handler = default_handler:: DefaultHtmlWriter :: new ( & mut output, config) ;
5555 let mut renderer = renderer:: Renderer :: new ( handler) ;
5656 renderer. run ( parser) ;
5757 output
@@ -67,25 +67,25 @@ pub fn render_markdown(markdown: &str, config: &RendererConfig) -> String {
6767///
6868/// ```rust
6969/// use std::iter::Peekable;
70- /// use pulldown_html_ext::{TagHandler , Renderer, RendererConfig , RendererState};
70+ /// use pulldown_html_ext::{HtmlWriter , Renderer, HtmlConfig , RendererState};
7171/// use pulldown_cmark::{Event, LinkType};
7272///
7373/// struct CustomHandler{
74- /// config: RendererConfig ,
74+ /// config: HtmlConfig ,
7575/// output: String,
7676/// state: RendererState
7777/// };
78- /// impl TagHandler for CustomHandler {
78+ /// impl HtmlWriter for CustomHandler {
7979/// // Implement required methods...
80- /// # fn get_config(&self) -> &RendererConfig { &self.config }
80+ /// # fn get_config(&self) -> &HtmlConfig { &self.config }
8181/// # fn get_output(&mut self) -> &mut String{ &mut self.output }
8282/// # fn get_state(&mut self) -> &mut RendererState { &mut self.state }
8383/// }
8484///
85- /// let mut handler = CustomHandler{ config: RendererConfig ::default(), output: String::new(), state: RendererState::new() };
85+ /// let mut handler = CustomHandler{ config: HtmlConfig ::default(), output: String::new(), state: RendererState::new() };
8686/// let renderer = Renderer::new(handler);
8787/// ```
88- pub fn create_renderer < H : TagHandler > ( handler : H ) -> Renderer < H > {
88+ pub fn create_renderer < H : HtmlWriter > ( handler : H ) -> Renderer < H > {
8989 Renderer :: new ( handler)
9090}
9191
@@ -96,9 +96,9 @@ mod tests {
9696
9797 #[ test]
9898 fn test_basic_markdown ( ) {
99- let config = RendererConfig :: default ( ) ;
99+ let config = HtmlConfig :: default ( ) ;
100100 let markdown = "# Hello\n This is a test." ;
101- let html = render_markdown ( markdown, & config) ;
101+ let html = push_html ( markdown, & config) ;
102102 assert ! ( html. contains( "<h1" ) ) ;
103103 assert ! ( html. contains( "Hello" ) ) ;
104104 assert ! ( html. contains( "<p>" ) ) ;
@@ -107,7 +107,7 @@ mod tests {
107107
108108 #[ test]
109109 fn test_custom_heading_classes ( ) {
110- let mut config = RendererConfig :: default ( ) ;
110+ let mut config = HtmlConfig :: default ( ) ;
111111 config. elements . headings . level_classes = {
112112 let mut map = HashMap :: new ( ) ;
113113 map. insert ( 1 , "title" . to_string ( ) ) ;
@@ -116,38 +116,38 @@ mod tests {
116116 } ;
117117
118118 let markdown = "# Main Title\n ## Subtitle" ;
119- let html = render_markdown ( markdown, & config) ;
119+ let html = push_html ( markdown, & config) ;
120120 assert ! ( html. contains( r#"<h1 id="heading-1" class="title""# ) ) ;
121121 assert ! ( html. contains( r#"<h2 id="heading-2" class="subtitle""# ) ) ;
122122 }
123123
124124 #[ test]
125125 fn test_code_blocks ( ) {
126- let mut config = RendererConfig :: default ( ) ;
126+ let mut config = HtmlConfig :: default ( ) ;
127127 config. elements . code_blocks . default_language = Some ( "text" . to_string ( ) ) ;
128128
129129 let markdown = "```python\n print('hello')\n ```" ;
130- let html = render_markdown ( markdown, & config) ;
130+ let html = push_html ( markdown, & config) ;
131131 assert ! ( html. contains( r#"<code class="language-python">"# ) ) ;
132132
133133 let markdown = "```\n plain text\n ```" ;
134- let html = render_markdown ( markdown, & config) ;
134+ let html = push_html ( markdown, & config) ;
135135 assert ! ( html. contains( r#"<code class="language-text">"# ) ) ;
136136 }
137137
138138 #[ test]
139139 fn test_external_links ( ) {
140- let mut config = RendererConfig :: default ( ) ;
140+ let mut config = HtmlConfig :: default ( ) ;
141141 config. elements . links . nofollow_external = true ;
142142 config. elements . links . open_external_blank = true ;
143143
144144 let markdown = "[External](https://example.com)" ;
145- let html = render_markdown ( markdown, & config) ;
145+ let html = push_html ( markdown, & config) ;
146146 assert ! ( html. contains( r#"rel="nofollow""# ) ) ;
147147 assert ! ( html. contains( r#"target="_blank""# ) ) ;
148148
149149 let markdown = "[Internal](/local)" ;
150- let html = render_markdown ( markdown, & config) ;
150+ let html = push_html ( markdown, & config) ;
151151 assert ! ( !html. contains( r#"rel="nofollow""# ) ) ;
152152 assert ! ( !html. contains( r#"target="_blank""# ) ) ;
153153 }
0 commit comments