From 9a32a0743767b16456fee98354f269ba6a29efdf Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 14 Oct 2010 14:51:14 -0400 Subject: codeblocks, numbered markup option, fix (requested fix needed by debian-live:live-manual, Ben Armstrong & Mark Schneider) * numbered codeblocks, , where codeblock opens with code{# * dal changes as required, flag markup request and number * constants, provide vertical line symbol, use to separate numbered codeblock from code * texpdf substitute \vline for numbered codeblock line separator --- lib/sisu/v2/dal_syntax.rb | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'lib/sisu/v2/dal_syntax.rb') diff --git a/lib/sisu/v2/dal_syntax.rb b/lib/sisu/v2/dal_syntax.rb index 2f78fbe6..fbc62158 100644 --- a/lib/sisu/v2/dal_syntax.rb +++ b/lib/sisu/v2/dal_syntax.rb @@ -427,14 +427,31 @@ module SiSU_Syntax "#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2") #linked image elsif dob.is=='table' dob=fontface(dob) - elsif dob.is =='code' # /^<:code>/ #should be enough # underscore used as escape for angle brackets + elsif dob.is =='code' +#p dob.obj dob.obj.gsub!(/#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*/,'@\1: ') dob.obj.gsub!(/([<>])/,'_\1') dob.obj.gsub!(/_<:(\S+?)_>/,'<:\1>') #convert <:\S+> back, clumsy dob.obj.gsub!(/_<(br(?: \/)?)_>/,'<\1>') #convert

back, clumsy dob.obj.gsub!(/(^|#{Mx[:gl_c]}|\s)<(br(?: \/)?)>([\s,.]|$)/,'\1<\2>\3') #convert

back, clumsy - dob.obj.gsub!(/#{Mx[:gr_o]}codeline#{Mx[:gr_c]}/, - "\n#{Mx[:nbsp]}#{Mx[:nbsp]}") #temporary fix, prefer: #line.gsub!(/<:codeline>/,"\n") + if dob.number_ + codeline=[] + ln=1 + dob.obj.split(/#{Mx[:gr_o]}codeline#{Mx[:gr_c]}||\n/).each_with_index do |cl,i| + unless i == 0 + cl.gsub!(Mx[:br_nl],'') + w=3-ln.to_s.length + cl = "#{ln}#{Mx[:nbsp]*w}#{Mx[:vline]}#{Mx[:nbsp]}#{Mx[:nbsp]}#{cl}#{Mx[:br_nl]}" + ln +=1 + end + codeline << cl + end + codeline= codeline.join("") + dob.obj=codeline + else + dob.obj.gsub!(/#{Mx[:gr_o]}codeline#{Mx[:gr_c]}/, + "\n#{Mx[:nbsp]}#{Mx[:nbsp]}") #temporary fix, prefer: #line.gsub!(/<:codeline>/,"\n") + end dob else # @\S+?: end -- cgit v1.2.3