diff options
author | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-06 13:49:54 +0000 |
---|---|---|
committer | dave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-06 13:49:54 +0000 |
commit | 84d34ed4f985d86bc452c696ae1a6a00dd5830ed (patch) | |
tree | 286aa21a00cd5c212aad6b42c1965eea89a18b00 /lib/rdoc | |
parent | 18aa4b526a2b923e73dba44bd1d9f80c8ca60b86 (diff) | |
download | ruby-84d34ed4f985d86bc452c696ae1a6a00dd5830ed.tar.gz |
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')
-rw-r--r-- | lib/rdoc/generators/html_generator.rb | 34 |
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) |