mirror of
https://github.com/ruby/ruby.git
synced 2025-08-25 05:55:46 +02:00
parent
a884431624
commit
976431d9ed
3 changed files with 46 additions and 3 deletions
|
@ -1,9 +1,31 @@
|
||||||
<div id="classindex-section" class="nav-section">
|
<div id="classindex-section" class="nav-section">
|
||||||
<h3>Class and Module Index</h3>
|
<h3>Class and Module Index</h3>
|
||||||
|
|
||||||
|
<%-
|
||||||
|
all_classes = @classes.group_by do |klass|
|
||||||
|
klass.full_name[/\A[^:]++(?:::[^:]++(?=::))*+(?=::[^:]*+\z)/]
|
||||||
|
end.delete_if do |_, klasses|
|
||||||
|
!klasses.any?(&:display?)
|
||||||
|
end
|
||||||
|
link = proc do |index_klass, display = index_klass.display?|
|
||||||
|
if display
|
||||||
|
-%><code><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.name %></a></code><%-
|
||||||
|
else
|
||||||
|
-%><code><%= index_klass.name %></code><%-
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-%>
|
||||||
|
<%- traverse = proc do |klasses| -%>
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<%- @modsort.each do |index_klass| -%>
|
<%- klasses.each do |index_klass| -%>
|
||||||
<li><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.full_name %></a>
|
<%- if children = all_classes[index_klass.full_name] -%>
|
||||||
|
<li><details><summary><% link.call(index_klass) %></summary>
|
||||||
|
<%- traverse.call(children) -%>
|
||||||
|
</ul></details>
|
||||||
|
<%- elsif index_klass.display? -%>
|
||||||
|
<li><% link.call(index_klass, true) %>
|
||||||
|
<%- end -%>
|
||||||
|
<%- end -%>
|
||||||
<%- end -%>
|
<%- end -%>
|
||||||
</ul>
|
<%- traverse.call(all_classes[nil]) -%>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -484,6 +484,22 @@ main header h3 {
|
||||||
|
|
||||||
/* @group Method Details */
|
/* @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 {
|
main .method-source-code {
|
||||||
max-height: 0;
|
max-height: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
|
@ -72,11 +72,14 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase
|
||||||
def test_generate
|
def test_generate
|
||||||
top_level = @store.add_file 'file.rb'
|
top_level = @store.add_file 'file.rb'
|
||||||
top_level.add_class @klass.class, @klass.name
|
top_level.add_class @klass.class, @klass.name
|
||||||
|
@klass.add_class RDoc::NormalClass, 'Inner'
|
||||||
|
|
||||||
@g.generate
|
@g.generate
|
||||||
|
|
||||||
assert_file 'index.html'
|
assert_file 'index.html'
|
||||||
assert_file 'Object.html'
|
assert_file 'Object.html'
|
||||||
|
assert_file 'Klass.html'
|
||||||
|
assert_file 'Klass/Inner.html'
|
||||||
assert_file 'table_of_contents.html'
|
assert_file 'table_of_contents.html'
|
||||||
assert_file 'js/search_index.js'
|
assert_file 'js/search_index.js'
|
||||||
|
|
||||||
|
@ -92,6 +95,8 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase
|
||||||
assert_match %r%<meta charset="#{encoding}">%, File.read('Object.html')
|
assert_match %r%<meta charset="#{encoding}">%, File.read('Object.html')
|
||||||
|
|
||||||
refute_match(/Ignored/, File.read('index.html'))
|
refute_match(/Ignored/, File.read('index.html'))
|
||||||
|
summary = File.read('index.html')[%r[<summary.*Klass\.html.*</summary>.*</details>]m]
|
||||||
|
assert_match(%r[Klass/Inner\.html".*>Inner<], summary)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_generate_dry_run
|
def test_generate_dry_run
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue