Sha256: b363ac87ad02625e520c11da84436ece10096ce996f602df2868018687435bf8
Contents?: true
Size: 589 Bytes
Versions: 6
Compression:
Stored size: 589 Bytes
Contents
class Kramdown::Parser::NoopenerGFM < Kramdown::Parser::GFM SAFE_OPTS = { "target" => "_blank", "rel"=>"nofollow noopener noreferrer" }.freeze def initialize(source, options) super @same_tab_domains = options.fetch(:same_tab_domains, []) end def update_elements(element) if element.type == :a && \ element.attr.respond_to?(:[]) && \ (href = element.attr['href']) && \ URI::DEFAULT_PARSER.regexp[:ABS_URI].match(href) && \ !@same_tab_domains.include?(URI::parse(href).host) element.attr.merge!(SAFE_OPTS) end super end end
Version data entries
6 entries across 6 versions & 1 rubygems