我正在使用SimpleMDE编辑器(版本1.10.1)。
有没有办法在默认previewRender
的新标签页中设置Html预览以打开锚标记,该标签现在会在同一标签中打开链接。参考图片:
据我所知,这些是实现这一目标的方法 -
previewRender
,但为链接添加target="_blank"
所有降价语法的自定义解析器功能将会很多。togglePreview
中的函数simplemde.js
来替换锚标记,使其具有target="_blank"
= this;> replace(/a href/g, 'a target="_blank" href')
,但这不是一个永久的解决方案,因为这将是一个黑客,我将不得不在SimpleMDE的每次更新中添加。除了这两个还有其他替代方法吗?
答案 0 :(得分:1)
如果您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);