md-to-svelte
Version:
Convert markdown file to svelte.
24 lines (23 loc) • 873 B
JavaScript
import utils from "../utils.js";
/** Handle heading or metadata */
export default function (token, page) {
// return meta data
if (Object.keys(page.metaData).length === 0 && token.depth === 2 && token.text.includes("layout:")) {
const metaData = {};
// console.log(token)
for (const data of token.text.split("\n")) {
const [key, value] = data.split(": ");
metaData[key.trim()] = value.trim();
}
// add meta data
page.metaData = metaData;
}
// add code to page
else {
const id = utils.slug(token.text).trim().toLowerCase();
const code = `<h${token.depth} data-section data-md="header" id="${id}">\n ${token.text}\n</h${token.depth}>\n`;
page.code += code;
// add header to page headers
page.headers.push({ id, text: token.text });
}
}