summaryrefslogtreecommitdiff
path: root/lib/rdoc/generators
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-06 13:49:54 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-06 13:49:54 +0000
commit84d34ed4f985d86bc452c696ae1a6a00dd5830ed (patch)
tree286aa21a00cd5c212aad6b42c1965eea89a18b00 /lib/rdoc/generators
parent18aa4b526a2b923e73dba44bd1d9f80c8ca60b86 (diff)
Support https in hyperlinks
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc/generators')
-rw-r--r--lib/rdoc/generators/html_generator.rb34
1 files changed, 18 insertions, 16 deletions
diff --git a/lib/rdoc/generators/html_generator.rb b/lib/rdoc/generators/html_generator.rb
index 994d74b103..56ac2b7499 100644
--- a/lib/rdoc/generators/html_generator.rb
+++ b/lib/rdoc/generators/html_generator.rb
@@ -125,15 +125,10 @@ module Generators
end
end
- # And we're invoked with a potential external hyperlink mailto:
- # just gets inserted. http: links are checked to see if they
- # reference an image. If so, that image gets inserted using an
- # <img> tag. Otherwise a conventional <a href> is used. We also
- # support a special type of hyperlink, link:, which is a reference
- # to a local file whose path is relative to the --op directory.
- def handle_special_HYPERLINK(special)
- url = special.text
+ # Generate a hyperlink for url, labeled with text. Handle the
+ # special cases for img: and link: described under handle_special_HYPEDLINK
+ def gen_url(url, text)
if url =~ /([A-Za-z]+):(.*)/
type = $1
path = $2
@@ -156,10 +151,22 @@ module Generators
"<img src=\"#{url}\">"
else
- "<a href=\"#{url}\">#{url.sub(%r{^\w+:/*}, '')}</a>"
+ "<a href=\"#{url}\">#{text.sub(%r{^\w+:/*}, '')}</a>"
end
end
+ # And we're invoked with a potential external hyperlink mailto:
+ # just gets inserted. http: links are checked to see if they
+ # reference an image. If so, that image gets inserted using an
+ # <img> tag. Otherwise a conventional <a href> is used. We also
+ # support a special type of hyperlink, link:, which is a reference
+ # to a local file whose path is relative to the --op directory.
+
+ def handle_special_HYPERLINK(special)
+ url = special.text
+ gen_url(url, url)
+ end
+
# HEre's a hypedlink where the label is different to the URL
# <label>[url]
#
@@ -171,12 +178,7 @@ module Generators
end
label = $1
url = $2
-
- unless url =~ /\w+?:/
- url = "http://#{url}"
- end
-
- "<a href=\"#{url}\">#{label}</a>"
+ gen_url(url, label)
end
end
@@ -209,7 +211,7 @@ module Generators
:CROSSREF)
# external hyperlinks
- @markup.add_special(/((link:|http:|mailto:|ftp:|www\.)\S+\w)/, :HYPERLINK)
+ @markup.add_special(/((link:|https?:|mailto:|ftp:|www\.)\S+\w)/, :HYPERLINK)
# and links of the form <text>[<url>]
@markup.add_special(/\b(\S+?\[\S+?\.\S+?\])/, :TIDYLINK)