aboutsummaryrefslogtreecommitdiffstats
path: root/renderer
diff options
context:
space:
mode:
authorPhilipp A2020-01-03 16:43:21 +0100
committerPhilipp A2020-01-03 16:48:39 +0100
commit06e7d81088e33d7ee03e7088e1ec2289e9c2bf5c (patch)
tree59daa73de46abfdc60a6e3e4c11b43011ff49053 /renderer
parent0f1a3e3578b934454a41a31eff15c23622719a67 (diff)
downloadrust-rst-0.3.1-parser.tar.bz2
Added code block directivev0.3.1-rendererv0.3.1-parser
Diffstat (limited to 'renderer')
-rw-r--r--renderer/Cargo.toml2
-rw-r--r--renderer/src/html.rs6
-rw-r--r--renderer/src/html/tests.rs19
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() {