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/