markmap-lib
Version:
Visualize your Markdown as mindmaps with Markmap
43 lines (30 loc) • 1.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.createMarkmap = createMarkmap;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _fs = require("fs");
var _open = _interopRequireDefault(require("open"));
var _transform = require("./transform");
var _template = require("./template");
async function createMarkmap(options = {}) {
const {
input,
open: openFile = true
} = options,
rest = (0, _objectWithoutPropertiesLoose2.default)(options, ["input", "open"]);
let {
content,
output
} = options;
if (input) {
content = await _fs.promises.readFile(input, 'utf8');
}
if (!output) {
output = input ? `${input.replace(/\.\w*$/, '')}.html` : 'markmap.html';
}
const root = (0, _transform.transform)(content || '');
const html = (0, _template.fillTemplate)(root, rest);
_fs.promises.writeFile(output, html, 'utf8');
if (openFile) (0, _open.default)(output);
}