File tree Expand file tree Collapse file tree 2 files changed +38
-25
lines changed
Expand file tree Collapse file tree 2 files changed +38
-25
lines changed Original file line number Diff line number Diff line change @@ -870,6 +870,43 @@ def group_classes_by_namespace_for_sidebar(classes)
870870 grouped_classes
871871 end
872872
873+ def generate_page_link ( file , rel_prefix )
874+ %(<a href="#{ rel_prefix } /#{ h file . path } ">#{ h file . page_name } </a>)
875+ end
876+
877+ def generate_pages_index_content ( page_files , rel_prefix , current )
878+ return '' if page_files . empty?
879+
880+ dir = current &.full_name &.[]( /\A [^\/ ]+(?=\/ )/ ) || current &.page_name
881+
882+ content = +'<ul class="link-list">'
883+ page_files . group_by do |f |
884+ f . full_name [ /\A [^\/ ]+(?=\/ )/ ] || f . page_name
885+ end . each do |n , grouped_files |
886+ f = grouped_files . shift
887+ if grouped_files . empty?
888+ content << %(<li>#{ generate_page_link ( f , rel_prefix ) } </li>)
889+ next
890+ end
891+
892+ content << %(<li><details#{ dir == n ? ' open' : '' } ><summary>)
893+ if n == f . page_name
894+ content << generate_page_link ( f , rel_prefix )
895+ else
896+ content << h ( n )
897+ grouped_files . unshift ( f )
898+ end
899+ content << '</summary><ul class="link-list">'
900+
901+ grouped_files . each do |f |
902+ content << %(<li>#{ generate_page_link ( f , rel_prefix ) } </li>)
903+ end
904+
905+ content << '</ul></details>'
906+ end
907+ content << '</ul>'
908+ end
909+
873910 private
874911
875912 def nesting_namespaces_to_class_modules klass
Original file line number Diff line number Diff line change 1- <%- if defined?(current) -%>
2- <%- dir = current.full_name[%r{\A[^/]+(?=/)}] || current.page_name -%>
3- <%- end -%>
41<%- if @page_files.any? -%>
52 <div id ="fileindex-section " class ="nav-section ">
63 < h3 > Pages</ h3 >
74
8- < ul class ="link-list ">
9- <%- @page_files . group_by do |f | -%>
10- <%- f . full_name [ %r{\A [^/]+(?=/)} ] || f . page_name -%>
11- <%- end . each do |n , files | -%>
12- <%- f = files . shift -%>
13- <%- if files . empty? -%>
14- < li > < a href ="<%= rel_prefix %> / <%= h f . path %> "> <%= h f . page_name %> </ a >
15- <%- next -%>
16- <%- end -%>
17- < li > < details <% if dir == n %> open <% end %> > < summary > <%
18- if n == f . page_name
19- %> < a href ="<%= rel_prefix %> / <%= h f . path %> "> <%= h n %> </ a > <%
20- else
21- %> <%= h n %> <% files . unshift ( f )
22- end %> </ summary >
23- < ul class ="link-list ">
24- <%- files . each do |f | -%>
25- < li > < a href ="<%= rel_prefix %> / <%= h f . path %> "> <%= h f . page_name %> </ a >
26- <%- end -%>
27- </ ul > </ details >
28- <%- end -%>
29- </ ul >
5+ <%= generate_pages_index_content ( @page_files , rel_prefix , current ) %>
306</ div >
317<%- end -%>
You can’t perform that action at this time.
0 commit comments