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
88 at_css('h1').content = 'React Documentation'
99 end
1010
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|
1212 node.before(node.children).remove
1313 end
1414
@@ -24,6 +24,11 @@ module Docs · 9 unmodified lines
2424 css('a').remove_attr('rel').remove_attr('target').remove_attr('class').remove_attr('style')
2525 css('img').remove_attr('style').remove_attr('srcset').remove_attr('sizes').remove_attr('class')
2626
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+
2732 doc
2833 end
2934 end
lib/docs/filters/react/entries.rb+17−5
@@ -2,22 +2,30 @@ module Docs · 1 unmodified line
22 class React
33 class EntriesFilter < Docs::EntriesFilter
44 def get_name
5− at_css('article h1').content
5+ at_css('article h1').content.sub(' (Experimental)', '')
66 end
77
88 def get_type
9+ return 'API Reference' if slug == 'legacy-context'
10+ return 'Glossary' if slug == 'glossary'
911 link = css("nav a[href='#{result[:path].split('/').last}']").last
1012 return 'Miscellaneous' unless link
1113 type = link.ancestors('ul').last.previous_element.content
1214 type.remove! %r{\s*\(.*\)}
13− type
15+ if type == 'Concurrent Mode'
16+ type + ' (Experimental)' # TODO: Remove when CM is stable
17+ else
18+ type
19+ end
1420 end
1521
1622 def additional_entries
1723 entries = []
1824
19− css('article h3 code, article h4 code').each do |node|
20− next if node.previous.try(:content).present?
25+ is_glossary = slug == 'glossary'
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'
2129 name = node.content.strip
2230 # name.remove! %r{[#\(\)]}
2331 # name.remove! %r{\w+\:}
@@ -29,10 +37,14 @@ module Docs · 5 unmodified lines
2937 'Reference: React'
3038 elsif slug == 'hooks-reference'
3139 'Hooks'
40+ elsif slug == 'test-utils'
41+ 'Reference: Test Utilities'
42+ elsif slug == 'glossary'
43+ 'Glossary'
3244 else
3345 'Reference'
3446 end
35− entries << [name, node.parent['id'], type]
47+ entries << [name, node['id'] || node.ancestors('[id]').first['id'], type]
3648 end
3749
3850 entries