diff --git a/lib/docs/filters/vue/entries_v3.rb b/lib/docs/filters/vue/entries_v3.rb index a2941e3a..f92fc7b7 100644 --- a/lib/docs/filters/vue/entries_v3.rb +++ b/lib/docs/filters/vue/entries_v3.rb @@ -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 diff --git a/lib/docs/scrapers/vue.rb b/lib/docs/scrapers/vue.rb index b4380e9b..b42a4b60 100644 --- a/lib/docs/scrapers/vue.rb +++ b/lib/docs/scrapers/vue.rb @@ -19,7 +19,7 @@ module Docs HTML version '3' do - self.release = '3.2.20' + self.release = '3.2.26' self.base_url = 'https://v3.vuejs.org/' self.root_path = 'guide/introduction.html' self.initial_paths = %w(api/)