aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v2/param.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v2/param.rb')
-rw-r--r--lib/sisu/v2/param.rb89
1 files changed, 47 insertions, 42 deletions
diff --git a/lib/sisu/v2/param.rb b/lib/sisu/v2/param.rb
index a59ac8ff..3db97340 100644
--- a/lib/sisu/v2/param.rb
+++ b/lib/sisu/v2/param.rb
@@ -106,8 +106,7 @@ module SiSU_Param
@md
end
if defined? @md.title.main # on removal check problems with -U
- tell=SiSU_Screen::Ansi.new(@cmd,param_msg,@md.title.main)
- tell.txt_grey if @cmd =~/[MVv]/
+ SiSU_Screen::Ansi.new(@cmd,param_msg,@md.title.main).txt_grey if @cmd =~/[MVv]/
end
@@md=@md
else @@md
@@ -162,8 +161,7 @@ module SiSU_Param
puts "#{n} is #{s.class}: programming error, String expected #{__FILE__}:#{__LINE__}"
s
else
- tell=SiSU_Screen::Ansi.new('v',"#{n} length #{s.length} exceeds set db field length #{l}, metadata dropped",@opt.fns)
- tell.warn unless @opt.cmd =~/q/
+ SiSU_Screen::Ansi.new('v',"#{n} length #{s.length} exceeds set db field length #{l}, metadata dropped",@opt.fns).warn unless @opt.cmd =~/q/
nil
end
end
@@ -391,8 +389,7 @@ module SiSU_Param
elsif @h['main']
@h['main']
else
- tell=SiSU_Screen::Ansi.new(@cmd,'WARNING Document Copyright missing; provide @rights: :copyright:')
- tell.warn unless @opt.cmd =~/q/
+ SiSU_Screen::Ansi.new(@cmd,'WARNING Document Copyright missing; provide @rights: :copyright:').warn unless @opt.cmd =~/q/
''
end
l,n=Db[:col_info_note],'rights.copyright.text'
@@ -459,8 +456,7 @@ module SiSU_Param
s +=' License: ' + copyright.license
end
if s.empty?
- tell=SiSU_Screen::Ansi.new(@cmd,'WARNING Document Rights information missing; provide @rights: :copyright:')
- tell.warn unless @opt.cmd =~/q/
+ SiSU_Screen::Ansi.new(@cmd,'WARNING Document Rights information missing; provide @rights: :copyright:').warn unless @opt.cmd =~/q/
else
l,n=Db[:col_info_note],'rights.all'
validate_length(s,l,n)
@@ -657,6 +653,21 @@ module SiSU_Param
y=((x =~/i/) ? (/#{rgx}/i) : (/#{rgx}/))
{ :str =>'\b(?:' + m + ')\b', :regx => y }
end
+ def emphasis
+ if @h['emphasis'] =~/bold/; 'bold'
+ elsif @h['emphasis'] =~/italics?/; 'italics'
+ elsif @h['emphasis'] =~/under(?:line|score)/; 'underscore'
+ else nil
+ end
+ end
+ def plaintext_wrap
+ if @h['plaintext_wrap'].to_s =~/\d\d+/ \
+ and @h['plaintext_wrap'].to_i > 19 \
+ and @h['plaintext_wrap'].to_i < 201
+ @h['plaintext_wrap'].to_i
+ else nil
+ end
+ end
def skin
@h['skin']
end
@@ -857,16 +868,16 @@ module SiSU_Param
fns_array=@data.dup
skip unless fns_array # consider
@markup_version=SiSU_Markup_type::Markup_identify.new(fns_array,@opt).markup_version? #% determine markup version
- if fns_array[0] =~ /^(?:% )?(?:SiSU\s+(?:master\s+)?[\d.]*|sisu-[\d.]+)$/ #check markup and markup version
- if fns_array[0] =~ /^(?:% )?(?:SiSU\s+(?:master\s+)?|sisu-)[\d.]+$/ #check markup and markup version
- @markup_version_declared=fns_array[0].match(/^(?:% )?(?:SiSU\s+(?:master\s+)?|sisu-)([\d.]+)$/)[1]
- sm_a,sm_b,sm_c=fns_array[0].match(/^(?:% )?(?:SiSU\s+(?:master\s+)?|sisu-)([0-9]+)?(?:\.([0-9]+))?(?:\.([0-9]+))?$/)[1..3]
+ if fns_array[0] =~ /^(?:%\s+)?(?:SiSU\s+(?:master\s+)?[\d.]*|sisu-[\d.]+)$/ #check markup and markup version
+ if fns_array[0] =~ /^(?:%\s+)?(?:SiSU\s+(?:master\s+)?|sisu-)[\d.]+$/ #check markup and markup version
+ @markup_version_declared=fns_array[0].match(/^(?:%\s+)?(?:SiSU\s+(?:master\s+)?|sisu-)([\d.]+)$/)[1]
+ sm_a,sm_b,sm_c=fns_array[0].match(/^(?:%\s+)?(?:SiSU\s+(?:master\s+)?|sisu-)([0-9]+)?(?:\.([0-9]+))?(?:\.([0-9]+))?$/)[1..3]
sm_c ||=0
sv=(@cmd =~/[VMv]/) ? ("SiSU version (#{@sisu_version[:version]})") : ''
s_a,s_b,s_c=@sisu_version[:version].match(/^([0-9]+)?(?:\.([0-9]+))?(?:\.([0-9]+))?(?:\-\S+)?$/)[1..3]
- tell=(@markup_version_declared.to_f==@markup_version.to_f) \
- ? SiSU_Screen::Ansi.new(@cmd,"Markup version (#{@markup_version})",sv) \
- : SiSU_Screen::Ansi.new(@cmd,"Markup version declared (#{@markup_version_declared}), determined (#{@markup_version})",sv)
+ tell=(@markup_version_declared.to_f==@markup_version.determined) \
+ ? SiSU_Screen::Ansi.new(@cmd,"Markup version (#{@markup_version.series} version #{@markup_version.determined})",sv) \
+ : SiSU_Screen::Ansi.new(@cmd,"Markup version declared (#{@markup_version_declared}), determined (#{@markup_version.series} version #{@markup_version.determined})",sv)
ok=if s_a.to_i > sm_a.to_i
true
elsif s_a.to_i == sm_a.to_i \
@@ -881,16 +892,18 @@ module SiSU_Param
if ok
tell.txt_green if @cmd =~/[vVM]/
else
- tell=SiSU_Screen::Ansi.new(@cmd,"Warning: markup version determined (#{@markup_version}) or markup version declared (#{@markup_version_declared}) is newer than SiSU version (#{@sisu_version[:version]})")
- tell.warn unless @cmd =~/q/
+ SiSU_Screen::Ansi.new(@cmd,"Warning: markup version determined (#{@markup_version.determined}) or markup version declared (#{@markup_version_declared}) is newer than SiSU version (#{@sisu_version[:version]})").warn unless @cmd =~/q/
end
else
- tell=SiSU_Screen::Ansi.new(@cmd,'No SiSU markup version provided')
- tell.warn if @cmd =~/[VM]/
+ SiSU_Screen::Ansi.new(@cmd,'No SiSU markup version provided').warn if @cmd =~/[VM]/
end
else
- tell=SiSU_Screen::Ansi.new(@cmd,'SiSU filetype indicator not provided')
- tell.warn unless @cmd =~/q/
+ mv=if defined? @markup_version.determined and not @markup_version.determined.nil?
+ x=@markup_version.determined
+ "markup version determined #{x}"
+ else ''
+ end
+ SiSU_Screen::Ansi.new(@cmd,'SiSU filetype indicator not provided',mv).warn unless @cmd =~/q/
end
@code_flag=false
fns_array.each do |para| #% Scan document
@@ -1004,19 +1017,18 @@ module SiSU_Param
if para=~/^:?A~/
if @markup.nil? \
or @markup.empty?
- @markup=@markup_version.to_s
- elsif @markup !~/0\.38/; @markup=@markup.strip + "; #{@markup_version}"
+ @markup=@markup_version.determined.to_s
+ elsif @markup !~/0\.38/; @markup=@markup.strip + "; #{@markup_version.determined}"
end
end
- if (para=~/^:?A~/ and @markup_version >= 0.38) \
- or (para=~/^1~/ and @markup_version < 0.38)
+ if (para=~/^:?A~/ and @markup_version.determined >= 0.38) \
+ or (para=~/^1~/ and @markup_version.determined < 0.38)
if @title.nil?
@title=para[/^:?[A1]~\S*(.+)$/m,1]
@html_title=@title.gsub(/(<p>|<p \/>|<br>|<br \/>)/,'')
@title.chomp!("\n")
@html_title.chomp!("\n")
- tell=SiSU_Screen::Ansi.new(@cmd,'Parameters',@html_title)
- tell.txt_grey if @cmd =~/v/
+ SiSU_Screen::Ansi.new(@cmd,'Parameters',@html_title).txt_grey if @cmd =~/v/
end
end
end
@@ -1117,7 +1129,7 @@ module SiSU_Param
end
@topic_register_array.sort!
end
- if @markup_version.to_f >= 0.38 #convert values in headers to internal representation
+ if @markup_version.determined >= 0.38 #convert values in headers to internal representation
translated=[]
translate_list=[@pagenew,@pagebreak,@num_top,@toc_lev_limit]
translate_list.each do |t|
@@ -1193,8 +1205,7 @@ module SiSU_Param
if @en[:note] > 0 \
and @en[:sum] > 0
if @en[:sum] > 0
- else tell=SiSU_Screen::Ansi.new(@cmd,'both endnote styles used',"~{ #{@en[:sum]} }~ and ^~ #{@en[:mark]}")
- tell.warn if @cmd !~/q/
+ else SiSU_Screen::Ansi.new(@cmd,'both endnote styles used',"~{ #{@en[:sum]} }~ and ^~ #{@en[:mark]}").warn if @cmd !~/q/
end
end
if @en[:mark] != @en[:note] \
@@ -1205,12 +1216,10 @@ module SiSU_Param
footnote_conversion_errors << "#{@fns}:\n\tendnotes: #{@en[:note]} != endnote reference marks: #{@en[:mark]} (difference = #{@en[:mismatch]})\n"
end
if @title.main !~/[\S]/
- tell=SiSU_Screen::Ansi.new(@cmd,'WARNING Document Title missing','please provide @title:')
- tell.warn unless @cmd =~/q/
+ SiSU_Screen::Ansi.new(@cmd,'WARNING Document Title missing','please provide @title:').warn unless @cmd =~/q/
end
if @author !~/[\S]/
- tell=SiSU_Screen::Ansi.new(@cmd,'Warning Document Author missing','please provide @creator: :author:')
- tell.warn unless @cmd =~/q/
+ SiSU_Screen::Ansi.new(@cmd,'Warning Document Author missing','please provide @creator: :author:').warn unless @cmd =~/q/
end
# Elementary Document Structure Analysis - adds complexity may remove - need to develop - appears to work, proof of concept
if @title.nil?
@@ -1224,10 +1233,8 @@ module SiSU_Param
@title.chomp!("\n")
@html_title.chomp!("\n")
title_trigger=1
- tell=SiSU_Screen::Ansi.new(@cmd,@html_title)
- tell.txt_cyan unless @cmd =~/q/
- tell=SiSU_Screen::Ansi.new(@cmd,'Parameters')
- tell.txt_grey unless @cmd =~/q/
+ SiSU_Screen::Ansi.new(@cmd,@html_title).txt_cyan unless @cmd =~/q/
+ SiSU_Screen::Ansi.new(@cmd,'Parameters').txt_grey unless @cmd =~/q/
end
end
end
@@ -1295,8 +1302,7 @@ module SiSU_Param
@lv5 ||=/^5~/
@lv6 ||=/^6~/
if @doc_skin
- tell=SiSU_Screen::Ansi.new(@cmd,"doc_skin <- #{@doc_skin}")
- tell.txt_grey if @cmd =~/v/
+ SiSU_Screen::Ansi.new(@cmd,"doc_skin <- #{@doc_skin}").txt_grey if @cmd =~/v/
end
@data=nil #else whole file's contents are stored in md pstore & is not required to be... big waste actually
Store.new(self,@env).store #% pstore
@@ -1310,8 +1316,7 @@ module SiSU_Param
end
def store
File.unlink(@pstorefile) if FileTest.file?(@pstorefile)
- tell=SiSU_Screen::Ansi.new(@md.cmd,"PStore -> #{@pstorefile}")
- tell.txt_grey if @md.cmd =~/[MV]/
+ SiSU_Screen::Ansi.new(@md.cmd,"PStore -> #{@pstorefile}").txt_grey if @md.cmd =~/[MV]/
store=PStore.new(@pstorefile)
store.transaction do
store['md']=@md