[ruby/rdoc] Fold class and module index
https://github.com/ruby/rdoc/commit/4c7c46fcc4
This commit is contained in:
parent
a884431624
commit
976431d9ed
@ -1,9 +1,31 @@
|
||||
<div id="classindex-section" class="nav-section">
|
||||
<h3>Class and Module Index</h3>
|
||||
|
||||
<%-
|
||||
all_classes = @classes.group_by do |klass|
|
||||
klass.full_name[/\A[^:]++(?:::[^:]++(?=::))*+(?=::[^:]*+\z)/]
|
||||
end.delete_if do |_, klasses|
|
||||
!klasses.any?(&:display?)
|
||||
end
|
||||
link = proc do |index_klass, display = index_klass.display?|
|
||||
if display
|
||||
-%><code><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.name %></a></code><%-
|
||||
else
|
||||
-%><code><%= index_klass.name %></code><%-
|
||||
end
|
||||
end
|
||||
-%>
|
||||
<%- traverse = proc do |klasses| -%>
|
||||
<ul class="link-list">
|
||||
<%- @modsort.each do |index_klass| -%>
|
||||
<li><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.full_name %></a>
|
||||
<%- klasses.each do |index_klass| -%>
|
||||
<%- if children = all_classes[index_klass.full_name] -%>
|
||||
<li><details><summary><% link.call(index_klass) %></summary>
|
||||
<%- traverse.call(children) -%>
|
||||
</ul></details>
|
||||
<%- elsif index_klass.display? -%>
|
||||
<li><% link.call(index_klass, true) %>
|
||||
<%- end -%>
|
||||
<%- end -%>
|
||||
<%- end -%>
|
||||
</ul>
|
||||
<%- traverse.call(all_classes[nil]) -%>
|
||||
</div>
|
||||
|
@ -484,6 +484,22 @@ main header h3 {
|
||||
|
||||
/* @group Method Details */
|
||||
|
||||
details summary {
|
||||
display: block;
|
||||
}
|
||||
details summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
details summary:before {
|
||||
content: "";
|
||||
}
|
||||
details summary:after {
|
||||
content: " ▶";
|
||||
}
|
||||
details[open] > summary:after {
|
||||
content: " ▽";
|
||||
}
|
||||
|
||||
main .method-source-code {
|
||||
max-height: 0;
|
||||
overflow: hidden;
|
||||
|
@ -72,11 +72,14 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase
|
||||
def test_generate
|
||||
top_level = @store.add_file 'file.rb'
|
||||
top_level.add_class @klass.class, @klass.name
|
||||
@klass.add_class RDoc::NormalClass, 'Inner'
|
||||
|
||||
@g.generate
|
||||
|
||||
assert_file 'index.html'
|
||||
assert_file 'Object.html'
|
||||
assert_file 'Klass.html'
|
||||
assert_file 'Klass/Inner.html'
|
||||
assert_file 'table_of_contents.html'
|
||||
assert_file 'js/search_index.js'
|
||||
|
||||
@ -92,6 +95,8 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase
|
||||
assert_match %r%<meta charset="#{encoding}">%, File.read('Object.html')
|
||||
|
||||
refute_match(/Ignored/, File.read('index.html'))
|
||||
summary = File.read('index.html')[%r[<summary.*Klass\.html.*</summary>.*</details>]m]
|
||||
assert_match(%r[Klass/Inner\.html".*>Inner<], summary)
|
||||
end
|
||||
|
||||
def test_generate_dry_run
|
||||
|
Loading…
x
Reference in New Issue
Block a user