@helldoc/core
Version:
helldoc core
27 lines (26 loc) • 1.18 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var markdown_1 = __importDefault(require("../markdown"));
var matter_1 = require("../util/matter");
function MarkdownLoader(source) {
return markdownToReact(source);
}
exports["default"] = MarkdownLoader;
function markdownToReact(source) {
var markdown = markdown_1["default"]();
var frontmatter = matter_1.parseFrontmatter(source);
var markdownHTML = JSON.stringify(markdown(frontmatter.content));
var importDeps = [
"import React from 'react';",
"import LayoutManager from '#hell/components/LayoutManager'"
].join("\n");
var htmlToReact = function (html) {
return ("\n export default function () {\n return (\n <LayoutManager renderContent={\n () => <div className='markdown-body section' dangerouslySetInnerHTML={{ __html: " + html + " }}></div>\n } />\n );\n }\n ").trim();
};
var res = [importDeps, htmlToReact(markdownHTML)].join("\n");
return res;
}
exports.markdownToReact = markdownToReact;