我正在使用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/

    10-11 13:35