Sha256: 2a7c334827d392a7b1dc3c0fff7d1bc9dd0db4005486de297a9735cf766e05bf

Contents?: true

Size: 898 Bytes

Versions: 21

Compression:

Stored size: 898 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module ContentRenderers
    # A renderer that converts URLs to links and strips attributes in anchors.
    #
    # Examples:
    # `<a href="http://urls.net" onmouseover="alert('hello')">URLs</a>`
    # Gets rendered as:
    # `<a href="https://decidim.org" target="_blank" rel="noopener">https://decidim.org</a>`
    # And:
    # `<a href="javascript:document.cookies">click me</a>`
    # Gets rendered as:
    # `click me`
    #
    # @see BaseRenderer Examples of how to use a content renderer
    class LinkRenderer < BaseRenderer
      # @return [String] the content ready to display (contains HTML)
      def render(options = {})
        return content unless content.is_a?(String)

        options = { target: "_blank", rel: "nofollow noopener" }.merge(options)
        Anchored::Linker.auto_link(content, options)
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
decidim-core-0.25.2 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.25.1 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.25.0 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.25.0.rc4 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.25.0.rc3 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.25.0.rc2 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.25.0.rc1 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.24.3 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.23.6 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.24.2 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.23.5 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.24.1 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.24.0 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.24.0.rc2 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.23.4 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.24.0.rc1 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.23.3 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.23.2 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.23.1 lib/decidim/content_renderers/link_renderer.rb
decidim-core-0.23.1.rc1 lib/decidim/content_renderers/link_renderer.rb