ts-markdown-parser
Version:
TypeScript library that converts markdown to HTML (with code support).
52 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMarkdownMetadata = exports.markdownToHtml = void 0;
const markdown_parser_1 = require("./utils/markdown-parser");
const metadata_parser_1 = require("./utils/metadata-parser");
/**
* Converts a Markdown string into an HTML string.
*
* This function parses the Markdown content to generate HTML and appends a global script.
*
* @param {string} markdown - The Markdown content to be converted to HTML.
* @returns {string} The resulting HTML content.
*
* @example
* const markdown = "# Hello World\nThis is a test.";
* const html = markdownToHtml(markdown);
* console.log(html); // Outputs the HTML representation of the Markdown
*/
const markdownToHtml = (markdown) => {
const elements = (0, markdown_parser_1.parseMarkdown)(markdown);
let html = elements.map(markdown_parser_1.elementToHtml).join("");
html += (0, markdown_parser_1.globalScript)();
return html;
};
exports.markdownToHtml = markdownToHtml;
/**
* Extracts metadata from a Markdown string.
*
* This function extracts and parses the YAML front matter from the Markdown content,
* returning it as a JavaScript object.
*
* @param {string} markdown - The Markdown content from which to extract metadata.
* @returns {Record<string, any>} An object containing the metadata extracted from the Markdown.
*
* @example
* const markdown = `
* ---
* title: "Example Article"
* author: "Author Name"
* date: "2024-08-21"
* ---
* # Hello World
* This is a test.
* `;
* const metadata = getMarkdownMetadata(markdown);
* console.log(metadata); // Outputs the metadata object
*/
const getMarkdownMetadata = (markdown) => {
return (0, metadata_parser_1.parseMetadata)(markdown);
};
exports.getMarkdownMetadata = getMarkdownMetadata;
//# sourceMappingURL=index.js.map