aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v6/ao_doc_str.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v6/ao_doc_str.rb')
-rw-r--r--lib/sisu/v6/ao_doc_str.rb80
1 files changed, 37 insertions, 43 deletions
diff --git a/lib/sisu/v6/ao_doc_str.rb b/lib/sisu/v6/ao_doc_str.rb
index 3eb4a804..d060d89c 100644
--- a/lib/sisu/v6/ao_doc_str.rb
+++ b/lib/sisu/v6/ao_doc_str.rb
@@ -234,10 +234,10 @@ module SiSU_AO_DocumentStructureExtract
@@flag[:ocn]=:on
{flag: :ocn_on}
when /[~]/
- @@flag[:ocn]=:off_headings_substantive
- {flag: :ocn_off, mod: :headings_substantive}
- when /[-]/
- @@flag[:ocn]=:off_headings_exclude
+ @@flag[:ocn]=:ocn_off_headings_keep
+ {flag: :ocn_off, mod: :headings_keep}
+ when /[-]/ #of particular relevance with level 1~ which is required to precede substantive text & used e.g. in html segmented text
+ @@flag[:ocn]=:ocn_off_headings_dummy_lev1
{flag: :ocn_off, mod: :headings_exclude}
else
@@flag[:ocn]=:on
@@ -286,12 +286,14 @@ module SiSU_AO_DocumentStructureExtract
obj=$1
note=endnote_test?(obj)
obj,tags=extract_tags(obj)
- if @@flag[:ocn]==:off_headings_exclude \
- or @@flag[:ocn]==:off_headings_substantive
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
unless obj =~ /[~-][#]\s*$/
- if @@flag[:ocn]==:off_headings_exclude
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ and t_o =~/^1\~\S*\s+/m
obj << ' -#'
- elsif @@flag[:ocn]==:off_headings_substantive
+ elsif @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
obj << ' ~#'
end
end
@@ -302,12 +304,14 @@ module SiSU_AO_DocumentStructureExtract
name,obj=$1,$2
note=endnote_test?(obj)
obj,tags=extract_tags(obj)
- if @@flag[:ocn]==:off_headings_exclude \
- or @@flag[:ocn]==:off_headings_substantive
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
unless obj =~ /[~-][#]\s*$/
- if @@flag[:ocn]==:off_headings_exclude
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ and t_o =~/^1\~\S*\s+/m
obj << ' -#'
- elsif @@flag[:ocn]==:off_headings_substantive
+ elsif @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
obj << ' ~#'
end
end
@@ -318,12 +322,14 @@ module SiSU_AO_DocumentStructureExtract
name,obj=$1,$2
note=endnote_test?(obj)
obj,tags=extract_tags(obj,name)
- if @@flag[:ocn]==:off_headings_exclude \
- or @@flag[:ocn]==:off_headings_substantive
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
unless obj =~ /[~-][#]\s*$/
- if @@flag[:ocn]==:off_headings_exclude
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ and t_o =~/^1\~\S*\s+/m
obj << ' -#'
- elsif @@flag[:ocn]==:off_headings_substantive
+ elsif @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
obj << ' ~#'
end
end
@@ -345,8 +351,8 @@ module SiSU_AO_DocumentStructureExtract
note=endnote_test?(obj)
obj,tags=extract_tags(obj)
unless obj=~/\A\s*\Z/m
- if @@flag[:ocn]==:off_headings_exclude \
- or @@flag[:ocn]==:off_headings_substantive
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
unless obj =~ /[~-][#]\s*$/
obj << ' ~#'
end
@@ -368,8 +374,8 @@ module SiSU_AO_DocumentStructureExtract
note=endnote_test?(obj)
obj,tags=extract_tags(obj)
unless obj=~/\A\s*\Z/m
- if @@flag[:ocn]==:off_headings_exclude \
- or @@flag[:ocn]==:off_headings_substantive
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
unless obj =~ /[~-][#]\s*$/
obj << ' ~#'
end
@@ -391,8 +397,8 @@ module SiSU_AO_DocumentStructureExtract
image=image_test(t_o)
note=endnote_test?(t_o)
obj,tags=extract_tags(t_o)
- if @@flag[:ocn]==:off_headings_exclude \
- or @@flag[:ocn]==:off_headings_substantive
+ if @@flag[:ocn]==:ocn_off_headings_dummy_lev1 \
+ or @@flag[:ocn]==:ocn_off_headings_keep
unless obj =~ /[~-][#]\s*$/
obj << ' ~#'
end
@@ -1193,9 +1199,15 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"}
dob.ln,dob.node,dob.ocn,dob.ocn_,dob.odv,dob.osp,dob.parent,dob.lc=ln,node,ocn,ocn_flag,ocn_dv,ocn_sp,parent,collapsed_level
else
ocnu+=1
- dob.obj=dob.obj.gsub(/#{Mx[:fa_o]}[~-]##{Mx[:fa_c]}/,'') if dob.obj
- ocn_dv,ocn_sp="u#{ocnu}","u#{ocnu}"
- dob.ln,dob.node,dob.ocn,dob.ocn_,dob.odv,dob.osp,dob.parent,dob.lc=ln,node,nil,ocn_flag,ocn_dv,ocn_sp,parent,collapsed_level
+ heading_use=:ok
+ if dob.obj=~/#{Mx[:pa_non_object_no_heading]}/
+ dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_no_heading]}/,'')
+ heading_use=:ok
+ elsif dob.obj=~/#{Mx[:pa_non_object_dummy_heading]}/
+ dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_dummy_heading]}/,'')
+ heading_use=:dummy
+ end
+ dob.ln,dob.node,dob.ocn,dob.ocn_,dob.use_,dob.odv,dob.osp,dob.parent,dob.lc=ln,node,nil,ocn_flag,heading_use,ocn_dv,ocn_sp,parent,collapsed_level
end
else
if dob.of !=:meta \
@@ -1212,24 +1224,6 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"}
end
end
h
- elsif dob.obj=~/#{Mx[:pa_non_object_no_heading]}/
- dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_no_heading]}/,'')
- if dob.is==:para
- h={ obj: dob.obj, ocn_: false, ocn: nil, hang: dob.hang, indent: dob.indent, bullet_: dob.bullet_, tags: dob.tags, parent: dob.parent }
- dob=SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h,dob)
- elsif dob.is==:heading
- h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: true, parent: dob.parent }
- dob=SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
- end
- elsif dob.obj=~/#{Mx[:pa_non_object_dummy_heading]}/
- dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_dummy_heading]}/,'')
- if dob.is==:para
- h={ obj: dob.obj, ocn_: false, ocn: nil, hang: dob.hang, indent: dob.indent, bullet_: dob.bullet_, tags: dob.tags, parent: dob.parent }
- dob=SiSU_AO_DocumentStructure::ObjectPara.new.paragraph(h,dob)
- elsif dob.is==:heading
- h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: false, parent: dob.parent }
- dob=SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
- end
else dob
end
if dob.is==:code \