UNPKG

markmap-lib

Version:

Visualize your Markdown as mindmaps with Markmap

45 lines (40 loc) 1.62 kB
"use strict"; exports.__esModule = true; exports.fillTemplate = fillTemplate; var _util = require("./util"); var _plugins = require("./plugins"); const template = "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n<title>Markmap</title>\n<style>\n* {\n margin: 0;\n padding: 0;\n}\n#mindmap {\n display: block;\n width: 100vw;\n height: 100vh;\n}\n</style>\n<!--CSS-->\n</head>\n<body>\n<svg id=\"mindmap\"></svg>\n<!--JS-->\n</body>\n</html>\n"; const baseJs = ['https://cdn.jsdelivr.net/npm/d3@5', 'https://cdn.jsdelivr.net/npm/markmap-lib@0.7.8/dist/browser/view.min.js'].map(src => ({ type: 'script', data: { src } })); function fillTemplate(data, opts) { const { js, css, initializers } = (0, _util.persistPlugins)([(opts == null ? void 0 : opts.mathJax) && _plugins.mathJax, (opts == null ? void 0 : opts.prism) && _plugins.prism].filter(Boolean), opts); const jsList = [...(0, _util.persistJS)(baseJs), js, ...(0, _util.persistJS)([{ type: 'iife', data: { fn: (data, ...initializers) => { const { Markmap } = window.markmap; initializers.forEach(initialize => initialize(Markmap)); Markmap.create('svg#mindmap', null, data); }, getParams: ({ data, initializers }) => [data, ...initializers] } }], { data, initializers })]; const html = template.replace('<!--CSS-->', css).replace('<!--JS-->', jsList.join('')); return html; }