Sha256: 0a5b5a4ff23140121f2a46fee9909aaa6cb5fd8d23e329f9502b10f27f5b7427
Contents?: true
Size: 1.9 KB
Versions: 4
Compression:
Stored size: 1.9 KB
Contents
require "jsduck/meta_tag" require "jsduck/logger" module JsDuck::Tag # Implementation of @aside tag. # # To document members that were present in previous version but are # completely gone now. Other than that it behaves exactly like @deprecated. class Aside < JsDuck::MetaTag def initialize @name = "aside" @key = :aside @position = :top @allowed_types = { :guide => true, :video => true, :example => true, } end def to_value(asides) asides.map do |line| if line =~ /\A(\w+) +([^ ].*)\Z/ type = $1.to_sym name = $2.strip if @allowed_types[type] {:type => type, :name => name} else warn("Unknown @aside type: #{type}") end else warn("Bad syntax: @aside #{line}") end end.compact end def to_html(asides) asides.map do |aside| type = aside[:type] name = aside[:name] assets_group = get_assets_group(type) asset = assets_group[name] if asset url = "#!/#{type}/#{name}" heading = type.to_s.capitalize title = asset["title"] icon_url = assets_group.icon_url(asset) <<-EOHTML <div class='aside #{type}'> <h4>#{heading}</h4> <p><a href='#{url}'><img src='#{icon_url}' alt=''> #{title}</a></p> </div> EOHTML else warn("Unknown @aside name: #{type} #{name}") end end.compact end def get_assets_group(type) case type when :guide then @assets.guides when :video then @assets.videos when :example then @assets.examples else {} end end def warn(msg) ctx = @context ? @context[:files][0] : {} JsDuck::Logger.instance.warn(:aside, msg, ctx[:filename], ctx[:linenr]) nil end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
jsduck-3.7.0 | lib/jsduck/tag/aside.rb |
jsduck-3.6.1 | lib/jsduck/tag/aside.rb |
jsduck-3.6.0 | lib/jsduck/tag/aside.rb |
jsduck-3.5.0 | lib/jsduck/tag/aside.rb |