From 4c7c46fcc4c45cadce57eb398067112bb4e25764 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 13 Mar 2022 19:44:09 +0900 Subject: [PATCH 1/2] Fold class and module index --- .../template/darkfish/_sidebar_classes.rhtml | 28 +++++++++++++++++-- .../generator/template/darkfish/css/rdoc.css | 16 +++++++++++ test/rdoc/test_rdoc_generator_darkfish.rb | 5 ++++ 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml index 530f25c762..787bbe42c2 100644 --- a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +++ b/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml @@ -1,9 +1,31 @@ diff --git a/lib/rdoc/generator/template/darkfish/css/rdoc.css b/lib/rdoc/generator/template/darkfish/css/rdoc.css index 7451b6ecb9..8c2b2ac6cb 100644 --- a/lib/rdoc/generator/template/darkfish/css/rdoc.css +++ b/lib/rdoc/generator/template/darkfish/css/rdoc.css @@ -484,6 +484,22 @@ main header h3 { /* @group Method Details */ +details summary { + display: block; +} +details summary::-webkit-details-marker { + display: none; +} +details summary:before { + content: ""; +} +details summary:after { + content: " ▶"; +} +details[open] > summary:after { + content: " ▽"; +} + main .method-source-code { max-height: 0; overflow: hidden; diff --git a/test/rdoc/test_rdoc_generator_darkfish.rb b/test/rdoc/test_rdoc_generator_darkfish.rb index b78a3fb45f..8f8f7ef814 100644 --- a/test/rdoc/test_rdoc_generator_darkfish.rb +++ b/test/rdoc/test_rdoc_generator_darkfish.rb @@ -72,11 +72,14 @@ def teardown def test_generate top_level = @store.add_file 'file.rb' top_level.add_class @klass.class, @klass.name + @klass.add_class RDoc::NormalClass, 'Inner' @g.generate assert_file 'index.html' assert_file 'Object.html' + assert_file 'Klass.html' + assert_file 'Klass/Inner.html' assert_file 'table_of_contents.html' assert_file 'js/search_index.js' @@ -92,6 +95,8 @@ def test_generate assert_match %r%%, File.read('Object.html') refute_match(/Ignored/, File.read('index.html')) + summary = File.read('index.html')[%r[.*]m] + assert_match(%r[Klass/Inner\.html".*>Inner<], summary) end def test_generate_dry_run From 6bb93001dbf232b66fc781ae8161a83fc630112c Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 13 Mar 2022 20:38:19 +0900 Subject: [PATCH 2/2] Start with open when only one visible class/module --- .../template/darkfish/_sidebar_classes.rhtml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml index 787bbe42c2..d3d8da4017 100644 --- a/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +++ b/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml @@ -14,18 +14,20 @@ -%><%= index_klass.name %><%- end end - -%> - <%- traverse = proc do |klasses| -%> + if top = all_classes[nil] + solo = top.one? {|klass| klass.display?} + traverse = proc do |klasses| -%> - <%- elsif index_klass.display? -%> + <%- elsif index_klass.display? -%>
  • <% link.call(index_klass, true) %> + <%- end -%> <%- end -%> <%- end -%> + <%- traverse.call(top) -%> <%- end -%> - <%- traverse.call(all_classes[nil]) -%>