aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v2/epub_tune.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v2/epub_tune.rb')
-rw-r--r--lib/sisu/v2/epub_tune.rb16
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)