From 06e7d81088e33d7ee03e7088e1ec2289e9c2bf5c Mon Sep 17 00:00:00 2001 From: Philipp A Date: Fri, 3 Jan 2020 16:43:21 +0100 Subject: Added code block directive --- renderer/src/html.rs | 6 +++++- renderer/src/html/tests.rs | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) (limited to 'renderer/src') diff --git a/renderer/src/html.rs b/renderer/src/html.rs index 73b994d..706ec2f 100644 --- a/renderer/src/html.rs +++ b/renderer/src/html.rs @@ -69,7 +69,11 @@ macro_rules! impl_html_render_simple { impl HTMLRender for e::$type { fn render_html(&self, renderer: &mut HTMLRenderer) -> Result<(), Error> where W: Write { let multiple_children = self.children().len() > 1; - write!(renderer.stream, "<{}>", stringify!($tag))?; + write!(renderer.stream, "<{}", stringify!($tag))?; + if self.classes().len() > 0 { + write!(renderer.stream, " class=\"{}\"", self.classes().join(" "))?; + } + write!(renderer.stream, ">")?; if multiple_children { write!(renderer.stream, $post)?; } for c in self.children() { (*c).render_html(renderer)?; diff --git a/renderer/src/html/tests.rs b/renderer/src/html/tests.rs index 8477699..6a0f350 100644 --- a/renderer/src/html/tests.rs +++ b/renderer/src/html/tests.rs @@ -11,6 +11,7 @@ fn check_renders_to(rst: &str, expected: &str) { render_html(&doc, &mut result_data, false).expect("Render error"); let result = String::from_utf8(result_data).expect("Could not decode"); assert_eq!(result.as_str().trim(), expected); + println!("{}", expected); } #[test] @@ -222,6 +223,24 @@ fn test_table() { } */ +#[test] +fn code() { + check_renders_to("\ +.. code:: python + + def foo(): + print('Hi!') + + # comment +", "\ +
def foo():
+    print('Hi!')
+
+    # comment
+
\ +"); +} + /* #[test] fn test_field_list() { -- cgit v1.2.3