Browse Source

Update Vue.js documentation (3.2.26)

Simon Legner 3 years ago
parent
commit
ff09304990
2 changed files with 22 additions and 13 deletions
  1. 21 12
      lib/docs/filters/vue/entries_v3.rb
  2. 1 1
      lib/docs/scrapers/vue.rb

+ 21 - 12
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

+ 1 - 1
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/)