| #!/usr/bin/env ruby |
| PAGETITLE = "Listing Of Whimsy Tools" # Wvisible:tools |
| |
| $LOAD_PATH.unshift '/srv/whimsy/lib' |
| require 'json' |
| require 'whimsy/asf' |
| require 'wunderbar' |
| require 'wunderbar/bootstrap' |
| require '../../tools/wwwdocs.rb' |
| |
| NONCGIS = { |
| '/board/agenda/' => |
| [ 'Board Agenda Tool', |
| ['board', 'meeting'], |
| 'text-primary'], |
| '/roster/' => |
| [ 'ASF Roster Tool', |
| ['orgchart'], |
| 'text-muted'] |
| } |
| |
| _html do |
| _body? do |
| _whimsy_body( |
| title: PAGETITLE, |
| related: { |
| "https://projects.apache.org/" => "Apache Project Listing", |
| "https://cwiki.apache.org/confluence/display/INFRA/Reference" => "Infra Reference Pages", |
| "https://github.com/apache/whimsy/blob/master/www/committers/tools.cgi" => "See This Code", |
| "mailto:dev@whimsical.apache.org?subject=[FEEDBACK] committers/tools idea" => "Email Feedback To dev@whimsical" |
| }, |
| helpblock: -> { |
| _p.pull_right do |
| _ 'This page shows a ' |
| _em 'partial' |
| _ ' listing of tools that Whimsy provides.' |
| end |
| emit_authmap |
| } |
| ) do |
| scan = get_annotated_scan("../#{SCANDIR}") |
| scan.merge!(NONCGIS) |
| scan_by = Hash.new{|h,k| h[k]=Array.new} |
| # Create array entry for each category |
| scan.each{ |k,v| v[1].each {|l| scan_by[l] << [k,v]}} |
| _ul.list_inline do |
| scan_by.sort.each do |cat, l| |
| _li do |
| _a "#{cat.capitalize}", href: "##{cat}" |
| end |
| end |
| end |
| scan_by.sort.each do | category, links | |
| _ul.list_group do |
| _li.list_group_item.active do |
| _span category.capitalize, id: category |
| end |
| links.sort_by{|k,v| v}.each do |l, desc| |
| _li.list_group_item do |
| if 2 == desc.length |
| _span.glyphicon :aria_hidden, class: "#{AUTHPUBLIC}" |
| else |
| _span class: desc[2], aria_label: "#{AUTHMAP.key(desc[2])}", title: "#{AUTHMAP.key(desc[2])}" do |
| _span.glyphicon.glyphicon_lock :aria_hidden |
| end |
| end |
| _a "#{desc[0]}", href: l |
| _ ' - ' |
| _code! do |
| _a "#{l}", href: l |
| end |
| end |
| end |
| end |
| end |
| end |
| end |
| end |