(2011-01の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2011-01-23 Sun (他の年の同じ日: 2006 2007)
itemページのタイトルにカテゴリ表示
2011-01-23-3 / カテゴリ: [perl][chalow] / [permlink]
今まで「エントリ」と書いてたけど、chalow的にはitemだったなう。
itemごとのページ(YYYYmmdd-x.html)のhtmlタイトルに、カテゴリを表示してみた。
あとは、テンプレート側からdispcatを呼び出せばOK
そろそろchalowもsvnに突っ込むか…
itemごとのページ(YYYYmmdd-x.html)のhtmlタイトルに、カテゴリを表示してみた。
--- chalow.20110123 2011-01-22 22:56:41.727087965 +0900 +++ chalow 2011-01-23 16:42:29.715835927 +0900 @@ -749,6 +749,7 @@ ### カテゴリ my $catstr = make_cat_link_html($ent->{$i}{cat}); + my $dispcat = "[".join("][", @{$ent->{$i}{cat}})."]"; ### 日付リンクによるリファラー my @inside_refs = get_inside_ref("$ymdi"); @@ -799,6 +800,7 @@ #$t->param(header => $item->{h}); $t->param(header => qq(<a href="@{[datestr2url($ymdi)]}">).$item->{h}."</a>"); $t->param(cat => $catstr); + $t->param(dispcat => $dispcat); $t->param(author => $item->{a}); $t->param(referrer => join(" ", @inside_refs)); $t->param(id => $item_id); # 200101011それ用の変数を見つけられなかったのでwrite_item_page()内で、テンプレート用の $dispcat を新しく作成。
あとは、テンプレート側からdispcatを呼び出せばOK
--- cl.conf.20110123 2011-01-23 02:19:18.367193474 +0900 +++ cl.conf 2011-01-23 16:42:37.523566691 +0900 @@ -345,7 +345,7 @@ $tmpl_starthtml <head> $tmpl_header -<title><TMPL_VAR name=header_text> | <TMPL_VAR name=cl_name></title> +<title><TMPL_VAR name=header_text> / <TMPL_VAR name=dispcat> | <TMPL_VAR name=cl_name></title> </head> <!-- ================== ITEM_PAGE_TEMPLATE ================= --> <body>
そろそろchalowもsvnに突っ込むか…
SyntaxHighlighter用に[src]の言語指定可能改造
2011-01-23-2 / カテゴリ: [perl][chalow] / [permlink]
--- chalow.20110122 2011-01-22 22:41:33.635539221 +0900 +++ chalow 2011-01-22 22:56:41.727087965 +0900 @@ -1296,6 +1296,7 @@ my %escaped_string; my $num_of_escaped_src; my %escaped_src; +my %escaped_src_type; my $num_of_escaped_plugin; my %escaped_plugin; @@ -1315,8 +1316,9 @@ ### ソースエスケープ - "&" や "<" などを置換し pre を付ける $num_of_escaped_src = 0; - $$strp =~ s!\[src\](.*?)\[/src\]! - $escaped_src{++$num_of_escaped_src} = $1, + $$strp =~ s!\[src(\s\w+)?\](.*?)\[/src\]! + $escaped_src{++$num_of_escaped_src} = $2, + $escaped_src_type{$num_of_escaped_src} = $1, $escaped_src{$num_of_escaped_src} =~ s/&/&/g, $escaped_src{$num_of_escaped_src} =~ s/</</g, $escaped_src{$num_of_escaped_src} =~ s/>/>/g, @@ -1336,7 +1338,7 @@ $$strp =~ s|\x7\x13(\d+)\x3|eval($escaped_plugin{$1})|ge; ### ソースアンエスケープ - pre 追加 # todo(SyntaxHilighter) - $$strp =~ s|\x6\x13(\d+)\x3|<pre class="brush:plain;">$escaped_src{$1}</pre>|g; + $$strp =~ s|\x6\x13(\d+)\x3|"<pre class=\"brush:".(length $escaped_src_type{$1}? $escaped_src_type{$1}: "plain").";\">$escaped_src{$1}</pre>"|eg; # <p>は使ってないので #$$strp =~ s|\x6\x13(\d+)\x3|</p><pre>$escaped_src{$1}</pre><p>|g; ### HTML アンエスケープこんな感じで。
んで、Changelogの方は
(src) コード (/src)となってるのを
(src perl) コード (/src)とか書けばオーケー
※ ()は実際は[]
まぁ簡単にいっちゃえば、/ foo/ があれば brush:foo、無ければ brush:plain に置換するための保持用変数とコードを追加。
というか、既存Changelogへの自動種別追記なんかできないから、全部手作業で追記したぞ(笑)
このエントリまで含めた時点での統計
全ソース指定
% grep "^.\[src" ChangeLog | wc -l 915
手作業で言語指定
% grep "^.\[src " ChangeLog | sed -e "s/[][]//g" | awk '{print $2}' |lv | wc -l 218
言語指定ランキング
% grep "^.\[src " ChangeLog | sed -e "s/[][]//g" | awk '{print $2}' |lv | sort | uniq -c | sort -r 102 perl 64 cpp 19 bash 13 xml 12 diff 5 js 2 html 1 java
やっぱperl多いな。cpp(というかC)が意外な多さだ。
というか、コマンド実行とかconfigが大半だったから、全体からすれば少ないけど。
あと、lispスタイルも欲しかったな…
というか、sed/awk/sort/uniq使ったの何年ぶりだろ。
Referrer (Inside):
[2011-06-16-1]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12