{"_id":"@alankyshum/markdown-renderer","_rev":"4-341e2ff101c00e5ce6bde931876964fa","name":"@alankyshum/markdown-renderer","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@alankyshum/markdown-renderer","version":"1.0.0","keywords":["markdown","renderer","marked","mermaid","tabulator","chart.js","frappe-gantt","markmap"],"author":{"name":"Alan Shum"},"license":"MIT","_id":"@alankyshum/markdown-renderer@1.0.0","maintainers":[{"name":"alankyshum","email":"alan200994@gmail.com"}],"homepage":"https://github.com/alankyshum/md-share/tree/master/packages/markdown-renderer#readme","bugs":{"url":"https://github.com/alankyshum/md-share/issues"},"dist":{"shasum":"f2bd1c2135f83a85772775e0429649f06d0fc58f","tarball":"https://registry.npmjs.org/@alankyshum/markdown-renderer/-/markdown-renderer-1.0.0.tgz","fileCount":37,"integrity":"sha512-eEbVJO8fpETT10U5x00aJm08vofqaOg9DyFFvzBiG8SvMAEDNNYS8Q4HGay5CLK2YFXidHpJSEfWuXfqU5sEGw==","signatures":[{"sig":"MEQCIESrRP4shjtylObHQ2mkV+58gldHtwl/Iw/cldr2ggRtAiBlfA0z1SrNAvelMikOUbCmx4zvZqWalf1kewWJqyt1Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":568856},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js"},"./client/maps":{"types":"./dist/client/maps.d.ts","import":"./dist/client/maps.js"},"./client/gantt":{"types":"./dist/client/gantt.d.ts","import":"./dist/client/gantt.js"},"./client/charts":{"types":"./dist/client/charts.d.ts","import":"./dist/client/charts.js"},"./client/tables":{"types":"./dist/client/tables.d.ts","import":"./dist/client/tables.js"},"./client/mermaid":{"types":"./dist/client/mermaid-init.d.ts","import":"./dist/client/mermaid-init.js"},"./client/markmaps":{"types":"./dist/client/markmaps.d.ts","import":"./dist/client/markmaps.js"},"./styles/renderer.css":"./dist/styles/renderer.css"},"gitHead":"fdd6bd9cc6be041a048c6507b58585097f624bd4","scripts":{"build":"tsup"},"_npmUser":{"name":"alankyshum","email":"alan200994@gmail.com"},"repository":{"url":"git+https://github.com/alankyshum/md-share.git","type":"git","directory":"packages/markdown-renderer"},"_npmVersion":"10.9.2","description":"Framework-agnostic markdown renderer with interactive tables, charts, gantt, mindmaps, and maps. Powers md-share.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"marked":"^15.0.0","js-yaml":"^4.0.0","mermaid":"^11.0.0","chart.js":"*","maplibre-gl":"^4.0.0","markmap-lib":"*","frappe-gantt":"*","highlight.js":"^11.0.0","markmap-view":"*","tabulator-tables":"*","chartjs-plugin-annotation":"*"},"peerDependenciesMeta":{"js-yaml":{"optional":true},"mermaid":{"optional":true},"chart.js":{"optional":true},"maplibre-gl":{"optional":true},"markmap-lib":{"optional":true},"frappe-gantt":{"optional":true},"highlight.js":{"optional":true},"markmap-view":{"optional":true},"tabulator-tables":{"optional":true},"chartjs-plugin-annotation":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/markdown-renderer_1.0.0_1779745395663_0.4292788574536719","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alankyshum/markdown-renderer","version":"1.0.1","keywords":["markdown","renderer","marked","mermaid","tabulator","chart.js","frappe-gantt","markmap"],"author":{"name":"Alan Shum"},"license":"MIT","_id":"@alankyshum/markdown-renderer@1.0.1","maintainers":[{"name":"alankyshum","email":"alan200994@gmail.com"}],"homepage":"https://github.com/alankyshum/md-share/tree/master/packages/markdown-renderer#readme","bugs":{"url":"https://github.com/alankyshum/md-share/issues"},"dist":{"shasum":"e2cf35455de552ff8be6dcf02ffe046d71a9fbb8","tarball":"https://registry.npmjs.org/@alankyshum/markdown-renderer/-/markdown-renderer-1.0.1.tgz","fileCount":37,"integrity":"sha512-W7ObhJ7o7GGF6sU1h6wcOTwwtKVBJroE1d9/zmfaX2DNDt/9P+Gj1WXq1k1FSgMFYVdbEfhP/jpBx4a4mck/lA==","signatures":[{"sig":"MEQCIAWQvi8eHMSDHi0TeITNSdEPqoQV9dcbCSGy9B7YBJ2DAiAjOw+PLZo4xlwG6GJlDPBu9A7G9dgGOFsPr0N2d2ePZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":568856},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js"},"./client/maps":{"types":"./dist/client/maps.d.ts","import":"./dist/client/maps.js"},"./client/gantt":{"types":"./dist/client/gantt.d.ts","import":"./dist/client/gantt.js"},"./client/charts":{"types":"./dist/client/charts.d.ts","import":"./dist/client/charts.js"},"./client/tables":{"types":"./dist/client/tables.d.ts","import":"./dist/client/tables.js"},"./client/mermaid":{"types":"./dist/client/mermaid-init.d.ts","import":"./dist/client/mermaid-init.js"},"./client/markmaps":{"types":"./dist/client/markmaps.d.ts","import":"./dist/client/markmaps.js"},"./styles/renderer.css":"./dist/styles/renderer.css"},"gitHead":"fdd6bd9cc6be041a048c6507b58585097f624bd4","scripts":{"build":"tsup"},"_npmUser":{"name":"alankyshum","email":"alan200994@gmail.com"},"repository":{"url":"git+https://github.com/alankyshum/md-share.git","type":"git","directory":"packages/markdown-renderer"},"_npmVersion":"10.9.2","description":"Framework-agnostic markdown renderer with interactive tables, charts, gantt, mindmaps, and maps. Powers md-share.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"marked":"^15.0.0","js-yaml":"^4.0.0","mermaid":"^11.0.0","chart.js":"*","maplibre-gl":"^4.0.0","markmap-lib":"*","frappe-gantt":"*","highlight.js":"^11.0.0","markmap-view":"*","tabulator-tables":"*","chartjs-plugin-annotation":"*"},"peerDependenciesMeta":{"js-yaml":{"optional":true},"mermaid":{"optional":true},"chart.js":{"optional":true},"maplibre-gl":{"optional":true},"markmap-lib":{"optional":true},"frappe-gantt":{"optional":true},"highlight.js":{"optional":true},"markmap-view":{"optional":true},"tabulator-tables":{"optional":true},"chartjs-plugin-annotation":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/markdown-renderer_1.0.1_1779745499073_0.9897348842386864","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alankyshum/markdown-renderer","version":"1.0.2","keywords":["markdown","renderer","marked","mermaid","tabulator","chart.js","frappe-gantt","markmap"],"author":{"name":"Alan Shum"},"license":"MIT","_id":"@alankyshum/markdown-renderer@1.0.2","maintainers":[{"name":"alankyshum","email":"alan200994@gmail.com"}],"homepage":"https://github.com/alankyshum/md-share#readme","bugs":{"url":"https://github.com/alankyshum/md-share/issues"},"dist":{"shasum":"78ef49ee318cce1eb6e087d52e3b1ffb62830fbd","tarball":"https://registry.npmjs.org/@alankyshum/markdown-renderer/-/markdown-renderer-1.0.2.tgz","fileCount":38,"integrity":"sha512-+GimztM5Qs3ZTU+/Gwh+U6VEHx5wnkd3uCdU46TiJ3922IKFaDX6KwXQ0J8ZbXkyXsPc8fjYeqU8P5cdTWaPhg==","signatures":[{"sig":"MEYCIQCnPoWyj23aW48AMWoBfLIy54/E42Xe9ktizj3S5fiyRAIhAJT5/h2h+cFVsV+1BKWPOXdRVE8lrCgPXxqrlXCqZUF/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591090},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js"},"./client/maps":{"types":"./dist/client/maps.d.ts","import":"./dist/client/maps.js"},"./client/gantt":{"types":"./dist/client/gantt.d.ts","import":"./dist/client/gantt.js"},"./client/charts":{"types":"./dist/client/charts.d.ts","import":"./dist/client/charts.js"},"./client/tables":{"types":"./dist/client/tables.d.ts","import":"./dist/client/tables.js"},"./client/mermaid":{"types":"./dist/client/mermaid-init.d.ts","import":"./dist/client/mermaid-init.js"},"./client/markmaps":{"types":"./dist/client/markmaps.d.ts","import":"./dist/client/markmaps.js"},"./styles/renderer.css":"./dist/styles/renderer.css"},"gitHead":"8cfdff87b66a073401ce69c0695b44774a288b9d","scripts":{"build":"tsup"},"_npmUser":{"name":"alankyshum","email":"alan200994@gmail.com"},"repository":{"url":"git+https://github.com/alankyshum/md-share.git","type":"git","directory":"packages/markdown-renderer"},"_npmVersion":"10.9.2","description":"Framework-agnostic markdown renderer with interactive tables, charts, gantt, mindmaps, and maps. Powers md-share.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","@types/js-yaml":"^4.0.9"},"peerDependencies":{"marked":"^15.0.0","js-yaml":"^4.0.0","mermaid":"^11.0.0","chart.js":"*","maplibre-gl":"^4.0.0","markmap-lib":"*","frappe-gantt":"*","highlight.js":"^11.0.0","markmap-view":"*","tabulator-tables":"*","chartjs-plugin-annotation":"*"},"peerDependenciesMeta":{"js-yaml":{"optional":true},"mermaid":{"optional":true},"chart.js":{"optional":true},"maplibre-gl":{"optional":true},"markmap-lib":{"optional":true},"frappe-gantt":{"optional":true},"highlight.js":{"optional":true},"markmap-view":{"optional":true},"tabulator-tables":{"optional":true},"chartjs-plugin-annotation":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/markdown-renderer_1.0.2_1779851695229_0.9029445889876129","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alankyshum/markdown-renderer","version":"1.0.3","description":"Framework-agnostic markdown renderer with interactive tables, charts, gantt, mindmaps, and maps. Powers md-share.","license":"MIT","author":{"name":"Alan Shum"},"repository":{"type":"git","url":"git+https://github.com/alankyshum/md-share.git","directory":"packages/markdown-renderer"},"bugs":{"url":"https://github.com/alankyshum/md-share/issues"},"homepage":"https://github.com/alankyshum/md-share#readme","keywords":["markdown","renderer","marked","mermaid","tabulator","chart.js","frappe-gantt","markmap"],"publishConfig":{"access":"public"},"sideEffects":["**/*.css"],"type":"module","scripts":{"build":"tsup","test":"vitest run"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./server":{"import":"./dist/server.js","types":"./dist/server.d.ts"},"./client":{"import":"./dist/client/index.js","types":"./dist/client/index.d.ts"},"./client/maps":{"import":"./dist/client/maps.js","types":"./dist/client/maps.d.ts"},"./client/charts":{"import":"./dist/client/charts.js","types":"./dist/client/charts.d.ts"},"./client/gantt":{"import":"./dist/client/gantt.js","types":"./dist/client/gantt.d.ts"},"./client/tables":{"import":"./dist/client/tables.js","types":"./dist/client/tables.d.ts"},"./client/markmaps":{"import":"./dist/client/markmaps.js","types":"./dist/client/markmaps.d.ts"},"./client/mermaid":{"import":"./dist/client/mermaid-init.js","types":"./dist/client/mermaid-init.d.ts"},"./styles/renderer.css":"./dist/styles/renderer.css"},"peerDependencies":{"marked":"^15.0.0","mermaid":"^11.0.0","markmap-lib":"*","markmap-view":"*","highlight.js":"^11.0.0","maplibre-gl":"^4.0.0","js-yaml":"^4.0.0","chart.js":"*","chartjs-plugin-annotation":"*","frappe-gantt":"*","tabulator-tables":"*"},"peerDependenciesMeta":{"mermaid":{"optional":true},"markmap-lib":{"optional":true},"markmap-view":{"optional":true},"highlight.js":{"optional":true},"maplibre-gl":{"optional":true},"js-yaml":{"optional":true},"chart.js":{"optional":true},"chartjs-plugin-annotation":{"optional":true},"frappe-gantt":{"optional":true},"tabulator-tables":{"optional":true}},"devDependencies":{"@types/js-yaml":"^4.0.9","tsup":"^8.0.2","vitest":"^3.0.5"},"gitHead":"601046b9b047cc9c0cacfdb135bf8707f9d2cc03","_id":"@alankyshum/markdown-renderer@1.0.3","_nodeVersion":"26.3.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-lnRm9WnD1uHWtHVZ1PJ5sNVgteKFHVFPqs5y+I+2OrnvFtSrPmEmhTExOVyxJfH1+U9U9pQoiiJUYVRpHSeVmA==","shasum":"4342566adfba3a4e90b0235e16ee8269b06b3073","tarball":"https://registry.npmjs.org/@alankyshum/markdown-renderer/-/markdown-renderer-1.0.3.tgz","fileCount":38,"unpackedSize":619073,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCrt3YZdC9ie419NY3gKieRZPbVP3oCoK41S/yrLbnmugIgBhtX+dd3PX4dztYtKoJZx1DCdFyj/R4rfQWq6hADKcc="}]},"_npmUser":{"name":"alankyshum","email":"alan200994@gmail.com"},"directories":{},"maintainers":[{"name":"alankyshum","email":"alan200994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/markdown-renderer_1.0.3_1783117150117_0.8487297213494283"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-25T21:43:15.501Z","modified":"2026-07-03T22:19:10.446Z","1.0.0":"2026-05-25T21:43:15.854Z","1.0.1":"2026-05-25T21:44:59.271Z","1.0.2":"2026-05-27T03:14:55.423Z","1.0.3":"2026-07-03T22:19:10.340Z"},"bugs":{"url":"https://github.com/alankyshum/md-share/issues"},"author":{"name":"Alan Shum"},"license":"MIT","homepage":"https://github.com/alankyshum/md-share#readme","keywords":["markdown","renderer","marked","mermaid","tabulator","chart.js","frappe-gantt","markmap"],"repository":{"type":"git","url":"git+https://github.com/alankyshum/md-share.git","directory":"packages/markdown-renderer"},"description":"Framework-agnostic markdown renderer with interactive tables, charts, gantt, mindmaps, and maps. Powers md-share.","maintainers":[{"name":"alankyshum","email":"alan200994@gmail.com"}],"readme":"# @alankyshum/markdown-renderer\n\nFramework-agnostic markdown renderer used by the share-md SPA and alanshum-web blog.\n\n## Exports\n\n- **`markdownToHtml(md, opts?)`** — server-safe (Node, no DOM). Converts markdown to HTML with placeholder divs for interactive fences (mermaid, markmap, chart, map).\n- **`enhance(target, opts?)`** — client-side hydration. Finds placeholder divs in a rendered DOM subtree and replaces them with interactive widgets (MapLibre maps, Chart.js charts, frappe-gantt Gantt charts, Mermaid diagrams, Markmap mind maps, Tabulator tables).\n\n## Usage\n\n```ts\n// Server (Node-safe)\nimport { markdownToHtml } from '@alankyshum/markdown-renderer/server';\nconst html = await markdownToHtml(md, { highlighter, headingSlugs });\n\n// Client hydration\nimport { enhance } from '@alankyshum/markdown-renderer/client';\nawait enhance(targetElement, { dark: true });\n```\n\nAll heavy dependencies (mermaid, maplibre-gl, chart.js, etc.) are peer dependencies and code-split via dynamic import — only loaded when the relevant fence type is present in the rendered content.\n","readmeFilename":"README.md"}