簡體   English   中英

SimpleMDE:如何設置 Html 預覽以在新選項卡中打開錨標記?

[英]SimpleMDE: How to set Html preview to open anchor tag in a new tab?

我正在使用SimpleMDE編輯器(版本 1.10.1)。

有沒有辦法設置 Html 預覽以在新選項卡中打開錨標記,默認previewRender現在在同一選項卡中打開鏈接。 參考圖片:

圖片

據我所知,這些是實現這一目標的方法 -

  1. 我知道我們可以設置自定義previewRender ,但是為所有降價語法制作自定義解析器函數只是為鏈接添加target="_blank"會很多。
  2. 我可以通過簡單地改變功能為此togglePreviewsimplemde.js取代錨點標記以具有target="_blank"由此=> replace(/a href/g, 'a target="_blank" href')但是這是不是永久解決方案,因為這將是一個 hack,我必須在 SimpleMDE 的每次更新中添加它。

除了這兩個之外,還有其他選擇嗎?

如果您查看 simplemde 如何呈現 html ,它只是使用了標記的. 快速搜索使我找到了與我們遇到相同問題的標記用戶。 簡而言之,您必須設置自定義previewRender ,但是使用csytan在 github 的標記問題頁面上概述的解決方案並不是那么糟糕:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM