|
|
@ -8,23 +8,32 @@ module Docs
|
|
|
|
'Style Guide'
|
|
|
|
'Style Guide'
|
|
|
|
else
|
|
|
|
else
|
|
|
|
name = at_css('h1').content
|
|
|
|
name = at_css('h1').content
|
|
|
|
name.sub! %r{#\s*}, ''
|
|
|
|
name = _fix_name(name)
|
|
|
|
|
|
|
|
subtype = at_css('.sidebar-heading.open, .sidebar-heading.active, .sidebar-link.active')
|
|
|
|
index = css('.sidebar-link').to_a.index(at_css('.sidebar-link.active'))
|
|
|
|
index = css('.sidebar-link').to_a.index(at_css('.sidebar-link.active'))
|
|
|
|
name.prepend "#{index + 1}. " if index
|
|
|
|
name.prepend "#{index + 1}. " if index && !slug.start_with?('api')
|
|
|
|
|
|
|
|
name.concat " (#{subtype.content.strip})" if subtype && slug.start_with?('guide')
|
|
|
|
name
|
|
|
|
name
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _fix_name(name)
|
|
|
|
|
|
|
|
name.sub! %r{#\s*}, ''
|
|
|
|
|
|
|
|
name.sub! %r{\s*3\.\d\+$}, ''
|
|
|
|
|
|
|
|
name
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def get_type
|
|
|
|
def get_type
|
|
|
|
if slug.start_with?('guide/migration')
|
|
|
|
if slug.start_with?('guide/migration')
|
|
|
|
'Migration'
|
|
|
|
'Migration'
|
|
|
|
elsif slug.start_with?('guide')
|
|
|
|
elsif slug.start_with?('guide')
|
|
|
|
subtype = at_css('.sidebar-heading.open, .sidebar-link.active')
|
|
|
|
'Guide'
|
|
|
|
subtype ? "Guide: #{subtype.content}": 'Guide'
|
|
|
|
|
|
|
|
elsif slug == 'style-guide/'
|
|
|
|
elsif slug == 'style-guide/'
|
|
|
|
'Style Guide'
|
|
|
|
'Style Guide'
|
|
|
|
else
|
|
|
|
else
|
|
|
|
'API'
|
|
|
|
title = at_css('.sidebar-heading.open, .sidebar-heading.active, .sidebar-link.active').content.strip
|
|
|
|
|
|
|
|
title = _fix_name(title)
|
|
|
|
|
|
|
|
"API: #{title}"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
@ -35,18 +44,18 @@ module Docs
|
|
|
|
css('h2, h3').each_with_object [] do |node, entries|
|
|
|
|
css('h2, h3').each_with_object [] do |node, entries|
|
|
|
|
if node.name == 'h2'
|
|
|
|
if node.name == 'h2'
|
|
|
|
type = node.content.strip
|
|
|
|
type = node.content.strip
|
|
|
|
type.sub! %r{#\s*}, ''
|
|
|
|
type = _fix_name(type)
|
|
|
|
next if slug == 'style-guide/'
|
|
|
|
next if slug == 'style-guide/'
|
|
|
|
title = at_css('h1').content.strip
|
|
|
|
name = "#{get_type}: #{type}"
|
|
|
|
title.sub! %r{#\s*}, ''
|
|
|
|
name.sub! %r{^API: }, ''
|
|
|
|
entries << [type, node['id'], "API: #{title}"]
|
|
|
|
entries << [name, node['id'], get_type]
|
|
|
|
elsif slug == 'style-guide/'
|
|
|
|
elsif slug == 'style-guide/'
|
|
|
|
|
|
|
|
next if node['id'].match(/rule-categories|priority-/)
|
|
|
|
name = node.content.strip
|
|
|
|
name = node.content.strip
|
|
|
|
name.sub! %r{#\s*}, ''
|
|
|
|
name = _fix_name(name)
|
|
|
|
name.sub! %r{\(.*\)}, '()'
|
|
|
|
name.sub! %r{\(.*\)}, '()'
|
|
|
|
name.sub! /(essential|strongly recommended|recommended|use with caution)\Z/, ''
|
|
|
|
name.sub! /(essential|strongly recommended|recommended|use with caution)\Z/, ''
|
|
|
|
curent_type = "Style Guide: #{type.sub(/Rules: /, ': ')}"
|
|
|
|
entries << [name, node['id'], 'Style Guide']
|
|
|
|
entries << [name, node['id'], curent_type]
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|