Class: JsDuck::Render::Tags

Inherits:
Object
  • Object
show all
Defined in:
lib/jsduck/render/tags.rb

Overview

Performs the rendering of tags.

Class Method Summary collapse

Class Method Details

.render(member) ⇒ Object

Renders tags of a particular section.

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



12
13
14
15
16
17
18
19
20
# 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) ⇒ Object

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



36
37
38
39
40
41
42
43
44
45
# 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

.renderersObject

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.



25
26
27
28
29
30
31
32
# 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