The Diary of Aska

Markdown Diary 開発中 No.02

何を思ったのか土曜日の朝いきなりblogを作り始めた、何を思ったのやら..

殆ど完成していると言っても気になるところがいくつかあったので直した。

コメントシステム考察

全部入りのzenbackは全部入り過ぎたので却下、topsy or backtypeで自力でtweet取得し表示するのも悪くなさそう、現状簡単に設置でき見た目もシンプルなDISQUSを設置。

カテゴリーやアーカイブで複数件表示時本文なし

改ページしたくなかったので件名だけバーっと出している。

ディレクトリ階層悩み中

カテゴリとかファイル開いて弄るの面倒なのでディレクトリで表現してみた、ファイル数増えたらカテゴリの中に年とかで掘るかな、一応数字だけのディレクトリはカテゴリーとして認識しないようにしている、また、階層をネストすると複数のカテゴリーに属させる事ができる。しかし、ファイルを探し辛くなるので、1つが良いかも。

./
├── README.md
├── app.psgi
├── blog
│   ├── Opinion
│   │   └── 2011032403.browser-app-no-modern.md
│   ├── Release
│   │   ├── 2011032203.dropbox-api-command.md
│   │   ├── 2011032303.dropbox-api-command-add.md
│   │   ├── 2011032503.404change.md
│   │   ├── 2011032718.markdown-diary-comming-soon.md
│   │   └── 2011032823.markdwon-diary-02.md
│   └── Seminar
│       └── 2011032623.extjs4.md
├── config.json
├── draft
├── htdocs
│   ├── favicon.ico
│   ├── robots.txt
│   └── static
│       ├── css
│       │   └── style.css
│       ├── img
│       │   ├── icon_16.png
│       │   └── icon_40.png
│       └── js
│           └── binder.js
├── view
│   ├── index.html
│   ├── iphone.html
│   └── sidebar.tx
├── viewer.psgi
└── watcher.pl

Facebookいいねボタンについて

初期状態で width 450px 要求する恐ろしい子、幅の制御が面倒なので右が空くようにソーシャル系は float: left; で右端にfacebookを置いた。

はてなブックマークのアイコンを base64 した

つい出来心で。

<a href="http://b.hatena.ne.jp/entry/http://blog.7kai.org/" class="hatena-bookmark-button"
data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加">
<img src="data:image/gif;base64,R0lGODlhFAAUANU/ACxuvVaLyv///16FtE5+t0t6sVOGwypqtihkrCpptH
eWvCtruPDz9lOHxD9soMvV4cvV4PDz9yZgpUJyrNfd5dLc56KyxpWovSxtvIihv1WKyDxgjCdiqFGDv/Dy9nmXuYii
wXCVwVeBtFCBu1SHxGCJuyllrl2Cr019tXSStdPd6XiZv8zX49Lb53eYvpuxy7LC1HKPsWiGqChjqnOQsylmr+Hm7C
hlrU9/uWeHreTp7lSIxVKEwMLN2h5Lgv///yH5BAEAAD8ALAAAAAAUABQAAAaRwB9gSCwaicKAcslsLofOaBMqrVKr
0avGMCIQcB0SD0VoPAHLXYgFgTxeopVAQDgvG665HkabF+xKBgpzGxYCDzF+gAGCcxcUOjkpikpGBwN6Ah4fJ3McR0
OXcz4yAgwOGSA3oACiAj02pg4RFQisCyWZLQMTESo1rBgJMxLFCAkJCCYLrM3Oz9DR0qBC00M/QQA7"
alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;"></a>

カレンダーも付けてみた

Calendar::Simple 使うと週単位で日付を格納した配列を返してくれる、親切だね。

@calender = map {
    my $day = $_;
    # ...
    +{ day => $day, has_entry => $has_entry }
} calendar();

<table>
[% FOREACH week IN calendar %]
<tr>
[% FOREACH day IN week %]
[% IF day.has_entry %]
<td><a href="[% day.url %]">[% day.day %]</a></td>
[% ELSE %]
<td>[% day.day %]</td>
[% END %]
[% END %]
</tr>
[% END %]
</table>

RSS書き出しを追加

ブログといえば RSS! しかし XML::RSS なんて2年ぶりに使ったので使い方忘れていた。

my $rss = XML::RSS->new(
  version       => '1.0',
  encode_output => 0,
);

$rss->add_module(
  prefix => 'content',
  uri => 'http://purl.org/rss/1.0/modules/content/',
);

$rss->channel(
  title       => 'The Diary of Aska',
  link        => 'http://blog.7kai.org/',
  description => 'the diary of aska.',
  dc => {
    date       => $last_entry->{date_http},
    subject    => 'diary',
    creator    => 'aska',
    publisher  => 'aska',
    rights     => 'copyright aska.',
    language    => 'ja',
  }
);

# ... $rss->add_item( ...

return [
    200,
    ['Content-Type' => 'text/xml; charset=utf-8'],
    [$rss->as_string()]
];