马一丁

Improve Rendering Compatibility

@@ -889,6 +889,14 @@ class HTMLRenderer: @@ -889,6 +889,14 @@ class HTMLRenderer:
889 if handler: 889 if handler:
890 html_fragment = handler(block) 890 html_fragment = handler(block)
891 return self._wrap_error_block(html_fragment, block) 891 return self._wrap_error_block(html_fragment, block)
  892 + # 兼容旧格式:缺少type但包含inlines时按paragraph处理
  893 + if isinstance(block, dict) and block.get("inlines"):
  894 + html_fragment = self._render_paragraph({"inlines": block.get("inlines")})
  895 + return self._wrap_error_block(html_fragment, block)
  896 + # 兼容直接传入字符串的场景
  897 + if isinstance(block, str):
  898 + html_fragment = self._render_paragraph({"inlines": [{"text": block}]})
  899 + return self._wrap_error_block(html_fragment, {"meta": {}, "type": "paragraph"})
892 if isinstance(block.get("blocks"), list): 900 if isinstance(block.get("blocks"), list):
893 html_fragment = self._render_blocks(block["blocks"]) 901 html_fragment = self._render_blocks(block["blocks"])
894 return self._wrap_error_block(html_fragment, block) 902 return self._wrap_error_block(html_fragment, block)