Pull request #4: Feature/quotes token
Merge in FRAG/50ohm.de from feature/quotes-token to main * commit 'e15a2109bb8dcc7f8bec2ebcd44df33d78dc967e': refactor: fixed library import feature: add quote renderer feature: add util function for testing
This commit is contained in:
@@ -1,12 +1,15 @@
|
|||||||
from mistletoe import HtmlRenderer
|
from mistletoe import HtmlRenderer
|
||||||
|
|
||||||
from renderer.comment import Comment
|
from renderer.comment import Comment
|
||||||
|
from renderer.quote import Quote
|
||||||
|
|
||||||
|
|
||||||
class FiftyOhmHtmlRenderer(HtmlRenderer):
|
class FiftyOhmHtmlRenderer(HtmlRenderer):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__(Comment)
|
super().__init__(Comment, Quote)
|
||||||
|
|
||||||
def render_comment():
|
def render_comment():
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def render_quote(self, token):
|
||||||
|
return f"„{self.render_inner(token)}“"
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import re
|
||||||
|
|
||||||
|
from mistletoe.span_token import SpanToken
|
||||||
|
|
||||||
|
|
||||||
|
class Quote(SpanToken):
|
||||||
|
"""
|
||||||
|
Quote span token ("Eiersalat").
|
||||||
|
Identifies quoted text.
|
||||||
|
"""
|
||||||
|
pattern = re.compile(r'"([^"]+)"')
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
import mistletoe
|
||||||
|
|
||||||
|
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
|
||||||
|
from test.util import paragraph
|
||||||
|
|
||||||
|
|
||||||
|
def test_quote_html() :
|
||||||
|
|
||||||
|
assertions = {
|
||||||
|
'"quote"' : '„quote“',
|
||||||
|
'" quote "' : '„ quote “',
|
||||||
|
'"quote" "' : '„quote“ "',
|
||||||
|
'"quo te1" filltext "qu ot e2"' : '„quo te1“ filltext „qu ot e2“',
|
||||||
|
'"quo *te1*" filltext "qu ot e2"' : '„quo <em>te1</em>“ filltext „qu ot e2“',
|
||||||
|
'""' : '""',
|
||||||
|
}
|
||||||
|
|
||||||
|
for assertion in assertions:
|
||||||
|
assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == paragraph(assertions[assertion])
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
def paragraph(text) :
|
||||||
|
return f'<p>{text}</p>\n'
|
||||||
Reference in New Issue
Block a user