Changelogmemo一周年
昨日で、Changelogでメモを取り出してから一年がすぎた。
エントリ数1320、clmemo.txtのファイルサイズ349KB。
そろそろブログも再開しよう。
clmemo + Markdown
いややっぱ Markdown と clmemo は相性いいよ。
ここで使っている素の clmemo.txt を見てもらえばわかると思うけど、テキストとしても普通に読めちゃう。
あとこういうテキストパーサー系のものって全部そのルールにのっとって書かなきゃいけないものばかりだけど、Markdown だと普通に html を書くことも出来る。
たとえば Flickr とかの画像貼ろうと思ったとき Flickr が出してくれる img タグをそのまま貼り付けられたりとか。
こんな感じで。
coComment に対応
使えねーといいつつここのコメントを coComment 対応にしてみました。
<script type="text/javascript">
var blogTool = "CLON";
var blogURL = "[% base | html %]";
var blogTitle = "[% name | html %]";
var postURL = "[% base _ c.req.path | html %]";
var postTitle = document.title;
var commentAuthor = "[% c.user.username | html %]";
var commentAuthorLoggedIn = true;
var commentFormID = "comment_form";
var commentTextFieldName = "comment";
var commentButtonName = "submit";
</script>
みたいな JavaScript コードを埋め込めば良いよう。しかし名前空間もちょっと考えてほしいですよね。しかも思い切り普通の変数名だし。
詳しいことは
を参照のこと。
Data::Clmemo
CLON の作成にあたり Data::Clmemo などというものができちゃったわけですが、激しくオレフォーマットな Changelog memo しかパースできないため、CLON の公開にはこれの拡張が必至。
フォーマットの定義を Data::Clmemo::* でやればいいのかね。DBIC::Loader とかのイメージで。
コメント実装
した。
これで思う存分NDOメソッドれるぜ!
英語ログ
始める。今から CLON に実装する。
IRC で相手の言ってることはわかってるのに(わからないことも多いですが)こちらの言葉が出ないのは、普段から英語を書いてないからだと思ったので。
flavour on Catalyst
URLパスの一番最初を Blosxom でいう flavour のように使ってみるという試み。
sub prepare_action {
my $c = shift;
if ( my $path = $c->req->path ) {
my ($flavour) = $path =~ m!^([^/]+)!;
if ( $flavour !~ /^(search|tag|\d{4})$/ ) {
$c->stash->{flavour} = $flavour;
$c->stash->{_path} = $c->req->path;
$path =~ s!^$flavour/+!!;
$c->req->path( $path );
}
}
$c->NEXT::prepare_action(@_);
$c->req->path( delete $c->stash->{_path} ) if $c->stash->{_path};
$c->stash->{flavour} ||= $c->config->{default_flavour} || 'html';
}
こんな感じ?
これで、パスが search, tag, 2005 とか以外は flavour としてあつかわれて、
/flavour/tag/clon
とかでも /tag/clon と同じコントローラが呼ばれる。わかりにく!
Blosxom は index.flavour とか拡張子で切り分けてたけど、なんか変な flavour 作ると URL がダサいので。
でもこっちはコントローラで使ってる文字を使えないというのもあるし。