diff options
Diffstat (limited to 'lib/sisu/v3/html.rb')
-rw-r--r-- | lib/sisu/v3/html.rb | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/lib/sisu/v3/html.rb b/lib/sisu/v3/html.rb index 8d10b7da..d586c25d 100644 --- a/lib/sisu/v3/html.rb +++ b/lib/sisu/v3/html.rb @@ -322,7 +322,7 @@ WOK title=if dob.obj !~/Metadata/; linkname else link='metadata' - %{<b><a href="#{@md.fnl[:pre]}#{link}#{@md.fnl[:mid]}#{Sfx[:html]}#{@md.fnl[:post]}">#{linkname}</a></b>} + %{<b><a href="#{link}#{@md.lang_code_insert}#{Sfx[:html]}">#{linkname}</a></b>} end toc={} txt_obj={ txt: title } @@ -409,13 +409,13 @@ WOK linkname,ocn=dob.obj.strip,dob.ocn p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) if ocn if dob.ln ==4 - seg_link=%{ <a href="#{@md.fnl[:pre]}#{dob.name}#{@md.fnl[:mid]}#{Sfx[:html]}#{@md.fnl[:post]}" target="_top"> + seg_link=%{ <a href="#{dob.name}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top"> #{dob.obj} </a> } @@seg_url=dob.name elsif dob.obj =~/\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+/ seg_link=dob.obj.gsub(/^(\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+)(.*)/, - %{<a href="#{@md.fnl[:pre]}\\1#{@md.fnl[:mid]}#{Sfx[:html]}#{@md.fnl[:post]}" } + + %{<a href="\\1#{@md.lang_code_insert}#{Sfx[:html]}" } + %{target="_top">\\1 \\2</a> }) end p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) if ocn @@ -451,7 +451,7 @@ WOK if ocn \ and ocn !~/#/ p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) - lnk_n_txt=%{ <a href="#{@md.fnl[:pre]}#{@@seg_url}#{@md.fnl[:mid]}#{Sfx[:html]}#{@md.fnl[:post]}##{ocn}"> + lnk_n_txt=%{ <a href="#{@@seg_url}#{@md.lang_code_insert}#{Sfx[:html]}##{ocn}"> #{linkname} </a>} txt_obj={ txt: lnk_n_txt } @@ -472,7 +472,7 @@ WOK if ocn \ and ocn !~/#/ p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) - lnk_n_txt=%{ <a href="#{@md.fnl[:pre]}#{@@seg_url}#{@md.fnl[:mid]}#{Sfx[:html]}#{@md.fnl[:post]}##{ocn}"> + lnk_n_txt=%{ <a href="#{@@seg_url}#{@md.lang_code_insert}#{Sfx[:html]}##{ocn}"> #{linkname} </a>} txt_obj={ txt: lnk_n_txt } @@ -628,6 +628,7 @@ WOK end end rescue; SiSU_Errors::Info_error.new($!,$@,@md.opt.cmd,@md.fns).error + ensure; @filename_html_scroll.close end end def segtoc @@ -645,6 +646,18 @@ WOK end end rescue; SiSU_Errors::Info_error.new($!,$@,@md.opt.cmd,@md.fns).error + ensure + @filename_html_segtoc.close + @filename_html_index.close + ## only works properly for directory_structure_by language, fix + unless FileTest.file?("#{@file.output_path.html.dir}/index.html") + pwd_set=Dir.pwd + Dir.chdir(@file.output_path.html.dir) + system(" + ln -s #{@file.base_filename.html_segtoc} index.html + ") + Dir.chdir(pwd_set) + end end end end |