Loading lib/jsduck/news.rb +36 −18 Original line number Diff line number Diff line require 'jsduck/util/null_object' require 'jsduck/columns' module JsDuck Loading @@ -16,6 +17,7 @@ module JsDuck # Generates list of new classes & members in this version. def initialize(relations, doc_formatter) @doc_formatter = doc_formatter @columns = Columns.new(:members) @classes = [] relations.each do |cls| Loading @@ -31,20 +33,35 @@ module JsDuck # Returns the HTML def to_html(style="") html = @classes.map {|c| render_class(c) }.flatten.join("\n") return [ "<div id='news-content' style='#{style}'>", "<h1>New in this version</h1>", "<div class='section'>", "<h1>New members</h1>", render_columns(@classes), "<div style='clear:both'></div>", "</div>", "</div>", ].flatten.join("\n") end private return <<-EOHTML <div id='news-content' style='#{style}'> <h1>New in this version</h1> <div class='section'> <h1>Members</h1> #{html} </div> </div> EOHTML def render_columns(classes) align = ["left-column", "middle-column", "right-column"] i = -1 return @columns.split(classes, 3).map do |col| i += 1 [ "<div class='#{align[i]}'>", render_classes(col), "</div>", ] end end def render_class(cls) def render_classes(classes) return classes.map do |cls| [ "<h3>#{cls[:name]}</h3>", "<ul class='links'>", Loading @@ -52,6 +69,7 @@ module JsDuck "</ul>", ] end end def link(m) @doc_formatter.link(m[:owner], m[:name], m[:name], m[:tagname], m[:meta][:static]) Loading Loading
lib/jsduck/news.rb +36 −18 Original line number Diff line number Diff line require 'jsduck/util/null_object' require 'jsduck/columns' module JsDuck Loading @@ -16,6 +17,7 @@ module JsDuck # Generates list of new classes & members in this version. def initialize(relations, doc_formatter) @doc_formatter = doc_formatter @columns = Columns.new(:members) @classes = [] relations.each do |cls| Loading @@ -31,20 +33,35 @@ module JsDuck # Returns the HTML def to_html(style="") html = @classes.map {|c| render_class(c) }.flatten.join("\n") return [ "<div id='news-content' style='#{style}'>", "<h1>New in this version</h1>", "<div class='section'>", "<h1>New members</h1>", render_columns(@classes), "<div style='clear:both'></div>", "</div>", "</div>", ].flatten.join("\n") end private return <<-EOHTML <div id='news-content' style='#{style}'> <h1>New in this version</h1> <div class='section'> <h1>Members</h1> #{html} </div> </div> EOHTML def render_columns(classes) align = ["left-column", "middle-column", "right-column"] i = -1 return @columns.split(classes, 3).map do |col| i += 1 [ "<div class='#{align[i]}'>", render_classes(col), "</div>", ] end end def render_class(cls) def render_classes(classes) return classes.map do |cls| [ "<h3>#{cls[:name]}</h3>", "<ul class='links'>", Loading @@ -52,6 +69,7 @@ module JsDuck "</ul>", ] end end def link(m) @doc_formatter.link(m[:owner], m[:name], m[:name], m[:tagname], m[:meta][:static]) Loading