Browse Source

Merge pull request #2304 from Lippiece/main

Update Astro docs to 4.12.3
Simon Legner 1 year ago
parent
commit
38ce1af74e

+ 2 - 3
lib/docs/filters/astro/clean_html.rb

@@ -2,7 +2,7 @@ module Docs
   class Astro
     class CleanHtmlFilter < Filter
       def call
-        @doc = at_css('article > section')
+        @doc = at_css('main')
 
         css('.anchor-link').remove
         css('.avatar-list').remove
@@ -12,8 +12,7 @@ module Docs
         end
 
         css('pre').each do |node|
-          node.content = node.css('.line').map(&:content).join("\n")
-          node['data-language'] = node.ancestors('figure').first['class'][/lang-(\w+)/, 1]
+          node.content = node.css('.ec-line').map(&:content).join("\n")
           node.remove_attribute('style')
         end
 

+ 9 - 9
lib/docs/filters/astro/entries.rb

@@ -2,25 +2,25 @@ module Docs
   class Astro
     class EntriesFilter < Docs::EntriesFilter
       def get_name
-        name = at_css('article h1').content
-        name.sub! %r{\s*#\s*}, ''
+        name = at_css('h1') ? at_css('h1').content : at_css('h2').content
+        name.sub!(/\s*#\s*/, '')
         name
       end
 
       def get_type
-        return 'Guides' if slug.start_with?('contribute/')
-        return 'Guides' if slug.start_with?('guides/')
-        aside = at_css('aside')
-        a = aside.at_css('a[aria-current="page"]', 'a[data-current-parent="true"]')
-        a.ancestors('details').at_css('summary').content
+        return 'Contribute' if slug.start_with?('contribute/')
+
+        a = at_css('a[aria-current="page"]')
+        a ? a.content : 'Other'
       end
 
       def additional_entries
         return [] if slug.start_with?('guides/deploy')
         return [] if slug.start_with?('guides/integrations-guide')
-        at_css('article').css('h2[id], h3[id]').each_with_object [] do |node, entries|
+
+        at_css('main').css('h2[id], h3[id]').each_with_object [] do |node, entries|
           type = node.content.strip
-          type.sub! %r{\s*#\s*}, ''
+          type.sub!(/\s*#\s*/, '')
           entries << ["#{name}: #{type}", node['id']]
         end
       end

+ 3 - 3
lib/docs/scrapers/astro.rb

@@ -10,15 +10,15 @@ module Docs
 
     # https://github.com/withastro/astro/blob/main/LICENSE
     options[:attribution] = <<-HTML
-      &copy; 2021 Fred K. Schott<br>
+      Copyright (c) 2022 withastro<br>
       Licensed under the MIT License.
     HTML
 
     options[:skip_patterns] = [/tutorial/]
 
-    self.release = '3.2.0'
+    self.release = '4.12.3'
     self.base_url = 'https://docs.astro.build/en/'
-    self.initial_paths = %w(getting-started/)
+    self.initial_paths = %w(install-and-setup/)
 
     html_filters.push 'astro/entries', 'astro/clean_html'