nDiki : tDiary

2003年11月19日 (水)

tDiary

やっぱり、tDiary に移行しようと思う。 昨日一日かけて、ディレクトリ構成を検討(share, var, etc, htdocs のレイアウトと symbolic link の張り方など)。

で今日いろいろと実験。 やはり旬表示ができない以外は、ほぼやりたい事ができそうだ(いくつか不明点もあるが) しばらくはローカルホストで設定とテーマを練って、まとまったらこのサーバで運用しはじめるつもり。

[ 11月19日全て ]

2003年11月20日 (木)

やっぱハイパー日記システム

tDiary に随分傾むいていたのだが。

自分自身の使用としては、

  • tDiary で SUB できない?
  • tDiary で 旬単位表示できない? (月まとめ表示はちょっと大きすぎる気が)
  • tDiary には hns の log.cgi に当たる機能がない?
  • Ruby プログラム、 hack できない (これを機に覚えれば良いのだが)
  • WiKicker との連動コードを簡単に埋め込めなくなる(WiKickerPerl)
  • Unison 導入により hns 関連ファイル管理の整理ができたので、そこら辺が綺麗で気にいった tDiary のメリットが少なくなった。

といった感想。 最初から tDiary だったら問題を感じなかった部分も多いだろう。 慣れの問題。 あとこれから日記システムを提供してあげる予定の Tarebouzuさんに対しては、

  • hns でも tDiary のテーマが使える事が判明した(tdiary-hns-theme 使用)ので、レイアウトの選択肢が広まった
  • hns にも Web インタフェースがあるし
  • hnf 記法の方が、tDiary 記法より簡単 (私が慣れているだけかもしれないが。まぁ教えやすいし。)

といった感想。 で、二転三転したが結局 hns でいこうかと。

hns のセットアップ、theme の入れかえ、mod_rewrite の設定あたりまで終わらせる。 後は、Namazu とかそのあたり。 週末には稼働できるかと。

[ 11月20日全て ]

2003年12月29日 (月)

[ WiKicker ] tDiaryテーマ互換モードの実装

WiKickerベースの日記システム実装に合わせて、Wiki の方も tDiaryテーマ互換モードを実装しておく。

div の追加、class の変更など。 当然ではあるが表示要素が異なるので tDiaryのテーマの要素にうまくマッピングできないものが出てくるな。 どうしたものか。 できるだけ、近そうなものにはマッピングしてみたが。

補助用に複数の外部スタイシートを指定できるようにもしておく。 新し目のCGI.pm だと

 start_html(-style => {-src => [ 'a.css', 'b.css' ]})

のように直接複数指定できるのだが、古いやつだと駄目。-head の方に Link({-rel => 'stylesheet'...}) で複数指定する必要あり。

[ 12月29日全て ]

2004年1月23日 (金)

[ WiKicker ] 憧れのサイドバー

Wiki はまぁ(ユーザからの視点において)シンプルな方が良いと思うのだが、やっぱサイドバーは出せてもいいかな。先日実装したIPC共有メモリを用いた直近のアクセスログ管理を使ってトップランキングも常にチェックできるようにしたいし。

tDiary テーマでサイドバー

レイアウトは tDiary のテーマにまかせる。 現在の blue-feather はサイドバー対応していないようなので、Nana 氏の flower に変更。 Wiki用に若干幅、配色等を修正。

で、WiKicker のフッタファイルに <div class="sidebar">...</div> を作ってそこに Google検索フォーム等を移動。

Access Top 30

IPC共有メモリに置いてあるアクセスログを使って直近300アクセスによるランキングをサイドバーに表示できるようにする。

アクセスログは刻々と更新されるのでトップランキングもできるだけ更新表示させたいのだが、一方各WikiPageはレスポンス向上・負荷軽減のためできるだけ 304 を返したい。

なのでページ中の更新表示させたいトップランキングの部分を、JavaScriptファイルとして別ファイルに生成しておくことにした(いわゆる JavaScript Include)。 HTML出力自体に変更がなくて304を返しても、アクセスログの変更に合わせてJavaScriptファイルだけ更新しておけばクライアント側で表示を更新してくれる。

JavaScript はできるだけ避ける方針できているが、アクセスランキングは付加的情報なのでJavaScript off によって表示されなくてもそれほど問題ないと判断。 document.write だけだから互換性の問題もほとんどないだろうし。

JavaScriptファイルの更新は、RecentLogへアクセスがあった時についでに生成するという形で行うようにしてみた。 一応 cron で1時間毎に

 wget --quiet -O - http://www.naney.org/wiki/RecentLog.html > /dev/null

して、最低でも1時間に1回は更新されるようにしておく。

[ 1月23日全て ]

2004年2月1日 (日)

WiKicker 0.20 リリース

1ヶ月ぶりにリリースtDiaryテーマ対応・共有メモリ使用・Memcached使用など実験的なコードを沢山いれた。

[ 2月1日全て ]

2004年2月3日 (火)

なつみかん」の開発・保守・運用を凍結します。

見逃していたが、

2003/12/24(水) 「なつみかん」の開発・保守・運用を凍結します。 今後のバージョンアップ・フォロー等は、気が向かない限り無いと思います。 -- 「なつみかん(NATSU-MICAN)」オフィシャルサイト

か。残念。 はてなアンテナの有料オプションの話もあるし、アンテナ業界(?)も変化の時期か? RSSも含めて今後どうなっていくのだろう。 LIRSなどのリモート取得関係とか。

他の実装

The diary formerly known as Go ahead make my day.より。

