summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--lib/rdoc/generator/template/darkfish/rdoc.css21
-rw-r--r--lib/rdoc/markup/to_html.rb4
-rw-r--r--test/rdoc/test_rdoc_comment.rb2
-rw-r--r--test/rdoc/test_rdoc_generator_markup.rb5
-rw-r--r--test/rdoc/test_rdoc_markup_to_html.rb62
6 files changed, 92 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 3a6a4c7eb32..389cdefceb7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 b965e604e60..35207033dea 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 afe35c26caf..37b9492e23d 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}\">&para;</a>"
+ @res << " <a href=\"#documentation\">&uarr;</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 4d0d54edca8..2a1318b66cf 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 1b440852831..b3b5c045880 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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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 ffff6895d1b..ebd2fe7dd20 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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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">&para;</a> ' +
+ '<a href="#documentation">&uarr;</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")