History

Improve React docs

Jed Fox committed 6 years ago

Commit 038869a1 parent e2acab12 files · +23 −6Browse files

Unified · Split

2 files
  1. lib/docs/filters/react/clean_html.rb +6 −1
  2. lib/docs/filters/react/entries.rb +17 −5
lib/docs/filters/react/clean_html.rb+6−1
@@ -8,7 +8,7 @@ module Docs · 7 unmodified lines
8 at_css('h1').content = 'React Documentation'8 at_css('h1').content = 'React Documentation'
9 end9 end
10 10
11 css('header', 'div[class^="css-"]', '.gatsby-resp-image-link span').each do |node|11 css('header', 'div[class^="css-"]', '.gatsby-resp-image-link span', 'div.scary').each do |node|
12 node.before(node.children).remove12 node.before(node.children).remove
13 end13 end
14 14
@@ -24,6 +24,11 @@ module Docs · 9 unmodified lines
24 css('a').remove_attr('rel').remove_attr('target').remove_attr('class').remove_attr('style')24 css('a').remove_attr('rel').remove_attr('target').remove_attr('class').remove_attr('style')
25 css('img').remove_attr('style').remove_attr('srcset').remove_attr('sizes').remove_attr('class')25 css('img').remove_attr('style').remove_attr('srcset').remove_attr('sizes').remove_attr('class')
26 26
27 css('[class*="css-"]').each do |node|
28 node['class'] = node['class'].sub(/css-[^ ]+(\b|$)/, '')
29 node.delete 'class' if node['class'] == ''
30 end
31
27 doc32 doc
28 end33 end
29 end34 end
lib/docs/filters/react/entries.rb+17−5
@@ -2,22 +2,30 @@ module Docs · 1 unmodified line
2 class React2 class React
3 class EntriesFilter < Docs::EntriesFilter3 class EntriesFilter < Docs::EntriesFilter
4 def get_name4 def get_name
5 at_css('article h1').content5 at_css('article h1').content.sub(' (Experimental)', '')
6 end6 end
7 7
8 def get_type8 def get_type
9 return 'API Reference' if slug == 'legacy-context'
10 return 'Glossary' if slug == 'glossary'
9 link = css("nav a[href='#{result[:path].split('/').last}']").last11 link = css("nav a[href='#{result[:path].split('/').last}']").last
10 return 'Miscellaneous' unless link12 return 'Miscellaneous' unless link
11 type = link.ancestors('ul').last.previous_element.content13 type = link.ancestors('ul').last.previous_element.content
12 type.remove! %r{\s*\(.*\)}14 type.remove! %r{\s*\(.*\)}
13 type15 if type == 'Concurrent Mode'
16 type + ' (Experimental)' # TODO: Remove when CM is stable
17 else
18 type
19 end
14 end20 end
15 21
16 def additional_entries22 def additional_entries
17 entries = []23 entries = []
18 24
19 css('article h3 code, article h4 code').each do |node|25 is_glossary = slug == 'glossary'
20 next if node.previous.try(:content).present?26 css(is_glossary ? 'article h2, article h3' : 'article h3 code, article h4 code').each do |node|
27 next if !is_glossary && node.previous.try(:content).present?
28 next if slug == 'testing-recipes'
21 name = node.content.strip29 name = node.content.strip
22 # name.remove! %r{[#\(\)]}30 # name.remove! %r{[#\(\)]}
23 # name.remove! %r{\w+\:}31 # name.remove! %r{\w+\:}
@@ -29,10 +37,14 @@ module Docs · 5 unmodified lines
29 'Reference: React'37 'Reference: React'
30 elsif slug == 'hooks-reference'38 elsif slug == 'hooks-reference'
31 'Hooks'39 'Hooks'
40 elsif slug == 'test-utils'
41 'Reference: Test Utilities'
42 elsif slug == 'glossary'
43 'Glossary'
32 else44 else
33 'Reference'45 'Reference'
34 end46 end
35 entries << [name, node.parent['id'], type]47 entries << [name, node['id'] || node.ancestors('[id]').first['id'], type]
36 end48 end
37 49
38 entries50 entries