feat (astro): update clean_html and entries

pull/2304/head
lippiece 5 months ago
parent 821fe2ac36
commit 53c7fea340
No known key found for this signature in database
GPG Key ID: EA523BD782F9600A

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

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

Loading…
Cancel
Save