Project

General

Profile

Patch #37713 » 0001-add-rel-noopener-to-all-external-links-with-a-target.patch

Jens Krämer, 2022-09-26 13:10

View differences:

lib/redmine/wiki_formatting/common_mark/external_links_filter.rb
43 43
              klass,
44 44
              (scheme == "mailto" ? "email" : "external")
45 45
            ].compact.join " "
46

  
47
            if node["target"].present? && scheme != "mailto"
48
              rel = node["rel"]&.split || []
49
              rel << "noopener"
50
              node["rel"] = rel.join(" ")
51
            end
46 52
          end
47 53
          doc
48 54
        end
test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb
50 50
        filter(%(<a href="http://example.com/foo#bar#">Malformed URI</a>))
51 51
      end
52 52
    end
53

  
54
    def test_external_links_with_target_get_rel_noopener
55
      assert_equal %(<a target="_blank" href="http://example.net/" class="external" rel="noopener">link</a>), filter(%(<a target="_blank" href="http://example.net/">link</a>))
56
      assert_equal %(<a target="_blank" href="http://example.net/" rel="nofollow noopener" class="external">link</a>), filter(%(<a target="_blank" href="http://example.net/" rel="nofollow">link</a>))
57
    end
53 58
  end
54 59
end
    (1-1/1)