<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>TT / Drkcore</title><link>http://blog.kzfmix.com/TT</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Fri, 23 Feb 2007 21:59:52 +0919</lastBuildDate><item><title>TTで-fを評価する方法</title><link>http://blog.kzfmix.com/entry/1172235592</link><description>&lt;p&gt;pdfみたいに、あるファイルが存在するかどうかをTTで調べてファイルが存在する場合にアイコンなんかを表示させたい、&lt;/p&gt;
&lt;p&gt;つまりTTで-fを評価したかったのだが、いいやり方が思い浮かばなかった(みつからなかった)のでPERLブロックで評価してしまった。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;[% PERL %]&lt;/span&gt;
  &lt;span class="na"&gt;my $pdf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;/static/PDFs/&amp;quot;. [% some %] . &amp;quot;.pdf&amp;quot;;&lt;/span&gt;
&lt;span class="err"&gt;if(-f&lt;/span&gt; &lt;span class="err"&gt;&amp;quot;root$pdf&amp;quot;){&lt;/span&gt;
  &lt;span class="na"&gt;print &amp;#39;&amp;lt;img src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;http://www.kzfmix.com/static/images/png/PDF_icon.gif&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;#39;;&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;[% END %]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;むむむな感じなんだけど。&lt;/p&gt;</description><pubDate>Fri, 23 Feb 2007 21:59:52 +0919</pubDate><category>perl</category><category>TT</category></item><item><title>Template Toolkitで正規表現マッチ</title><link>http://blog.kzfmix.com/entry/1169815672</link><description>&lt;p&gt;セッションのユーザー名と、パスに含まれているユーザー名が同じ場合にeditのリンクを出したいときとか、^/kzfm$みたいなマッチをさせたかったので調べた。&lt;/p&gt;
&lt;p&gt;こんな風に&lt;a href="http://www.tt2.org/docs/default/Manual/VMethods.html#Scalar_Virtual_Methods"&gt;match&lt;/a&gt;というメソッドを使うといいそうだ。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;[% name = &amp;#39;Larry Wall&amp;#39; %]&lt;/span&gt;
&lt;span class="k"&gt;[% matches = name.match(&amp;#39;(\w+) (\w+)&amp;#39;) %]&lt;/span&gt;
&lt;span class="err"&gt;[%&lt;/span&gt; &lt;span class="err"&gt;matches.1&lt;/span&gt; &lt;span class="err"&gt;%],&lt;/span&gt; &lt;span class="err"&gt;[%&lt;/span&gt; &lt;span class="err"&gt;matches.0&lt;/span&gt; &lt;span class="err"&gt;%]&lt;/span&gt;        &lt;span class="c"&gt;# Wall, Larry&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Template ToolkitのVMethodってほかにも結構いろいろあんのね。&lt;/p&gt;</description><pubDate>Fri, 26 Jan 2007 21:47:52 +0919</pubDate><category>TT</category></item><item><title>TTで空白行を除く</title><link>http://blog.kzfmix.com/entry/1164981390</link><description>&lt;p&gt;TT使ってできたHTMLのソースを見ると、IF文の部分とかが空白行になってしまい、やたらとスカスカ全開のHTMLが気持ち悪かったりして、コードの見やすさを犠牲にして、改行を削ってJAPHみたいなあとから読んだらよくわからんようなTT作ったりたんだけど、、、&lt;/p&gt;
&lt;p&gt;-をつければchompして空白行を消すことができるということを&lt;a href="http://search.cpan.org/~jrockway/Catalyst-Manual-5.700501/lib/Catalyst/Manual/Tutorial/CatalystBasics.pod#Create_a_TT_Template_Page"&gt;Catalyst::Manual::Tutorial::CatalystBasics&lt;/a&gt;で知った。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;[% FOREACH book IN books -%]&lt;/span&gt;
  &lt;span class="err"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="err"&gt;&amp;lt;td&amp;gt;[%&lt;/span&gt; &lt;span class="err"&gt;book.title&lt;/span&gt; &lt;span class="err"&gt;%]&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="err"&gt;&amp;lt;td&amp;gt;[%&lt;/span&gt; &lt;span class="err"&gt;book.rating&lt;/span&gt; &lt;span class="err"&gt;%]&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="err"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;
    &lt;span class="err"&gt;etc,etc&lt;/span&gt;
    &lt;span class="err"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
  &lt;span class="err"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="k"&gt;[% END -%]&lt;/span&gt;
&lt;span class="err"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;とかやっておくと&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;      &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;といった、いかにもな感じの空白行が&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;      &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;まるで手術痕の残らないヨみたいな自然なソースになるわけだ。素敵！&lt;/p&gt;
&lt;p&gt;ま、ちょっと探したら&lt;a href="http://www.template-toolkit.org/docs/plain/Manual/Syntax.html#Chomping_Whitespace"&gt;Template Toolkit Manual&lt;/a&gt;にも書いてあったので、単にマニュアル読んでないのがばればれなだけなんだけど、、、、&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.template-toolkit.org/docs/plain/Manual/index.html"&gt;Template Toolkit Manual&lt;/a&gt;もちゃんと読んでおくべきか。&lt;/p&gt;
&lt;p&gt;で、微妙に本も欲しくなったりするなぁ。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/0596004761/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51fhIsg7AzL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Perl Template Toolkit&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Darren Chamberlain&lt;br /&gt;
    Oreilly &amp; Associates Inc / 3031円 ( 2004-03 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;とはいうものの、TTに深入りするくらいなら、&lt;a href="http://search.cpan.org/dist/HTML-Mason/lib/HTML/Mason.pm"&gt;HTML::Mason&lt;/a&gt;みたいなほうが僕にはむしろあっているのかナァと悩んだが、&lt;strong&gt;テンプレートはテンプレートの利便さを追求する結果、うっかり高機能化した（しすぎた）だけなんだヨ&lt;/strong&gt;って考えるほうが、MVC的には自然なのかなあと今は考えている(というか自分を納得させている)。&lt;/p&gt;</description><pubDate>Fri, 01 Dec 2006 22:56:30 +0919</pubDate><category>TT</category></item></channel></rss>