diff options
| author | Philipp A | 2020-01-03 16:43:21 +0100 |
|---|---|---|
| committer | Philipp A | 2020-01-03 16:48:39 +0100 |
| commit | 06e7d81088e33d7ee03e7088e1ec2289e9c2bf5c (patch) | |
| tree | 59daa73de46abfdc60a6e3e4c11b43011ff49053 /renderer | |
| parent | 0f1a3e3578b934454a41a31eff15c23622719a67 (diff) | |
| download | rust-rst-06e7d81088e33d7ee03e7088e1ec2289e9c2bf5c.tar.bz2 | |
Added code block directivev0.3.1-rendererv0.3.1-parser
Diffstat (limited to 'renderer')
| -rw-r--r-- | renderer/Cargo.toml | 2 | ||||
| -rw-r--r-- | renderer/src/html.rs | 6 | ||||
| -rw-r--r-- | renderer/src/html/tests.rs | 19 |
3 files changed, 25 insertions, 2 deletions
diff --git a/renderer/Cargo.toml b/renderer/Cargo.toml index d48dd34..c53c53f 100644 --- a/renderer/Cargo.toml +++ b/renderer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = 'rst_renderer' -version = '0.3.0' +version = '0.3.1' authors = ['Philipp A. <flying-sheep@web.de>'] edition = '2018' description = 'a reStructuredText renderer' 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<W>(&self, renderer: &mut HTMLRenderer<W>) -> 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 +", "\ +<pre class=\"python\">def foo(): + print('Hi!') + + # comment +</pre>\ +"); +} + /* #[test] fn test_field_list() { |
