Unified · Split
| @@ -30,12 +30,24 @@ module Docs · 29 unmodified lines | |||
| 30 | node.remove_attribute 'id' | 30 | node.remove_attribute 'id' |
| 31 | end | 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 | 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 | end | 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 | # Add class to differentiate Ruby code from C code | 51 | # 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) |