Sha256: 459740c49c09bc30f2bfc0babbfc93eba404d0ac8df638c1c69e266ca5eeb23e

Contents?: true

Size: 855 Bytes

Versions: 6

Compression:

Stored size: 855 Bytes

Contents

require "uri"

module ReverseAsciidoctor
  module Converters
    class A < Base
      def convert(node, state = {})
        name  = treat_children(node, state)
        href  = node['href']
        title = extract_title(node)
        id = node['id'] || node['name']

        if !id.nil? && !id.empty?
          "[[#{id}]]"
        elsif href.to_s.start_with?('#')
            href = href.sub(/^#/, "")
          if name.empty?
            "<<#{href}>>"
          else
            "<<#{href},#{name}>>"
          end
        elsif href.to_s.empty?
          name
        else
          name = title if name.empty?
          href = "link:#{href}" unless href.to_s =~ URI::DEFAULT_PARSER.make_regexp
          link = "#{href}[#{name}]"
          link.prepend(' ')
          link
        end
      end

      private

    end

    register :a, A.new
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
reverse_adoc-0.2.4 lib/reverse_asciidoctor/converters/a.rb
reverse_adoc-0.2.3 lib/reverse_asciidoctor/converters/a.rb
reverse_asciidoctor-0.2.2 lib/reverse_asciidoctor/converters/a.rb
reverse_asciidoctor-0.2.1 lib/reverse_asciidoctor/converters/a.rb
reverse_asciidoctor-0.2.0 lib/reverse_asciidoctor/converters/a.rb
reverse_asciidoctor-0.1.0 lib/reverse_asciidoctor/converters/a.rb