gpt4 book ai didi

javascript - 如何在PageDown.js中向外部链接添加rel ="nofollow"属性?

转载 作者:行者123 更新时间:2023-11-28 05:54:18 25 4
gpt4 key购买 nike

我正在使用PageDown.js像 StackOverflow 一样以 Markdown 风格制作原始 HTML。我的代码在 Node.js 中如下所示:

var saneConv require('./pagedown/Markdown.Sanitizer'),
resultHTML = saneConv.makeHtml('[raw html string]');

现在我需要将 rel="nofollow" 添加到所有外部链接。不幸的是,我在 PageDown 本身中看不到这种能力。

您能否建议我一个解决方案,为所有外部链接添加 ref="nofollow" 属性?

最佳答案

如果所有链接都是外部链接,那么您只需使用

resultHTML = resultHTML.replace('<a ', '<a rel="nofollow" ');

或者 Markdown.Converter.js 中有一个名为 writeAnchorTag 的函数,您可以更改它来执行您需要的操作。

更新

var jsdom = require("jsdom");
var fs = require("fs");
var jquery = fs.readFileSync("./path/to/jquery.js", "utf-8");

var saneConv = require('./pagedown/Markdown.Sanitizer'),
resultHTML = saneConv.makeHtml('[raw html string]');

jsdom.env(resultHTML, [jquery], function(err, window) {
var $ = window.$;

$("a").each(function() {
var $a = $(this);
var href = $a.attr('href');

// figure out if href is external or internal
// let's say if href doesn't contain specific domain it's external so add rel=nofollow
if (href.indexOf('example.com') < 0 || href.indexOf('example2.com') < 0) {
// it's external, let's add rel=nofollow
$a.attr('rel', 'nofollow');
}
});
});

关于javascript - 如何在PageDown.js中向外部链接添加rel ="nofollow"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37831343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com