Fixed mpost to render LaTeX

This commit is contained in:
Yann Esposito 2012-10-18 12:27:46 +02:00
parent b9c9b7aed9
commit 84b9837592

View file

@ -4,9 +4,9 @@ class MPost < Nanoc3::Filter
@@name=["Zero","One","Two","Three"] @@name=["Zero","One","Two","Three"]
def solarized(str) def solarized(str)
str.gsub( str.gsub(
%r{base([0123])},'base'+@@name[0]+@@name[$2] %r{base0([0123])},'base'+@@name[0]+@@name[$1.to_i]
).gsub( ).gsub(
%r{base([0123])},'base'+@@name[$2] %r{base([0123])},'base'+@@name[$1.to_i]
).gsub( ).gsub(
%{red},'s_red' %{red},'s_red'
).gsub( ).gsub(
@ -21,8 +21,7 @@ class MPost < Nanoc3::Filter
title=$2 title=$2
str=$3 str=$3
filename=title.gsub(/[^a-zA-Z0-9_]/,"_") filename=title.gsub(/[^a-zA-Z0-9_]/,"_")
File.open(@@tmpfic,'w') do |f| code=%{
f.write %{
color baseZeroThree, baseZeroTwo, baseZeroOne, baseZeroZero color baseZeroThree, baseZeroTwo, baseZeroOne, baseZeroZero
, baseZero, baseOne, baseTwo, baseThree, yellow, orange , baseZero, baseOne, baseTwo, baseThree, yellow, orange
, s_red, magenta, violet, s_blue, cyan, s_green; , s_red, magenta, violet, s_blue, cyan, s_green;
@ -44,10 +43,14 @@ class MPost < Nanoc3::Filter
cyan :=(0.164705882352941 ,0.631372549019608,0.596078431372549); cyan :=(0.164705882352941 ,0.631372549019608,0.596078431372549);
s_green :=(0.52156862745098 ,0.6 ,0.0); s_green :=(0.52156862745098 ,0.6 ,0.0);
prologues:=3;
drawoptions (withcolor base02);
beginfig(1) beginfig(1)
} }.sub(%r{^\s*},"")
f.write str code <<= str
f.write %{\nendfig;\nend\n} code <<= %{\nendfig;\nbye;\n}
File.open(@@tmpfic,'w') do |f|
f.write solarized(code)
end end
FileUtils.mkdir_p('output'+@item.path+'mpost') FileUtils.mkdir_p('output'+@item.path+'mpost')
webpath=@item.path + 'mpost/' + filename + '.png' webpath=@item.path + 'mpost/' + filename + '.png'