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