class JsDuck::Web::MemberIcons

Manages member icons. Generating CSS for them and coping the image files over to output dir.

Public Class Methods

css() click to toggle source

Generates CSS for member icons

# File lib/jsduck/web/member_icons.rb, line 11
def self.css
  css = []
  members_with_icons.each do |m|
    name = m[:name]
    rule = ".icon-#{name} { background-image: url(member-icons/#{name}.png); background-repeat: no-repeat; }"
    css << "#search-dropdown #{rule}"
    css << ".members .members-section #{rule}"
    css << ".members .comments-section #{rule}"
    css << ".class-overview .x-toolbar.member-links #{rule}"
  end
  css.join("\n")
end
members_with_icons() click to toggle source
# File lib/jsduck/web/member_icons.rb, line 37
def self.members_with_icons
  MemberRegistry.definitions.find_all {|m| m[:icon] }
end
write(dir) click to toggle source

Copies all member icons to given destination dir.

# File lib/jsduck/web/member_icons.rb, line 25
def self.write(dir)
  FileUtils.mkdir(dir)

  members_with_icons.each do |m|
    if File.exists?(m[:icon])
      FileUtils.cp(m[:icon], "#{dir}/#{m[:name]}.png")
    else
      Logger.warn(nil, "Member icon file not found", {:filename => m[:icon]})
    end
  end
end