You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

23 lines
662 B

from panflute import Element, Block, Inline, Null, Str, Doc, convert_text, Para, Plain
import re
def inlinify(e: Element) -> Element:
if len(e.content) == 1 and (isinstance(e.content[0], Para) or isinstance(e.content[0], Plain)):
return e.content[0].content
def replaceEl(e: Element, r: Element) -> Element:
parent = e.parent
parent.content[e.index] = r
r.parent = parent
return r
def deleteEl(e: Element):
del e.parent.content[e.index]
def nullify(e: Element):
if isinstance(e, Inline):
return Str("")
elif isinstance(e, Block):
return Null()
def import_md(s: str, standalone: bool=True) -> Doc:
return convert_text(s, standalone=standalone)