diff options
Diffstat (limited to 'lib/sisu/v3dv/manifest.rb')
| -rw-r--r-- | lib/sisu/v3dv/manifest.rb | 900 | 
1 files changed, 0 insertions, 900 deletions
| diff --git a/lib/sisu/v3dv/manifest.rb b/lib/sisu/v3dv/manifest.rb deleted file mode 100644 index 0eb580b3..00000000 --- a/lib/sisu/v3dv/manifest.rb +++ /dev/null @@ -1,900 +0,0 @@ -# encoding: utf-8 -=begin - - * Name: SiSU - - * Description: a framework for document structuring, publishing and search - - * Author: Ralph Amissah - - * Copyright: (C) 1997 - 2012, Ralph Amissah, All Rights Reserved. - - * License: GPL 3 or later: - -   SiSU, a framework for document structuring, publishing and search - -   Copyright (C) Ralph Amissah - -   This program is free software: you can redistribute it and/or modify it -   under the terms of the GNU General Public License as published by the Free -   Software Foundation, either version 3 of the License, or (at your option) -   any later version. - -   This program is distributed in the hope that it will be useful, but WITHOUT -   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -   FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -   more details. - -   You should have received a copy of the GNU General Public License along with -   this program. If not, see <http://www.gnu.org/licenses/>. - -   If you have Internet connection, the latest version of the GPL should be -   available at these locations: -   <http://www.fsf.org/licensing/licenses/gpl.html> -   <http://www.gnu.org/licenses/gpl.html> - -   <http://www.jus.uio.no/sisu/gpl.fsf/toc.html> -   <http://www.jus.uio.no/sisu/gpl.fsf/doc.html> -   <http://www.jus.uio.no/sisu/gpl.fsf/plain.txt> - - * SiSU uses: -   * Standard SiSU markup syntax, -   * Standard SiSU meta-markup syntax, and the -   * Standard SiSU object citation numbering and system - - * Hompages: -   <http://www.jus.uio.no/sisu> -   <http://www.sisudoc.org> - - * Download: -   <http://www.jus.uio.no/sisu/SiSU/download.html> - - * Ralph Amissah -   <ralph@amissah.com> -   <ralph.amissah@gmail.com> - - ** Description: summary of generated outputs and metadata - -=end -module SiSU_Manifest -  require_relative 'sysenv'                             # sysenv.rb -    include SiSU_Env -  require_relative 'prog_text_translation'              # prog_text_translation.rb -  require_relative 'particulars'                        # particulars.rb -    include SiSU_Particulars -  require_relative 'html_minitoc'                       # html_minitoc.rb -  require_relative 'html'                               # html.rb -    include SiSU_HTML_Format -  require_relative 'param'                              # param.rb -    include SiSU_Param -  require_relative 'i18n'                               # i18n.rb -  include SiSU_Viz -  class Source -    def initialize(opt) -      @opt=opt -      @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt) -      l=SiSU_Env::StandardiseLanguage.new(@opt.lng).language -      @doc_language=l[:n] -    end -    def read -      begin -        @env=SiSU_Env::InfoEnv.new(@opt.fns) -        @md=SiSU_Param::Parameters.new(@opt).get -        SiSU_Env::InfoSkin.new(@md).select -        xbrowser=@env.program.web_browser -        browser=@env.program.console_web_browser -#       webserv_url=@env.path.url.output_tell #fix in sysenv -        unless @opt.cmd =~/q/ -          url_html="file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}" -          @opt.cmd=~/[MVvz]/ \ -          ? SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"#{xbrowser} #{url_html}").green_hi_blue -          : SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"[#{@opt.f_pth[:lng_is]}] #{@opt.fns}").green_title_hi -          SiSU_Screen::Ansi.new(@opt.cmd,"#{browser} #{url_html}").grey_tab if @opt.cmd =~/v/i -        end -        data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions -        SiSU_Manifest::Source::Output.new(@md).check_output(data) -      rescue; SiSU_Errors::InfoError.new($!,$@,@opt.cmd,@opt.fns).error -      ensure -      end -    end -    private -    class Output <Source -      def initialize(md) -        @manifest={ txt: [], html: [] } -        @md,@fns=md,md.fns -        @env=SiSU_Env::InfoEnv.new(@md.fns) -        @make=SiSU_Env::ProcessingSettings.new(@md) -        @fnb=@md.fnb -        @base_url="#{@env.url.root}/#{@fnb}" -        @f=SiSU_Env::FileOp.new(@md) -        @o_str=SiSU_Env::ProcessingSettings.new(md).output_dir_structure -        @image_path=if @o_str.dump_or_redirect? -          %{./image} -        else -          %{#{@f.path_rel_links.html_scroll_2}_sisu/image_sys} -        end -        @base_path=@f.output_path.manifest.dir -        @@dg ||=SiSU_Env::InfoEnv.new.digest.type -        @dg=@@dg -        l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language -        @language=l[:n] -        @translate=SiSU_Translate::Source.new(@md,@language) -        @brace_url=SiSU_Viz::Skin.new.url_decoration -        @stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet -      end -      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 -      def url_make(url,file,src=nil) -        if @o_str.dump_or_redirect? -          '' -        elsif :src -          %{<br />#{@brace_url.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{@brace_url.xml_close}} -        else -          %{<p class="tiny">#{@brace_url.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{@brace_url.xml_close}</p>} -        end -      end -      def summarize(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} #{id} #{kb}\n" -        @manifest[:html] << %{<tr><th class="left"><p class="norm"><a href="#{rel}/#{file}">#{img}#{id}</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 -      def summarize_html_seg(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} #{id} #{kb}\n" -        @manifest[:html] << %{<tr><th class="left"><p class="norm"><a href="#{rel}/#{file}">#{img}#{id}</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 -      def summarize_sources(id,file,pth,rel,url) -        sys=SiSU_Env::SystemCall.new -        dgst =if @dg =~/^sha(?:2|256)$/; sys.sha256("#{pth}/#{file}") -        else                             sys.md5("#{pth}/#{file}") -        end -        SiSU_Screen::Ansi.new(@md.opt.cmd,"#{dgst[1]} #{file}").warn if @md.opt.cmd =~/[vVM]/ -        size=(File.size("#{pth}/#{file}")/1024.00).to_s -        kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1] -        @manifest[:txt] << "#{file} #{id} #{kb}\n" -        @manifest[:html] << %{<tr><th class="left"><p class="norm"><a href="#{rel}/#{file}">#{id}</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 -      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| -          if @o_str.dump_or_redirect? #does not work for --redirect or --dump -            mp="#{@f.output_path.base.dir}" -            mn="#{@md.fnb}.html" -            mt="#{mp}/#{mn}" -            mr="../../#{lc}/manifest/#{mn}" -            mu="#{url}/#{mn}" -          elsif @env.output_dir_structure.by_language_code? -            mp="#{@f.output_path.base.dir}/#{lc}/manifest" -            mn="#{@md.fnb}.html" -            mt="#{mp}/#{mn}" -            mr="../../#{lc}/manifest/#{mn}" -            mu="#{url}/#{lc}/manifest/#{mn}" -          elsif @env.output_dir_structure.by_filetype? -            mp="#{@f.output_path.base.dir}/manifest" -            mn="#{@md.fnb}.#{lc}.html" -            mt="#{mp}/#{mn}" -            mr=mn -            mu="#{url}/manifest/#{mn}" -          else -            mp="#{@f.output_path.base.dir}/#{@md.fnb}" -            mn="sisu_manifest.#{lc}.html" -            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 -        manifests -        @m=@m.uniq -      end -      def languages(id,file) -        flv=published_manifests? -        @manifest[:html] << %{<tr><th class="left"><div id="horizontal_links"><ul id="horizontal">\n} -        flv.each do |l| -          lang=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 -      def published_languages(id,file) -        flv=published_manifests? -        flv.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">#{@brace_url.xml_open}<a href="#{l[:mu]}">#{l[:mu]}</a>#{@brace_url.xml_close}</p></td><td class="right"><p class="right"> </p></td></tr>\n} -        end -      end -      def metadata(id,info) -        info=info.to_s.gsub(/#{Mx[:br_line]}/,'<br />') -        @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{id}:</p></th><td><p class="left">#{info}</p></td></tr>\n} -      end -      def links(url,lnk,target) -        static=if url =~/^\.\//; url.gsub(/^\.(\.)?/,@base_url) -        elsif url =~/^\.\.\//;   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">  #{@brace_url.xml_open}<a href="#{static}">#{static}</a>#{@brace_url.xml_close}</p></td></tr>\n} -      end -      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 -          id,file='HTML, table of contents (for segmented text)',@f.base_filename.html_segtoc -          summarize_html_seg(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 -          id,file='HTML, full length document',@f.base_filename.html_scroll -          summarize(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 -          id,file='HTML, (book type) index',@f.base_filename.html_book_index -          summarize(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 -          id,file='HTML, concordance file',@f.base_filename.html_concordance -          summarize(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" /> } -          id,file='EPUB (Electronic Publication, e-book standard)',@f.base_filename.epub -          pth=@f.output_path.epub.dir -          rel=@f.output_path.epub.rel_sm -          url=@f.output_path.epub.url -          summarize(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 -          id,file="PDF, U.S. letter size, portrait/vertical document (recommended for printing)","#{@f.base_filename.pdf_p_letter}" -          summarize(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 -          id,file="PDF, U.S. letter size, landscape/horizontal document (recommended for screen viewing)","#{@f.base_filename.pdf_l_letter}" -          summarize(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 -          id,file="PDF, A4 size, portrait/vertical document (recommended for printing)","#{@f.base_filename.pdf_p_a4}" -          summarize(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 -          id,file="PDF, A4 size, landscape/horizontal document (recommended for screen viewing)","#{@f.base_filename.pdf_l_a4}" -          summarize(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 -          id,file="PDF, A5 (book) size, portrait/vertical document (recommended for printing)","#{@f.base_filename.pdf_p_a5}" -          summarize(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 -          id,file="PDF, A5 (book) size, landscape/horizontal document (recommended for screen viewing)","#{@f.base_filename.pdf_l_a5}" -          summarize(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 -          id,file="PDF, B5 (book) size, portrait/vertical document (recommended for printing)","#{@f.base_filename.pdf_p_b5}" -          summarize(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 -          id,file="PDF, B5 (book) size, landscape/horizontal document (recommended for screen viewing)","#{@f.base_filename.pdf_l_b5}" -          summarize(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 -          id,file="PDF, U.S. legal size, portrait/vertical document (recommended for printing)","#{@f.base_filename.pdf_p_legal}" -          summarize(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 -          id,file="PDF, U.S. legal size, landscape/horizontal document (recommended for screen viewing)","#{@f.base_filename.pdf_l_legal}" -          summarize(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 -          id,file='ODF:ODT (Open Document Format)',@f.base_filename.odt -          summarize(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 -          id,file='ODF:ODT (Open Document Format)',@f.base_filename.odt -          id,file='XHTML',@f.base_filename.xhtml -          summarize(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 -          id,file='XML SAX',@f.base_filename.xml_sax -          summarize(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 -          id,file='XML DOM',@f.base_filename.xml_dom -          summarize(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 -          id,file='Info file',@f.base_filename.info -          summarize(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 -          id,file='Manpage',@f.base_filename.manpage -          summarize(id,file,pth,rel,url) -        end -        if FileTest.file?(@f.place_file.sqlite_discreet.dir)==true -          id,file='SQLite3 file',@f.base_filename.sqlite_discreet -          pth=@f.output_path.sqlite_discreet.dir -          rel=@f.output_path.sqlite_discreet.rel_sm -          url=@f.output_path.sqlite_discreet.url -          summarize(id,file,pth,rel,url) -        end -        if FileTest.file?(@f.place_file.txt.dir)==true -        if    @md.opt.cmd =~/a/; id='Plaintext (Unix (UTF-8) with footnotes)' -        elsif @md.opt.cmd =~/e/; id='Plaintext (Unix (UTF-8) with endnotes)' -        elsif @md.opt.cmd =~/A/; id='Plaintext (dos (UTF-8) with footnotes)' -        elsif @md.opt.cmd =~/E/; id='Plaintext (dos (UTF-8) with endnotes)' -        else                id='Plaintext (UTF-8)' -        end -          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(id,file,pth,rel,url) -        end -        if FileTest.file?("#{@base_path}/#{@md.fns}.tex")==true -          id,file='LaTeX (portrait)',"#{@md.fns}.tex" -          pth,rel,url='','','' -          summarize(id,file,pth,rel,url) -        end -        if FileTest.file?("#{@base_path}/#{@md.fns}.tex")==true -          id,file='LaTeX (landscape)',"#{@md.fns}.landscape.tex" -          pth,rel,url='','','' -          summarize(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 -          id,file="Digest/DCC - Document Content Certificate (#{@dg})",@f.base_filename.hash_digest -          summarize(id,file,pth,rel,url) -        end -      end -      def published_versions -        id,file='Markup (SiSU source)',@md.fns -        languages(id,file) -      end -      def language_versions -        if FileTest.file?(@f.place_file.manifest.dir)==true -          id,file='Markup (SiSU source)',@md.fns -          published_languages(id,file) -        end -      end -      def qrc_image -        fn=@md.fnb -        pth=(@o_str.dump_or_redirect?) \ -        ? '.' -        : 'qrcode' -        img_md="#{pth}/#{fn}.md.png" -        img_title="#{pth}/#{fn}.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 -      def source_tests -        if @md.fns =~/\.ssm\.sst$/                                                  #% decide whether to extract and include requested/required documents -          req=@md.fns -          if FileTest.file?(@f.place_file.src.dir)==true -            pth=@f.output_path.src.dir -            rel=@f.output_path.src.rel -            #rel=@f.output_path.src.rel_sm -            url=@f.output_path.src.url -            id,file='Markup Composite File (SiSU source)',@f.base_filename.src -            summarize_sources(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 -            id,file='Markup (SiSU source)',@f.base_filename.src -            summarize_sources(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 -          id,file='SiSU doc (tar.xz)',@f.base_filename.sisupod -          summarize_sources(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 -          id,file='SiSU pot',@f.base_filename.pot -          summarize_sources(id,file,pth,rel,url) -        end -      end -      def metadata_tests -        if defined? @md.title.full \ -        and @md.title.full=~/\S+/ -          id,info=@translate.full_title,@md.title.full -          metadata(id,info) -        end -        if defined? @md.creator.author \ -        and @md.creator.author=~/\S+/ -          id,info=@translate.author,@md.creator.author -          metadata(id,info) -        end -        if defined? @md.creator.editor \ -        and @md.creator.editor=~/\S+/ -          id,info=@translate.editor,@md.creator.editor -          metadata(id,info) -        end -        if defined? @md.creator.contributor \ -        and @md.creator.contributor=~/\S+/ -          id,info=@translate.contributor,@md.creator.contributor -          metadata(id,info) -        end -        if defined? @md.creator.translator \ -        and @md.creator.translator=~/\S+/ -          id,info=@translate.translator,@md.creator.translator -          metadata(id,info) -        end -        if defined? @md.creator.illustrator \ -        and @md.creator.illustrator=~/\S+/ -          id,info=@translate.illustrator,@md.creator.illustrator -          metadata(id,info) -        end -        if defined? @md.publisher \ -        and @md.publisher=~/\S+/ #dc -          id,info=@translate.publisher,@md.publisher -          metadata(id,info) -        end -        if defined? @md.creator.prepared_by \ -        and @md.creator.prepared_by=~/\S+/ -          id,info=@translate.prepared_by,@md.creator.prepared_by -          metadata(id,info) -        end -        if defined? @md.creator.digitized_by \ -        and @md.creator.digitized_by=~/\S+/ -          id,info=@translate.digitized_by,@md.creator.digitized_by -          metadata(id,info) -        end -        if defined? @md.classify.subject \ -        and @md.classify.subject=~/\S+/ -          id,info=@translate.subject,@md.classify.subject -          metadata(id,info) -        end -        if defined? @md.notes.description \ -        and @md.notes.description=~/\S+/ -          id,info=@translate.description,@md.notes.description -          metadata(id,info) -        end -        if defined? @md.notes.abstract \ -        and @md.notes.abstract=~/\S+/ -          id,info=@translate.abstract,@md.notes.abstract -          metadata(id,info) -        end -        if defined? @md.type \ -        and @md.type=~/\S+/ #dc -          id,info=@translate.type,@md.type -          metadata(id,info) -        end -        if defined? @md.rights.all \ -        and @md.rights.all=~/\S+/ #dc -          id,info=@translate.rights,@md.rights.all -          metadata(id,info) -        end -        if defined? @md.date.published -          if defined? @md.date.published \ -          and @md.date.published=~/\S+/ #dc -            id,info=@translate.date,@md.date.published -            metadata(id,info) -          end -          if defined? @md.date.created \ -          and @md.date.created=~/\S+/ #dc -            id,info=@translate.date_created,@md.date.created -            metadata(id,info) -          end -          if defined? @md.date.issued \ -          and @md.date.issued=~/\S+/ #dc -            id,info=@translate.date_issued,@md.date.issued -            metadata(id,info) -          end -          if defined? @md.date.available \ -          and @md.date.available=~/\S+/ #dc -            id,info=@translate.date_available,@md.date.available -            metadata(id,info) -          end -          if defined? @md.date.modified \ -          and @md.date.modified=~/\S+/ #dc -            id,info=@translate.date_modified,@md.date.modified -            metadata(id,info) -          end -          if defined? @md.date.valid \ -          and @md.date.valid=~/\S+/ #dc -            id,info=@translate.date_valid,@md.date.valid -            metadata(id,info) -          end -        end -        if defined? @md.title.language \ -        and @md.title.language=~/\S+/ -          id,info=@translate.language,@md.title.language -          metadata(id,info) -        end -        if defined? @md.original.language \ -        and @md.original.language=~/\S+/ -          id,info=@translate.language_original,@md.original.language -          metadata(id,info) -        end -        if defined? @md.classify.format \ -        and @md.classify.format=~/\S+/ -          id,info=@transate.format,@md.classify.format -          metadata(id,info) -        end -        if defined? @md.classify.identifier \ -        and @md.classify.identifier=~/\S+/ -          id,info=@translate.identifier,@md.classify.identifier -          metadata(id,info) -        end -        if defined? @md.original.source \ -        and @md.original.source=~/\S+/ -          id,info=@translate.source,@md.original.source -          metadata(id,info) -        end -        if defined? @md.classify.relation \ -        and @md.classify.relation=~/\S+/ -          id,info=@translate.relation,@md.classify.relation -          metadata(id,info) -        end -        if defined? @md.classify.coverage \ -        and @md.classify.coverage=~/\S+/ -          id,info=@translate.coverage,@md.classify.coverage -          metadata(id,info) -        end -        if defined? @md.classify.keywords \ -        and @md.classify.keywords=~/\S+/ -          id,info=@translate.keywords,@md.classify.keywords -          metadata(id,info) -        end -        if defined? @md.notes.comment \ -        and @md.notes.comment=~/\S+/ -          id,info=@translate.comments,@md.notes.comment -          metadata(id,info) -        end -        if defined? @md.classify.loc \ -        and @md.classify.loc=~/\S+/ -          id,info=@translate.cls_loc,@md.classify.loc -          metadata(id,info) -        end -        if defined? @md.classify.dewey \ -        and @md.classify.dewey=~/\S+/ -          id,info=@translate.cls_dewey,@md.classify.dewey -          metadata(id,info) -        end -        if defined? @md.classify.oclc \ -        and @md.classify.oclc=~/\S+/ -          id,info=@translate.cls_oclc,@md.classify.oclc -          @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{id}:</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.classify.pg \ -        and @md.classify.pg=~/\S+/ -          id,info=@translate.cls_gutenberg,@md.classify.pg -          metadata(id,info) -        end -        if defined? @md.classify.isbn \ -        and @md.classify.isbn=~/\S+/ -          id,info=@translate.cls_isbn,@md.classify.isbn -          metadata(id,info) -        end -        if defined? @md.notes.prefix_a \ -        and @md.notes.prefix_a=~/\S+/ -          id,info=@translate.prefix_a,@md.notes.prefix_a -          metadata(id,info) -        end -        if defined? @md.notes.prefix_b \ -        and @md.notes.prefix_b=~/\S+/ -          id,info=@translate.prefix_b,@md.notes.prefix_b -          metadata(id,info) -        end -        if defined? @md.topic_register_array \ -        and @md.topic_register_array.length > 0 -          @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{@translate.topic_register}:</p></th><td>\n} -          @md.topic_register_array.each do |t| -            t.each_with_index do |st,i| -              if st.class==Array -                st.each do |v| -                  @manifest[:html] << %{<p class="it#{i}">#{v}</p>\n} -                end -              else @manifest[:html] << %{<p class="it#{i}">#{st}</p>\n} -              end -            end -          end -          @manifest[:html] << %{</td></tr>\n} -        end -        if @md.fns -          id,info=@translate.sourcefile,@md.fns -          metadata(id,info) -        end -        if @md.en[:mismatch] > 0 -          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(id,info) -        end -        if @md.wc_words -          id,info=@translate.word_count,@md.wc_words -          metadata(id,info) -        end -        if @md.dgst -          id,info="#{@translate.sourcefile_digest} (#{@dg})",@md.dgst[1] -          metadata(id,info) -        end -        if @md.sc_number -          id,info=@translate.sc_number,@md.sc_number -          metadata(id,info) -        end -        if @md.sc_date -          id,info=@translate.sc_date,"#{@md.sc_date} at #{@md.sc_time}" -          metadata(id,info) -        end -        if @md.generated -          id,info=@translate.last_generated,@md.generated -          metadata(id,info) -        end -        if @md.sisu_version -          id,info=@translate.sisu_version,"#{@md.sisu_version[:project]} #{@md.sisu_version[:version]} #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})" -          metadata(id,info) -        end -        if @md.ruby_version -          id,info=@translate.ruby_version,@md.ruby_version -          metadata(id,info) -        end -      end -      def links_tests -        if defined? @md.lnk \ -        and @md.lnk -          @md.lnk.each do |l| -            if defined? l[:say] -              target=if l[:url] !~/^\.(\.)?\//; 'external' -              else                              '_top' -              end -              url,lnk=l[:url],l[:say] -              unless url.nil? \ -              or url.empty? -                links(url,lnk,target) -              end -            end -          end -        end -      end -      def check_output(data) -        begin -          minitoc=SiSU_HTML_MiniToc::TocMini.new(@md,data).songsheet.join("\n") -          id,file='','' -          vz=SiSU_Env::GetInit.instance.skin -          search_form=if @make.build.search_form? -            "<td>#{@env.widget_static.search_form}</td>" -          else '' -          end -          banner_table=if vz.banner_home_button_only !~ /http:\/\/www\.jus\.uio\.no\/sisu/ \ -          and vz.banner_home_button_only !~  /sisu\.home\.png/ -<<WOK -<table summary="band" border="0" cellpadding="3" cellspacing="0"> -<tr><td align="left"  width="15%" bgcolor="#ffffff">#{vz.banner_band}</td> -<td width="70%"><p class="tiny">#{@brace_url.xml_open}<a href="#{@base_url}/#{file}">#{@base_url}/#{file}</a>#{@brace_url.xml_close}</p></td> -#{search_form}</tr> -</table> -WOK -          else -<<WOK -<table summary="band" border="0" cellpadding="3" cellspacing="0"> -<tr><td align="left" bgcolor="#ffffff"><a href="http://www.jus.uio.no/sisu/" target="_top"><img border="0" src="#{vz.url_path_image_sys}/sisu.png" alt="SiSU -->" /></a></td> -<td><p class="tiny">#{@brace_url.xml_open}<a href="#{@base_url}/#{file}">#{@base_url}/#{file}</a>#{@brace_url.xml_close}</p></td> -#{search_form}</tr> -</table> -WOK -          end -          @manifest[:html] <<<<WOK -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<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 bgcolor="#ffffff" text="#000000" link="#003090" lang="en" xml:lang="en"> -#{banner_table} -WOK -          if @make.build.manifest_minitoc? -            if @o_str.dump_or_redirect? -            elsif @env.output_dir_structure.by_language_code? \ -            or @env.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 -          @manifest[:html] <<<<WOK -<h1 class="small">#{@translate.manifest_description}</h1> -<h2 class="small">#{@md.title.full}</h2> -<p class="bold">#{@md.author}</p> -<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> -<table summary="normal text css" width="100%" border="0" bgcolor="white" 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" bgcolor="white" 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" bgcolor="white" 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" bgcolor="white" cellpadding="2" align="center"> -<tr> <th class="left"><p class="bold">#{@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" bgcolor="white" 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" bgcolor="white" 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 /> -#{vz.credits_sisu_manifest} -</div> -</body> -</html> -WOK -          output -        rescue; SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error -        ensure -        end -      end -    end -  end -end -__END__ | 
