This implements #763 just for Elixir without solving the general issue. The style used is similar to the one of the Go docs.
Showing the changes to lib/docs (2 of 3 files). Show all
Unified · Split
| @@ -25,7 +25,7 @@ module Docs · 24 unmodified lines | |||
| 25 | end | 25 | end |
| 26 | 26 | ||
| 27 | def api | 27 | def api |
| 28 | css('.hover-link', '.view-source', 'footer').remove | 28 | css('.hover-link', 'footer', ':not(.detail-header) > .view-source').remove |
| 29 | 29 | ||
| 30 | css('.summary').each do |node| | 30 | css('.summary').each do |node| |
| 31 | node.name = 'dl' | 31 | node.name = 'dl' |
| @@ -51,7 +51,11 @@ module Docs · 19 unmodified lines | |||
| 51 | detail.css('.detail-header').each do |node| | 51 | detail.css('.detail-header').each do |node| |
| 52 | node.name = 'h3' | 52 | node.name = 'h3' |
| 53 | node['id'] = id | 53 | node['id'] = id |
| 54 | |||
| 55 | source_href = node.at_css('.view-source').attr('href') | ||
| 56 | |||
| 54 | node.content = node.at_css('.signature').inner_text | 57 | node.content = node.at_css('.signature').inner_text |
| 58 | node << %(<a href="#{source_href}" class="source">Source</a>) | ||
| 55 | end | 59 | end |
| 56 | 60 | ||
| 57 | detail.css('.docstring h2').each do |node| | 61 | detail.css('.docstring h2').each do |node| |
| @@ -45,7 +45,8 @@ module Docs · 44 unmodified lines | |||
| 45 | 45 | ||
| 46 | css('.detail-header').map do |node| | 46 | css('.detail-header').map do |node| |
| 47 | id = node['id'] | 47 | id = node['id'] |
| 48 | name = node.content.strip | 48 | # ignore text of children, i.e. source link |
| 49 | name = node.children.select(&:text?).map(&:content).join.strip | ||
| 49 | 50 | ||
| 50 | name.remove! %r{\(.*\)} | 51 | name.remove! %r{\(.*\)} |
| 51 | name.remove! 'left ' | 52 | name.remove! 'left ' |