Unified · Split
| @@ -30,12 +30,24 @@ module Docs · 29 unmodified lines | ||
| 30 | 30 | node.remove_attribute 'id' |
| 31 | 31 | end |
| 32 | 32 | |
| 33 | − # Convert "click to toggle source" into a link | |
| 33 | + # (RDoc prior to Ruby 3.4) Convert "click to toggle source" into a link | |
| 34 | 34 | css('.method-click-advice').each do |node| |
| 35 | 35 | node.name = 'a' |
| 36 | 36 | node.content = 'Show source' |
| 37 | 37 | 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 | 51 | # Add class to differentiate Ruby code from C code |
| 40 | 52 | css('.method-source-code').each do |node| |
| 41 | 53 | node.parent.prepend_child(node) |