History

Merge pull request #2466 from StalemateInc/fix-ruby-3-4-source-toggle

Fix the broken "Show source" toggle for Ruby 3.4 docs

Simon Legner committed 1 year ago

Commit 38fd2912 parents 4178dce de954d41 file · +13 −1Browse files

Unified · Split

lib/docs/filters/rdoc/clean_html.rb+13−1
@@ -30,12 +30,24 @@ module Docs · 29 unmodified lines
30 node.remove_attribute 'id'30 node.remove_attribute 'id'
31 end31 end
32 32
33 # Convert "click to toggle source" into a link33 # (RDoc prior to Ruby 3.4) Convert "click to toggle source" into a link
34 css('.method-click-advice').each do |node|34 css('.method-click-advice').each do |node|
35 node.name = 'a'35 node.name = 'a'
36 node.content = 'Show source'36 node.content = 'Show source'
37 end37 end
38 38
39 # (RDoc for Ruby 3.4+) Add a "Show source" link
40 css('.method-source-toggle').each do |node|
41 link_node = Nokogiri::XML::Node.new('a', doc.document)
42 link_node.content = 'Show source'
43 link_node['class'] = 'method-click-advice'
44
45 node.parent.parent.at_css('.method-heading').add_child(link_node)
46 end
47
48 # (RDoc for Ruby 3.4+) Remove the additional "Source" toggle from the page
49 css('.method-controls').remove
50
39 # Add class to differentiate Ruby code from C code51 # Add class to differentiate Ruby code from C code
40 css('.method-source-code').each do |node|52 css('.method-source-code').each do |node|
41 node.parent.prepend_child(node)53 node.parent.prepend_child(node)