aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3dv/dal_expand_insertions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3dv/dal_expand_insertions.rb')
-rw-r--r--lib/sisu/v3dv/dal_expand_insertions.rb379
1 files changed, 0 insertions, 379 deletions
diff --git a/lib/sisu/v3dv/dal_expand_insertions.rb b/lib/sisu/v3dv/dal_expand_insertions.rb
deleted file mode 100644
index ef25fcdd..00000000
--- a/lib/sisu/v3dv/dal_expand_insertions.rb
+++ /dev/null
@@ -1,379 +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/copyleft/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: system environment, resource control and configuration details
-
-=end
-module SiSU_DAL_Insertions
- class Insertions
- def initialize(md,data)
- @md,@data=md,data
- end
- def output_filetypes_in_cmd(cmd_shortcut,lnk=nil) #make list of file types in shortcut command (as configured), e.g. when sisu -3 is used
- cf_defaults=SiSU_Env::InfoProcessingFlag.new
- cmd_list=case cmd_shortcut.inspect
- when /0/; cf_defaults.cf_0
- when /1/; cf_defaults.cf_1
- when /2/; cf_defaults.cf_2
- when /3/; cf_defaults.cf_3
- when /4/; cf_defaults.cf_4
- when /5/; cf_defaults.cf_5
- end
- file_type_names={}
- file_type_names[:gen],file_type_names[:src]=[],[]
- file_type_names[:gen] <<= if cmd_list =~ /y/; "~^ { document manifest }#{lnk[:manifest]}"
- end
- file_type_names[:gen] <<= if cmd_list =~ /h/; [" { html, segmented text }#{lnk[:html_toc]}"," { html, scroll, document in one }#{lnk[:html_doc]}"]
- end
- file_type_names[:gen] <<= if cmd_list =~ /e/; [" { epub }#{lnk[:epub]}"]
- end
- file_type_names[:gen] <<= if cmd_list =~ /p/; [" { pdf, landscape }#{lnk[:pdf_landscape]}"," { pdf, portrait }#{lnk[:pdf_portrait]}"]
- end
- file_type_names[:gen] <<= if cmd_list =~ /o/; " { odf:odt, open document text }#{lnk[:odt]}"
- end
- file_type_names[:gen] <<= if cmd_list =~ /b/; " { xhtml scroll }#{lnk[:xhtml]}"
- end
- file_type_names[:gen] <<= if cmd_list =~ /x/; " { xml, sax }#{lnk[:xml_sax]}"
- end
- file_type_names[:gen] <<= if cmd_list =~ /X/; " { xml, dom }#{lnk[:xml_dom]}"
- end
- file_type_names[:gen] <<= if cmd_list =~ /a/; " { plain text utf-8 }#{lnk[:txt]}"
- end
- file_type_names[:gen] <<= if cmd_list =~ /g/; 'wiki.txt'
- end
- file_type_names[:gen] <<= if cmd_list =~ /w/; " { concordance }#{lnk[:html_concordance]}"
- end
- file_type_names[:gen] <<= if cmd_list =~ /N/; " { dcc, document content certificate (digests) }#{lnk[:digest]}"
- end
- file_type_names[:src] <<= if source and cmd_shortcut =~ /s/; " { markup source text }#{lnk[:source]}"
- end
- file_type_names[:src] <<= if cmd_shortcut =~ /S/; " { markup source (zipped) pod }#{lnk[:sisupod]}"
- end
- file_type_names[:gen]=file_type_names[:gen].flatten
- file_type_names[:src]=file_type_names[:src].flatten
- file_type_names
- end
- def by_language(linked_doc,lng,src=nil)
- @linked_doc,@lng,@src=linked_doc,lng,src
- @base_path="#{@md.file.output_path.base.url}/#{@lng}"
- def manifest
- "#{@base_path}/manifest/#{@linked_doc}.html"
- end
- def html_toc
- "#{@base_path}/html/#{@linked_doc}.html"
- end
- def html_doc
- "#{@base_path}/html/#{@linked_doc}.html"
- end
- def html_concordance
- "#{@base_path}/html/#{@linked_doc}.html"
- end
- def epub
- "#{@base_path}/epub/#{@linked_doc}.epub"
- end
- def pdf_landscape
- "#{@base_path}/pdf/#{@linked_doc}.pdf"
- end
- def pdf_portrait
- "#{@base_path}/pdf/#{@linked_doc}.pdf"
- end
- def odt
- "#{@base_path}/odt/#{@linked_doc}.odt"
- end
- def xhtml
- "#{@base_path}/xhtml/#{@linked_doc}.xhtml"
- end
- def xml_sax
- "#{@base_path}/xml/#{@linked_doc}.xml"
- end
- def xml_dom
- "#{@base_path}/xml/#{@linked_doc}.xml"
- end
- def txt
- "#{@base_path}/txt/#{@linked_doc}.txt"
- end
- def digest
- "#{@base_path}/digest/#{@linked_doc}.txt"
- end
- def source
- "#{@base_path}/src/#{@src}"
- end
- def sisupod
- "#{@base_path}/pod/#{@src}.zip"
- end
- self
- end
- def by_filetype(linked_doc,lng,src=nil)
- @linked_doc,@lng,@src=linked_doc,lng,src
- @base_path="#{@md.file.output_path.base.url}"
- def manifest
- "#{@base_path}/manifest/#{@linked_doc}.#{@lng}.html"
- end
- def html_toc
- "#{@base_path}/html/#{@linked_doc}.#{@lng}.html"
- end
- def html_doc
- "#{@base_path}/html/#{@linked_doc}.#{@lng}.html"
- end
- def html_concordance
- "#{@base_path}/html/#{@linked_doc}.#{@lng}.html"
- end
- def epub
- "#{@base_path}/epub/#{@linked_doc}.#{@lng}.epub"
- end
- def pdf_landscape
- "#{@base_path}/pdf/#{@linked_doc}.#{@lng}.pdf"
- end
- def pdf_portrait
- "#{@base_path}/pdf/#{@linked_doc}.#{@lng}.pdf"
- end
- def odt
- "#{@base_path}/odt/#{@linked_doc}.#{@lng}.odt"
- end
- def xhtml
- "#{@base_path}/xhtml/#{@linked_doc}.#{@lng}.xhtml"
- end
- def xml_sax
- "#{@base_path}/xml_sax/#{@linked_doc}.#{@lng}.xml"
- end
- def xml_dom
- "#{@base_path}/xml_dom/#{@linked_doc}.#{@lng}.xml"
- end
- def txt
- "#{@base_path}/txt/#{@linked_doc}.#{@lng}.txt"
- end
- def digest
- "#{@base_path}/digest/#{@linked_doc}.#{@lng}.txt"
- end
- def source
- "#{@base_path}/src/#{@src}"
- end
- def sisupod
- "#{@base_path}/pod/#{@src}.zip"
- end
- self
- end
- def by_filename(linked_doc,lng,src=nil)
- @linked_doc,@lng,@src=linked_doc,lng,src
- @base_path="#{@md.file.output_path.base.url}/#{@linked_doc}"
- def manifest
- "#{@base_path}/sisu_manifest.#{@lng}.html"
- end
- def html_toc
- "#{@base_path}/toc.#{@lng}.html"
- end
- def html_doc
- "#{@base_path}/scroll.#{@lng}.html"
- end
- def html_concordance
- "#{@base_path}/concordance.#{@lng}.html"
- end
- def epub
- "#{@base_path}/epub/#{@linked_doc}.#{@lng}.epub"
- end
- def pdf_landscape
- "#{@base_path}/landscape.#{@lng}.a4.pdf"
- end
- def pdf_portrait
- "#{@base_path}/portrait.#{@lng}.a4.pdf"
- end
- def odt
- "#{@base_path}/opendocument.#{@lng}.odt"
- end
- def xhtml
- "#{@base_path}/scroll.#{@lng}.xhtml"
- end
- def xml_sax
- "#{@base_path}/scroll.#{@lng}.sax.xml"
- end
- def xml_dom
- "#{@base_path}/scroll.#{@lng}.dom.xml"
- end
- def txt
- "#{@base_path}/plain.#{@lng}.txt"
- end
- def digest
- "#{@base_path}/digest.#{@lng}.txt"
- end
- def source
- "#{@base_path}/#{@src}"
- end
- def sisupod
- "#{@base_path}/#{@src}.zip"
- end
- self
- end
- def expand_insertions?
- data=@data
- tuned_file,tuned_file_tmp=[],[]
- codeblock_=false
- data.each do |para|
- codeblock_=if para =~/^code\{/
- true
- elsif para =~/^\}code/
- false
- else codeblock_
- end
- if para !~/^%+\s/ \
- and not codeblock_ \
- and para =~/\{(?:~\^\s+)?(.+?)\s\[(?:\d(?:[sS]*))\]\}(?:\.\.\/\S+?\/|\S+?\.ss[tm]\b)/
- txt,cmd,source,linked_doc,note,manifest=nil,nil,nil,nil,nil,nil
- @u=SiSU_Env::InfoEnv.new.url
- pre=txt=cmd=source=linked_doc=note=''
- if defined? @u.remote
- if /(?<pre>.+?)\{(?<txt>.+?)\s\[(?<cmd>\d[sS]*)\]\}(?<source>(?<linked_doc>\S+?)\.ss[tm]\b)(?<note>.*)/m =~ para
- pre=pre.strip
- elsif /\{(?<txt>.+?)\s\[(?<cmd>\d[sS]*)\]\}(?<source>(?<linked_doc>\S+?)\.ss[tm]\b)(?<note>.*)/m =~ para
- end
- if linked_doc =~ /(\S+?)\/(\S+)/
- linked_doc,linked_doc_lang=$1,$2
- else
- linked_doc,linked_doc_lang=linked_doc,@md.opt.lng_base
- end
- else
- puts "error, does currently support relative paths (reltive paths were removed, as had problems for citation, and was not suited to all output types should possibly reconsider) #{__FILE__} #{__LINE__}"
- if /\{(?:~\^\s+)?(?<txt>.+?)\s\[(?<cmd>\d[sS]*)\]\}\.\.\/(?<linked_doc>\S+?)\/(?<note>\s+#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]})?/ =~ para
- end
- end
- lnk={}
- case @md.opt.dir_structure_by
- when :language
- lnk={
- manifest: by_language(linked_doc,linked_doc_lang).manifest,
- html_toc: by_language(linked_doc,linked_doc_lang).html_toc,
- html_doc: by_language(linked_doc,linked_doc_lang).html_doc,
- epub: by_language(linked_doc,linked_doc_lang).epub,
- pdf_landscape: by_language(linked_doc,linked_doc_lang).pdf_landscape,
- pdf_portrait: by_language(linked_doc,linked_doc_lang).pdf_landscape,
- odt: by_language(linked_doc,linked_doc_lang).odt,
- xhtml: by_language(linked_doc,linked_doc_lang).xhtml,
- xml_sax: by_language(linked_doc,linked_doc_lang).xml_sax,
- xml_dom: by_language(linked_doc,linked_doc_lang).xml_dom,
- txt: by_language(linked_doc,linked_doc_lang).txt,
- html_concordance: by_language(linked_doc,linked_doc_lang).html_concordance,
- digest: by_language(linked_doc,linked_doc_lang).digest,
- sisupod: by_language(linked_doc,linked_doc_lang,source).sisupod,
- source: by_language(linked_doc,linked_doc_lang,source).source,
- }
- when :filetype
- lnk={
- manifest: by_filetype(linked_doc,linked_doc_lang).manifest,
- html_toc: by_filetype(linked_doc,linked_doc_lang).html_toc,
- html_doc: by_filetype(linked_doc,linked_doc_lang).html_doc,
- epub: by_filetype(linked_doc,linked_doc_lang).epub,
- pdf_landscape: by_filetype(linked_doc,linked_doc_lang).pdf_landscape,
- pdf_portrait: by_filetype(linked_doc,linked_doc_lang).pdf_landscape,
- odt: by_filetype(linked_doc,linked_doc_lang).odt,
- xhtml: by_filetype(linked_doc,linked_doc_lang).xhtml,
- xml_sax: by_filetype(linked_doc,linked_doc_lang).xml_sax,
- xml_dom: by_filetype(linked_doc,linked_doc_lang).xml_dom,
- txt: by_filetype(linked_doc,linked_doc_lang).txt,
- html_concordance: by_filetype(linked_doc,linked_doc_lang).html_concordance,
- digest: by_filetype(linked_doc,linked_doc_lang).digest,
- sisupod: by_filetype(linked_doc,linked_doc_lang,source).sisupod,
- source: by_filetype(linked_doc,linked_doc_lang,source).source,
- }
- else
- lnk={
- manifest: by_filename(linked_doc,linked_doc_lang).manifest,
- html_toc: by_filename(linked_doc,linked_doc_lang).html_toc,
- html_doc: by_filename(linked_doc,linked_doc_lang).html_doc,
- epub: by_filename(linked_doc,linked_doc_lang).epub,
- pdf_landscape: by_filename(linked_doc,linked_doc_lang).pdf_landscape,
- pdf_portrait: by_filename(linked_doc,linked_doc_lang).pdf_landscape,
- odt: by_filename(linked_doc,linked_doc_lang).odt,
- xhtml: by_filename(linked_doc,linked_doc_lang).xhtml,
- xml_sax: by_filename(linked_doc,linked_doc_lang).xml_sax,
- xml_dom: by_filename(linked_doc,linked_doc_lang).xml_dom,
- txt: by_filename(linked_doc,linked_doc_lang).txt,
- html_concordance: by_filename(linked_doc,linked_doc_lang).html_concordance,
- digest: by_filename(linked_doc,linked_doc_lang).digest,
- sisupod: by_filename(linked_doc,linked_doc_lang,source).sisupod,
- source: by_filename(linked_doc,linked_doc_lang,source).source,
- }
- end
- linked_title="#{pre}{#{txt} }#{lnk[:manifest]}#{note}\n\n"
- tuned_file_tmp << linked_title
- output_filetypes=output_filetypes_in_cmd(cmd,lnk)
- output_filetypes[:gen].each do |o_f|
- describe = o_f
- if describe
- tuned_file_tmp << if @u.remote #to double space <:br> at beginning of entry
- "#{Mx[:nbsp]*4} #{describe} "
- else # remove ...
- "[provide document placement host location]"
- end
- end
- end
- output_filetypes[:src].each do |o_f|
- describe = o_f
- if describe
- tuned_file_tmp << if @u.remote
- "#{Mx[:nbsp]*4} #{describe} "
- else
- "[provide document placement host location]"
- end
- end
- end
- tuned_file << 'group{' << tuned_file_tmp.join("\n") << '}group'
- tuned_file_tmp=[]
- else tuned_file << para
- end
- end
- tuned_file
- end
- end
-end
-__END__