我正在使用SimpleMDE编辑器(版本1.10.1)。
有没有一种方法可以将HTML预览设置为在带有默认previewRender
的新标签页中打开 anchor 标签,该标签现在会在同一标签页中打开链接。引用图片:
据我所知,这些是实现这一目标的方法-
previewRender
,但是为所有markdown语法创建一个自定义解析器函数只是为链接添加target="_blank"
将会很多。 togglePreview
simplemde.js
来替换 anchor 标签以通过此=> target="_blank"
替换replace(/a href/g, 'a target="_blank" href')
来做到这一点,但这不是永久性的解决方案,因为这将是一个hack,我将在每次更新时添加SimpleMDE。 除了这两个以外,还有其他替代方法吗?
最佳答案
如果您使用look at how simplemde renders html,则仅使用marked。快速搜索使我找到了带有same issue we have的标记用户。简而言之,您将必须设置自定义previewRender
,但是使用github上标记的问题页面上csytan概述的解决方案,它并不那么糟糕:
var marked = require('marked');
var customPreviewRender = function (text) {
var renderer = new marked.Renderer();
var linkRenderer = renderer.link;
renderer.link = (href, title, text) => {
var html = linkRenderer.call(renderer, href, title, text);
return html.replace(/^<a /, '<a target="_blank" rel="nofollow" ');
};
return marked(text, { renderer: renderer });
}
var options = {
previewRender: customPreviewRender
};
var simpleMde = new SimpleMDE(options);
关于javascript - SimpleMDE:如何设置HTML预览以在新选项卡中打开 anchor 标记?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41699823/