const marked = require('marked');
// 要转换的 Markdown 文本
const markdownText = `
# Hello, Markdown!
This is a paragraph.
- List item 1
- List item 2
`;
// 使用 marked 将 Markdown 转换为 HTML
const html = marked(markdownText);
console.log(html);
我直接读取md文件转换结果有误,第1行本应是标题1却变成了段落。文件内容跟上面字符串完全一样。后来打印二进制才知道从文件读取的前面多了些东西,原因是文件用了UTF8 BOM编码,最后改成UTF8编码问题解决。
markdownContent = fs.readFileSync('.test.md', 'utf8');
const encoder = new TextEncoder();
console.log(encoder.encode(markdownContent));
marked用法
覆盖默认的渲染函数
const marked = require('marked');
// 覆盖默认的渲染函数
const renderer = {
// 处理标题的渲染函数,text 是标题文本,depth 是标题级别
heading(text, depth) {
// 将文本转换为小写,并将非单词字符替换为连字符 -
const escapedText = text.toLowerCase().replace(/[^\w]+/g, '-');
// 返回生成的 HTML 代码片段,包含锚点和标题文本
return `
<h${depth}>
<a name="${escapedText}" class="anchor" href="#${escapedText}">
<span class="header-link"></span>
</a>
${text}
</h${depth}>`;
},
code(raw, lang) {
return `<pre><code class="prism language-${lang}">${raw}</code></pre>`;
}
};
// 将自定义的渲染函数应用于 marked 模块
marked.use({ renderer });
// 解析并输出 Markdown 文本
console.log(marked.parse('# heading+'));
const markdownText = `
\`\`\`python
print("Hello, World!")
\`\`\`
`;
console.log(marked.parse(markdownText));
官方资料:
https://marked.js.org/using_pro
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » nodejs md文件转html
发表评论 取消回复