Vyasa Extension Refactor Audit and Execution Plan

Current Contract ViolationsURL copied

Mermaid Extension Does Not Own Mermaid RenderingURL copied

Observed in vyasa/extensions_builtin/mermaid/__init__.py:

from ..markdown.renderer import _render_mermaid_block

Required:

  • Move _render_mermaid_block into vyasa/extensions_builtin/mermaid/render.py.
  • Move Mermaid JavaScript from vyasa/static/scripts.js into vyasa/extensions_builtin/mermaid/static/mermaid.js.
  • Move Mermaid CSS from vyasa/static/header.css and slide-specific Mermaid CSS from vyasa/static/present.css into Mermaid-owned CSS bundles.
  • Register the fence through app.markdown.fence("mermaid", render_mermaid).
  • Register bundle:mermaid.runtime through app.assets.bundle(...).