17 lines
526 B
Python
17 lines
526 B
Python
|
|
import mistune
|
||
|
|
from .style_registry import StyleRegistry
|
||
|
|
from ..handlers import get_handler
|
||
|
|
|
||
|
|
def render_markdown_to_docx(doc, md_content: str, images_dir, style_reg: StyleRegistry):
|
||
|
|
markdown = mistune.create_markdown(renderer=None)
|
||
|
|
ast = markdown(md_content)
|
||
|
|
|
||
|
|
def walk(node):
|
||
|
|
handler = get_handler(node["type"])
|
||
|
|
if handler:
|
||
|
|
handler(node, doc, images_dir, style_reg)
|
||
|
|
elif node.get("children"):
|
||
|
|
for child in node["children"]:
|
||
|
|
walk(child)
|
||
|
|
|
||
|
|
walk(ast)
|