Sha256: dc6f8af61704196bc1030cb97c4e5b183f77150f929d6bb41fabff7424181294

Contents?: true

Size: 621 Bytes

Versions: 30

Compression:

Stored size: 621 Bytes

Contents

module Alula
  class AttachmentTag < Tag
    def prepare
      @classes = []
      
      if m = /(["'])?([^"']+)\1?(?: (.+))?/.match(@markup)
        @source = m[2]
        @title = File.basename(@source)
        options = m[3]
      end
      
      if options
        options.scan(/(\S+):["]?((?:.(?!["]?\s+(?:\S+):|[>"]))+.)["]?/) do |name, value|
          case name
          when "title"
            @title = value
          end
        end
      end
    end
    
    def content
      "<a href=\"#{attachment_url(@source)}\">#{@title}</a>"
    end
  end
end

Alula::Tag.register :attachment, Alula::AttachmentTag

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
alula-0.4.27 lib/alula/core_ext/tags/attachment.rb
alula-0.4.26 lib/alula/core_ext/tags/attachment.rb
alula-0.4.25 lib/alula/core_ext/tags/attachment.rb
alula-0.4.24 lib/alula/core_ext/tags/attachment.rb
alula-0.4.23 lib/alula/core_ext/tags/attachment.rb
alula-0.4.22 lib/alula/core_ext/tags/attachment.rb
alula-0.4.21 lib/alula/core_ext/tags/attachment.rb
alula-0.4.20 lib/alula/core_ext/tags/attachment.rb
alula-0.4.19 lib/alula/core_ext/tags/attachment.rb
alula-0.4.18 lib/alula/core_ext/tags/attachment.rb
alula-0.4.17 lib/alula/core_ext/tags/attachment.rb
alula-0.4.16 lib/alula/core_ext/tags/attachment.rb
alula-0.4.15 lib/alula/core_ext/tags/attachment.rb
alula-0.4.14 lib/alula/core_ext/tags/attachment.rb
alula-0.4.13 lib/alula/core_ext/tags/attachment.rb
alula-0.4.12 lib/alula/core_ext/tags/attachment.rb
alula-0.4.11 lib/alula/core_ext/tags/attachment.rb
alula-0.4.11a lib/alula/core_ext/tags/attachment.rb
alula-0.4.10 lib/alula/core_ext/tags/attachment.rb
alula-0.4.9 lib/alula/core_ext/tags/attachment.rb