diff options
author | Ralph Amissah <ralph@amissah.com> | 2015-05-01 18:59:03 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2015-05-01 18:59:03 -0400 |
commit | e56b1252015f76e2ee629ae19b4fef9f89700867 (patch) | |
tree | f02ba618ac200fde037d27513dfc6dc3fbb67756 /lib/sisu/develop/urls.rb | |
parent | debian/changelog (6.5.0-1) (diff) | |
parent | version & changelog, tag for release (diff) |
Merge tag 'sisu_7.0.0' into debian/sid
SiSU 7.0.0
Diffstat (limited to 'lib/sisu/develop/urls.rb')
-rw-r--r-- | lib/sisu/develop/urls.rb | 696 |
1 files changed, 0 insertions, 696 deletions
diff --git a/lib/sisu/develop/urls.rb b/lib/sisu/develop/urls.rb deleted file mode 100644 index 85ec1316..00000000 --- a/lib/sisu/develop/urls.rb +++ /dev/null @@ -1,696 +0,0 @@ -# encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** urls for output files - -** Author: Ralph Amissah - <ralph@amissah.com> - <ralph.amissah@gmail.com> - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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.sisudoc.org/sisu/en/manifest/gpl.fsf.html> - -** 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> - -** Git - <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary> - <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/urls.rb;hb=HEAD> - -=end -module SiSU_Urls - require_relative 'se_hub_particulars' # se_hub_particulars.rb - include SiSU_Particulars - require_relative 'se' # se.rb - include SiSU_Env; include SiSU_Screen - class Source - attr_reader :opt - def initialize(opt) - @opt=opt - end - def read - begin - SiSU_Urls::OutputUrls.new(@opt).songsheet if @opt.fnb - rescue - SiSU_Errors::Rescued.new($!,$@,@opt.selections.str).location do - __LINE__.to_s + ':' + __FILE__ - end - ensure - end - end - end - class OutputUrls - attr_reader :fns,:fnb,:act,:dir,:m_regular,:u - def initialize(opt) - @opt=opt - @particulars=SiSU_Particulars::CombinedSingleton.instance.get_env_md(opt) - if @particulars.is_a?(NilClass) - if @opt.act[:verbose_plus][:set]==:on \ - or @opt.act[:maintenance][:set]==:on - SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). - mark("@particulars is NilClass, acceptable e.g. for --harvest") - end - exit - end - @selections=@opt.selections.str - @act=@opt.act - @md=@particulars.md - @env=@particulars.env - @fnb=@env.fnb - fn_set_lang=SiSU_Env::StandardiseLanguage.new(@opt.lng).language - @fnl=@env.i18n.lang_filename(fn_set_lang[:c]) - @fn=SiSU_Env::EnvCall.new(@opt.fns).lang(fn_set_lang[:c]) - @m_regular=/(.+?)\.(?:(?:-|ssm\.)?sst|ssm)$/ - @prog=@env.program - end - def songsheet - begin - (@opt.act[:urls_all][:set]==:on) \ - ? urls_all \ - : (urls_select unless @opt.act[:quiet][:set]==:on) - rescue - SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do - __LINE__.to_s + ':' + __FILE__ - end - ensure - end - end - def show - def report(x) - SiSU_Screen::Ansi.new( - @opt.act[:color_state][:set], - "[#{@opt.f_pth[:lng_is]}]", - x[:cmd], - x[:viewer] + ' ' \ - + x[:f_pth] - ).result - end - def maintenance(x) - if @opt.act[:maintenance][:set]==:on - SiSU_Screen::Ansi.new( - @opt.act[:color_state][:set], - "[#{@opt.f_pth[:lng_is]}]", - x[:cmd], - x[:p_pth] - ).maintenance - end - end - self - end - def report_info - def dal - { - cmd: '--ao', - p_pth: @env.processing_path.ao + '/' \ - + @opt.fns + '.meta', - fn: 'ao', - } - end - def hash_digests - { - cmd: '--hash-digests (sha512/sha256/md5)', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.hash_digest.dir + '/' \ - + @md.file.base_filename.hash_digest, - fn: @fn[:digest], - } - end - def text - def txt - { - cmd: '--txt', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.txt.dir + '/' \ - + @md.file.base_filename.txt, - fn: @fn[:plain], - } - end - def asciidoc - { - cmd: '--asciidoc', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.asciidoc.dir + '/' \ - + @md.file.base_filename.asciidoc, - fn: @fn[:txt_asciidoc], - } - end - def markdown - { - cmd: '--markdown', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.markdown.dir + '/' \ - + @md.file.base_filename.markdown, - fn: @fn[:txt_markdown], - } - end - def rst - { - cmd: '--rst', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.rst.dir + '/' \ - + @md.file.base_filename.rst, - fn: @fn[:txt_rst], - } - end - def textile - { - cmd: '--textile', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.textile.dir + '/' \ - + @md.file.base_filename.textile, - fn: @fn[:txt_textile], - } - end - def orgmode - { - cmd: '--orgmode', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.orgmode.dir + '/' \ - + @md.file.base_filename.orgmode, - fn: @fn[:txt_orgmode], - } - end - self - end - def html - def seg - { - cmd: '--html-seg', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.html_seg.dir + '/' \ - + @md.file.base_filename.html_segtoc, - p_pth: @env.processing_path.tune + '/' \ - + @md.fns + '.tune', - fn: @fn[:toc], - } - end - def scroll - { - cmd: '--html-scroll', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.html_scroll.dir + '/' \ - + @md.file.base_filename.html_scroll, - p_pth: @env.processing_path.tune + '/' \ - + @md.fns + '.tune', - fn: @fn[:doc], - } - end - def concordance - { - cmd: '--concordance', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.html_concordance.dir + '/' \ - + @md.file.base_filename.html_concordance, - fn: @fn[:concordance], - } - end - self - end - def xhtml - def xhtml - { - cmd: '--xhtml', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.xhtml.dir + '/' \ - + @md.file.base_filename.xhtml, - p_pth: @env.processing_path.tune + '/' \ - + @md.fns + '.tune', - fn: @fn[:xhtml], - } - end - def epub - { - cmd: '--epub', - viewer: @prog.epub_viewer, - f_pth: @md.file.output_path.epub.dir + '/' \ - + @md.file.base_filename.epub, - p_pth: @env.processing_path.epub + '/' \ - + Ep[:d_oebps] + '/' \ - + 'index.xhtml', - fn: @fn[:epub], - } - end - self - end - def xml - def odt - { - cmd: '--odt (ODF:ODT)', - viewer: @prog.odf_viewer, - f_pth: @md.file.output_path.odt.dir + '/' \ - + @md.file.base_filename.odt, - p_pth: @env.processing_path.odf + '/' \ - + @opt.fns + '/' \ - + 'odt/content.xml', - fn: @fn[:odf], - } - end - def docbook - { - cmd: '--docbook', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.xml_docbook_book.dir + '/' \ - + @md.file.base_filename.xml_docbook_book, - fn: @fn[:xml_docbook_book], - } - end - def fictionbook - { - cmd: '--fictionbook', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.xml_fictionbook.dir + '/' \ - + @md.file.base_filename.xml_fictionbook, - fn: @fn[:xml_fictionbook], - } - end - def sax - { - cmd: '--xml-sax', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.xml_sax.dir + '/' \ - + @md.file.base_filename.xml_sax, - fn: @fn[:sax], - } - end - def dom - { - cmd: '--xml-dom', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.xml_dom.dir + '/' \ - + @md.file.base_filename.xml_dom, - fn: @fn[:dom], - } - end - def scaffold_sisu - { - cmd: '--xml-scaffold-sisu', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.xml_scaffold_structure_sisu.dir + '/' \ - + @md.file.base_filename.xml_scaffold_structure_sisu, - fn: @fn[:xml_scaffold_structure_sisu], - } - end - def scaffold_collapse - { - cmd: '--xml-scaffold-collapse', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.xml_scaffold_structure_collapse.dir + '/' \ - + @md.file.base_filename.xml_scaffold_structure_collapse, - fn: @fn[:xml_scaffold_structure_collapse], - } - end - self - end - def pdf - def landscape - { - cmd: '--pdf (landscape)', - viewer: @prog.pdf_viewer, - f_pth: @md.file.output_path.pdf.dir + '/' \ - + @md.file.base_filename.pdf_l \ - + @md.papersize_array[0] + '.pdf', - p_pth: @env.processing_path.tex + '/' \ - + @opt.fns.gsub(/~/,'-') + '.' \ - + @md.papersize_array[0] \ - + '.landscape.tex', - fn: @fn[:pdf_l], - } - end - def portrait - { - cmd: '--pdf (portrait)', - viewer: @prog.pdf_viewer, - f_pth: @md.file.output_path.pdf.dir + '/' \ - + @md.file.base_filename.pdf_p \ - + @md.papersize_array[0] + '.pdf', - p_pth: @env.processing_path.tex + '/' \ - + @opt.fns.gsub(/~/,'-') + '.' \ - + @md.papersize_array[0] \ - + '.tex', - fn: @fn[:pdf_p], - } - end - self - end - def manpage - { - cmd: '--manpage', - viewer: @prog.manpage_viewer, - f_pth: @md.file.output_path.manpage.dir + '/' \ - + @md.file.base_filename.manpage, - fn: 'manpage', - } - end - def texinfo - { - cmd: '--texinfo', - viewer: '', - f_pth: 'cd ' \ - + @md.file.output_path.texinfo.dir + ' && ' \ - + @env.program.texinfo + ' ' \ - + @md.file.base_filename.info \ - + '; cd -', - fn: 'info', - } - end - def db - def psql - { - cmd: '--psql --update/--import', - viewer: '', - f_pth: @pwd_stub + '::' \ - + @opt.fns \ - + 'dbi psql', - p_pth: @env.processing_path.postgresql + '/' \ - + @md.fns \ - + '.sql', - fn: 'dbi psql', - } - end - def sqlite - { - cmd: '--sqlite --update/--import', - viewer: 'sqlite3 ', - f_pth: @env.path.webserv + '/' \ - + @md.opt.f_pth[:pth_stub] + '/' \ - + 'sisu_sqlite.db', - p_pth: @env.processing_path.sqlite + '/' \ - + @md.fns \ - + '.sql', - fn: 'dbi sqlite3', - } - end - def sqlite_discrete - { - cmd: '--sqlite', - viewer: 'sqlite3 ', - f_pth: @md.file.output_path.sqlite_discrete.dir + '/' \ - + @md.file.base_filename.sqlite_discrete, - p_pth: @env.processing_path.sqlite + '/' \ - + @md.fns \ - + '.sql', - fn: 'dbi sqlite3', - } - end - self - end - def po4a - def po - { - cmd: '--po4a/--pot', - viewer: @prog.web_browser, - f_pth: @prog.text_editor + ' ' \ - + @md.file.output_path.po.dir \ - + '/' + y, - fn: @fn[:pot], - } - end - def pot - { - cmd: '--po4a/--pot', - viewer: @prog.web_browser, - f_pth: @prog.text_editor + ' ' \ - + @md.file.output_path.pot.dir \ - + '/' + y, - fn: @fn[:pot], - } - end - self - end - def source - { - cmd: '--source (sisu markup)', - viewer: @prog.text_editor, - f_pth: @md.file.output_path.src.dir + '/' \ - + @opt.fno, - p_pth: @md.file.output_path.src.dir + '/' \ - + @opt.fno, - fn: @opt.fno, - } - end - def sisupod - { - cmd: '--sisupod', - viewer: '', - f_pth: @md.file.output_path.sisupod.dir + '/' \ - + @opt.fno \ - + '.txz', - p_pth: @md.file.output_path.sisupod.dir + '/' \ - + @opt.fno + '/' \ - + 'sisupod/', - fn: @fn[:sisupod], - } - end - def ruby_profile - { - cmd: '--profile (ruby profiler)', - fn: 'profile', - } - end - def qrcode - { - cmd: '--qrcode', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.manifest.dir + '/' \ - + @md.file.base_filename.manifest, - fn: @fn[:qrcode], - } - end - def manifest - { - cmd: '--manifest', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.manifest.dir + '/' \ - + @md.file.base_filename.manifest, - fn: @fn[:manifest], - } - end - def sitemap - { - cmd: '--sitemap', - viewer: @prog.web_browser, - f_pth: @md.file.output_path.sitemaps.dir + '/' \ - + @md.file.base_filename.sitemap, - fn: @fn[:sitemap], - } - end - self - end - def urls_select - unless @opt.act[:quiet][:set]==:on - i1='[' + @opt.f_pth[:lng_is] + ']' - i2='file://' \ - + @md.file.output_path.manifest.dir + '/' \ - + @md.file.base_filename.manifest - (@opt.act[:verbose][:set]==:on \ - || @opt.act[:verbose_plus][:set]==:on \ - || @opt.act[:maintenance][:set]==:on) \ - ? SiSU_Screen::Ansi.new( - @opt.act[:color_state][:set], - 'URLs' - ).green_title_hi - : SiSU_Screen::Ansi.new( - @opt.act[:color_state][:set], - 'URL (output manifest)', - i1, i2 - ).grey_title_grey_blue - if (@opt.act[:verbose][:set]==:on \ - || @opt.act[:verbose_plus][:set]==:on \ - || @opt.act[:maintenance][:set]==:on) - SiSU_Screen::Ansi.new( - @opt.act[:color_state][:set], - i1, i2, - ).flow - end - end - m=/.+\/(?:src\/)?(\S+)/im - @pwd_stub="#{@env.url.output_tell}"[m,1] - unless @opt.act[:quiet][:set]==:on - if @opt.fns =~ @m_regular - if (@opt.act[:verbose][:set]==:on \ - || @opt.act[:verbose_plus][:set]==:on \ - || @opt.act[:maintenance][:set]==:on) - if @opt.act[:txt][:set]==:on - show.report(report_info.text.txt) - #show.maintenance(report_info.text.txt) - end - if @opt.act[:txt_textile][:set]==:on - show.report(report_info.text.textile) - #show.maintenance(report_info.text.textile) - end - if @opt.act[:txt_asciidoc][:set]==:on - show.report(report_info.text.asciidoc) - #show.maintenance(report_info.text.asciidoc) - end - if @opt.act[:txt_markdown][:set]==:on - show.report(report_info.text.markdown) - #show.maintenance(report_info.text.markdown) - end - if @opt.act[:txt_rst][:set]==:on - show.report(report_info.text.rst) - #show.maintenance(report_info.text.rst) - end - if @opt.act[:txt_orgmode][:set]==:on - show.report(report_info.text.orgmode) - #show.maintenance(report_info.text.orgmode) - end - if (@opt.act[:html][:set]==:on \ - or @opt.act[:html_scroll][:set]==:on \ - or @opt.act[:html_seg][:set]==:on) - if @opt.act[:html_scroll][:set]==:on - show.report(report_info.html.scroll) - show.maintenance(report_info.html.scroll) - end - if @opt.act[:html_seg][:set]==:on - show.report(report_info.html.seg) - show.maintenance(report_info.html.seg) - end - end - if @opt.act[:concordance][:set]==:on - show.report(report_info.html.concordance) - #show.maintenance(report_info.html.concordance) - end - if @opt.act[:xhtml][:set]==:on - show.report(report_info.xhtml.xhtml) - show.maintenance(report_info.xhtml.xhtml) - end - if @opt.act[:epub][:set]==:on - show.report(report_info.xhtml.epub) - show.maintenance(report_info.xhtml.epub) - end - if @opt.act[:odt][:set]==:on - show.report(report_info.xml.odt) - show.maintenance(report_info.xml.odt) - end - if @opt.act[:xml_dom][:set]==:on - show.report(report_info.xml.dom) - #show.maintenance(report_info.xml.dom) - end - if @opt.act[:xml_sax][:set]==:on - show.report(report_info.xml.sax) - #show.maintenance(report_info.xml.sax) - end - if @opt.act[:xml_docbook_book][:set]==:on - show.report(report_info.xml.docbook) - #show.maintenance(report_info.xml.docbook) - end - if @opt.act[:xml_fictionbook][:set]==:on - show.report(report_info.xml.fictionbook) - #show.maintenance(report_info.xml.fictionbook) - end - if @opt.act[:xml_scaffold_structure_sisu][:set]==:on - show.report(report_info.xml.scaffold_structure_sisu) - #show.maintenance(report_info.xml.scaffold_structure_sisu) - end - if @opt.act[:xml_scaffold_structure_collapse][:set]==:on - show.report(report_info.xml.scaffold_collapse) - #show.maintenance(report_info.xml.scaffold_collapse) - end - if (@opt.act[:pdf][:set]==:on \ - or @opt.act[:pdf_p][:set]==:on \ - or @opt.act[:pdf_l][:set]==:on) - if @opt.act[:pdf_p][:set]==:on - show.report(report_info.pdf.portrait) - show.maintenance(report_info.pdf.portrait) - end - if @opt.act[:pdf_l][:set]==:on - show.report(report_info.pdf.landscape) - show.maintenance(report_info.pdf.landscape) - end - end - if @opt.act[:psql][:set]==:on - show.report(report_info.db.psql) - show.maintenance(report_info.db.psql) - end - if @opt.act[:sqlite_discrete][:set]==:on - show.report(report_info.db.sqlite_discrete) - show.maintenance(report_info.db.sqlite_discrete) - end - if @opt.act[:sqlite][:set]==:on - show.report(report_info.db.sqlite) - show.maintenance(report_info.db.sqlite) - end - if @opt.act[:texinfo][:set]==:on - show.report(report_info.texinfo) - #show.maintenance(report_info.texinfo) - end - if @opt.act[:manpage][:set]==:on - show.report(report_info.manpage) - #show.maintenance(report_info.manpage) - end - if @opt.act[:hash_digests][:set]==:on - show.report(report_info.hash_digests) - #show.maintenance(report_info.hash_digests) - end - if @opt.act[:po4a_shelf][:set]==:on - #if @opt.fns =~/\S+?~\S{2}(?:_\S{2})?\.ss[mt]/ - #else - #end - end - if @opt.act[:share_source][:set]==:on - show.report(report_info.source) - show.maintenance(report_info.source) - end - if @opt.act[:sisupod][:set]==:on - show.report(report_info.sisupod) - show.maintenance(report_info.sisupod) - end - if @opt.act[:qrcode][:set]==:on - show.report(report_info.qrcode) - #show.maintenance(report_info.qrcode) - end - if @opt.act[:manifest][:set]==:on - show.report(report_info.manifest) - show.maintenance(report_info.manifest) - end - end - end - end - end - def urls_all - i="(output manifest) [#{@opt.f_pth[:lng_is]}] #{@env.url.output_tell}/#{@fnb}/sisu_manifest.html" - SiSU_Screen::Ansi.new( - @opt.act[:color_state][:set], - 'URLs', - i - ).grey_title_hi - end - end -end -__END__ |