File tree Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Top Open diff view settings
lib/rdoc/generator/template/darkfish Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Top Open diff view settings Original file line number Diff line number Diff line change 11<%- simple_files = @files.select { |f| f.text? } %>
2+ <%- if defined?(current) -%>
3+ <%- dir = current.full_name[%r{\A[^/]+(?=/)}] || current.page_name -%>
4+ <%- end -%>
25<%- unless simple_files.empty? then -%>
36 <div id ="fileindex-section " class ="nav-section ">
47 < h3 > Pages</ h3 >
58
69 < ul class ="link-list ">
7- <%- simple_files . each do |f | -%>
10+ <%- simple_files . group_by do |f | -%>
11+ <%- f . full_name [ %r{\A [^/]+(?=/)} ] || f . page_name -%>
12+ <%- end . each do |n , files | -%>
13+ <%- f = files . shift -%>
14+ <%- if files . empty? -%>
815 < li > < a href ="<%= rel_prefix %> / <%= f . path %> "> <%= h f . page_name %> </ a >
16+ <%- next -%>
17+ <%- end -%>
18+ < li > < details <% if dir == n %> open <% end %> > < summary > <%
19+ if n == f . page_name
20+ %> < a href ="<%= rel_prefix %> / <%= f . path %> "> <%= h n %> </ a > <%
21+ else
22+ %> <%= h n %> <% files . unshift ( f )
23+ end %> </ summary >
24+ < ul class ="link-list ">
25+ <%- files . each do |f | -%>
26+ < li > < a href ="<%= rel_prefix %> / <%= f . path %> "> <%= h f . page_name %> </ a >
27+ <%- end -%>
28+ </ ul > </ details >
929 <%- end -%>
1030 </ ul >
1131</ div >
Original file line number Diff line number Diff line change @@ -99,6 +99,23 @@ def test_generate
9999 assert_match ( %r[Klass/Inner\. html".*>Inner<] , summary )
100100 end
101101
102+ def test_generate_page
103+ @store . add_file 'outer.rdoc' , parser : RDoc ::Parser ::Simple
104+ @store . add_file 'outer/inner.rdoc' , parser : RDoc ::Parser ::Simple
105+ @g . generate
106+ assert_file 'outer_rdoc.html'
107+ assert_file 'outer/inner_rdoc.html'
108+ index = File . read ( 'index.html' )
109+ re = %r[<summary><a href="\. /outer_rdoc\. html">outer</a></summary>.*?</details>]m
110+ assert_match ( re , index )
111+ summary = index [ re ]
112+ assert_match %r[<a href="\. /outer/inner_rdoc.html">inner</a>] , summary
113+ re = %r[<details open><summary><a href="\. /outer_rdoc\. html">outer</a></summary>.*?</details>]m
114+ assert_match ( re , File . read ( 'outer_rdoc.html' ) )
115+ re = %r[<details open><summary><a href="\. \. /outer_rdoc\. html">outer</a></summary>.*?</details>]m
116+ assert_match ( re , File . read ( 'outer/inner_rdoc.html' ) )
117+ end
118+
102119 def test_generate_dry_run
103120 @g . dry_run = true
104121 top_level = @store . add_file 'file.rb'
You can’t perform that action at this time.
0 commit comments