class SiSU_XML_Docbook_Book::Source::Scroll
Public Class Methods
new(data='',md='')
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 119 def initialize(data='',md='') @data,@md=data,md @trans=SiSU_XML_Munge::Trans.new(md) @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(md.opt) @env=@particulars.env @make ||=SiSU_Env::ProcessingSettings.new(md) end
Public Instance Methods
adjust_output(o,ocn,filename_docbook,splv)
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 239 def adjust_output(o,ocn,filename_docbook,splv) if o.obj =~/#{Xx[:split]}/ outs=o.obj.split(/#{Xx[:split]}/) outs.each do |out| if out =~/<figure id=/m out=out.gsub(/:spaces0:/m, %{#{spaces*(splv)}#{spaces}}). gsub(/:spaces1:/m, %{#{spaces*(splv)}#{spaces*2}}) filename_docbook.puts out filename_docbook.puts "#{spaces*3}#{ocn}" else unless out.empty? filename_docbook.puts SiSU_TextUtils::Wrap.new(out,80,(splv*2+2),nil).line_wrap filename_docbook.puts "#{spaces*3}#{ocn}" end end end else filename_docbook.puts SiSU_TextUtils::Wrap.new(o.obj,80,(splv*2+2),nil,ocn).line_wrap end end
code_output(o,ocn,filename_docbook)
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 236 def code_output(o,ocn,filename_docbook) filename_docbook.puts o.obj.gsub(/\n?(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\n?/m,"\n") end
collapsed()
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 165 def collapsed %w[ 0 1 2 3 4 5 ] end
docbook_tag(lc,chlv='')
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 168 def docbook_tag(lc,chlv='') case lc when 0 then 'book' when 1 then lc==chlv ? 'chapter' : 'section' when 2 then lc==chlv ? 'chapter' : 'section' when 3 then lc==chlv ? 'chapter' : 'section' when 4 then 'section' when 5 then 'section' when 6 then 'section' end end
document_images()
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 139 def document_images img_pth={ src: @md.opt.image_src_path, dest: @md.env.path.webserv + '/_sisu/image', } unless FileTest.directory?(img_pth[:dest]) #mkdir? end if FileTest.directory?(img_pth[:dest]) @md.ec[:image].each do |x| img={ src: "#{img_pth[:src]}/#{x}", dest: "#{img_pth[:dest]}/#{x}", } if FileTest.file?(img[:src]) FileUtils::cp(img[:src],img[:dest]) else p "Not Found: #{img[:src]}/#{x}" end end end end
head()
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 185 def head rdf=SiSU_XML_Tags::RDF.new(@md) stylesheet=SiSU_Style::CSS_HeadInfo.new(@md,'xml_docbook').stylesheet <<-WOK <?xml version="1.0" encoding="utf-8"?> #{stylesheet.css_head_xml} #{rdf.comment_xml} <book xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0"> WOK end
markup_text(data)
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 197 def markup_text(data) data.each_with_index do |o,i| if o.is ==:heading \ || o.is ==:para \ || o.of ==:block \ || o.is ==:open_close_tags o=@trans.markup_docbook(o) #unless o.obj==nil end end data end
output(o,comment='')
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 214 def output(o,comment='') puts o.lc == (0..6) \ ? "#{spaces*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
put(line)
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 181 def put(line) #@file_docbook.puts line #look into and use perhaps puts line if @md.opt.act[:verbose_plus][:set]==:on end
songsheet()
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 126 def songsheet @t='sisu' data=@data if @md.opt.act[:verbose_plus][:set]==:on structure_collapsed(data) end #head #extract_endnotes data=markup_text(data) structure_build_collapsed(data) document_images if @md.ec[:image] and @md.ec[:image].length > 0 #tail end
spaces()
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 160 def spaces Ax[:spaces] end
structure_build_collapsed(data)
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 261 def structure_build_collapsed(data) #output_file=@md.file.output_path.xml_docbook_book.dir + '/' + @md.file.base_filename.xml_docbook_book file=SiSU_Env::FileOp.new(@md) filename_docbook=file.write_file.xml_docbook_book h=0 @chlv=chlv=0 doc_position=:head filename_docbook.puts head filename_docbook.puts xml_head data.each_with_index do |o,i| if (defined? o.ocn and not o.ocn.nil?) ocn=(@make.build.ocn?) \ ? "<!-- o#{o.ocn} -->" : '' id=%{ id="o#{o.ocn}" } else ocn,id='','' end if (o.is ==:heading || o.is ==:heading_insert) chlv=(o.lv.to_i == 1) \ ? @chlv=o.lc.to_i : 0 @splv=o.lc tag_id=o.tags[0] ? %{ id="#{o.tags[0]}" } : '' if doc_position ==:head filename_docbook.puts %{#{spaces*o.lc}<title#{id}>} doc_position=:body_and_tail else filename_docbook.puts structure_build_tag_close(o.lc,h) filename_docbook.puts %{#{spaces*(o.lc)}<#{tags.docbook_tag(o.lc,chlv)}#{tag_id}> #{spaces*o.lc}<title#{id}> } end adjust_output(o,ocn,filename_docbook,@splv) filename_docbook.puts %{#{spaces*o.lc}</title>} h=o.lc elsif o.of ==:layout \ and o.is ==:open_close_tags xml_tag=case o.sym when :quote_open then '<blockquote>' when :quote_close then '</blockquote>' else '' end unless xml_tag.empty? filename_docbook.puts "#{spaces*(@splv)}#{xml_tag}" end elsif o.of ==:block if o.is ==:table filename_docbook.puts SiSU_Tables::TableXMLdocbook.new(o,id).table.obj elsif o.is ==:code filename_docbook.puts "#{spaces*(@splv)}<para#{id}>" filename_docbook.puts "#{spaces*(@splv+1)}<programlisting>" code_output(o,ocn,filename_docbook) filename_docbook.puts "#{spaces*(@splv+1)}</programlisting>" filename_docbook.puts "#{spaces*(@splv)}</para>" else filename_docbook.puts "#{spaces*(@splv)}<para#{id}>" adjust_output(o,ocn,filename_docbook,@splv) filename_docbook.puts "#{spaces*(@splv)}</para>" end elsif o.of ==:para filename_docbook.puts "#{spaces*(@splv)}<para#{id}>" adjust_output(o,ocn,filename_docbook,@splv) filename_docbook.puts "#{spaces*(@splv)}</para>" end end filename_docbook.puts structure_build_tag_close(0,h) filename_docbook.close end
structure_build_tag_close(lc,h)
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 330 def structure_build_tag_close(lc,h) x=[] case h when 0 x << "#{spaces*0}</#{tags.docbook_tag(0)}>" if (lc <= 0) when 1 x << "#{spaces*1}</#{tags.docbook_tag(1,@chlv)}>" if (lc <= 1) x << "#{spaces*0}</#{tags.docbook_tag(0)}>" if (lc <= 0) when 2 x << "#{spaces*2}</#{tags.docbook_tag(2,@chlv)}>" if (lc <= 2) x << "#{spaces*1}</#{tags.docbook_tag(1,@chlv)}>" if (lc <= 1) x << "#{spaces*0}</#{tags.docbook_tag(0)}>" if (lc <= 0) when 3 x << "#{spaces*3}</#{tags.docbook_tag(3,@chlv)}>" if (lc <= 3) x << "#{spaces*2}</#{tags.docbook_tag(2,@chlv)}>" if (lc <= 2) x << "#{spaces*1}</#{tags.docbook_tag(1,@chlv)}>" if (lc <= 1) x << "#{spaces*0}</#{tags.docbook_tag(0)}>" if (lc <= 0) when 4 x << "#{spaces*4}</#{tags.docbook_tag(4,@chlv)}>" if (lc <= 4) x << "#{spaces*3}</#{tags.docbook_tag(3,@chlv)}>" if (lc <= 3) x << "#{spaces*2}</#{tags.docbook_tag(2,@chlv)}>" if (lc <= 2) x << "#{spaces*1}</#{tags.docbook_tag(1,@chlv)}>" if (lc <= 1) x << "#{spaces*0}</#{tags.docbook_tag(0)}>" if (lc <= 0) when 5 x << "#{spaces*5}</#{tags.docbook_tag(5)}>" if (lc <= 5) x << "#{spaces*4}</#{tags.docbook_tag(4,@chlv)}>" if (lc <= 4) x << "#{spaces*5}</#{tags.docbook_tag(3,@chlv)}>" if (lc <= 3) x << "#{spaces*2}</#{tags.docbook_tag(2,@chlv)}>" if (lc <= 2) x << "#{spaces*1}</#{tags.docbook_tag(1,@chlv)}>" if (lc <= 1) x << "#{spaces*0}</#{tags.docbook_tag(0)}>" if (lc <= 0) when 6 x << "#{spaces*6}</#{tags.docbook_tag(6)}>" if (lc <= 6) x << "#{spaces*5}</#{tags.docbook_tag(5)}>" if (lc <= 5) x << "#{spaces*4}</#{tags.docbook_tag(4,@chlv)}>" if (lc <= 4) x << "#{spaces*3}</#{tags.docbook_tag(3,@chlv)}>" if (lc <= 3) x << "#{spaces*2}</#{tags.docbook_tag(2,@chlv)}>" if (lc <= 2) x << "#{spaces*1}</#{tags.docbook_tag(1,@chlv)}>" if (lc <= 1) x << "#{spaces*0}</#{tags.docbook_tag(0)}>" if (lc <= 0) end x.join("\n") end
structure_collapsed(data)
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 219 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) end end end
tail()
click to toggle source
# File lib/sisu/xml_docbook5.rb, line 208 def tail tail=<<-WOK </book> WOK put(tail) end
xml_head()
click to toggle source
def chapterlevel end
# File lib/sisu/xml_docbook5.rb, line 229 def xml_head [ '<docinfo>', SiSU_Metadata::Summary.new(@md).xml_docbook.metadata, '</docinfo>' ].flatten end