md-to-svelte
Version:
Convert markdown file to svelte.
26 lines (25 loc) • 983 B
JavaScript
import utils from "../utils.js";
/** handle paragraph */
export default function (token, page) {
let code = token.text;
// if text contains things like code
if (token.tokens) {
for (const inToken of token.tokens) {
// handle link in text
if (inToken.type === "link") {
// add code
code = code.replace(inToken.raw, `<a data-md="a" href="${inToken.href}">\n ${inToken.text}\n</a>`);
}
// handle code in text
else if (inToken.type === "codespan") {
// add copy text function to script tag
if (!page.jsCode.includes('copyText(e:MouseEvent)'))
page.jsCode += utils.copyTextFunc();
// add code
code = code.replaceAll(inToken.raw, `<code data-md="inline-code">${inToken.text}</code>`);
}
}
}
// add code to page
page.code += `<p data-md="p">${code}</p>\n`;
}