class JsDuck::Render::Tags

Performs the rendering of tags.

Public Class Methods

render(member) click to toggle source

Renders tags of a particular section.

Takes member or class hash. Returns array of rendered HTML.

# File lib/jsduck/render/tags.rb, line 12
def self.render(member)
  renderers.map do |tag|
    if member[tag.tagname]
      tag.to_html(member)
    else
      nil
    end
  end
end
render_signature(member) click to toggle source

Renders the signatures for a class member. Returns a string.

# File lib/jsduck/render/tags.rb, line 36
def self.render_signature(member)
  html = []
  TagRegistry.signatures.each do |s|
    if member[s[:tagname]]
      title = s[:tooltip] ? "title='#{s[:tooltip]}'" : ""
      html << "<span class='#{s[:tagname]}' #{title}>#{s[:long]}</span>"
    end
  end
  '<span class="signature">' + html.join + "</span>"
end
renderers() click to toggle source

Returns tags for rendering HTML, sorted in the order they should appear in final output. Sorting order is determined by the numeric :html_position field.

# File lib/jsduck/render/tags.rb, line 25
def self.renderers
  if !@renderers
    @renderers = TagRegistry.tags.find_all(&:html_position)
    @renderers.sort! {|a, b| a.html_position <=> b.html_position }
  end

  @renderers
end