Skip to content

Commit 038869a

Browse files
committed
Improve React docs
1 parent e2acab1 commit 038869a

2 files changed

Lines changed: 23 additions & 6 deletions

File tree

lib/docs/filters/react/clean_html.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def call
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 @@ def call
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

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,30 @@ module Docs
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 @@ def additional_entries
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

0 commit comments

Comments
 (0)