class SiSU_Manifest::Source::Output
Public Class Methods
new(md)
click to toggle source
# File lib/sisu/html_manifest.rb, line 122 def initialize(md) @manifest={ txt: [], html: [] } @md,@fns=md,md.fns @env=SiSU_Env::InfoEnv.new(md.fns) @f=SiSU_Env::FileOp.new(md) @fnb=md.fnb @base_url="#{@env.url.root}/#{@fnb}" @o_str=SiSU_Env::FileOp.new(md).output_dir_structure @image_path=(@o_str.dump_or_redirect?) \ ? './image' : %{#{@f.path_rel_links.html_scroll_2}_sisu/image_sys} @base_path=@f.output_path.manifest.dir @@dg ||=SiSU_Env::InfoEnv.new(md.fns,md).digest(md.opt).type @dg=@@dg l=SiSU_Env::StandardiseLanguage.new(md.opt.lng).language @language=l[:n] @translate=SiSU_Translate::Source.new(md,@language) @stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet @fn_lng=(@f.output_dir_structure.by_language_code?) \ ? '' : ('.' + md.opt.lng) end
Public Instance Methods
check_output(data)
click to toggle source
# File lib/sisu/html_manifest.rb, line 886 def check_output(data) begin make=SiSU_Env::ProcessingSettings.new(@md) minitoc=SiSU_HTML_MiniToc::TocMini.new(@md,data).songsheet.join("\n") format_head_toc=SiSU_HTML_Format::HeadToc.new(@md) @manifest[:html] <<<<WOK <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> SiSU manifest: #{@md.title.full} </title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="sourcefile" content="#{@md.fns}" /> <link rel="generator" href="http://www.jus.uio.no/sisu" /> <link rel="shortcut icon" href="#{@f.path_rel_links.html_scroll_css}_sisu/image_sys/rb7.ico" /> #{@stylesheet.css_head} </head> <body lang="#{@md.opt.lng}"> #{format_head_toc.seg_head_navigation_band(:manifest)} WOK if make.build.manifest_minitoc? if @o_str.dump_or_redirect? elsif @f.output_dir_structure.by_language_code? \ or @f.output_dir_structure.by_filetype? minitoc=minitoc.gsub(/<a href="(\S+?)"/m,%{<a href="../html/#{@md.fnb}/\\1"}). gsub(/<a href="\.\.\/html\/#{@md.fnb}\/(?:sisu_manifest\.html|#{@f.base_filename.manifest})"/m, %{<a href="#{@f.base_filename.manifest}"}) end @manifest[:html] <<<<WOK <div class="toc"> #{minitoc.to_s} </div> <div class="content"> WOK else @manifest[:html] <<<<WOK <div> WOK end if @o_str.dump_or_redirect? elsif @f.output_dir_structure.by_language_code? \ or @f.output_dir_structure.by_filetype? pth_local=@f.output_path.manifest.dir pth_rel='.' else pth_local=@f.output_path.base.dir pth_rel='..' end pth_rel_home=if @env.output_dir_structure.by? == :language '../..' elsif @env.output_dir_structure.by? == :filetype '..' elsif @env.output_dir_structure.by? == :filename '..' else '..' end output_organised_by="(output organised by #{@env.output_dir_structure.by?})" harvest=(FileTest.file?("#{pth_local}/authors#{@fn_lng}.html") \ && FileTest.file?("#{pth_local}/topics#{@fn_lng}.html")) \ ? %{<p class="small"><a href="#{pth_rel_home}/index.html">.:</a> other document manifests: [<a href="#{pth_rel}/authors#{@fn_lng}.html">authors</a>] [<a href="#{pth_rel}/topics#{@fn_lng}.html">topics</a>] #{output_organised_by}</p>} : %{<p class="small"><a href="#{pth_rel_home}">#{output_organised_by}</a></p>} manifest_title=%{<p class="bold">#{@translate.manifest_description}</p>#{harvest}} @manifest[:html] <<<<WOK <div id="horizontal_links"> #{manifest_title} </div> <h1 class="small">#{@md.title.full}</h1> <p class="bold">#{@md.author}</p> <div id="horizontal_links"><p class="bold"> <p class="small"> <a href="#output">Document, Available Filetypes</a> </p> <p class="small"> <a href="#metadata">Document Metadata</a> </p> <p class="tiny"> <a href="#links">metadata suggested links (if any)</a> </p> </div> <table summary="normal text css" width="100%" border="0" cellpadding="2" align="center"> WOK published_versions @manifest[:html] << '</table>' @manifest[:html] <<<<WOK <h2 class="small"><a name="output">#{@translate.manifest_description_output}</a></h2> <table summary="available output/filetypes" width="100%" border="0" cellpadding="2" align="center"> <tr> <th class="left"><p class="bold">#{@translate.filetype_description}</p></th><th class="left"><p class="bold">#{@translate.filename}</p></th><th class="right"><p class="right"><b>#{@translate.file_size}</b></p><p class="tiny_right">(kB)</p></th></tr> WOK output_tests @manifest[:html] << '</table>' @manifest[:html] <<<<WOK <table summary="normal text css" width="100%" border="0" cellpadding="2" align="center"> WOK source_tests @manifest[:html] << '</table>' @manifest[:html] <<<<WOK <h2 class="small"><a name="metadata">#{@translate.manifest_description_metadata}</a></h2> <table summary="document metadata" width="100%" border="0" cellpadding="2" align="center"> <tr> <th class="left"><p class="bold" id="metadata">#{@translate.metadata}</p></th><th class="left"><p class="bold">#{@translate.description}</p></th></tr> WOK metadata_tests @manifest[:html] <<<<WOK </table> WOK @manifest[:html] <<<<WOK <p class="bold"><a name="links">#{@translate.suggested_links}:</a></p> <table summary="suggested links" width="100%" border="0" cellpadding="2" align="center"> WOK links_tests @manifest[:html] <<<<WOK </table> WOK @manifest[:html] <<<<WOK <h2 class="small"><a name="languages">#{@translate.language_version_list}</a></h2> <table summary="language versions" width="100%" border="0" cellpadding="2" align="center"> <tr> <th class="left"><p class="bold">#{@translate.filename}</p></th><th class="left"><p class="bold">#{@translate.description}</p></th><th class="right"><p class="right"> </p></th></tr> WOK language_versions qrc_image @manifest[:html] <<<<WOK </table> </div> <div> <br> #{SiSU_Proj_HTML::Bits.new.credits_sisu_manifest} </div> </body> </html> WOK output rescue SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do __LINE__.to_s + ':' + __FILE__ end ensure end end
language_versions()
click to toggle source
# File lib/sisu/html_manifest.rb, line 547 def language_versions if FileTest.file?(@f.place_file.manifest.dir)==true desc='Markup (SiSU source)' published_languages(desc) end end
languages(desc,file)
click to toggle source
# File lib/sisu/html_manifest.rb, line 247 def languages(desc,file) @manifest[:html] << %{<tr><th class="left"><div id="horizontal_links"><ul id="horizontal">\n} published_manifests?.each do |l| SiSU_Translate::Source.new(@md,@language,l[:n]).language_list @manifest[:txt] << "#{l[:mu]} #{l[:l]}\n" @manifest[:html] << %{<li class="norm"><a href="#{l[:rel]}">#{l[:l]}</a> </li>} end @manifest[:html] << %{</ul></div></th></tr>\n} end
links(url,lnk,target)
click to toggle source
# File lib/sisu/html_manifest.rb, line 266 def links(url,lnk,target) static=if url =~/^\.\// then url.gsub(/^\.(\.)?/,@base_url) elsif url =~/^\.\.\// then url.gsub(/^\.(\.)?/,@env.url.root) else url end @manifest[:html] << %{<tr><th class="right" width=5%><p class="norm">●</p></th><td class="left"><p class="norm"><a href="#{url}">#{lnk}</a></p><p class="tiny"> #{the_url_decoration.xml_open}<a href="#{static}">#{static}</a>#{the_url_decoration.xml_close}</p></td></tr>\n} end
links_tests()
click to toggle source
# File lib/sisu/html_manifest.rb, line 869 def links_tests if defined? @md.lnk \ and @md.lnk @md.lnk.each do |l| if defined? l[:say] target=(l[:url] !~/^\.(\.)?\//) \ ? 'external' : '_top' url,lnk=l[:url],l[:say] unless url.nil? \ or url.empty? links(url,lnk,target) end end end end end
metadata(desc,id,info)
click to toggle source
# File lib/sisu/html_manifest.rb, line 262 def metadata(desc,id,info) info=info.to_s.gsub(/(?:#{Mx[:br_line]}|\\)+/,'<br>') @manifest[:html] << %{<tr><th class="left"><p class="bold_left" id="#{id}">#{desc}:</p></th><td><p class="left">#{info}</p></td></tr>\n} end
metadata_tests()
click to toggle source
# File lib/sisu/html_manifest.rb, line 617 def metadata_tests if defined? @md.title #% if defined? @md.title.full \ and @md.title.full=~/\S+/ desc,id,info=@translate.full_title,'title',@md.title.full metadata(desc,id,info) end end if defined? @md.creator #% if defined? @md.creator.author \ and @md.creator.author=~/\S+/ desc,id,info=@translate.author,'author',@md.creator.author metadata(desc,id,info) end if defined? @md.creator.editor \ and @md.creator.editor=~/\S+/ desc,id,info=@translate.editor,'editor',@md.creator.editor metadata(desc,id,info) end if defined? @md.creator.contributor \ and @md.creator.contributor=~/\S+/ desc,id,info=@translate.contributor,'contributor',@md.creator.contributor metadata(desc,id,info) end if defined? @md.creator.translator \ and @md.creator.translator=~/\S+/ desc,id,info=@translate.translator,'creator',@md.creator.translator metadata(desc,id,info) end if defined? @md.creator.illustrator \ and @md.creator.illustrator=~/\S+/ desc,id,info=@translate.illustrator,'illustrator',@md.creator.illustrator metadata(desc,id,info) end if defined? @md.creator.prepared_by \ and @md.creator.prepared_by=~/\S+/ desc,id,info=@translate.prepared_by,'prepared_by',@md.creator.prepared_by metadata(desc,id,info) end if defined? @md.creator.digitized_by \ and @md.creator.digitized_by=~/\S+/ desc,id,info=@translate.digitized_by,'designed_by',@md.creator.digitized_by metadata(desc,id,info) end end if defined? @md.rights if defined? @md.rights.all \ and @md.rights.all=~/\S+/ #dc desc,id,info=@translate.rights,'rights',@md.rights.all metadata(desc,id,info) end end if defined? @md.date #% if defined? @md.date.published \ and @md.date.published=~/\S+/ #dc desc,id,info=@translate.date,'date',@md.date.published metadata(desc,id,info) end if defined? @md.date.created \ and @md.date.created=~/\S+/ #dc desc,id,info=@translate.date_created,'date_created',@md.date.created metadata(desc,id,info) end if defined? @md.date.issued \ and @md.date.issued=~/\S+/ #dc desc,id,info=@translate.date_issued,'date_issued',@md.date.issued metadata(desc,id,info) end if defined? @md.date.available \ and @md.date.available=~/\S+/ #dc desc,id,info=@translate.date_available,'date_available',@md.date.available metadata(desc,id,info) end if defined? @md.date.modified \ and @md.date.modified=~/\S+/ #dc desc,id,info=@translate.date_modified,'date_modified',@md.date.modified metadata(desc,id,info) end if defined? @md.date.valid \ and @md.date.valid=~/\S+/ #dc desc,id,info=@translate.date_valid,'date_valid',@md.date.valid metadata(desc,id,info) end end if defined? @md.publisher \ and @md.publisher=~/\S+/ #dc desc,id,info=@translate.publisher,'publisher',@md.publisher metadata(desc,id,info) end if defined? @md.notes #% if defined? @md.notes.description \ and @md.notes.description=~/\S+/ desc,id,info=@translate.description,'description',@md.notes.description metadata(desc,id,info) end if defined? @md.notes.abstract \ and @md.notes.abstract=~/\S+/ desc,id,info=@translate.abstract,'abstract',@md.notes.abstract metadata(desc,id,info) end if defined? @md.notes.comment \ and @md.notes.comment=~/\S+/ desc,id,info=@translate.comments,'comment',@md.notes.comment metadata(desc,id,info) end if defined? @md.notes.prefix_a \ and @md.notes.prefix_a=~/\S+/ desc,id,info=@translate.prefix_a,'prefix',@md.notes.prefix_a metadata(desc,id,info) end if defined? @md.notes.prefix_b \ and @md.notes.prefix_b=~/\S+/ desc,id,info=@translate.prefix_b,'prefix_b',@md.notes.prefix_b metadata(desc,id,info) end end if defined? @md.title #% if defined? @md.title.language \ and @md.title.language=~/\S+/ desc,id,info=@translate.language,'language',@md.title.language metadata(desc,id,info) end if defined? @md.original.language \ and @md.original.language=~/\S+/ desc,id,info=@translate.language_original,'language_original',@md.original.language metadata(desc,id,info) end end if defined? @md.classify #% if defined? @md.topic_register_array \ and @md.topic_register_array.length > 0 @manifest[:html] << %{<tr><th class="left"><p class="bold_left" id="topics">#{@translate.topic_register}:</p></th><td>\n} @md.topic_register_array.each do |t| t.each_with_index do |st,i| if st.is_a?(Array) st.each do |v| if v.is_a?(Array) v.each do |w| @manifest[:html] << %{<p class="it#{i}">#{w}</p>\n} end else @manifest[:html] << %{<p class="it#{i}">#{v}</p>\n} end end else @manifest[:html] << %{<p class="it#{i}">#{st}</p>\n} end end end @manifest[:html] << %{</td></tr>\n} end if defined? @md.classify.subject \ and @md.classify.subject=~/\S+/ desc,id,info=@translate.subject,'subject',@md.classify.subject metadata(desc,id,info) end if defined? @md.classify.keywords \ and @md.classify.keywords=~/\S+/ desc,id,info=@translate.keywords,'keywords',@md.classify.keywords metadata(desc,id,info) end if defined? @md.classify.loc \ and @md.classify.loc=~/\S+/ desc,id,info=@translate.cls_loc,'loc',@md.classify.loc metadata(desc,id,info) end if defined? @md.classify.dewey \ and @md.classify.dewey=~/\S+/ desc,id,info=@translate.cls_dewey,'dewey',@md.classify.dewey metadata(desc,id,info) end if defined? @md.notes.coverage \ and @md.notes.coverage=~/\S+/ desc,id,info=@translate.coverage,'coverage',@md.notes.coverage metadata(desc,id,info) end if defined? @md.notes.relation \ and @md.notes.relation=~/\S+/ desc,id,info=@translate.relation,'relation',@md.notes.relation metadata(desc,id,info) end if defined? @md.notes.type \ and @md.notes.type=~/\S+/ #dc desc,id,info=@translate.type,'type',@md.notes.type metadata(desc,id,info) end if defined? @md.notes.format \ and @md.notes.format=~/\S+/ desc,id,info=@transate.format,'format',@md.notes.format metadata(desc,id,info) end end if defined? @md.identifier #% if defined? @md.identifier.oclc \ and @md.identifier.oclc=~/\S+/ desc,id,info=@translate.cls_oclc,'',@md.identifier.oclc @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{desc}:</p></th><td>\n} @manifest[:html] << %{<p class="left"><a href="http://worldcat.org/oclc/#{info}">#{info}</a></p>\n} @manifest[:html] << %{</td></tr>\n} end if defined? @md.identifier.pg \ and @md.identifier.pg=~/\S+/ desc,id,info=@translate.cls_gutenberg,'ocalc',@md.identifier.pg metadata(desc,id,info) end if defined? @md.identifier.isbn \ and @md.identifier.isbn=~/\S+/ desc,id,info=@translate.cls_isbn,'isbn',@md.identifier.isbn metadata(desc,id,info) end end if defined? @md.original.source \ and @md.original.source=~/\S+/ desc,id,info=@translate.source,'source_original',@md.original.source metadata(desc,id,info) end if @md.fns desc,id,info=@translate.sourcefile,'source_filename',@md.fns metadata(desc,id,info) end if @md.en[:mismatch] > 0 desc,id,info='WARNING document error in endnote markup, number mismatch','',"endnotes: #{@md.en[:note]} != endnote reference marks: #{@md.en[:mark]} (difference = #{@md.en[:mismatch]})" metadata(desc,id,info) end if @md.wc_words desc,id,info=@translate.word_count,'wordcount',@md.wc_words metadata(desc,id,info) end if @md.dgst desc,id,info="#{@translate.sourcefile_digest} (#{@dg})",'digests',@md.dgst[1] metadata(desc,id,info) end if @md.sc_number desc,id,info=@translate.sc_number,'sc_number',@md.sc_number metadata(desc,id,info) end if @md.sc_date desc,id,info=@translate.sc_date,'sc_date',"#{@md.sc_date} at #{@md.sc_time}" metadata(desc,id,info) end if @md.generated desc,id,info=@translate.last_generated,'generated',@md.generated metadata(desc,id,info) end if @md.project_details desc,id,info=@translate.sisu_version,'project',"#{@md.project_details.project} #{@md.project_details.version} #{@md.project_details.date_stamp} (#{@md.project_details.date})#{@md.project_details.install_method}" metadata(desc,id,info) end if @md.ruby_version desc,id,info=@translate.ruby_version,'ruby',@md.ruby_version metadata(desc,id,info) end end
output()
click to toggle source
# File lib/sisu/html_manifest.rb, line 144 def output manifest=@f.write_file.manifest @manifest[:html].each do |x| x=x.gsub(Xx[:html_relative2],@f.path_rel_links.html_scroll_2). gsub(Xx[:html_relative1],@f.path_rel_links.html_scroll_1) manifest << x end end
output_tests()
click to toggle source
# File lib/sisu/html_manifest.rb, line 273 def output_tests if FileTest.file?(@f.place_file.html_segtoc.dir)==true img=%{<img border="0" height="18" width="15" src="#{@image_path}/b_toc.png" alt="TOC linked" /> } pth=@f.output_path.html_seg.dir rel=@f.output_path.html_seg.rel_sm url=@f.output_path.html_seg.url desc,id,file='HTML, table of contents (for segmented text)','html',@f.base_filename.html_segtoc summarize_html_seg(desc,id,file,pth,rel,url,img) end if FileTest.file?(@f.place_file.html_scroll.dir)==true img=%{<img border="0" height="15" width="15" src="#{@image_path}/b_doc.png" alt="Full Text" /> } pth=@f.output_path.html_scroll.dir rel=@f.output_path.html_scroll.rel_sm url=@f.output_path.html_scroll.url desc,id,file='HTML, full length document','html_scroll',@f.base_filename.html_scroll summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?(@f.place_file.html_book_index.dir)==true pth=@f.output_path.html_seg.dir rel=@f.output_path.html_seg.rel_sm url=@f.output_path.html_seg.url desc,id,file='HTML, (book type) index','html_book',@f.base_filename.html_book_index summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.html_concordance.dir)==true pth=@f.output_path.html_seg.dir rel=@f.output_path.html_seg.rel_sm url=@f.output_path.html_seg.url desc,id,file='HTML, concordance file','concordance',@f.base_filename.html_concordance summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.epub.dir)==true img=%{<img border="0" height="18" width="18" src="#{@image_path}/b_epub.png" alt="EPUB" /> } desc,id,file='EPUB (Electronic Publication, e-book standard)','epub',@f.base_filename.epub pth=@f.output_path.epub.dir rel=@f.output_path.epub.rel_sm url=@f.output_path.epub.url summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_p_letter}")==true img=%{<img border="0" height="18" width="15" src="#{@image_path}/b_pdf.png" alt="PDF portrait" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, U.S. letter size, portrait/vertical document (recommended for printing)",'pdf_letter',"#{@f.base_filename.pdf_p_letter}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_l_letter}")==true img=%{<img border="0" height="15" width="18" src="#{@image_path}/b_pdf.png" alt="PDF landscape" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, U.S. letter size, landscape/horizontal document (recommended for screen viewing)",'pdf_letter_landscape',"#{@f.base_filename.pdf_l_letter}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_p_a4}")==true img=%{<img border="0" height="18" width="15" src="#{@image_path}/b_pdf.png" alt="PDF portrait" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, A4 size, portrait/vertical document (recommended for printing)",'pdf_a4',"#{@f.base_filename.pdf_p_a4}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_l_a4}")==true img=%{<img border="0" height="15" width="18" src="#{@image_path}/b_pdf.png" alt="PDF landscape" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, A4 size, landscape/horizontal document (recommended for screen viewing)",'pdf_a4_landscape',"#{@f.base_filename.pdf_l_a4}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_p_a5}")==true img=%{<img border="0" height="18" width="15" src="#{@image_path}/b_pdf.png" alt="PDF portrait" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, A5 (book) size, portrait/vertical document (recommended for printing)",'pdf_a5',"#{@f.base_filename.pdf_p_a5}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_l_a5}")==true img=%{<img border="0" height="15" width="18" src="#{@image_path}/b_pdf.png" alt="PDF landscape" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, A5 (book) size, landscape/horizontal document (recommended for screen viewing)",'pdf_a5_landscape',"#{@f.base_filename.pdf_l_a5}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_p_b5}")==true img=%{<img border="0" height="18" width="15" src="#{@image_path}/b_pdf.png" alt="PDF portrait" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, B5 (book) size, portrait/vertical document (recommended for printing)",'pdf_b5',"#{@f.base_filename.pdf_p_b5}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_l_b5}")==true img=%{<img border="0" height="15" width="18" src="#{@image_path}/b_pdf.png" alt="PDF landscape" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, B5 (book) size, landscape/horizontal document (recommended for screen viewing)",'pdf_a5_landscape',"#{@f.base_filename.pdf_l_b5}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_p_legal}")==true img=%{<img border="0" height="18" width="15" src="#{@image_path}/b_pdf.png" alt="PDF portrait" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, U.S. legal size, portrait/vertical document (recommended for printing)",'pdf_legal',"#{@f.base_filename.pdf_p_legal}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?("#{@f.output_path.pdf.dir}/#{@f.base_filename.pdf_l_legal}")==true img=%{<img border="0" height="15" width="18" src="#{@image_path}/b_pdf.png" alt="PDF landscape" /> } pth=@f.output_path.pdf.dir rel=@f.output_path.pdf.rel_sm url=@f.output_path.pdf.url desc,id,file="PDF, U.S. legal size, landscape/horizontal document (recommended for screen viewing)",'pdf_legal_landscape',"#{@f.base_filename.pdf_l_legal}" summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?(@f.place_file.odt.dir)==true img=%{<img border="0" height="18" width="18" src="#{@image_path}/b_odf.png" alt="ODF/ODT" /> } pth=@f.output_path.odt.dir rel=@f.output_path.odt.rel_sm url=@f.output_path.odt.url desc,id,file='ODF:ODT (Open Document Format)','odt',@f.base_filename.odt summarize(desc,id,file,pth,rel,url,img) end if FileTest.file?(@f.place_file.xhtml.dir)==true pth=@f.output_path.xhtml.dir rel=@f.output_path.xhtml.rel_sm url=@f.output_path.xhtml.url desc,id,file='XHTML','xhtml',@f.base_filename.xhtml summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.xml_sax.dir)==true pth=@f.output_path.xml_sax.dir rel=@f.output_path.xml_sax.rel_sm url=@f.output_path.xml_sax.url desc,id,file='XML SAX','xml_sax',@f.base_filename.xml_sax summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.xml_dom.dir)==true pth=@f.output_path.xml_dom.dir rel=@f.output_path.xml_dom.rel_sm url=@f.output_path.xml_dom.url desc,id,file='XML DOM','xml_dom',@f.base_filename.xml_dom summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.xml_docbook_article.dir)==true pth=@f.output_path.xml_docbook_article.dir rel=@f.output_path.xml_docbook_article.rel_sm url=@f.output_path.xml_docbook_article.url desc,id,file='XML Docbook Article','docbook_article',@f.base_filename.xml_docbook_article summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.xml_docbook_book.dir)==true pth=@f.output_path.xml_docbook_book.dir rel=@f.output_path.xml_docbook_book.rel_sm url=@f.output_path.xml_docbook_book.url desc,id,file='XML Docbook Book','docbook',@f.base_filename.xml_docbook_book summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.xml_fictionbook.dir)==true pth=@f.output_path.xml_fictionbook.dir rel=@f.output_path.xml_fictionbook.rel_sm url=@f.output_path.xml_fictionbook.url desc,id,file='XML Fictionbook','fictionbook',@f.base_filename.xml_fictionbook summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.xml_scaffold_structure_sisu.dir)==true pth=@f.output_path.xml_scaffold_structure_sisu.dir rel=@f.output_path.xml_scaffold_structure_sisu.rel_sm url=@f.output_path.xml_scaffold_structure_sisu.url desc,id,file='XML Scaffold sisu structure','xml_scaffold',@f.base_filename.xml_scaffold_structure_sisu summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.xml_scaffold_structure_collapse.dir)==true pth=@f.output_path.xml_scaffold_structure_collapse.dir rel=@f.output_path.xml_scaffold_structure_collapse.rel_sm url=@f.output_path.xml_scaffold_structure_collapse.url desc,id,file='XML Scaffold collapsed structure','xml_collapsed',@f.base_filename.xml_scaffold_structure_collapse summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.info.dir)==true pth=@f.output_path.texinfo.dir rel=@f.output_path.texinfo.rel_sm url=@f.output_path.texinfo.url desc,id,file='Info file','info',@f.base_filename.info summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.manpage.dir)==true pth=@f.output_path.manpage.dir rel=@f.output_path.manpage.rel_sm url=@f.output_path.manpage.url desc,id,file='Manpage','manpage',@f.base_filename.manpage summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.sqlite_discrete.dir)==true desc,id,file='SQLite3 file','sqlite',@f.base_filename.sqlite_discrete pth=@f.output_path.sqlite_discrete.dir rel=@f.output_path.sqlite_discrete.rel_sm url=@f.output_path.sqlite_discrete.url summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.txt.dir)==true desc,id='Plaintext (UTF-8)','text' pth=@f.output_path.txt.dir rel=@f.output_path.txt.rel_sm url=@f.output_path.txt.url file=@f.base_filename.txt summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.textile.dir)==true desc,id='Textile text (UTF-8)','textile' pth=@f.output_path.textile.dir rel=@f.output_path.textile.rel_sm url=@f.output_path.textile.url file=@f.base_filename.textile summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.asciidoc.dir)==true desc,id='AsciiDoc text (UTF-8)','asciidoc' pth=@f.output_path.asciidoc.dir rel=@f.output_path.asciidoc.rel_sm url=@f.output_path.asciidoc.url file=@f.base_filename.asciidoc summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.markdown.dir)==true desc,id='Markdown text (UTF-8)','markdown' pth=@f.output_path.markdown.dir rel=@f.output_path.markdown.rel_sm url=@f.output_path.markdown.url file=@f.base_filename.markdown summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.rst.dir)==true desc,id='rST text (UTF-8)','rst' pth=@f.output_path.rst.dir rel=@f.output_path.rst.rel_sm url=@f.output_path.rst.url file=@f.base_filename.rst summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.orgmode.dir)==true desc,id='OrgMode structure text (UTF-8)','org' pth=@f.output_path.orgmode.dir rel=@f.output_path.orgmode.rel_sm url=@f.output_path.orgmode.url file=@f.base_filename.orgmode summarize(desc,id,file,pth,rel,url) end if FileTest.file?("#{@base_path}/#{@md.fns}.tex")==true desc,id,file='LaTeX (portrait)','latex',"#{@md.fns}.tex" pth,rel,url='','','' summarize(desc,id,file,pth,rel,url) end if FileTest.file?("#{@base_path}/#{@md.fns}.tex")==true desc,id,file='LaTeX (landscape)','latex_landscape',"#{@md.fns}.landscape.tex" pth,rel,url='','','' summarize(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.hash_digest.dir)==true pth=@f.output_path.hash_digest.dir rel=@f.output_path.hash_digest.rel_sm url=@f.output_path.hash_digest.url desc,id,file="Digest/DCC - Document Content Certificate (#{@dg})",'digests',@f.base_filename.hash_digest summarize(desc,id,file,pth,rel,url) end end
published_languages(desc)
click to toggle source
# File lib/sisu/html_manifest.rb, line 256 def published_languages(desc) published_manifests?.each do |l| @manifest[:txt] << "#{l[:mu]} #{l[:l]}\n" @manifest[:html] << %{<tr><th class="left"><p class="bold"><a href="#{l[:mu]}">#{l[:l]}</a></p></th><td><p class="norm">#{l[:l]}</p><p class="tiny">#{the_url_decoration.xml_open}<a href="#{l[:mu]}">#{l[:mu]}</a>#{the_url_decoration.xml_close}</p></td><td class="right"><p class="right"> </p></td></tr>\n} end end
published_manifests?()
click to toggle source
# File lib/sisu/html_manifest.rb, line 203 def published_manifests? @f=SiSU_Env::FileOp.new(@md) #.base_filename @m=[] url=@f.output_path.base.url manifests={} mp,mn,mt,mr=nil,nil,nil,nil ln=SiSU_i18n::Languages.new.language.list Px[:lng_lst].each do |lc| lngc=SiSU_Env::FilenameLanguageCodeInsert.new(@md.opt,lc).language_code_insert fnh={ fn: @md.fnb, lng: lngc, } mn=@f.base_filename.manifest(fnh) if @o_str.dump_or_redirect? #does not work for --redirect or --dump mp="#{@f.output_path.base.dir}" mt="#{mp}/#{mn}" mr="../../#{lc}/manifest/#{mn}" mu="#{url}/#{mn}" elsif @f.output_dir_structure.by_language_code? mp="#{@f.output_path.base.dir}/#{lc}/manifest" mt="#{mp}/#{mn}" mr="../../#{lc}/manifest/#{mn}" mu="#{url}/#{lc}/manifest/#{mn}" elsif @f.output_dir_structure.by_filetype? mp="#{@f.output_path.base.dir}/manifest" mt="#{mp}/#{mn}" mr=mn mu="#{url}/manifest/#{mn}" else mp="#{@f.output_path.base.dir}/#{@md.fnb}" mt="#{mp}/#{mn}" mr=mn mu="#{url}/#{mn}" end if FileTest.directory?(mp) \ && FileTest.file?(mt) lng=ln[lc][:t] manifests[lc]={ ln: lng, fn: mn, rel: mr } @m << { mu: mu, l: lng, rel: mr } end end @m=@m.uniq end
published_versions()
click to toggle source
# File lib/sisu/html_manifest.rb, line 543 def published_versions desc,file='Markup (SiSU source)','source',@md.fns languages(desc,file) end
qrc_image()
click to toggle source
# File lib/sisu/html_manifest.rb, line 553 def qrc_image fn=(@f.output_dir_structure.by_filename?) \ ? 'sisu_manifest' : @md.fnb pth=((@o_str.dump_or_redirect?) \ || (@f.output_dir_structure.by_filename?)) \ ? '.' : 'qrcode' img_md="#{pth}/#{fn}#{@fn_lng}.md.png" img_title="#{pth}/#{fn}#{@fn_lng}.title.png" if FileTest.file?(@f.place_file.qrcode_md.dir)==true @manifest[:html] <<<<WOK <tr><td class="left"> <p class="tiny">QR code SiSU document metadata:</p> <p class="tiny"> <img border="0" src="#{img_md}" alt="qrcode metadata" /> </p> </td></tr> WOK end if FileTest.file?(@f.place_file.qrcode_title.dir)==true @manifest[:html] <<<<WOK <tr><td class="left"> <p class="tiny">QR code document title info:</p> <p class="tiny"> <img border="0" src="#{img_title}" alt="qrcode title" /> </p> </td></tr> WOK end end
source_tests()
click to toggle source
# File lib/sisu/html_manifest.rb, line 584 def source_tests if @md.fno =~/\.ssm$/ #% decide whether to extract and include requested/required documents if FileTest.file?(@f.place_file.src.dir)==true pth=@f.output_path.src.dir rel=@f.output_path.src.rel_sm url=@f.output_path.src.url desc,id,file='Markup Composite File (SiSU source)','source',@f.base_filename.src summarize_sources(desc,id,file,pth,rel,url) end else if FileTest.file?(@f.place_file.src.dir)==true pth=@f.output_path.src.dir rel=@f.output_path.src.rel_sm url=@f.output_path.src.url desc,id,file='Markup (SiSU source)','composite',@f.base_filename.src summarize_sources(desc,id,file,pth,rel,url) end end if FileTest.file?(@f.place_file.sisupod.dir)==true pth=@f.output_path.sisupod.dir rel=@f.output_path.sisupod.rel_sm url=@f.output_path.sisupod.url desc,id,file='SiSUdoc pod (tar.xz)','sisupod',@f.base_filename.sisupod summarize_sources(desc,id,file,pth,rel,url) end if FileTest.file?(@f.place_file.pot.dir)==true pth=@f.output_path.pot.dir rel=@f.output_path.pot.rel_sm url=@f.output_path.pot.url desc,id,file='SiSU pot','pot',@f.base_filename.pot summarize_sources(desc,id,file,pth,rel,url) end end
summarize(desc,id,file,pth='',rel='',url='',img='● ')
click to toggle source
# File lib/sisu/html_manifest.rb, line 161 def summarize(desc,id,file,pth='',rel='',url='',img='● ') size=(File.size("#{pth}/#{file}")/1024.00).to_s kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1] @manifest[:txt] << "#{file} #{desc} #{kb}\n" @manifest[:html] << %{<tr><th class="left"><p class="norm"><a href="#{rel}/#{file}">#{img}#{desc}</a></p></th><td><p class="small"><a href="#{rel}/#{file}">#{file}</a></p>#{url_make(url,file)}</td><td class="right"><p class="right">#{kb}</p></td></tr>\n} end
summarize_html_seg(desc,id,file,pth='',rel='',url='',img='● ')
click to toggle source
# File lib/sisu/html_manifest.rb, line 167 def summarize_html_seg(desc,id,file,pth='',rel='',url='',img='● ') size=(File.size("#{pth}/#{file}")/1024.00).to_s kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1] @manifest[:txt] << "#{file} #{desc} #{kb}\n" @manifest[:html] << %{<tr><th class="left"><p class="norm"><a href="#{rel}/#{file}">#{img}#{desc}</a></p></th><td><p class="small"><a href="#{rel}/#{file}">#{file}</a></p>#{url_make(url,file)}</td><td class="right"><p class="right">#{kb}</p></td></tr>\n} end
summarize_sources(desc,id,file,pth,rel,url)
click to toggle source
# File lib/sisu/html_manifest.rb, line 173 def summarize_sources(desc,id,file,pth,rel,url) sys=SiSU_Env::SystemCall.new dgst=case @dg when :sha512 sys.sha512("#{pth}/#{file}") when :sha256 sys.sha256("#{pth}/#{file}") when :md5 sys.md5("#{pth}/#{file}") else end dgst=dgst ? dgst : [ '', 'n/a' ] if (@md.opt.act[:verbose][:set]==:on \ || @md.opt.act[:verbose_plus][:set]==:on \ || @md.opt.act[:maintenance][:set]==:on) SiSU_Screen::Ansi.new( @md.opt.act[:color_state][:set], "#{dgst[1]} #{file}" ).warn end size=(File.size("#{pth}/#{file}")/1024.00).to_s kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1] @manifest[:txt] << "#{file} #{desc} #{kb}\n" @manifest[:html] << %{<tr>} \ + %{<th class="left"><p class="norm" id="#{id}"><a href="#{rel}/#{file}">#{desc}</a></p></th>} \ + %{<td class="right"><p class="tiny"><a href="#{rel}/#{file}">#{file}</a> #{dgst[1]}#{url_make(url,file,:src)}</p></td>} \ + %{<td class="right"><p class="right">#{kb}</p></td>} \ + %{</tr>\n} \ if kb and kb =~/\d+/ end
url_make(url,file,src=nil)
click to toggle source
# File lib/sisu/html_manifest.rb, line 152 def url_make(url,file,src=nil) if @o_str.dump_or_redirect? '' elsif src==:src #check %{<br>#{the_url_decoration.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{the_url_decoration.xml_close}} else %{<p class="tiny">#{the_url_decoration.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{the_url_decoration.xml_close}</p>} end end