たまてばこ」「五月雨」はRubyか。サーバ容量に余裕があまりないので(ruby自体のインストールも必要とあって)ちょっと厳しいかな。 RNA は面白そう。RSS以外も取得できるといいな。pure Perlだし。 「第二アンテナ」はtDiary限定?

なつみかん」がGNU GPLとかで、どこかが引き継げればいいんでしょうけどね。

追記

「ありますよ、いよかんが」 (2004年2月6日追記)

[ 2月3日全て ]

2004年5月4日 (火)

[ DiKicker ] くっつき BBSをくっつけてみた。

DiKicker でのコメント機能についてだがあらためて実装するのも大変なので、たつを氏のくっつき BBSを組み込んでみた (v1.0rc2)。

ファイルレイアウト

 $HOME/etc/kuttukibbs/kuttukibbs.conf - 設定ファイル (一部変更)
 $HOME/var/log/kuttukibbslog.txt - 管理者用ログファイル

 $HTML/kuttukibbs/kuttukibbs.cgi - CGIプログラム (一部変更)
 $HTML/kuttukibbs/getlog.cgi - (一部変更)
 $HTML/var/kblog/$ID.log
 $HTML/var/kblog/$ID.js

DiKicker への埋め込み

記事毎ののHTMLフラグメントを生成する際に、kuttukibbs.cgi へのリンクと、(getlog.cgi経由での)Feedファイルの読み込み部分を埋め込むように変更。

くっつくFeedファイルが無い場合は commentshortクラスの div要素 (tDiary スタイル)が存在しなくなるようにしたかったのでレンダラではこれを埋め込まず、getlog.cgi で出力するようにした。

ついでに getlog.cgi は

  • charset指定を UTF-8 に修正
  • 違う階層Feedファイルを読むように修正

した。

kuttukibbs.cgi のUTF-8対応

Feedファイル用にコメントを切りつめる際、UTF-8 だと後続バイトが切り捨てられる場合がある。 WiKickerUTF-8 用の substr / length ラッパがあるのでこれを使うように修正。

tDiary テーマの修正

tDiary では日単位でのコメントでありテーマもそれにあわせてデザインされている。 DiKicker では記事単位にコメントをつけるようにしたいので(またそうでないと記事単位で集約した場合に困るので)、使っているテーマ(Nana さんの flower をベースにしているもの)のCSSを修正。

くっつけてみる

テストした範囲ではうまくいっているようだ。 HTMLレンダリング済みの記事はキャッシュが更新されないとコメントするためのリンクが現れないが順次出てくるはず。

くっつきとして見るには要 JavaScript サポート。

[ 5月4日全て ]

2005年1月26日 (水)

DiKicker にそろそろコメント機能を実装するか

くっつき BBS

nDiki では、たつを氏が公開しているくっつき BBSを利用してコメント機能をつけている。 くっつき BBSは自前でBBS機能を実装しなくても、JavaScript Include を使うことでコメントをページに貼りつけられるという優れもの。

CGI プログラム経由の JavaScript Include 方式は遅い/負荷がかかる

nDiki では JavaScript Include する際、コメントがない(=JavaScriptファイルがない)場合でも404にならないようにCGI プログラム経由で貼りつけていた。 しかし、この方法だと1ページに多くのコメント領域があると何度もCGI プログラムが実行されるのでサーバへ負荷がかかる。

また Web ブラウザHTMLの途中でscript要素が出てくると、そのスクリプトファイルを読み込んで処理するまで残りをレンダリングできない。 このためサーバが重かったりして、途中スクリプトファイルの読み込みでひっかかるとユーザ側でのページ表示完了が遅くなってしまう。

ということでこの方式をやめて、単純にコメントJavaScriptファイルのURIを指定するようにした。 その使わなくなったCGI プログラムで、tDiaryテーマ用の「commentshortクラスdiv要素」を書き出していたので、この部分は DiKicker に戻す。 現在のコードでは、コメントが無くてもこのdiv要素が出力されてしまうので、ちょっとみぐるしいがしばらくご容赦。

やはりDiKickerでネイティブにコメント機能を実装しよう

コメント内の AutomaticLink 処理や cookie の連動など、前からやりたいとは思っていたのでこれを機会に実装するかな。 いろいろ決めないといかん。

[ 1月26日全て ]

2005年3月6日 (日)

[ DiKicker ] 旬ページへのインデックスを追加

DiKicker の改良作業。

  • 旬ページへのインデックスを追加。tDiary ライクな表示。
  • 旬ページの表示が日付が新しい順だったものを、日付順に。
  • 日付に曜日を表示。
[ 3月6日全て ]

2006年11月3日 (金)

DiKickern 年日記機能を追加

久しぶりに DiKicker に機能追加。

n 年日記機能

ハイパー日記システムで書いていた旧 Web 日記である Naney's Diary の記事を nDiki に移すにあたり、n 年日記にあたる表示がなくて困るので実装した。

最近はぱったり「過去の今ごろ」を書かなくなったけれど、たまには n 年日記を見て振り返るのも悪くない。

n 年日記へのリンクをどこに置くか迷ったが、とりあえず1日の一番最後に置いてみた。 tDiary テーマとの兼ね合いもあって思案中。

diary-article:

記事書き用には

 [[diary-article:記事ID]]

という記法を追加。 今までは他の記事へのリンクは URL で指定するしかなかったのだけれど、これだと可搬性がないしスマートでなかったので、あわせて実装してみた。

過去記事も全部この書き方に直したいけれど、それなりに数があるので面倒くさい。 もちろん今のままでも問題はないんだけれど。

過去の(膨大|それなり)のデータをいつまでも利用できるようにシステムを維持することの重要性(と手間)を再確認。

[ 11月3日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.064913s / load averages: 1.10, 0.81, 0.75
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker