|
|
@@ -2,7 +2,8 @@ module Docs
|
|
|
class Bun
|
|
|
class CleanHtmlFilter < Filter
|
|
|
def call
|
|
|
- @doc = at_css('section > .w-full')
|
|
|
+ @doc = at_css('#content-area')
|
|
|
+ doc.children = css('#header, #content')
|
|
|
|
|
|
header = at_css('header:has(h1)')
|
|
|
if header
|
|
|
@@ -10,14 +11,15 @@ module Docs
|
|
|
header.name = 'h1'
|
|
|
end
|
|
|
|
|
|
- css('.CodeBlockTab').remove
|
|
|
- css('.CopyIcon').remove
|
|
|
+ css('*[aria-label="Navigate to header"]', '*[aria-label="Copy the contents from the code block"]').each do |node|
|
|
|
+ node.parent.remove
|
|
|
+ end
|
|
|
+ css('img').remove
|
|
|
css('svg').remove
|
|
|
- css('a:contains("Edit on GitHub")').remove
|
|
|
- css('a:contains("Previous")').remove
|
|
|
- css('a:contains("Next")').remove
|
|
|
-
|
|
|
- css('pre').each do |node|
|
|
|
+
|
|
|
+ css('.code-block *[data-component-part="code-block-header"]').remove
|
|
|
+ css('.code-block', '.code-group').each do |node|
|
|
|
+ node.name = 'pre'
|
|
|
node.content = node.content
|
|
|
node['data-language'] = 'typescript'
|
|
|
node.remove_attribute('style')
|
|
|
@@ -25,6 +27,7 @@ module Docs
|
|
|
|
|
|
css('.font-mono').each do |node|
|
|
|
node.name = 'code'
|
|
|
+ node.content = node.content
|
|
|
end
|
|
|
|
|
|
css('.font-mono.text-blue-600').each do |node|
|