class SiSU_Param_Make::MdMake
Public Class Methods
new(str,opt,env)
click to toggle source
# File lib/sisu/dp_make.rb, line 58 def initialize(str,opt,env) @s,@opt,@env=str,opt,env end
Public Instance Methods
ad()
click to toggle source
# File lib/sisu/dp_make.rb, line 390 def ad @h['ad'] end
append?()
click to toggle source
# File lib/sisu/dp_make.rb, line 531 def append? (@doc_links[0]=='+') \ ? :yes : :no end
bold()
click to toggle source
# File lib/sisu/dp_make.rb, line 184 def bold m=@h['bold'] i=(m=~/\/i$/)? 'i' : '' if m x=m.gsub(/^\/(.+?)\/i?/,'\1'). gsub(/\((?:\?:)?/,'(?:') # avoid need to escape use of brackets within regex provided rgx='\b(' + x + ')\b' y=((i =~/i/) ? (/#{rgx}/i) : (/#{rgx}/)) { str: '\b(?:' + x + ')\b', regx: y, i: i } else nil end end
breaks()
click to toggle source
# File lib/sisu/dp_make.rb, line 164 def breaks pagebreaks=((@h['breaks'] =~/;/) \ ? (@h['breaks'].split(/;\s*/)) : [ @h['breaks'] ]) page_new,page_break,page_line=nil,nil,nil pagebreaks.each do |x| page_new=x[/(:?[\dA-C],?)+/] if x=~/new|clear/ page_break=x[/(:?[\dA-C],?)+/] if x =~/break/ page_line=x[/(:?[\dA-C],?)+/] if x =~/line/ end { page_new: page_new, page_break: page_break, page_line: page_line } end
build_hash(arr)
click to toggle source
# File lib/sisu/dp_make.rb, line 122 def build_hash(arr) @h={} arr.each_with_index do |x,i| a,b=nil,nil if x =~/^%[:\s]/ #ignore comment elsif x =~/:(\S+?):\s+(.+)/ a,b=/:(\S+?):\s+(.+)\Z/m.match(x)[1,2] elsif i == 0 a='main' b=x else end @h[a]=b end @h end
cjk()
click to toggle source
# File lib/sisu/dp_make.rb, line 361 def cjk @h['texpdf_font_cjk'] \ && (@h['texpdf_font_cjk']=~/\S{3,}/) \ ? @h['texpdf_font_cjk'] : @env.font.texpdf.cjk end
cjk_ja()
click to toggle source
# File lib/sisu/dp_make.rb, line 373 def cjk_ja @h['texpdf_font_cjk_ja'] \ && (@h['texpdf_font_cjk_ja']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_ja'] : @env.font.texpdf.cjk_ja end
cjk_ko()
click to toggle source
# File lib/sisu/dp_make.rb, line 379 def cjk_ko @h['texpdf_font_cjk_ko'] \ && (@h['texpdf_font_cjk_ko']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_ko'] : @env.font.texpdf.cjk_ko end
cjk_zh()
click to toggle source
# File lib/sisu/dp_make.rb, line 367 def cjk_zh @h['texpdf_font_cjk_zh'] \ && (@h['texpdf_font_cjk_zh']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_zh'] : @env.font.texpdf.cjk_zh end
cover_image()
click to toggle source
# File lib/sisu/dp_make.rb, line 482 def cover_image s=nil if @h['cover_image'] s=@h['cover_image'].split(/\s*;\s*/) s=s[0] #if image={} if s =~/{\s*(\S+\.(?:jpg|png|gif))(?:\s+(\d+x\d+))?(?:\s+"(.+?)")?\s*}image/ image[:cover]=$1 if $2 image[:dimensions]=$2 image[:w],image[:h]=/(\d+)x(\d+)/m.match(image[:dimensions])[1,2] else d=get_image_dimensions(image[:cover]) image[:w],image[:h]=d[:w],d[:h] image[:dimensions]="#{d[:w]}x#{d[:h]}" end image[:note]=$3 elsif s =~/(\S+\.(?:jpg|png|gif))/ image[:cover]=$1 d=get_image_dimensions(image[:cover]) image[:w],image[:h]=d[:w],d[:h] image[:dimensions]="#{d[:w]}x#{d[:h]}" image[:note]=nil end image else nil end end
cover_image?()
click to toggle source
# File lib/sisu/dp_make.rb, line 326 def cover_image? (omit.list.inspect =~/"cover_image"/) \ ? :off : :na end
emphasis()
click to toggle source
# File lib/sisu/dp_make.rb, line 208 def emphasis if @h['emphasis'] =~/bold/ then 'bold' elsif @h['emphasis'] =~/italics?/ then 'italics' elsif @h['emphasis'] =~/under(?:line|score)/ then 'underscore' else nil end end
get_image_dimensions(img)
click to toggle source
# File lib/sisu/dp_make.rb, line 425 def get_image_dimensions(img) imgk=SiSU_Env::SystemCall.new.imagemagick gmgk=SiSU_Env::SystemCall.new.graphicsmagick img_pth={ sst: @env.path.image_source_include, pod: File.expand_path("../../../sisupod/image" ) } path_img=if FileTest.file?("#{img_pth[:pod]}/#{img}") "#{img_pth[:pod]}/#{img}" elsif FileTest.file?("#{img_pth[:sst]}/#{img}") "#{img_pth[:sst]}/#{img}" else nil end if path_img if imgk or gmgk if imgk imgsys=`identify #{path_img}`.strip #system call elsif gmgk imgsys=`gm identify #{path_img}`.strip #system call end w,h=/(\d+)x(\d+)/m.match(imgsys)[1,2] else w,h='600','800' end else w,h=nil,nil end {w: w, h: h} end
headings()
click to toggle source
# File lib/sisu/dp_make.rb, line 141 def headings lv=[] x=@h['headings'] x=((x =~/;/) ? (x.split(/;\s*/)) : [ x ]) lv[0]=x lv0 ||='A~ ' #root level, single document apex, document title lv1=x[0] ||='B~ ' lv[1]=/^#{lv1}/ lv2=x[1] ||='C~ ' lv[2]=/^#{lv2}/ lv3=x[2] ||='D~ ' lv[3]=/^#{lv3}/ lv4=x[3] ||='1~ ' lv[4]=/^#{lv4}/ lv5=x[4] ||='2~ ' lv[5]=/^#{lv5}/ lv6=x[5] ||='3~ ' lv[6]=/^#{lv6}/ lv end
html_minitoc?()
click to toggle source
# File lib/sisu/dp_make.rb, line 281 def html_minitoc? (omit.list.inspect =~/"html_minitoc"/) \ ? :off : :na end
html_right_pane?()
click to toggle source
# File lib/sisu/dp_make.rb, line 316 def html_right_pane? (omit.list.inspect =~/"html_right_column"|"html_right_pane"/) \ ? :off : :na end
html_search_form?()
click to toggle source
# File lib/sisu/dp_make.rb, line 311 def html_search_form? (omit.list.inspect =~/"html_search_form"/) \ ? :off : :na end
html_top_band?()
click to toggle source
# File lib/sisu/dp_make.rb, line 286 def html_top_band? (omit.list.inspect =~/"html_top_band"/) \ ? :off : :na end
italics()
click to toggle source
# File lib/sisu/dp_make.rb, line 196 def italics m=@h['italics'] i=((m=~/\/i$/) ? 'i' : '') if m x=m.gsub(/^\/(.+?)\/i?/,'\1'). gsub(/\((?:\?:)?/,'(?:') # avoid need to escape use of brackets within regex provided rgx='\b(' + x + ')\b' y=((i =~/i/) ? (/#{rgx}/i) : (/#{rgx}/)) { str: '\b(?:' + x + ')\b', regx: y, i: i } else nil end end
language()
click to toggle source
# File lib/sisu/dp_make.rb, line 176 def language if @h['language'] && (@h['language']=~/\S{2,}/) ((@h['language'] =~/,/) \ ? (@h['language'].split(/,\s*/)) : [ @h['language'] ]) else [ 'en' ] end end
links()
click to toggle source
# File lib/sisu/dp_make.rb, line 520 def links lnks,a_idx=[],0 @doc_links.each do |doc_link| if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/ say,url=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2] lnks[a_idx]={ say: say, url: url } a_idx +=1 end end lnks end
links_to_manifest?()
click to toggle source
# File lib/sisu/dp_make.rb, line 266 def links_to_manifest? (omit.list.inspect =~/"manifest_links"|"links_to_manifest"/) \ ? :off : :na end
list()
click to toggle source
# File lib/sisu/dp_make.rb, line 246 def list @m end
main()
click to toggle source
# File lib/sisu/dp_make.rb, line 337 def main @h['texpdf_font'] \ && (@h['texpdf_font']=~/\S{3,}/) \ ? @h['texpdf_font'] : @env.font.texpdf.main end
make()
click to toggle source
# File lib/sisu/dp_make.rb, line 138 def make a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) @h=build_hash(a) def headings lv=[] x=@h['headings'] x=((x =~/;/) ? (x.split(/;\s*/)) : [ x ]) lv[0]=x lv0 ||='A~ ' #root level, single document apex, document title lv1=x[0] ||='B~ ' lv[1]=/^#{lv1}/ lv2=x[1] ||='C~ ' lv[2]=/^#{lv2}/ lv3=x[2] ||='D~ ' lv[3]=/^#{lv3}/ lv4=x[3] ||='1~ ' lv[4]=/^#{lv4}/ lv5=x[4] ||='2~ ' lv[5]=/^#{lv5}/ lv6=x[5] ||='3~ ' lv[6]=/^#{lv6}/ lv end def num_top @h['num_top'] end def breaks pagebreaks=((@h['breaks'] =~/;/) \ ? (@h['breaks'].split(/;\s*/)) : [ @h['breaks'] ]) page_new,page_break,page_line=nil,nil,nil pagebreaks.each do |x| page_new=x[/(:?[\dA-C],?)+/] if x=~/new|clear/ page_break=x[/(:?[\dA-C],?)+/] if x =~/break/ page_line=x[/(:?[\dA-C],?)+/] if x =~/line/ end { page_new: page_new, page_break: page_break, page_line: page_line } end def language if @h['language'] && (@h['language']=~/\S{2,}/) ((@h['language'] =~/,/) \ ? (@h['language'].split(/,\s*/)) : [ @h['language'] ]) else [ 'en' ] end end def bold m=@h['bold'] i=(m=~/\/i$/)? 'i' : '' if m x=m.gsub(/^\/(.+?)\/i?/,'\1'). gsub(/\((?:\?:)?/,'(?:') # avoid need to escape use of brackets within regex provided rgx='\b(' + x + ')\b' y=((i =~/i/) ? (/#{rgx}/i) : (/#{rgx}/)) { str: '\b(?:' + x + ')\b', regx: y, i: i } else nil end end def italics m=@h['italics'] i=((m=~/\/i$/) ? 'i' : '') if m x=m.gsub(/^\/(.+?)\/i?/,'\1'). gsub(/\((?:\?:)?/,'(?:') # avoid need to escape use of brackets within regex provided rgx='\b(' + x + ')\b' y=((i =~/i/) ? (/#{rgx}/i) : (/#{rgx}/)) { str: '\b(?:' + x + ')\b', regx: y, i: i } else nil end end def emphasis if @h['emphasis'] =~/bold/ then 'bold' elsif @h['emphasis'] =~/italics?/ then 'italics' elsif @h['emphasis'] =~/under(?:line|score)/ then 'underscore' else nil end end def substitute m=@h['substitute'] if m w=m.scan(/\/(.+?)\/(i?,)\s*'(.+?)'(?:\s+|\s*;\s*|$)/) arr_hash=[] matches='' w.each do |x| c=(x[1] =~/[i],/) ? :i : :s matches=matches + x[0].gsub(/([${}])/,'\\\\\1') + '|' arr_hash << { match: x[0].gsub(/([${}])/,'\\\\\1'), replace: x[2], case_s: c } end matches.chop! { match_and_replace: arr_hash, matches: matches } 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 omit m=@h['omit'] @m=m ? (m.split(/,\s+/)) : nil def list @m end self end def ocn? (omit.list.inspect =~/"ocn"/) \ ? :off : :na end def toc? (omit.list.inspect =~/"toc"/) \ ? :off : :na end def manifest? (omit.list.inspect =~/"manifest"/) \ ? :off : :na end def links_to_manifest? (omit.list.inspect =~/"manifest_links"|"links_to_manifest"/) \ ? :off : :na end def metadata? (omit.list.inspect =~/"metadata"/) \ ? :off : :na end def minitoc? (omit.list.inspect =~/"minitoc"/) \ ? :off : :na end def html_minitoc? (omit.list.inspect =~/"html_minitoc"/) \ ? :off : :na end def html_top_band? (omit.list.inspect =~/"html_top_band"/) \ ? :off : :na end def html_navigation? (omit.list.inspect =~/"html_navigation"/) \ ? :off : :na end def html_navigation_bar? (omit.list.inspect =~/"html_navigation_bar"/) \ ? :off : :na end def segsubtoc? (omit.list.inspect =~/"segsubtoc"/) \ ? :off : :na end def search_form? (omit.list.inspect =~/"search_form"/) \ ? :off : :na end def html_search_form? (omit.list.inspect =~/"html_search_form"/) \ ? :off : :na end def html_right_pane? (omit.list.inspect =~/"html_right_column"|"html_right_pane"/) \ ? :off : :na end def manifest_minitoc? (omit.list.inspect =~/"manifest_minitoc"/) \ ? :off : :na end def cover_image? (omit.list.inspect =~/"cover_image"/) \ ? :off : :na end def home_button_image? (omit.list.inspect =~/"home_button_image"/) \ ? :off : :na end def texpdf_font def main @h['texpdf_font'] \ && (@h['texpdf_font']=~/\S{3,}/) \ ? @h['texpdf_font'] : @env.font.texpdf.main end def sans # not used @h['texpdf_font_sans'] \ && (@h['texpdf_font_sans']=~/\S{3,}/) \ ? @h['texpdf_font_sans'] : @env.font.texpdf.sans end def serif # not used @h['texpdf_font_serif'] \ && (@h['texpdf_font_serif']=~/\S{3,}/) \ ? @h['texpdf_font_serif'] : @env.font.texpdf.serif end def mono @h['texpdf_font_mono'] \ && (@h['texpdf_font_mono']=~/\S{3,}/) \ ? @h['texpdf_font_mono'] : @env.font.texpdf.mono end def cjk @h['texpdf_font_cjk'] \ && (@h['texpdf_font_cjk']=~/\S{3,}/) \ ? @h['texpdf_font_cjk'] : @env.font.texpdf.cjk end def cjk_zh @h['texpdf_font_cjk_zh'] \ && (@h['texpdf_font_cjk_zh']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_zh'] : @env.font.texpdf.cjk_zh end def cjk_ja @h['texpdf_font_cjk_ja'] \ && (@h['texpdf_font_cjk_ja']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_ja'] : @env.font.texpdf.cjk_ja end def cjk_ko @h['texpdf_font_cjk_ko'] \ && (@h['texpdf_font_cjk_ko']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_ko'] : @env.font.texpdf.cjk_ko end self end def promo @h['promo'] end def ad @h['ad'] end def manpage manpage={} if @h['manpage'] if @h['manpage'] =~/;/m man=@h['manpage'].split(/;/m) man.each do |x| m=(x=~/=/m) ? x.split(/=/m) : nil if m manpage[m[0].strip] = m[1].split(/ \. /) end end end end if manpage['name'] manpage['name']=manpage['name'].join("\n.br\n"). gsub(/(-)/m,"\\\\\\1"). gsub(/\A/,"\n.br\n.SH NAME\n.br\n") else manpage['name']='man page "name/whatis" information not provided, set in header @man: name=[whatis information]' end if manpage['synopsis'] manpage['synopsis']=manpage['synopsis'].join("\n\n.br\n"). gsub(/(-)/m,"\\\\\\1"). gsub(/\A/,"\n.br\n.SH SYNOPSIS\n.br\n") else manpage['synopsis']='' end unless manpage['section'] manpage['section']=1 end manpage end def get_image_dimensions(img) imgk=SiSU_Env::SystemCall.new.imagemagick gmgk=SiSU_Env::SystemCall.new.graphicsmagick img_pth={ sst: @env.path.image_source_include, pod: File.expand_path("../../../sisupod/image" ) } path_img=if FileTest.file?("#{img_pth[:pod]}/#{img}") "#{img_pth[:pod]}/#{img}" elsif FileTest.file?("#{img_pth[:sst]}/#{img}") "#{img_pth[:sst]}/#{img}" else nil end if path_img if imgk or gmgk if imgk imgsys=`identify #{path_img}`.strip #system call elsif gmgk imgsys=`gm identify #{path_img}`.strip #system call end w,h=/(\d+)x(\d+)/m.match(imgsys)[1,2] else w,h='600','800' end else w,h=nil,nil end {w: w, h: h} end def home_button_text if @h['home_button_text'] @h['home_button_text'].split(/\s*;\s*/) else nil end end def home_button_image s=nil s=if @h['home_button_image'] s=@h['home_button_image'].split(/\s*;\s*/) s0=s[0] #if image={} s=if s0 =~/{(\S+\.(?:jpg|png|gif))(?:\s+(\d+x\d+))?\s*}(?:(http:\/\/\S+)|image)/ image[:home_button]=$1 if $2 image[:dimensions]=$2 image[:w],image[:h]=/(\d+)x(\d+)/m.match(image[:dimensions])[1,2] else d=get_image_dimensions(image[:home_button]) image[:w],image[:h]=d[:w],d[:h] image[:dimensions]="#{d[:w]}x#{d[:h]}" end image[:link]=$3 image end else nil end end def cover_image s=nil if @h['cover_image'] s=@h['cover_image'].split(/\s*;\s*/) s=s[0] #if image={} if s =~/{\s*(\S+\.(?:jpg|png|gif))(?:\s+(\d+x\d+))?(?:\s+"(.+?)")?\s*}image/ image[:cover]=$1 if $2 image[:dimensions]=$2 image[:w],image[:h]=/(\d+)x(\d+)/m.match(image[:dimensions])[1,2] else d=get_image_dimensions(image[:cover]) image[:w],image[:h]=d[:w],d[:h] image[:dimensions]="#{d[:w]}x#{d[:h]}" end image[:note]=$3 elsif s =~/(\S+\.(?:jpg|png|gif))/ image[:cover]=$1 d=get_image_dimensions(image[:cover]) image[:w],image[:h]=d[:w],d[:h] image[:dimensions]="#{d[:w]}x#{d[:h]}" image[:note]=nil end image else nil end end def footer if @h['footer'] @h['footer'].split(/\s*;\s*/) else nil end end self end
make_links()
click to toggle source
# File lib/sisu/dp_make.rb, line 518 def make_links @doc_links=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m) def links lnks,a_idx=[],0 @doc_links.each do |doc_link| if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/ say,url=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2] lnks[a_idx]={ say: say, url: url } a_idx +=1 end end lnks end def append? (@doc_links[0]=='+') \ ? :yes : :no end self end
manifest?()
click to toggle source
# File lib/sisu/dp_make.rb, line 261 def manifest? (omit.list.inspect =~/"manifest"/) \ ? :off : :na end
manifest_minitoc?()
click to toggle source
# File lib/sisu/dp_make.rb, line 321 def manifest_minitoc? (omit.list.inspect =~/"manifest_minitoc"/) \ ? :off : :na end
manpage()
click to toggle source
# File lib/sisu/dp_make.rb, line 393 def manpage manpage={} if @h['manpage'] if @h['manpage'] =~/;/m man=@h['manpage'].split(/;/m) man.each do |x| m=(x=~/=/m) ? x.split(/=/m) : nil if m manpage[m[0].strip] = m[1].split(/ \. /) end end end end if manpage['name'] manpage['name']=manpage['name'].join("\n.br\n"). gsub(/(-)/m,"\\\\\\1"). gsub(/\A/,"\n.br\n.SH NAME\n.br\n") else manpage['name']='man page "name/whatis" information not provided, set in header @man: name=[whatis information]' end if manpage['synopsis'] manpage['synopsis']=manpage['synopsis'].join("\n\n.br\n"). gsub(/(-)/m,"\\\\\\1"). gsub(/\A/,"\n.br\n.SH SYNOPSIS\n.br\n") else manpage['synopsis']='' end unless manpage['section'] manpage['section']=1 end manpage end
metadata?()
click to toggle source
# File lib/sisu/dp_make.rb, line 271 def metadata? (omit.list.inspect =~/"metadata"/) \ ? :off : :na end
minitoc?()
click to toggle source
# File lib/sisu/dp_make.rb, line 276 def minitoc? (omit.list.inspect =~/"minitoc"/) \ ? :off : :na end
mono()
click to toggle source
# File lib/sisu/dp_make.rb, line 355 def mono @h['texpdf_font_mono'] \ && (@h['texpdf_font_mono']=~/\S{3,}/) \ ? @h['texpdf_font_mono'] : @env.font.texpdf.mono end
name_format(name)
click to toggle source
# File lib/sisu/dp_make.rb, line 80 def name_format(name) if name name=name.strip @name_a_h=[] authors=name.scan(/[^;]+/) authors.each_with_index do |a,i| b=((a =~/\s*\|\s*/) ? (a.split(/\|/)) : [a]) if b[0] =~/"(.+?)"/ @name_a_h << { the: $1 } else x=b[0].scan(/[^,]+/) if x.length==1 @name_a_h << { the: x[0].strip } elsif x.length==2 @name_a_h << { the: x[0].strip, others: x[1].strip } else #p x.length end end b.delete_at(0) b.each do |d| k,c=nil k,c=/^(\S+)\s+(.*)/.match(d)[1,2] if d @name_a_h[i][:hon]=c.strip if k=='hon' @name_a_h[i][:affiliation]=c.strip if k=='affiliation' @name_a_h[i][:nationality]=c.strip if k=='nationality' end end l=@name_a_h.length name_str='' @name_a_h.each_with_index do |a,i| name_str += if a[:others] z=(((l - i) > 1) ? ', ' : '') "#{a[:others].strip} #{a[:the].strip}" + z else z=(((l - i) > 2) ? ', ' : '') "#{a[:the].strip}" + z end end { name_a_h: @name_a_h, name_str: name_str } else nil end end
num_top()
click to toggle source
# File lib/sisu/dp_make.rb, line 161 def num_top @h['num_top'] end
ocn?()
click to toggle source
# File lib/sisu/dp_make.rb, line 251 def ocn? (omit.list.inspect =~/"ocn"/) \ ? :off : :na end
omit()
click to toggle source
# File lib/sisu/dp_make.rb, line 243 def omit m=@h['omit'] @m=m ? (m.split(/,\s+/)) : nil def list @m end self end
plaintext_wrap()
click to toggle source
# File lib/sisu/dp_make.rb, line 235 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
promo()
click to toggle source
# File lib/sisu/dp_make.rb, line 387 def promo @h['promo'] end
sans()
click to toggle source
# File lib/sisu/dp_make.rb, line 343 def sans # not used @h['texpdf_font_sans'] \ && (@h['texpdf_font_sans']=~/\S{3,}/) \ ? @h['texpdf_font_sans'] : @env.font.texpdf.sans end
search_form?()
click to toggle source
# File lib/sisu/dp_make.rb, line 306 def search_form? (omit.list.inspect =~/"search_form"/) \ ? :off : :na end
segsubtoc?()
click to toggle source
# File lib/sisu/dp_make.rb, line 301 def segsubtoc? (omit.list.inspect =~/"segsubtoc"/) \ ? :off : :na end
serif()
click to toggle source
# File lib/sisu/dp_make.rb, line 349 def serif # not used @h['texpdf_font_serif'] \ && (@h['texpdf_font_serif']=~/\S{3,}/) \ ? @h['texpdf_font_serif'] : @env.font.texpdf.serif end
substitute()
click to toggle source
# File lib/sisu/dp_make.rb, line 215 def substitute m=@h['substitute'] if m w=m.scan(/\/(.+?)\/(i?,)\s*'(.+?)'(?:\s+|\s*;\s*|$)/) arr_hash=[] matches='' w.each do |x| c=(x[1] =~/[i],/) ? :i : :s matches=matches + x[0].gsub(/([${}])/,'\\\\\1') + '|' arr_hash << { match: x[0].gsub(/([${}])/,'\\\\\1'), replace: x[2], case_s: c } end matches.chop! { match_and_replace: arr_hash, matches: matches } else nil end end
texpdf_font()
click to toggle source
# File lib/sisu/dp_make.rb, line 336 def texpdf_font def main @h['texpdf_font'] \ && (@h['texpdf_font']=~/\S{3,}/) \ ? @h['texpdf_font'] : @env.font.texpdf.main end def sans # not used @h['texpdf_font_sans'] \ && (@h['texpdf_font_sans']=~/\S{3,}/) \ ? @h['texpdf_font_sans'] : @env.font.texpdf.sans end def serif # not used @h['texpdf_font_serif'] \ && (@h['texpdf_font_serif']=~/\S{3,}/) \ ? @h['texpdf_font_serif'] : @env.font.texpdf.serif end def mono @h['texpdf_font_mono'] \ && (@h['texpdf_font_mono']=~/\S{3,}/) \ ? @h['texpdf_font_mono'] : @env.font.texpdf.mono end def cjk @h['texpdf_font_cjk'] \ && (@h['texpdf_font_cjk']=~/\S{3,}/) \ ? @h['texpdf_font_cjk'] : @env.font.texpdf.cjk end def cjk_zh @h['texpdf_font_cjk_zh'] \ && (@h['texpdf_font_cjk_zh']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_zh'] : @env.font.texpdf.cjk_zh end def cjk_ja @h['texpdf_font_cjk_ja'] \ && (@h['texpdf_font_cjk_ja']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_ja'] : @env.font.texpdf.cjk_ja end def cjk_ko @h['texpdf_font_cjk_ko'] \ && (@h['texpdf_font_cjk_ko']=~/\S{3,}/) \ ? @h['texpdf_font_cjk_ko'] : @env.font.texpdf.cjk_ko end self end
toc?()
click to toggle source
# File lib/sisu/dp_make.rb, line 256 def toc? (omit.list.inspect =~/"toc"/) \ ? :off : :na end
validate_length(s,l,n)
click to toggle source
# File lib/sisu/dp_make.rb, line 61 def validate_length(s,l,n) #s=(s.length <= l) ? s : nil s=if s.is_a?(String) \ and s.length <= l s elsif s.is_a?(NilClass) nil elsif s.class !=String STDERR.puts "#{n} is #{s.class}: programming error, String expected #{__FILE__}:#{__LINE__}" s else SiSU_Screen::Ansi.new( 'v', "*WARN* #{n} length #{s.length} exceeds set db field length #{l}, metadata dropped", @opt.fns ).warn unless @opt.act[:quiet][:set]==:on nil end end