修改Ghost的Markdown为新窗口打开链接

Ghost 用 Markdown 写文章,Markdown 是利用标点符号和特殊字符标记特殊语法,用于格式化内容。Ghost 所支持的 Markdown 语法混合了标准 Markdown 语法和 GitHub 扩充的语法,默认语法中创建的链接总是会在当前窗口打开。个人不是很喜欢这一点,每次写文章时都是手动使用<a href="***" target="_blank"></a>创建链接,比快捷键慢太多。所以尝试修改 Ghost 的 Markdown让其默认在新窗口打开文章内链接。

相关文件是/srv/www/denpe.com/node_modules/showdown- ghost/src/showdown.js ,第650行开始代码如下:

    url = escapeCharacters(url,"*_");
    var result = "<a href=\"" + url + "\"";

    if (title !== "") {
      title = title.replace(/"/g,"&quot;");
      title = escapeCharacters(title,"*_");
      result +=  " title=\"" + title + "\"";
    }

    result += ">" + link_text + "</a>";

    return result;

在其中插入判断代码,注意将denpe.com替换成自己域名。

    url = escapeCharacters(url,"*_");
    var result = "<a href=\"" + url + "\"";

    if (title !== "") {
      title = title.replace(/"/g,"&quot;");
      title = escapeCharacters(title,"*_");
      result +=  " title=\"" + title + "\"";
    }

    if(url.split("/")[2].indexOf("denpe.com")<0){
      result += " target=\"_blank\""
    }
    result += ">" + link_text + "</a>";

    return result;

这里没有直接用url.indexOf("denpe.com")作为判断条件,因为很多url可以是这样http://www.domain.com/example?utm_source=denpe.com

重启 Ghost 生效

测试链接

吃饱了还饿
股沟