[前][次][番号順一覧][スレッド一覧]

ruby-changes:71468

From: Nobuyoshi <ko1@a...>
Date: Tue, 22 Mar 2022 01:32:25 +0900 (JST)
Subject: [ruby-changes:71468] dafe5c1323 (master): [ruby/rdoc] Fold files in the page directory

https://git.ruby-lang.org/ruby.git/commit/?id=dafe5c1323

From dafe5c1323f20c04d8378ff003af2c04adb379c9 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Sun, 13 Mar 2022 21:16:43 +0900
Subject: [ruby/rdoc] Fold files in the page directory

https://github.com/ruby/rdoc/commit/b7b4cdab6c
---
 .../generator/template/darkfish/_sidebar_pages.rhtml  | 19 ++++++++++++++++++-
 test/rdoc/test_rdoc_generator_darkfish.rb             |  5 +++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml
index 8ec83abda2..f3b6cf3a05 100644
--- a/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml
+++ b/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml
@@ -4,8 +4,25 @@ https://github.com/ruby/ruby/blob/trunk/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml#L4
   <h3>Pages</h3>
 
   <ul class="link-list">
-  <%- simple_files.each do |f| -%>
+  <%- 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 %>/<%= f.path %>"><%= h f.page_name %></a>
+      <%- next -%>
+    <%- end -%>
+    <li><details><summary><%
+    if n == f.page_name
+      %><a href="<%= rel_prefix %>/<%= 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 %>/<%= f.path %>"><%= h f.page_name %></a>
+    <%- end -%>
+    </ul></details>
   <%- end -%>
   </ul>
 </div>
diff --git a/test/rdoc/test_rdoc_generator_darkfish.rb b/test/rdoc/test_rdoc_generator_darkfish.rb
index 5ab4cffd1a..90b934dc63 100644
--- a/test/rdoc/test_rdoc_generator_darkfish.rb
+++ b/test/rdoc/test_rdoc_generator_darkfish.rb
@@ -105,6 +105,11 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase https://github.com/ruby/ruby/blob/trunk/test/rdoc/test_rdoc_generator_darkfish.rb#L105
     @g.generate
     assert_file 'outer_rdoc.html'
     assert_file 'outer/inner_rdoc.html'
+    index = File.read('index.html')
+    re = %r[<summary><a href="\./outer_rdoc\.html">outer</a></summary>.*?</details>]m
+    assert_match(re, index)
+    summary = index[re]
+    assert_match %r[<a href="\./outer/inner_rdoc.html">inner</a>], summary
   end
 
   def test_generate_dry_run
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]