diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | lib/rdoc/generator/template/darkfish/rdoc.css | 21 | ||||
-rw-r--r-- | lib/rdoc/markup/to_html.rb | 4 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_comment.rb | 2 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_generator_markup.rb | 5 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_markup_to_html.rb | 62 |
6 files changed, 92 insertions, 12 deletions
@@ -1,3 +1,13 @@ +Thu Dec 20 12:56:53 2012 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc/markup/to_html.rb (class RDoc): Added current heading and + top links to headings. + * lib/rdoc/generator/template/darkfish/rdoc.css: ditto + * test/rdoc/test_rdoc_generator_markup.rb: Test for above + * test/rdoc/test_rdoc_markup_to_html.rb: ditto + + * test/rdoc/test_rdoc_comment.rb: Removed trailing whitespace. + Thu Dec 20 11:05:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * test/ruby/envutil.rb (assert_valid_syntax): move from diff --git a/lib/rdoc/generator/template/darkfish/rdoc.css b/lib/rdoc/generator/template/darkfish/rdoc.css index b965e604e6..35207033de 100644 --- a/lib/rdoc/generator/template/darkfish/rdoc.css +++ b/lib/rdoc/generator/template/darkfish/rdoc.css @@ -28,6 +28,27 @@ h1 { } h2,h3,h4 { margin-top: 1.5em; } +h1 span, +h2 span, +h3 span, +h4 span, +h5 span, +h6 span { + display: none; + padding-left: 1em; + font-size: 50%; + vertical-align: super; +} + +h1:hover span, +h2:hover span, +h3:hover span, +h4:hover span, +h5:hover span, +h6:hover span { + display: inline; +} + :link, :visited { color: #6C8C22; diff --git a/lib/rdoc/markup/to_html.rb b/lib/rdoc/markup/to_html.rb index afe35c26ca..37b9492e23 100644 --- a/lib/rdoc/markup/to_html.rb +++ b/lib/rdoc/markup/to_html.rb @@ -268,6 +268,10 @@ class RDoc::Markup::ToHtml < RDoc::Markup::Formatter @res << "\n<h#{level} id=\"#{label}\">" @res << to_html(heading.text) + unless @options.pipe then + @res << "<span><a href=\"##{label}\">¶</a>" + @res << " <a href=\"#documentation\">↑</a></span>" + end @res << "</h#{level}>\n" end diff --git a/test/rdoc/test_rdoc_comment.rb b/test/rdoc/test_rdoc_comment.rb index 4d0d54edca..2a1318b66c 100644 --- a/test/rdoc/test_rdoc_comment.rb +++ b/test/rdoc/test_rdoc_comment.rb @@ -70,7 +70,7 @@ call-seq: comment = RDoc::Comment.new <<-COMMENT, @top_level # call-seq: # bla => true or false -#\s +# # moar comment COMMENT diff --git a/test/rdoc/test_rdoc_generator_markup.rb b/test/rdoc/test_rdoc_generator_markup.rb index 1b44085283..b3b5c04588 100644 --- a/test/rdoc/test_rdoc_generator_markup.rb +++ b/test/rdoc/test_rdoc_generator_markup.rb @@ -37,7 +37,10 @@ class TestRDocGeneratorMarkup < RDoc::TestCase def test_description @comment = '= Hello' - assert_equal "\n<h1 id=\"label-Hello\">Hello</h1>\n", description + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h1 id=\"label-Hello\">Hello#{links}</h1>\n", description end def test_formatter diff --git a/test/rdoc/test_rdoc_markup_to_html.rb b/test/rdoc/test_rdoc_markup_to_html.rb index ffff6895d1..ebd2fe7dd2 100644 --- a/test/rdoc/test_rdoc_markup_to_html.rb +++ b/test/rdoc/test_rdoc_markup_to_html.rb @@ -23,32 +23,55 @@ class TestRDocMarkupToHtml < RDoc::Markup::FormatterTestCase end def accept_heading - assert_equal "\n<h5 id=\"label-Hello\">Hello</h5>\n", @to.res.join + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + expected = "\n<h5 id=\"label-Hello\">Hello#{links}</h5>\n" + + assert_equal expected, @to.res.join end def accept_heading_1 - assert_equal "\n<h1 id=\"label-Hello\">Hello</h1>\n", @to.res.join + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h1 id=\"label-Hello\">Hello#{links}</h1>\n", @to.res.join end def accept_heading_2 - assert_equal "\n<h2 id=\"label-Hello\">Hello</h2>\n", @to.res.join + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h2 id=\"label-Hello\">Hello#{links}</h2>\n", @to.res.join end def accept_heading_3 - assert_equal "\n<h3 id=\"label-Hello\">Hello</h3>\n", @to.res.join + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h3 id=\"label-Hello\">Hello#{links}</h3>\n", @to.res.join end def accept_heading_4 - assert_equal "\n<h4 id=\"label-Hello\">Hello</h4>\n", @to.res.join + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h4 id=\"label-Hello\">Hello#{links}</h4>\n", @to.res.join end def accept_heading_b - assert_equal "\n<h1 id=\"label-Hello\"><strong>Hello</strong></h1>\n", + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + inner = "<strong>Hello</strong>" + + assert_equal "\n<h1 id=\"label-Hello\">#{inner}#{links}</h1>\n", @to.res.join end def accept_heading_suppressed_crossref - assert_equal "\n<h1 id=\"label-Hello\">Hello</h1>\n", @to.res.join + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h1 id=\"label-Hello\">Hello#{links}</h1>\n", @to.res.join end def accept_list_end_bullet @@ -324,7 +347,10 @@ class TestRDocMarkupToHtml < RDoc::Markup::FormatterTestCase @to.accept_heading @RM::Heading.new(7, 'Hello') - assert_equal "\n<h6 id=\"label-Hello\">Hello</h6>\n", @to.res.join + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h6 id=\"label-Hello\">Hello#{links}</h6>\n", @to.res.join end def test_accept_heading_aref_class @@ -333,7 +359,10 @@ class TestRDocMarkupToHtml < RDoc::Markup::FormatterTestCase @to.accept_heading @RM::Heading.new(1, 'Hello') - assert_equal "\n<h1 id=\"label-Hello\">Hello</h1>\n", + links = '<span><a href="#label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h1 id=\"label-Hello\">Hello#{links}</h1>\n", @to.res.join end @@ -343,10 +372,23 @@ class TestRDocMarkupToHtml < RDoc::Markup::FormatterTestCase @to.accept_heading @RM::Heading.new(1, 'Hello') - assert_equal "\n<h1 id=\"method-i-foo-label-Hello\">Hello</h1>\n", + links = '<span><a href="#method-i-foo-label-Hello">¶</a> ' + + '<a href="#documentation">↑</a></span>' + + assert_equal "\n<h1 id=\"method-i-foo-label-Hello\">Hello#{links}</h1>\n", @to.res.join end + def test_accept_heading_pipe + @options.pipe = true + + @to.start_accepting + + @to.accept_heading @RM::Heading.new(1, 'Hello') + + assert_equal "\n<h1 id=\"label-Hello\">Hello</h1>\n", @to.res.join + end + def test_accept_verbatim_parseable verb = @RM::Verbatim.new("class C\n", "end\n") |