为所有链接设置 target=“_blank” 和 rel=“nofollow, noindex, noreferrer”

Set target=“_blank” and rel=“nofollow, noindex, noreferrer” to all links

似乎有一种方法可以将外部 links 默认设置为不关注,以避免通过对外部网站的关注 links 失去重要的 link 果汁如果我们将其自动化,那将非常好,让事情变得更容易。

我在 markdown 中有很多 articles/blog 帖子是在中间人部署时生成的。在文本中每个 link 的末尾手动添加 {:target="_blank" rel="nofollow, noindex, noreferrer"} 很麻烦。

我研究过可以添加

<meta name =”robots” content=”index”>

但我猜必须有一种更精细的方法是为个人 link 包含 noFollow 标签。

有没有办法在 config.rb 中设置 link 属性,使其设置如下?

target="_blank" rel="nofollow, noindex, noreferrer"

这里的一个好方法是在 app/helpers 下创建您自己的辅助方法并在您的视图中使用它

像:

def link_to_new_window(name = nil, options = nil, html_options = {}, &block)
  html_options[:target] = '_blank'
  html_options[:rel] = 'nofollow, noindex, noreferrer'
  helper.link_to(name, options, html_options, &block)
end

UPD 我看到您正在使用 middleman。没有太多经验,但你可以像这样装饰几乎任何辅助方法

请注意 helper 调用,它允许您使用 Rails 助手,但它们未明确包含

装饰原来你可以做的方法:

module LinkToWithNewWindow
  def link_to(name = nil, options = nil, html_options = {}, &block)
    html_options[:target] = '_blank'
    html_options[:rel] = 'nofollow, noindex, noreferrer'
    super(name, options, html_options, &block)
  end
end
::ActionView::Helpers::UrlHelper.prepend LinkToWithNewWindow

如果需要,将 ActionView 替换为您使用的助手 但同样,风险自负