class SiSU_AO_Endnotes::Endnotes
Public Class Methods
new(md,data,endnote_array=nil)
click to toggle source
# File lib/sisu/ao_endnotes.rb, line 57 def initialize(md,data,endnote_array=nil) @md,@data,@endnote_array= md, data, endnote_array @endnote_counter, @endnote_counter_asterisk, @endnote_counter_dag= 1,1,1 end
Public Instance Methods
endnote_call_number(words)
click to toggle source
# File lib/sisu/ao_endnotes.rb, line 104 def endnote_call_number(words) words.each do |word| 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} ") @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} ") @endnote_counter_dag+=1 else word.gsub!(/#{Mx[:en_b_o]}[*]?/, "#{Mx[:en_b_o]}\*#{@endnote_counter_asterisk} ") @endnote_counter_asterisk+=1 end when /~\^/ if @endnote_array word.gsub!(/~\^/, "#{@endnote_array[@endnote_counter-1]}") @endnote_counter+=1 end end end end
endnotes()
click to toggle source
# File lib/sisu/ao_endnotes.rb, line 65 def endnotes data=@data endnote_ref=1 @tuned_file=data.each.map do |dob| # manually numbered endnotes <!e(\d)!> <!e_(\d)!> --> if @md.opt.selections.str =~/--no-asterisk|--no-annotate/ dob.obj=dob.obj. gsub(/#{Mx[:en_b_o]}\s.+?#{Mx[:en_b_c]}/,'') end if @md.opt.selections.str =~/--no-dagger|--no-annotate/ dob.obj=dob.obj. gsub(/#{Mx[:en_b_o]}[+]\s.+?#{Mx[:en_b_c]}/,'') end if (defined? dob.obj) \ && (defined? dob.is) \ && dob.is !=:code case dob.obj # auto-numbered endnotes <!e!> <!e_!> --> when /#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}[*+]\s+.+?#{Mx[:en_b_c]}/ dob.obj=dob.obj. gsub(/\s*(#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/,'\1') word_mode=dob.obj.scan(/\S+/m) word_mode=endnote_call_number(word_mode) dob.obj=word_mode.join(' ') endnote_ref+=1 when /~\^(?:\s|$)/ #%note inserts endnotes previously gathered from /^(<!e[:_]!>|[-~]\{{3})/ (in earlier loop) word_mode=dob.obj.scan(/\S+/m) word_mode=endnote_call_number(word_mode) dob.obj=word_mode.join(' ') endnote_ref+=1 end end dob end.flatten @endnote_counter, @endnote_counter_asterisk, @endnote_counter_dag= 1,1,1 @tuned_file end