diff options
author | Ralph Amissah <ralph@amissah.com> | 2010-05-26 13:18:31 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2010-05-26 13:18:31 -0400 |
commit | fec639c59a032977b87ff49920e74ae08d485f04 (patch) | |
tree | 938c32c8a74fe39177afb5255ac229c599e0186b /lib/sisu/v2/epub_tune.rb | |
parent | sysenv, require constants, (issue with webrick) (diff) |
output formats internal document (and relative) linking as possible
Diffstat (limited to 'lib/sisu/v2/epub_tune.rb')
-rw-r--r-- | lib/sisu/v2/epub_tune.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/sisu/v2/epub_tune.rb b/lib/sisu/v2/epub_tune.rb index d49ac3c1..9115a14d 100644 --- a/lib/sisu/v2/epub_tune.rb +++ b/lib/sisu/v2/epub_tune.rb @@ -285,7 +285,21 @@ module SiSU_EPUB_Tune link=m[/(.+)/m] png=m.scan(/\S+/)[0].strip link=link.strip - u.gsub!(/(\S+)/,"#{map_nametags[u][:segname]}#{Sfx[:xhtml]}#\\1") if u !~/\// unless http_ + u.sub!(/^#*/,'') #make neater + if map_nametags[u] \ + and map_nametags[u][:segname] + if u=~/^\d+$/ + u.gsub!(/^(\d+)$/,"#{map_nametags[u][:segname]}#{Sfx[:xhtml]}#o\\1") if u !~/\// unless http_ + else + u.gsub!(/(\S+)/,"#{map_nametags[u][:segname]}#{Sfx[:xhtml]}#\\1") if u !~/\// unless http_ + end + elsif u =~/^:/ + u.gsub!(/^:/,"#{@env.url.root}/") + elsif u =~/^\.\.\// + u.gsub!(/^\.\.\//,"#{@env.url.root}/") + elsif u =~/http:\/\// + else p "NOT FOUND name_tags: #{u}" + end ins=%{<a href="#{u}">#{link}</a>} word.gsub!(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,ins) word.gsub!(/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,ins) |