Recipes
One page for each place that shows Markdown: what to add, where, and how to check that a block became a chart. Recipes we built and checked with the real tool say so at the end; the others say they come from the tool's documentation.
Sites you publish
The site owner adds one script tag. plotdown.js finds the blocks in the HTML your tool writes and draws them in the reader's browser.
- Any HTML page One script tag Tried
- Jekyll and GitHub Pages A head include Tried
- Hugo A code block render hook Tried
- MkDocs custom_fences Tried
- mdBook additional-js Tried
- Docsify A script tag Tried
- Pandoc and Quarto A Lua filter Tried
- Gitea and Forgejo A footer template From the docs
Markdown pipelines
The developer adds a parser plugin. The chart is drawn when the page is built, so the page ships the SVG and needs no script.
- VitePress markdown-it plugin Tried
- Docusaurus rehype plugin Tried
- Astro rehype plugin Tried
- markdown-it md.use(plotdown) From the docs
- unified and rehype rehypePlugins From the docs
- marked marked.use(plotdown()) Tried
Apps and chat interfaces
The developer renders a component. A block still streaming shows a placeholder, then the chart once its JSON is complete.
- React and Streamdown <Plotdown> or plotRenderer Tried
GitHub and GitLab
The repository owner commits an SVG next to each block, or links an image. Readers need nothing.
- GitHub Action, extension, image links Tried
- GitLab A CI job
- Command line plotdown render, plotdown link Tried
- Image links Comments, chat, email From the docs
Sites you only read
The reader installs the browser extension or the userscript. Blocks become charts on GitHub, GitLab, AI chats and any page, for that reader alone.
- Browser extension Chrome, Edge, Firefox, userscript From the docs
Editors and agents
You install a plugin, or give your model the skill so that it writes valid blocks.
- VS Code Markdown preview and notebooks From the docs
- Obsidian A community plugin From the docs
- MCP hosts An MCP App server From the docs
- Agent skill SKILL.md and llms.txt From the docs