man: better entries

man
Simon Legner 6 months ago
parent 2a5fbccaf2
commit 1cac51952a

@ -11,6 +11,7 @@ module Docs
css('.start-footer').remove css('.start-footer').remove
css('.footer').remove css('.footer').remove
css('.end-footer').remove css('.end-footer').remove
css('.statcounter').remove
css('form[action="https://www.google.com/search"]').remove css('form[action="https://www.google.com/search"]').remove
doc doc
end end

@ -2,24 +2,27 @@ module Docs
class Man class Man
class EntriesFilter < Docs::EntriesFilter class EntriesFilter < Docs::EntriesFilter
@@TYPES = {}
def get_name def get_name
return slug.split('/').last.sub(/\.(\d[^.]*)\z/, ' (\1)') if slug.start_with?('man')
at_css('h1').content.sub(' — Linux manual page', '') at_css('h1').content.sub(' — Linux manual page', '')
end end
def get_type def get_type
'Linux manual page' build_types if slug == 'dir_by_project'
@@TYPES[slug] or 'Linux manual page'
end end
def entries def build_types
return super unless slug == 'dir_by_project'
type0 = nil type0 = nil
return css('*').each_with_object [] do |node, entries| css('*').each do |node|
if node.name == 'h2' if node.name == 'h2'
type0 = node.content type0 = node.content
elsif node.name == 'a' and node['href'] and node['href'].start_with?('man') and type0 elsif node.name == 'a' and node['href'] and node['href'].start_with?('man') and type0
name = node.content + node.next_sibling.content # name = node.content + node.next_sibling.content
path = node['href'] slug0 = node['href'].remove(/\.html\z/)
entries << Entry.new(name, path, type0) @@TYPES[slug0] = type0
end end
end end
end end

Loading…
Cancel
Save