aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3dv/html_segments.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3dv/html_segments.rb')
-rw-r--r--lib/sisu/v3dv/html_segments.rb115
1 files changed, 69 insertions, 46 deletions
diff --git a/lib/sisu/v3dv/html_segments.rb b/lib/sisu/v3dv/html_segments.rb
index ba825ae4..eca87b12 100644
--- a/lib/sisu/v3dv/html_segments.rb
+++ b/lib/sisu/v3dv/html_segments.rb
@@ -167,8 +167,9 @@ module SiSU_HTML_Seg
@@seg[:heading_idx]=''
end
data.each do |dob|
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==4
+ if (dob.is == :heading \
+ || dob.is == :heading_insert) \
+ && dob.ln == 4
@@seg_name << dob.name
seg_name=dob.name
end
@@ -192,32 +193,37 @@ module SiSU_HTML_Seg
end
end
end
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==4
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==4
if dob.ocn==0
@@heading4=dob.obj
else @@heading4=dob.obj
end
@@is4=newfile=1
end
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==3
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==3
@@heading3=dob.obj
@@is4,@@is3=0,1
end
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==2
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==2
@@heading2=dob.obj
@@is4,@@is3,@@is2=0,0,1
end
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==1
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==1
@@heading1=dob.obj
@@is4,@@is3,@@is2,@@is1=0,0,0,1
end
if (@@is1 && !@@is2 && !@@is3 && !@@is4)
- if not (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==1
+ if not (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==1
head1=$_ #; check
end
end
@@ -225,8 +231,9 @@ module SiSU_HTML_Seg
if newfile==1 \
or dob.obj =~/^#{Mx[:br_endnotes]}|^#{Mx[:br_eof]}/
newfile=0
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==4
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==4
if tracking != 0
dirout=SiSU_Env::InfoEnv.new(@md.fns)
dir_sisu=dirout.path.output
@@ -240,10 +247,10 @@ module SiSU_HTML_Seg
minitoc=(@env.html_minitoc?) \
? @minitoc
: ''
- if dob.is=='heading' \
- or @@seg_name_html[tracking-1] !~/endnotes|book_index|metadata/
+ if dob.is==:heading \
+ || (@@seg_name_html[tracking-1] !~/endnotes|book_index|metadata/)
SiSU_HTML_Seg::Output.new(@md,output_seg_file,@@seg,minitoc).output
- elsif dob.is=='heading_insert'
+ elsif dob.is==:heading_insert
if @@seg_name_html[tracking-1]=='endnotes'
SiSU_HTML_Seg::Output.new(@md,output_seg_file,@@seg,minitoc,'endnotes').output
elsif @@seg_name_html[tracking-1]=='book_index'
@@ -273,8 +280,13 @@ module SiSU_HTML_Seg
end
tracking=tracking+1
end
- @@get_hash_to=dob.name if (dob.is=='heading' or dob.is=='heading_insert') and dob.ln==4 and dob.name
- @@get_hash_fn=dob.name if (dob.is=='heading' or dob.is=='heading_insert') and dob.ln==4 and dob.name
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==4 \
+ && dob.name
+ @@get_hash_to=dob.name
+ @@get_hash_fn=dob.name
+ end
if dob.obj.class==String
markup(dob)
elsif dob.obj.class==Array
@@ -293,8 +305,9 @@ module SiSU_HTML_Seg
end
def heading_art(dob)
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln.to_s =~/^[1-6]/
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && (dob.ln.to_s =~/^[1-6]/)
if @@tracker < @@seg_total-1; @@seg[:dot_nav]=format_head_seg.dot_control_pre_next
else @@seg[:dot_nav]=format_head_seg.dot_control_pre
end
@@ -370,14 +383,18 @@ module SiSU_HTML_Seg
def markup(dob)
@debug=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
- if dob.is !~/meta/
- if dob.is =~/(?:heading|para)/ #extend as necessary FIX
+ if dob.is !=:meta
+ if dob.is==:heading \
+ || dob.is==:heading_insert \
+ || dob.is == :para
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn)
end
sto=SiSU_HTML_Format::FormatTextObject.new(@md,dob)
- dob_html=if dob.is =~/heading|para/
- dob_html=if (dob.is=='heading' \
- or dob.is=='heading_insert')
+ dob_html=if dob.is == :heading \
+ || dob.is==:heading_insert \
+ || dob.is==:para
+ dob_html=if dob.is==:heading \
+ || dob.is==:heading_insert
x=if dob.ln==4
sto.seg_heading4
elsif dob.ln==5
@@ -385,7 +402,7 @@ module SiSU_HTML_Seg
elsif dob.ln==6
sto.seg_heading6
end
- elsif dob.is=='para'
+ elsif dob.is==:para
if dob.indent \
and dob.hang \
and dob.indent =~/[0-9]/ \
@@ -405,26 +422,30 @@ module SiSU_HTML_Seg
else sto.para
end
end
- elsif dob.is=='block'
+ elsif dob.is==:block
sto.block
- elsif dob.is=='group'
+ elsif dob.is==:group
sto.group
- elsif dob.is=='alt'
+ elsif dob.is==:alt
sto.alt
- elsif dob.is=='verse'
+ elsif dob.is==:verse
sto.verse
- elsif dob.is=='code'
+ elsif dob.is==:code
sto.code
- elsif dob.is=='table'
+ elsif dob.is==:table
sto.table
- elsif dob.is=='break'
+ elsif dob.is==:break
sto.break
end
if @md.flag_separate_endnotes
dob.obj=dob.obj.gsub(/"\s+href="#_(\d+)">/,%{" href=\"endnotes#{Sfx[:html]}#_\\1">}) #endnote- twice #removed file type
end
if dob.obj !~/#{@vz.margin_txt_w1}|#{@vz.margin_txt_w2}/
- if dob.is =~/heading|para/ and (not dob.ocn or dob.ocn.to_s.empty?)
+ if (dob.is==:heading \
+ || dob.is==:heading_insert \
+ || dob.is==:para) \
+ && (not dob.ocn \
+ || (dob.ocn.to_s.empty?))
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob)
end
dob.obj=dob.obj.gsub(/\s*(-\{{2}~\d+|<:e[:_]\d+>).*/,'') #potentially dagerous - removes all paragraphs with <!e_!> #?? workpoint
@@ -433,9 +454,9 @@ module SiSU_HTML_Seg
dob=format_seg.no_paranum
end
end
- if (dob.is=='heading' \
- || dob.is=='heading_insert') \
- and dob.ln==4
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==4
@@seg[:main] << %{\n<div class="content">\n}
@@seg[:main] << dob_html
@@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc
@@ -473,16 +494,18 @@ module SiSU_HTML_Seg
data.each do |dob|
dob.obj=dob.obj.gsub(/<a name=\"h\d.*?\">(.+?)<\/a>/mi,'\1')
if @md.flag_auto_endnotes
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln.to_s =~/^[1234]/ \
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && (dob.ln.to_s =~/^[1234]/) \
and not @@fn.to_s.empty?
@@seg_endnotes[@@fn]=[]
@@seg_endnotes[@@fn] << @@seg_endnotes_array
@@seg_endnotes_array=[] if dob.ln==4
@@fns_previous=@md.fns if dob.ln==4 and dob.name =~/^meta/
end
- if (dob.is=='heading' or dob.is=='heading_insert') \
- and dob.ln==4 #% EXTRACTION OF SUB-TOCs & SEGMENT NAME, after EXTRACTION OF ENDNOTES & SUB-TOCs
+ if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && dob.ln==4 #% EXTRACTION OF SUB-TOCs & SEGMENT NAME, after EXTRACTION OF ENDNOTES & SUB-TOCs
@@seg_subtoc[@@fn]=@@seg_subtoc_array
@@seg_subtoc_array=[]
if dob.name \
@@ -496,8 +519,8 @@ module SiSU_HTML_Seg
end
end
end
- if dob.is=='heading' \
- and dob.ln.to_s =~/^[56]/
+ if dob.is==:heading \
+ && (dob.ln.to_s =~/^[56]/)
case dob.ln
when 5
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
@@ -511,8 +534,8 @@ module SiSU_HTML_Seg
@@seg_subtoc_array << subtoc
end
if @md.flag_auto_endnotes
- if dob.obj =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[\d*+]+ <a name="_[\d*+]+"/ \
- and dob.is !~/^code/ # endnote-
+ if (dob.obj =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[\d*+]+ <a name="_[\d*+]+"/) \
+ && dob.is !=:code # endnote-
endnote_array=[]
if dob.obj=~/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/m
endnote_array << dob.obj.scan(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}/m)