diff --git a/eorg/generate.py b/eorg/generate.py
index 6a14376..4b94313 100644
--- a/eorg/generate.py
+++ b/eorg/generate.py
@@ -1,3 +1,4 @@
+from html import escape
from io import StringIO
from eorg.const import Token, ESCAPE
from eorg import tokens
@@ -14,7 +15,7 @@ def src(doc, code, cls="", root=True):
except pygments.util.ClassNotFound as e:
lexer = get_lexer_by_name(code.attrs.get("language", "text"))
- return highlight(code.value, lexer, HtmlFormatter(linenos=True))
+ return highlight(escape(code.value), lexer, HtmlFormatter(linenos=True))
def img(doc, item, cls="", root=True):
@@ -47,7 +48,7 @@ def parse_text_html(doc, token, cls="", root=True):
def blockquote(doc, token, cls="", root=True):
return "
%s
\n" % (
cls,
- token.value.replace("\n", "
"),
+ escape(token.value).replace("\n", "
"),
)
diff --git a/tests/test_token_types.py b/tests/test_token_types.py
index 67b19f8..50d6dab 100644
--- a/tests/test_token_types.py
+++ b/tests/test_token_types.py
@@ -6,7 +6,7 @@ from eorg.parser import parse
from eorg.generate import html
-def test_basic():
+def test_table():
document = """| Header 1 | Header 2 |
| row 1 | row 2 |
"""
@@ -14,8 +14,15 @@ def test_basic():
assert doc.doc[0].token == tokens.TABLE
r1 = doc.doc[0].value.strip()
r2 = document.strip()
- print(r1)
- print(r2)
assert r1 == r2
+def test_example():
+ document = """#+BEGIN_EXAMPLE
+#+HTML_HEAD:
+#+END_EXAMPLE"""
+ doc = parse(StringIO(document))
+ assert doc.doc[0].token == tokens.EXAMPLE
+ r1 = doc.doc[0].value.strip()
+ r2 = document.strip()
+ assert r1 == r2