为所有链接设置target =“ _ blank”和ref =“ nofollow,noindex,noreferrer”

时间:2018-09-10 14:41:48

标签: ruby-on-rails ruby middleman

似乎有一种方法可以将外部链接设置为默认情况下为“不遵循”,以避免通过对外部网站的“遵循”链接而失去重要的链接汁,这将是非常好的,并且如果我们自动化的话,可以使事情变得容易得多。

我在中间人部署时生成了很多Markdown的文章/博客文章。在文本内每个链接的末尾手动添加{:target =“ _ blank” rel =“ nofollow,noindex,noreferrer”}}很麻烦。

我研究过可以添加

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

但是我猜测必须有一种更细粒度的方法,为各个链接包括noFollow标签。

是否可以在config.rb中设置链接属性,使其设置如下所示?

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

1 个答案:

答案 0 :(得分:5)

这里的一种好方法是在__getitem__下创建自己的帮助方法,并在您的视图中使用它

类似:

operator

UPD 我们发现您正在使用public Page<Person> getAuthorizationsTest() { PageRequest pageRequest = new PageRequest(1, 5); CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery<Person> queryBase = criteriaBuilder.createQuery(Person.class); Root<Person> root = queryBase.from(Person.class); List<Predicate> queryConditions = new ArrayList<>(); Predicate predicate = criteriaBuilder.like(root.get("name"), "%[myValue]%"); queryConditions.add(predicate); queryBase.where(queryConditions.toArray(new Predicate[]{})); TypedQuery<Person> query = em.createQuery(queryBase); List<Person> list = query.getResultList(); Page<Person> authorizations = new PageImpl<Person>(list, pageRequest, list.size()); return authorizations; } 。没有太多经验,但是您几乎可以使用任何辅助方法来装饰

请注意app/helpers调用,当未明确包含Rails帮助器时,它将允许您使用它。

要装饰原始方法,您可以执行以下操作:

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

将ActionView替换为您需要时使用的帮助程序 但同样,后果自负