javascript - 如何覆盖marked.js ul 元素?
问题描述
我通过nunjucks-markdown 使用marked.js 在节点/快速应用程序中呈现markdown。
降价内容呈现良好,但是,我想在 ul 元素上设置默认类。
默认情况下,它通过以下方式:
<ul>
但我想全局覆盖它,所以它呈现为:
<ul class='toolkit-list'>
在我的 app.js 文件中,我尝试过:
const nunjucksMarkdown = require('nunjucks-markdown');
const marked = require('marked');
let markedRender = new marked.Renderer()
let renderListitem = markedRender.listitem.bind(markedRender)
markedRender.listitem = function(text, task) {
var html = renderListitem(text, task)
if (task) {
html = html.replace('<ul>', "<ul class='toolkit-list'>")
}
return html
}
nunjucksMarkdown.register(nunjucksAppEnv, marked)
解决方案
这可能需要进一步调整,但应该让您开始:
const marked = require('marked');
var md_list = `
- First
- Second
`;
const renderer = new marked.Renderer();
renderer.list = function(body, ordered, start) {
var temp = "<ul class='toolkit-list'>${body}</ul>";
return temp;
}
console.log(marked(md_list, { renderer: renderer }));
产生的输出:
<ul class='toolkit-list'>
<li>First</li>
<li>Second</li>
</ul>
推荐阅读
- python - Python ctypes 指针和分配的内存
- python-3.x - 在 django 管理面板中添加导航栏项
- opencv - 如何将 OpenCV 处理的帧推回 gstreamer 管道?
- javascript - Next.js 链接和路径
- r - 根据 R 中另一列中的重复值删除一列中的行(删除特定的原始数据)
- powershell - 是否可以在本地触发 Power Automate Desktop 流,而无需通过 Internet 连接到云?
- python - 将数据框中的列表与另一个列表进行比较,如果未找到,则将其保存在另一列中
- ios - 没有在移动 ios 魅力报告中获取屏幕截图
- css - 如何在 Cuba Platform 中为一个表格列添加填充?
- java - AWS Sam:无法创建/更新堆栈错误