[ruby/rdoc] Fold class and module index

4c7c46fcc4
This commit is contained in:
Nobuyoshi Nakada 2022-03-13 19:44:09 +09:00 committed by git
parent a884431624
commit 976431d9ed
3 changed files with 46 additions and 3 deletions

View file

@ -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>

View file

@ -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;