summaryrefslogtreecommitdiff
path: root/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml')
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml24
1 files changed, 22 insertions, 2 deletions
diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml
index 8ec83abda2..3f68f0c0dc 100644
--- a/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml
+++ b/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml
@@ -1,11 +1,31 @@
<%- simple_files = @files.select { |f| f.text? } %>
+<%- if defined?(current) -%>
+ <%- dir = current.full_name[%r{\A[^/]+(?=/)}] || current.page_name -%>
+<%- end -%>
<%- unless simple_files.empty? then -%>
<div id="fileindex-section" class="nav-section">
<h3>Pages</h3>
<ul class="link-list">
- <%- simple_files.each do |f| -%>
- <li><a href="<%= rel_prefix %>/<%= f.path %>"><%= h f.page_name %></a>
+ <%- simple_files.group_by do |f| -%>
+ <%- f.full_name[%r{\A[^/]+(?=/)}] || f.page_name -%>
+ <%- end.each do |n, files| -%>
+ <%- f = files.shift -%>
+ <%- if files.empty? -%>
+ <li><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h f.page_name %></a>
+ <%- next -%>
+ <%- end -%>
+ <li><details<% if dir == n %> open<% end %>><summary><%
+ if n == f.page_name
+ %><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h n %></a><%
+ else
+ %><%= h n %><% files.unshift(f)
+ end %></summary>
+ <ul class="link-list">
+ <%- files.each do |f| -%>
+ <li><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h f.page_name %></a>
+ <%- end -%>
+ </ul></details>
<%- end -%>
</ul>
</div>