Start of bullet list support
This commit is contained in:
parent
7f9d60c748
commit
7458cc2df9
|
@ -41,13 +41,24 @@ def parse_list_html(doc, token, cls="", root=True):
|
|||
return response.read()
|
||||
|
||||
|
||||
def parse_bullets_html(doc, token, cls="", root=True):
|
||||
response = StringIO()
|
||||
response.write(f"<ul{cls}>")
|
||||
for row in item.value.split("\n"):
|
||||
response.write(f"<li>{row}</li>")
|
||||
response.write(f"</ul>")
|
||||
response.seek(0)
|
||||
return response.read()
|
||||
|
||||
|
||||
def parse_text_html(doc, token, cls="", root=True):
|
||||
return f"{token.value}"
|
||||
|
||||
|
||||
def blockquote(doc, token, cls="", root=True):
|
||||
return "<blockquote%s>%s</blockquote>\n" % (
|
||||
cls, escape(token.value).replace("\n", "<br />")
|
||||
cls,
|
||||
escape(token.value).replace("\n", "<br />"),
|
||||
)
|
||||
|
||||
|
||||
|
@ -66,9 +77,11 @@ def table(doc, item, cls="", root=True):
|
|||
for row in item.value.split("\n"):
|
||||
if newrow:
|
||||
if row.startswith("|-"):
|
||||
tblhead += "<thead><th>" + "</th><th>".join(
|
||||
newrow
|
||||
) + "</th></thead>\n"
|
||||
tblhead += (
|
||||
"<thead><th>"
|
||||
+ "</th><th>".join(newrow)
|
||||
+ "</th></thead>\n"
|
||||
)
|
||||
else:
|
||||
tbl += f"<tr><td>" + "</td><td>".join(newrow) + "</td></tr>\n"
|
||||
newrow = filter(None, row.split("|"))
|
||||
|
@ -89,6 +102,7 @@ builddoc = {
|
|||
tokens.VERBATIM: ("code", None),
|
||||
tokens.LIST: (parse_list_html, "flow-text"),
|
||||
tokens.TEXT: (parse_text_html, "flow-text"),
|
||||
tokens.BULLET: (parse_bullets_html, ""),
|
||||
tokens.SOURCE: (src, None),
|
||||
tokens.EXAMPLE: (blockquote, None),
|
||||
tokens.RESULTS: (blockquote, None),
|
||||
|
|
|
@ -103,3 +103,24 @@ head -n 5 examples/html-plain/example.py
|
|||
assert result[0].value == expected[0].value
|
||||
assert result[1].attrs.get('language') == 'sh'
|
||||
assert result[1].value == expected[1].value
|
||||
|
||||
|
||||
@pytest.mark.skip
|
||||
def test_src_block():
|
||||
text = StringIO(
|
||||
"""
|
||||
+ Bullet 1
|
||||
+ Bullet 2
|
||||
"""
|
||||
)
|
||||
|
||||
expected = [
|
||||
Token(tokens.BLANK, ""),
|
||||
Token(tokens.BULLET, """ Bullet 1\nBullet 2"""),
|
||||
]
|
||||
result = parse(text).doc
|
||||
assert result[0].token == tokens.BLANK
|
||||
assert result[0].value == expected[0].value
|
||||
assert result[1].token == tokens.BULLET
|
||||
|
||||
assert result[1].value == expected[1].value
|
||||
|
|
Loading…
Reference in New Issue