aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2008-08-23 22:12:15 -0400
committerRalph Amissah <ralph@amissah.com>2008-08-23 22:12:15 -0400
commit2a93f7b9fa048ffba2692cf53c407a943f54505c (patch)
treeb2e75ed336603dac103a49d77ca37b230932d013
parentpass Hash to Format classes; some match tuning in dal (diff)
minitoc added to concordance and manifest; dal, precision in endnote matching
-rw-r--r--lib/sisu/v0/concordance.rb19
-rw-r--r--lib/sisu/v0/dal.rb12
-rw-r--r--lib/sisu/v0/dal_syntax.rb11
-rw-r--r--lib/sisu/v0/html.rb4
-rw-r--r--lib/sisu/v0/manifest.rb21
-rw-r--r--lib/sisu/v0/odf.rb18
-rw-r--r--lib/sisu/v0/param.rb2
-rw-r--r--lib/sisu/v0/plaintext.rb22
-rw-r--r--lib/sisu/v0/plaintext_format.rb2
9 files changed, 65 insertions, 46 deletions
diff --git a/lib/sisu/v0/concordance.rb b/lib/sisu/v0/concordance.rb
index 8fe8c4ed..485f3df5 100644
--- a/lib/sisu/v0/concordance.rb
+++ b/lib/sisu/v0/concordance.rb
@@ -68,6 +68,7 @@ module SiSU_Concordance
include SiSU_Viz
require "#{SiSU_lib}/html_format"
include SiSU_HTML_Format
+ require "#{SiSU_lib}/html_minitoc"
class Source
def initialize(opt)
@opt=opt
@@ -105,22 +106,23 @@ module SiSU_Concordance
#revisit, both requires (html & shared_xml) needed for stand alone operation (sisu -w [filename])
require "#{SiSU_lib}/shared_xml"
require "#{SiSU_lib}/html"
- def initialize(lnk,env,md)
- @env,@md=env,md
+ def initialize(particulars)
+ @particulars,@md=particulars,particulars.md
+ @data=SiSU_HTML::Source::Html_environment.new(particulars).tuned_file_instructions
@vz=SiSU_Env::Get_init.instance.skin
- file_array=@env.read_source_file(@md.fns)
txt_path=%{#{@md.dir_out}}
SiSU_Env::Info_skin.new(@md).select
@md_title=@md.title
@fnb=@md.fnb
@lex_button=%{<a href="http://www.jus.uio.no/sisu/" target="_top"><img border="0" height="44" width="144" valign="center" src="../_sisu/image/sisu.png" alt="SiSU home --&gt;"></a>}
- @lnk=lnk
@doc_details =<<WOK
<table summary="links to text related to this rudimentary index" width="96%" border="0" bgcolor="white" cellpadding="0" align="center"><tr><td width="2%" align="right">&nbsp;</td><td width="94%" valign="top" align="justify"><h1 class="small"><a href="#{@md.fn[:toc]}" #{@vz.js_toc}><b>#{@md.dc_title}</b></a></h1><p class="bold">#{@md.dc_creator}</p></td></tr></table>
WOK
end
def create
head_banner=SiSU_HTML_Format::Head_toc.new(@md)
+minitoc=SiSU_HTML_minitoc::Toc_mini.new(@md,@data).songsheet
+toc='<div class="toc">' + minitoc.to_s + '</div>'
<<WOK
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
@@ -140,6 +142,8 @@ WOK
<body>
#{@vz.js_top}
#{head_banner.concordance_navigation_band('pdf')}
+ #{toc}
+<div class="content">
#@doc_details
<p>Word index links are to html versions of the text the segmented version followed by the scroll (single document) version.<br />[For segmented text references [T1], [T2] or [T3] appearing without a link, indicates that the word appears in a title (or subtitle) of the text (that is identifiable by the appended object citation number).]</p>
<p>(The word listing/index is Case sensitive: Capitalized words appear before lower case)</p>
@@ -148,7 +152,7 @@ WOK
[if number of occurences exceed number of references - word occurs more than once in at least one reference. Footnote/endnotes are either assigned to the paragraph from which they are referenced or ignored, so it is relevant to check the footnotes referenced from within a paragraph as well.]
</p>
<p>
- (After the page is fully loaded) you can jump directly to a word by appending a hash (#) and the word to the url for this text, (do not forget that words are case sensitive, and may be listed twice (starting with and without an upper case letter)), #your_word # [&nbsp;http://[web host]/#@fnb/concordance.html#your_word&nbsp;]
+ (After the page is fully loaded) you can jump directly to a word by appending a hash (#) and the word to the url for this text, (do not forget that words are case sensitive, and may be listed twice (starting with and without an upper case letter)), #your_word # [&nbsp;http://[web host]/#{@fnb}/concordance.html#your_word&nbsp;]
</p>
WOK
end
@@ -177,6 +181,7 @@ WOK
include SiSU_Screen
@@dp=nil
def initialize(particulars)
+ @particulars=particulars
begin
@vz=SiSU_Env::Get_init.instance.skin
@env,@md,@dal_array=particulars.env,particulars.md,particulars.dal_array
@@ -308,7 +313,7 @@ WOK
end
scr='<font size="1" color="#777777" face=times new roman><img border="0" height="15" width="15" src="../_sisu/image/b_doc.png" alt="Full Text">&nbsp;scroll:&nbsp;</font><font size="1" color="#222222" face=times new roman>doc#&nbsp;</font> '
seg=''
- @file_index_all << SiSU_Concordance::Source::Doc_title.new('toc',@env,@md).create
+ @file_index_all << SiSU_Concordance::Source::Doc_title.new(@particulars).create
for word in @freq.keys.sort! {|a,b| a.downcase<=>b.downcase}
keyword=SiSU_Concordance::Source::Word.new(word,@freq[word]).html
if keyword !~ @rxp_excluded0
@@ -321,7 +326,7 @@ WOK
# special cases endnotes and header levels 1 - 3
end
credits=@vz.credits_sisu
- @file_index_all << "#{credits}</body>\n</html>" # footer
+ @file_index_all << %{</div><div class="content">#{credits}<div></body>\n</html>} # footer
tell=SiSU_Screen::Ansi.new(@md.cmd,@md.fns,"#{@env.path.output_tell}/#{@md.fn[:concordance]}")
tell.flow if @md.cmd =~/[MV]/
end
diff --git a/lib/sisu/v0/dal.rb b/lib/sisu/v0/dal.rb
index 3187a538..a8bf1cd0 100644
--- a/lib/sisu/v0/dal.rb
+++ b/lib/sisu/v0/dal.rb
@@ -237,7 +237,7 @@ module SiSU_DAL
para.gsub!(/<~#>|~#\s*/,"#{Mx[:fa_o]}~##{Mx[:fa_c]}")
para.gsub!(/-#\s*/,"#{Mx[:fa_o]}-##{Mx[:fa_c]}#{Mx[:fa_o]}~##{Mx[:fa_c]}")
#para.gsub!(/(#\{{3} arch-tag:|0\{{3}~cvs)\s+/, "0{{~rcs ") #KEEP ... ENABLE WIDER USE OF REVISION CONTROL
- para.gsub!(/(#{Mx[:en_a_o]} )\s+/,'\1'); para.gsub!(/(~\{ )\s+/,'\1')
+ para.gsub!(/(#{Mx[:en_a_o]})\s*/,'\1 '); para.gsub!(/(~\{\s*)\s+/,'\1 ')
para.gsub!(/ \/\//,"#{Mx[:br_line]}") #added 2004w29
para.gsub!(/<br>/,"#{Mx[:br_line]}") #needed by xml, xhtml etc.
#para.gsub!(/<p>/,'<p />') #consider
@@ -852,7 +852,7 @@ module SiSU_DAL
unless para =~/^#{Mx[:gr_o]}code#{Mx[:gr_c]}/
case para
# auto-numbered endnotes <!e!> <!e_!> -->
- when /#{Mx[:en_a_o]}\s+.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+]\s+.+?#{Mx[:en_b_c]}/
+ when /#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+].+?#{Mx[:en_b_c]}/
para.gsub!(/\s*(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/,' \1') # required 2003w31
word_mode=para.scan(/#{Mx[:gr_o]}group#{Mx[:gr_c]}\n|\n#{Mx[:gr_o]}group-end#{Mx[:gr_c]}|\S+/m)
word_mode=endnote_call_number(word_mode)
@@ -876,15 +876,15 @@ module SiSU_DAL
case word
when /#{Mx[:en_a_o]}/
unless word =~/#{Mx[:en_a_o]}[*+]+/
- word.gsub!(/#{Mx[:en_a_o]}/,"#{Mx[:en_a_o]}#{@@endnote_counter} ")
+ word.gsub!(/#{Mx[:en_a_o]}/,"#{Mx[:en_a_o]}#{@@endnote_counter}")
@@endnote_counter+=1
end
when /#{Mx[:en_b_o]}/
if word =~/#{Mx[:en_b_o]}[+]/
- word.gsub!(/#{Mx[:en_b_o]}[+]/,"#{Mx[:en_b_o]}\+#{@@endnote_counter_dag} ")
+ word.gsub!(/#{Mx[:en_b_o]}[+]/,"#{Mx[:en_b_o]}\+#{@@endnote_counter_dag}")
@@endnote_counter_dag+=1
else
- word.gsub!(/#{Mx[:en_b_o]}[*]?/,"#{Mx[:en_b_o]}\*#{@@endnote_counter_asterisk} ")
+ word.gsub!(/#{Mx[:en_b_o]}[*]?/,"#{Mx[:en_b_o]}\*#{@@endnote_counter_asterisk}")
@@endnote_counter_asterisk+=1
end
when /~\^|<:e>/
@@ -1127,7 +1127,7 @@ module SiSU_DAL
end
def strip_clean_extra_spaces(s) # dal output tuned
s=s.dup
- s=s.gsub(/[ ]+([,.;:?](?:$|\s))/,'\1')
+ s=s.gsub(/[ ]+([,.;:?](?:$|\s))/,'\1') unless s =~/#{Mx[:en_a_o]}|#{Mx[:en_b_o]}/
s=s.gsub(/ [ ]+/,' ')
s=s.gsub(/^ [ ]+/,'')
s=s.gsub(/ [ ]+$/,'')
diff --git a/lib/sisu/v0/dal_syntax.rb b/lib/sisu/v0/dal_syntax.rb
index 98c8cf51..8e439870 100644
--- a/lib/sisu/v0/dal_syntax.rb
+++ b/lib/sisu/v0/dal_syntax.rb
@@ -238,8 +238,9 @@ module SiSU_Syntax
line=line_array.join(' ')
line=line.strip
end
- line.gsub!(/~\{(.+?)\}~/m,"#{Mx[:en_a_o]}\\1#{Mx[:en_a_c]}")
- line.gsub!(/~\[(.+?)\]~/m,"#{Mx[:en_b_o]}\\1#{Mx[:en_b_c]}")
+ line.gsub!(/~\{(.+?)\}~/m,Mx[:en_a_o] + '\1' + Mx[:en_a_c])
+ line.gsub!(/~\[([^*+].+?)\]~/m,Mx[:en_b_o] + '* \1' + Mx[:en_b_c]) #default if markup does not specify
+ line.gsub!(/~\[(.+?)\]~/m,Mx[:en_b_o] + '\1' + Mx[:en_b_c])
if @md.subtitle and not @md.subtitle.empty?
if line =~/(?:by\s+)?(?:@creator|@author)/
line.gsub!(/^(#{Mx[:lv_o]}1:\??#{Mx[:lv_c]})\s*@title\s+(?:(by\s+)?(?:@creator|@author))\s*$/,"\\1#{@md.title} - #{@md.subtitle},<br />\\2#{@md.dc_creator}")
@@ -286,11 +287,11 @@ module SiSU_Syntax
line.gsub!(/(?:<:?br>|<br \/>)/,"#{Mx[:br_line]}") #indent used in endnotes, not implemented, replace when ready with: line.gsub!(/(?:<br>|<br \/>)\s*_([12])\s+/,'<br><:i\1> ')
if line=~/(^|#{Mx[:gl_c]}| )\{~\^ (.+?)\s*\}((?:https?|file|ftp):\S+)\s*#{Mx[:en_a_o]}(.+?)#{Mx[:en_a_c]}/m
line.gsub!(/(^|#{Mx[:gl_c]}| )\{~\^ ([^}]+?)\s*\}((?:https?|file|ftp):\S+)\s*#{Mx[:en_a_o]}(.+?)#{Mx[:en_a_c]}/m,
- "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3 #{Mx[:en_a_o]} \\3 \\4 #{Mx[:en_a_c]}") # watch
+ "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3 #{Mx[:en_a_o]}\\3 \\4#{Mx[:en_a_c]}") # watch
end
if line=~/(^|#{Mx[:gl_c]}| )\{~\^ (.+?)\s*\}((?:https?|file|ftp):\S+?)([;,.]?(?=\s|$))/m
line.gsub!(/(^|#{Mx[:gl_c]}| )\{~\^ (.+?)\s*\}((?:https?|file|ftp):\S+?)([;,.]?(?=\s|$))/m,
- "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4 #{Mx[:en_a_o]} \\3 #{Mx[:en_a_c]} ")
+ "\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4 #{Mx[:en_a_o]}\\3#{Mx[:en_a_c]} ")
#text url endnote url shortcut {~^ [text] }http://url is { [text] }http://url #{Mx[:en_a_o]} http://url #{Mx[:en_a_c]} [plus adjustment for commas]
#means for this class, non-object, un-numbered ~# will not work # shortcut should not be used in conjunction with rebgular matches #reversed order, and addition of no-tilde..
end
@@ -322,7 +323,7 @@ module SiSU_Syntax
line.gsub!(/(^|#{Mx[:gl_c]}|\s+|['"]|&nbsp;|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)_(\S+?)_([.,!'")]?(?:\s|$))/,"\\1#{Mx[:fa_underscore_o]}\\2#{Mx[:fa_underscore_c]}\\3") #underscore single word, watch (made more complicated by url decoration escape tag (_url))
line.gsub!(/(^|#{Mx[:gl_c]}|\s+)-([^{]\S+?)-( |$)/,"\\1#{Mx[:fa_strike_o]}\\2#{Mx[:fa_strike_c]}\\3") #underscore single word, watch
line.gsub!(/(^|#{Mx[:gl_c]}|\s+|['"]|&nbsp;|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>|\d+)\^(\S+?)\^/,"\\1#{Mx[:fa_superscript_o]}\\2#{Mx[:fa_superscript_c]}") #superscript single word, watch digit added
- line.gsub!(/<[:e]\s+(.+?)!?>/,"#{Mx[:en_a_o]} \\1 #{Mx[:en_a_c]}") #not tested
+ line.gsub!(/<[:e]\s+(.+?)!?>/,"#{Mx[:en_a_o]}\\1#{Mx[:en_a_c]}") #not tested
line.gsub!(/^\s*_\*\s*/,"#{Mx[:gl_bullet]}") #bullets, shortcut
#line.gsub!(/^\s*_(\*+)\s*/,"#{Mx[:gl_bullet]}") #bullets, shortcut
line.gsub!(/^\s*_([1-9])\*\s*/,"#{Mx[:pa_o]}:i\\1#{Mx[:pa_c]}#{Mx[:gl_bullet]}") #bullets, shortcut
diff --git a/lib/sisu/v0/html.rb b/lib/sisu/v0/html.rb
index 2dc75d60..e73157bd 100644
--- a/lib/sisu/v0/html.rb
+++ b/lib/sisu/v0/html.rb
@@ -155,7 +155,7 @@ module SiSU_HTML
def tuned_file_instructions
@tell=SiSU_Screen::Ansi.new(@md.cmd)
if @md
- @md.sfx=''
+ #@md.sfx=''
@md.sfx='' if @md.cmd =~/z/
if @md.cmd =~/h/ \
or @md.fns =~/\~[a-z]{2,3}\.s?/ #multilingual document protection is a bit arbitrary, (needed by existing server configuration), add configuration overide...
@@ -275,7 +275,7 @@ module SiSU_HTML
when /^\s*#{Mx[:lv_o]}4:\S+/; Toc.new(para_toc,@md).level_4
when /^\s*#{Mx[:lv_o]}5:\S*/; Toc.new(para_toc,@md).level_5
when /^\s*#{Mx[:lv_o]}6:\S*/; Toc.new(para_toc,@md).level_6
- when /^\s*4~!/; Toc.new(para_toc).level_crosslink
+ when /^\s*4~!/; Toc.new(para_toc).level_crosslink
else
end
if @@firstseg.nil? \
diff --git a/lib/sisu/v0/manifest.rb b/lib/sisu/v0/manifest.rb
index 6bdfdae4..104d3fc9 100644
--- a/lib/sisu/v0/manifest.rb
+++ b/lib/sisu/v0/manifest.rb
@@ -60,13 +60,21 @@
=end
module SiSU_Manifest
require "#{SiSU_lib}/sysenv"
- require "#{SiSU_lib}/i18n"
include SiSU_Env
+ require "#{SiSU_lib}/i18n"
+ require "#{SiSU_lib}/particulars"
+ include SiSU_Particulars
+ require "#{SiSU_lib}/html_minitoc"
+ require "#{SiSU_lib}/html"
+ include SiSU_HTML_Format
+ require "#{SiSU_lib}/param"
include SiSU_Param
include SiSU_Viz
class Source
def initialize(opt)
@opt=opt
+ @particulars=SiSU_Particulars::Combined_singleton.instance.get_all(opt)
+ @data=SiSU_HTML::Source::Html_environment.new(@particulars).tuned_file_instructions
l=SiSU_Env::Standardise_language.new.file_to_language(@opt.fns)
@doc_language=l[:l]
end
@@ -83,16 +91,16 @@ module SiSU_Manifest
tell.green_hi_blue unless @opt.cmd =~/q/
tell=SiSU_Screen::Ansi.new(@opt.cmd,"#{browser} #{url_html}")
tell.grey_tab if @opt.cmd =~/v/i
- Output_Info.new(@md).check_output
+ Output_Info.new(@md,@data).check_output
rescue; SiSU_Errors::Info_error.new($!,$@,@opt.cmd,@opt.fns).error
ensure
end
end
private
class Output_Info <Source
- def initialize(md)
+ def initialize(md,data)
@manifest={ :txt=>[],:html=>[] }
- @md,@fns=md
+ @md,@fns,@data=md,md.fns,data
@env=SiSU_Env::Info_env.new(@md.fns)
@fnb=@md.fnb
@base_url,@base_url_src,@base_url_pod="#{@env.url.root}/#@fnb","#{@env.url.src_txt}","#{@env.url.src_pod}"
@@ -523,6 +531,8 @@ module SiSU_Manifest
end
def check_output
begin
+ minitoc=SiSU_HTML_minitoc::Toc_mini.new(@md,@data).songsheet
+ toc='<div class="toc">' + minitoc.to_s + '</div>'
id,file='',''
vz=SiSU_Env::Get_init.instance.skin
banner_table=if vz.banner_home_button_only !~ /http:\/\/www\.jus\.uio\.no\/sisu/ \
@@ -555,6 +565,8 @@ SiSU manifest: #{@md.title}
</head>
<body bgcolor="#ffffff" text="#000000" link="#003090" lang="en" xml:lang="en">
#{banner_table}
+#{toc}
+<div class="content">
<h1 class="small">#{@md.dc_title}</h1>
<p class="bold">#{@md.dc_creator}</p>
<table summary="normal text css" width="100%" border="0" bgcolor="white" cellpadding="2" align="center">
@@ -600,6 +612,7 @@ WOK
language_versions
@manifest[:html] <<<<WOK
</table>
+</div>
#{vz.credits_splash}
#{vz.credits_sisu}
</body>
diff --git a/lib/sisu/v0/odf.rb b/lib/sisu/v0/odf.rb
index d21a8628..03a94ce6 100644
--- a/lib/sisu/v0/odf.rb
+++ b/lib/sisu/v0/odf.rb
@@ -128,7 +128,7 @@ module SiSU_ODF
end
# Used for extraction of endnotes from paragraphs
def extract_endnotes(para='')
- notes=para.scan(/#{Mx[:en_a_o]}(\d+\s+.+?)\s*#{Mx[:id_o]}#@dp#{Mx[:id_c]}#{Mx[:en_a_c]}/)
+ notes=para.scan(/#{Mx[:en_a_o]}(\d+\s+.+?)\s*#{Mx[:id_o]}#@dp#{Mx[:id_c]}#{Mx[:en_a_c]}/)[1]
@n=[]
notes.each do |n| #high cost to deal with <br> appropriately within odf, consider
n=n.dup.to_s
@@ -283,24 +283,24 @@ module SiSU_ODF
end
def footnote(para)
@astx||=10000
- para.gsub!(/#{Mx[:id_o]}#@dp#{Mx[:id_c]}(#{Mx[:en_a_c]}|#{Mx[:en_a_c]})/,'\1')
+ para.gsub!(/#{Mx[:id_o]}#@dp#{Mx[:id_c]}(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/,'\1')
#para.gsub!(/<br \/><:i[1-9]>/,'<br />')
- if para =~/#{Mx[:en_a_o]}\d+\s+/
+ if para =~/#{Mx[:en_a_o]}\d+\s+/
para=para.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,'<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
end
- if para=~/#{Mx[:en_b_o]}[*+]\d+\s/ #editor notes, squre bracket series
- asterisk=para.scan(/#{Mx[:en_b_o]}([*+]\d+)\s+(.+?)#{Mx[:en_b_c]}/)
+ if para=~/#{Mx[:en_a_o]}[*+]+\s/
+ asterisk=para.scan(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/)
asterisk.each do |x|
a=x[0].gsub(/([*+])/,"\\\\\\1")
- para=para.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ para=para.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
- if para=~/#{Mx[:en_a_o]}[*+]+\s/
- asterisk=para.scan(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/)
+ if para=~/#{Mx[:en_b_o]}[*+]\d+\s/
+ asterisk=para.scan(/#{Mx[:en_b_o]}([*+]\d+)\s+(.+?)#{Mx[:en_b_c]}/)
asterisk.each do |x|
a=x[0].gsub(/([*+])/,"\\\\\\1")
- para=para.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ para=para.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
diff --git a/lib/sisu/v0/param.rb b/lib/sisu/v0/param.rb
index 43b2d862..3cfbf1e5 100644
--- a/lib/sisu/v0/param.rb
+++ b/lib/sisu/v0/param.rb
@@ -195,7 +195,7 @@ module SiSU_Param
end
@papersize=@env.papersize #'A4' #default size #get first from SiSU_Env:: # @env is probably no longer most appropriate name! as default info is more general
@sfx_src=@fns[m,2]
- @sfx=nil
+ @sfx='.html' # #@sfx=nil watch
@flag_auto_heading_num=false
if @fns =~ /(?:-|ssm\.)?sst$/ #watch
@env_out_root=@env.path.output
diff --git a/lib/sisu/v0/plaintext.rb b/lib/sisu/v0/plaintext.rb
index 132f2997..9d25ed73 100644
--- a/lib/sisu/v0/plaintext.rb
+++ b/lib/sisu/v0/plaintext.rb
@@ -66,7 +66,7 @@ module SiSU_Plaintext
include SiSU_Param
include SiSU_Viz
require "#{SiSU_lib}/plaintext_format"
- include Format
+ include SiSU_Plaintext_format
require "#{SiSU_lib}/shared_txt"
require "#{SiSU_lib}/shared_structure"
pwd=Dir.pwd
@@ -334,7 +334,7 @@ WOK
if para !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/
if para =~@regx #/.+?<~\d+;\w\d+;\w\d+>.*/ #watch change
paranum=para[@regx,3]
- @p_num=Format::Paragraph_number.new(paranum)
+ @p_num=SiSU_Plaintext_format::Paragraph_number.new(paranum)
end
@sto=SiSU_Structure::Split_text_object.new(@md,para).txt
### problem in scroll, it appears tables are getting paragraph numbers
@@ -378,10 +378,10 @@ WOK
#@plaintext[:owner_details]=formatMono.bold_para
#para=''
elsif para =~/(#{Mx[:tc_p]}|#{Mx[:gr_o]}Th?)/u #tables ! check
- elsif para =~/(.*)<!#!>(.*)/
- one,two=$1,$2
- format_text=Format_text_object.new(one,two)
- para=format_text.seg_no_paranum
+ #elsif para =~/(.*)<!#!>(.*)/
+ # one,two=$1,$2
+ # format_text=Format_text_object.new(one,two)
+ # para=format_text.seg_no_paranum
end
para='' if (para =~/<a name="n\d+">/ \
and para =~/^(-\{{2}~\d+|<!e[:_]\d+!>)/) # -endnote
@@ -396,11 +396,11 @@ WOK
if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/
# i don't get the condition for no paranum
end
- if para =~/<:center>/
- one,two=/(.*)<:center>(.*)/.match(para)[1,2]
- format_text=Format_text_object.new(one,two)
- para=format_text.center
- end
+ #if para =~/<:center>/
+ # one,two=/(.*)<:center>(.*)/.match(para)[1,2]
+ # format_text=Format_text_object.new(one,two)
+ # para=format_text.center
+ #end
para.gsub!(/#{Mx[:id_o]}.+?#{Mx[:id_c]}/,' ') if para ## Clean Prepared Text
para.gsub!(/<!.+!>/,' ') if para ## Clean Prepared Text
para.gsub!(/<:\S+>/,' ') if para ## Clean Prepared Text
diff --git a/lib/sisu/v0/plaintext_format.rb b/lib/sisu/v0/plaintext_format.rb
index ddac2e32..cada3425 100644
--- a/lib/sisu/v0/plaintext_format.rb
+++ b/lib/sisu/v0/plaintext_format.rb
@@ -58,7 +58,7 @@
** Description: plaintext formatting template
=end
-module Format
+module SiSU_Plaintext_format
require "#{SiSU_lib}/param"
include SiSU_Param
include SiSU_Viz