Pluggable exporters (to support potx theming) #298
Replies: 1 comment
-
There is already a tool Pandoc for exactly that purpose, so Marp team does not have focused to export editable slides. See also: #82 And we have not pluggable architecture of exporters for now because Marp official toolset should keep reliable and well-maintained outputs. Having said that, thinking about more pluggability is good one :) Currently "Pluggable architecture" that is advertised Marp is meaning a plugin for markdown-it compatible converter, Marpit/Marp Core. To interpose to output process, we must make pluggable Marp CLI and would need to rewrite current CLI drastically. (may break current workflow used by several users!) Thus, beginning from new concept of the conversion architecture by Marp developer community may become a good first action. Appendix: Current architectureflowchart TD
subgraph User input
CSS([Custom theme CSS])
MD([Markdown])
MPP([Marp/Marpit/markdown-it plugins])
end
CSS-.->MPC
MD==>MPC
MPP-.->MPC
AST-.->OUTDEV
SNP-.->OUTDEV
MPC[Marp Core]
MPC==Transform Markdown==>AST
MPC==Process styles==>CSSS
AST[markdown-it compatible AST]==Render==>HTMLS
subgraph SNP[Snippets]
HTMLS[Slide HTML snippets]
CSSS[Rendered CSS]
end
SNP==Render with template==>TMPHTML[HTML generated from selected template]
subgraph CLI[Marp CLI]
TMPHTML-.Open in.->PUPPETEER[Headless Chromium-based browser]
PUPPETEER==Transform==>PDFOUT[PDF]
PUPPETEER==Transform==>IMGOUT["Images (JPG/PNG)"]
IMGOUT==Convert==>PPTXOUT[PowerPoint document]
end
TMPHTML==HTML output==>OUT
PDFOUT==>OUT
IMGOUT==>OUT
PPTXOUT==>OUT
OUT([Output])
OUTDEV([Output for developers])
Developers can try to build a custom output in a own format from |
Beta Was this translation helpful? Give feedback.
-
Being able to quickly author outline presentations in markdown is brilliant.
Sometimes the rough decks we outline in Marp/VsCode, we want to refine in other tools, like Powerpoint without having to copy and paste the content text in, one frame at a time. We may wish to apply our house-style to decks or tweak layouts on a per-slide basis.
This is an idea for extensions pattern for Marp, which currently flattens content to high quality images (for good reasons in the default usage).
The current implementation for exporting Powerpoint slides uses PptxGenJs.
If exporters could be made pluggable, with access to the content of the marp document model (and not just the rendered raster output), then the community could contribute custom template exporters for formats such as PowerPoint which can leverage the template features of tools like PptxGenJs.
I'm interested:
thanks
Beta Was this translation helpful? Give feedback.
All reactions