initial MVP

This commit is contained in:
Mikan
2025-12-08 16:57:25 +03:00
commit 848eb462b5
20 changed files with 398 additions and 0 deletions

17
src/core/renderer.py Normal file
View File

@@ -0,0 +1,17 @@
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)