aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v5/xml_fictionbook2.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v5/xml_fictionbook2.rb')
-rw-r--r--lib/sisu/v5/xml_fictionbook2.rb70
1 files changed, 33 insertions, 37 deletions
diff --git a/lib/sisu/v5/xml_fictionbook2.rb b/lib/sisu/v5/xml_fictionbook2.rb
index 63167032..aeb74ef3 100644
--- a/lib/sisu/v5/xml_fictionbook2.rb
+++ b/lib/sisu/v5/xml_fictionbook2.rb
@@ -271,16 +271,16 @@ module SiSU_XML_Fictionbook
</FictionBook>
WOK
end
- def output(o,lev=nil,comment='')
- puts lev == 0..6 \
- ? "#{space*lev}<#{lev}>[#{o.ocn}] #{o.ln} #{o.obj}</#{lev}>#{comment}"
- : "<#{lev}>[#{o.ocn}] #{o.ln} #{o.obj}</#{lev}>#{comment}"
+ def output(o,comment='')
+ puts o.lc == 0..6 \
+ ? "#{space*o.lc}<#{o.lc}>[#{o.ocn}] #{o.ln} #{o.obj}</#{o.lc}>#{comment}"
+ : "<#{o.lc}>[#{o.ocn}] #{o.ln} #{o.obj}</#{o.lc}>#{comment}"
end
def structure_collapsed(data)
puts "\ncollapsed structure, heading outline --->\n\n"
data.each_with_index do |o,i|
if (o.is ==:heading || o.is ==:heading_insert)
- output(o,o.lc)
+ output(o)
end
end
end
@@ -301,20 +301,16 @@ module SiSU_XML_Fictionbook
data.each_with_index do |o,i|
ocn=(defined? o.ocn and not o.ocn.nil?) ? "\n#{Dx[:ocn_o]}#{o.ocn}#{Dx[:ocn_c]}" : ''
if o.is ==:heading
- lev=o.lc
- chlv=(o.lv.to_i == 1) \
- ? @chlv=o.lc.to_i
- : 0
unless doc_position==:head
- filename_fictionbook.puts structure_build_tag_close(lev,h)
+ filename_fictionbook.puts structure_build_tag_close(o.lc,h)
end
doc_position=:body_and_tail
- filename_fictionbook.puts %{#{space*lev}<#{tags.fictionbook[lev]}>
-#{space*lev}<title>
+ filename_fictionbook.puts %{#{space*o.lc}<#{tags.fictionbook[o.lc]}>
+#{space*o.lc}<title>
}
- filename_fictionbook.puts SiSU_TextUtils::Wrap.new("<p>#{o.obj}#{ocn}</p>",80,(lev*2+2)).line_wrap
- filename_fictionbook.puts %{#{space*lev}</title>}
- h=lev
+ filename_fictionbook.puts SiSU_TextUtils::Wrap.new("<p>#{o.obj}#{ocn}</p>",80,(o.lc*2+2)).line_wrap
+ filename_fictionbook.puts %{#{space*o.lc}</title>}
+ h=o.lc
elsif o.is ==:heading_insert \
and o.obj =~/Endnotes/ \
and o.ln == 2
@@ -328,36 +324,36 @@ module SiSU_XML_Fictionbook
filename_fictionbook.puts tail(images_base64)
filename_fictionbook.close
end
- def structure_build_tag_close(lev,h)
+ def structure_build_tag_close(lc,h)
x=[]
case h
when 1
- x << "#{space*1}</#{tags.fictionbook[1]}>" if (lev <= 1)
+ x << "#{space*1}</#{tags.fictionbook[1]}>" if (lc <= 1)
when 2
- x << "#{space*2}</#{tags.fictionbook[2]}>" if (lev <= 2)
- x << "#{space*1}</#{tags.fictionbook[1]}>" if (lev <= 1)
+ x << "#{space*2}</#{tags.fictionbook[2]}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.fictionbook[1]}>" if (lc <= 1)
when 3
- x << "#{space*3}</#{tags.fictionbook[3]}>" if (lev <= 3)
- x << "#{space*2}</#{tags.fictionbook[2]}>" if (lev <= 2)
- x << "#{space*1}</#{tags.fictionbook[1]}>" if (lev <= 1)
+ x << "#{space*3}</#{tags.fictionbook[3]}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.fictionbook[2]}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.fictionbook[1]}>" if (lc <= 1)
when 4
- x << "#{space*4}</#{tags.fictionbook[4]}>" if (lev <= 4)
- x << "#{space*3}</#{tags.fictionbook[3]}>" if (lev <= 3)
- x << "#{space*2}</#{tags.fictionbook[2]}>" if (lev <= 2)
- x << "#{space*1}</#{tags.fictionbook[1]}>" if (lev <= 1)
+ x << "#{space*4}</#{tags.fictionbook[4]}>" if (lc <= 4)
+ x << "#{space*3}</#{tags.fictionbook[3]}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.fictionbook[2]}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.fictionbook[1]}>" if (lc <= 1)
when 5
- x << "#{space*5}</#{tags.fictionbook[5]}>" if (lev <= 5)
- x << "#{space*4}</#{tags.fictionbook[4]}>" if (lev <= 4)
- x << "#{space*3}</#{tags.fictionbook[3]}>" if (lev <= 3)
- x << "#{space*2}</#{tags.fictionbook[2]}>" if (lev <= 2)
- x << "#{space*1}</#{tags.fictionbook[1]}>" if (lev <= 1)
+ x << "#{space*5}</#{tags.fictionbook[5]}>" if (lc <= 5)
+ x << "#{space*4}</#{tags.fictionbook[4]}>" if (lc <= 4)
+ x << "#{space*3}</#{tags.fictionbook[3]}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.fictionbook[2]}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.fictionbook[1]}>" if (lc <= 1)
when 6
- x << "#{space*6}</#{tags.fictionbook[6]}>" if (lev <= 6)
- x << "#{space*5}</#{tags.fictionbook[5]}>" if (lev <= 5)
- x << "#{space*4}</#{tags.fictionbook[4]}>" if (lev <= 4)
- x << "#{space*3}</#{tags.fictionbook[3]}>" if (lev <= 3)
- x << "#{space*2}</#{tags.fictionbook[2]}>" if (lev <= 2)
- x << "#{space*1}</#{tags.fictionbook[1]}>" if (lev <= 1)
+ x << "#{space*6}</#{tags.fictionbook[6]}>" if (lc <= 6)
+ x << "#{space*5}</#{tags.fictionbook[5]}>" if (lc <= 5)
+ x << "#{space*4}</#{tags.fictionbook[4]}>" if (lc <= 4)
+ x << "#{space*3}</#{tags.fictionbook[3]}>" if (lc <= 3)
+ x << "#{space*2}</#{tags.fictionbook[2]}>" if (lc <= 2)
+ x << "#{space*1}</#{tags.fictionbook[1]}>" if (lc <= 1)
end
x.join("\n")
end