Blog

Published on

RSS

ヴォルフロッシュ v3.5 -Text blog化

ヴォルフロがblogになりました。なりました、じゃないか。一部だし。blogを導入しました。

もう1回言おう。blogシステムを導入しました

本日を持ってヴォルフロはv3.5を名乗ります。ヴォルフロッシュv3.5です。デザインこそは変わっていませんが、そうとう大きなチェンジなのでヴァージョンを0.5進めることにしました。これはBbsの廃止やArchitectureの独立等、他の事象も含めてですが。

いやぁ、ついにヴォルフロもblogの時代かぁ。

以下、このblogについてだらだら書きます。


Bbsとの統合

これは他のv3.5の企みとも関係あるのですが、Bbsを廃止して、このTextのコメント欄をBbs代わりに使うというかたちで統合しました。これは、イターネットユーザの "ほーむぺーじ" に対する接し方の変化に合わせたものです。もうBbsとかChat(メッセではなくwebページ上の)とか、そういう文化じゃないんだなぁ、と最近感じるのです。

別にBbsはBbsで残しておけばいい気もしたのですが、Architectureを独立させたかったので、無駄に選択肢を増やしてナビゲーションを複雑にさせないためにもBbsに犠牲になってもらいました。

blogシステム

いやいや、だからといってアーキテクチャで書いた意地になって既成のCMSを使わず...を忘れてるわけではありません。つまり、何を思ったのか、 これ、自作......。 MTだのWordPressだのblogの選択肢なんて溢れているだろうに。P_BLOG使うって言ってたくせに......。

なんか思いついてスクリプトを書き始めてしまった。記事ごとの表示と、コメント、RSS、タグ付け、しかもサブカラムに意味のない情報(Recent Track)なんかも出しちゃったりして、これはもうきっと誰から見てもblogだろう。うん、頑張ったよ自分。

それだけじゃありません。PATH_INFOとmod_rewriteを駆使したこの美しいURI(これに無駄に手間がかかった)。そしてテンプレート・スクリプトを共有する事によるヴォルフロの他コンテンツとのシームレスなつながり。

つまり、さっきからblog化blog化と言ってるが、具体的に旧Textから何が変わったのかというと、

  • 記事毎のページ(Permanent link)
  • コメント
  • 新規投稿の即時インデックス化(以前はひと月毎にログに落とす際に初めて年別リスト等に反映させていました
  • カテゴリ分けとカテゴリ毎の一覧

です。

また、発信者(私)側のメリットとしては、

  • ナビゲーション・記事リスト等の生成の自動化
  • 新規投稿作業の簡略化

なんかが挙げられます。

"blogといえば" の一つであるTrackBackは未実装ですが、これは仕様を勉強するのがめんどくさそうなので、「今後気が向いたら実装します」程度で。今のところあんまり必要性も感じないし。

"read more" もやってませんが、これはなんか今までText書くときにそういう事を意識していなかったから。技術的にはすぐできるだろうけど。

もう少し細かく話を進めて行きます。

カテゴリ

タグというかカテゴリを作ったので、それに合わせて過去ログにも全てカテゴリを割り振りました("過去ログは捨てずに全て移行する" というのも譲れない条件の一つでした)。この作業が結構面白かった。自分が今までTextで何を書いてきたのかが手に取るように分かる。

ほとんどがApple系の話で、プラスwebデザイン、ALFEE, ヲノサトル, ラーメンズの感想。マンガの話題も多い。まぁ、けっこう納得の結果。ALFEEは思ったより少なかった。もう少し書いてるつもりだったんだけどな。ALFEEはコンテンツがあるからそっちに書いちゃうのか?

Mac/iPodカテゴリはもっとHardとSoftとかMacOSとiPodとかに分けられそうな気もするんだけど、境界が曖昧なのでひとまず1つにまとめておく。もう一つくらいカテゴリ作れそうな気もするんだけどなぁ。"映像" とかかなぁ? "音楽"? CD/DVD/書籍/ゲームのレビューをまとめたカテゴリを一瞬作ろうかと思ったけど、これも境界がよく分からないので辞めてしまった。まぁ、Magic7(±2)と言いますし、9個くらいに留めておくのがいいんでしょう。

更におもしろいのが、何を書いてきたか、より何を書かないできたのか。錬金術好きはたびたび表明している割には錬金術の話題が出てきた事は一切ない。というより活字の本に対する言及が全くない。この頑なさは呆れる。こりゃ今後も書かないだろうな。

テキストファイルベース

このblogを話す上でどうでも良いがどうでも良くないこと。つまりテキストファイルベース。このblogはテキストファイルで記事が管理されています。Blogの主流といえばMySQLを始めとするDBでの管理ですが、あえて、ここはあえてテキストファイルによるデータ管理を選びたい。いや別にサーバ的にも技術的にもDBでもできるだろうしむしろそっちの方が楽な部分も多いのですが。

なぜこのご時世にテキストファイルか。今ではめっきり旧式な私としてましては、サイトの更新とは、"テキストエディタにソースべた書き、「コマンド+S」で保存をしたらブラウザをリロードさせて結果を見る" の繰り返しなのです。で、最後はアップロードしたいときにFTPクライアントでポイ。ブラウザ上で書いてフォームの送信ボタンとかありえない。ネットワークがつながっていない所で書きたくなったらどうするんだ? エディタにメモか? プレビューは?

そしてサイトのデータがサーバ上にしかないなんてあり得ない。ビジターの投稿はともかく、それ以外はwwwサーバのものはlocalにまるまる再現されていなければならない。すなわち、下にあるものは上にあるもののごとく、上にあるものは下にあるもののごとしである。

この更新感を実現するためにblogごと書いてしまったと言っても過言ではない。

テキストファイルでの管理をしたときに、やはり唯一にして最大の不安は速度。まぁ大量にアクセスのあるサイトでもないのでいいかなぁ、とか。ただ、Textのトップページがたまに重いのは、テキストファイルの読み込みというよりも、last.fmのxmlを開くのに時間がかかっていそうです。月別ページはそこまで遅くないので。ちょっと悩ましい。

コメント

もちろん、というかなんというか、デザイン面でもコーディング面でもこのblogのコメントはBbs用に作ったものを色々流用しています。

用心して、コメントSPAM対策は更にいくつか施してみましたが、初blogなんでどの程度でいいのか加減がよく分かりません。自作だと標的にされにくいだろうか? 敵はそんな事おかまいなしか? どれだけの速度で汚染されるのかが見物です。随時強化します。

RSS

RSSを今回からPHPで直接吐くことにしたので拡張子が変わりました。RSSを登録している方はお手数ですが変更お願いします。なんかRSSなんかをPHPで書いていいのかとも思いましたが、かのP_BLOG様もなさっているみたいなのでいいのかな、と。これで今まで手動で(手動で!!)RSS更新していたのをやらずに済みます。

更新

これで、今後Textを更新する際は、基本的には新しい記事ファイルを作り、あとタイトル等を別途保存した記事インデックスファイルに1行書き足すだけでいいことになります。今までは月が変わるごとにindex.phpのデータをログに移動させる作業が結構めんどうだったので、これで更新の手間が減って更新頻度が上がるといいなと思っています。

blog化することによりできる事は増えて、更新の手間は減る。これが目的です。

検索

これは唯一Textをblog化して退化した事と言えると思うのですが、Text内の検索ができなくなりました。Text内のみファイル構成が違うので、現在使用しているmsearchでは対応しきれなくなったためです。

のでひとまずはTextのみ検索窓をはずしているのですが、いつまでもこのままでもいかんだろう。ってことで代わりの案。

  • msearchを改造する
  • サイト内検索はgoogleにまかしてしまう
  • namazu様ならなんとかなるんじゃないか
  • 他のスクリプトを探す
  • 自作

namazuも結構気にしていますが、一番下の選択肢が鈍い輝きを持って私を誘惑してきます。検索って簡単に書けるものなのかなぁ? 単純にpregでいいの?

ナビゲーション

ページナビゲーションがヴォルフロでこのText内だけ変則的で、これもちょっと悩ましいです。他のページは階層構造のことだけかんがえればいいんだけど、Textはそうはいかない。時系列とカテゴリ別の2つの軸がある。今のところこんな感じに落ち着いていますが、100%気に入っているわけではないので、今後また変わるかもしれません。

今後の予定

最後に、今後予定。v3.5というよりこのblogの。

  1. コメント書き込みまわりの改善(特にエラー処理)
  2. パーツ画像作成・追加によるデザインのリッチ度向上
  3. Text内検索
  4. サブカラムを含めたより良いナビゲーション
  5. コーディングの改善, チューンアップ
  6. PEARの導入
  7. TrackBackの実装

かな? 優先順位的に。まぁひとまず。あとはなんか要望があったら。

10 Comments

1024jp @webmaster

テスト投稿

Urunao

v3.5、すばらしいですね
全肯定する訳ではないですが、様々な技術に対するその姿勢がすごく参考になります

chu-ken

blog化おめ。
検索:自作を心から支持。
すごいなー。

chu-ken

重複投稿してごめんなさい…。
コメント投稿後のURIが"http://text/2006/12/09"と表示されていて投稿できてないのかーと色々試してしまいましたよ…。
お目汚し失礼しました。重複分は削除願います。

1024jp @webmaster

自作のいい所は自分の好きな様にできる事だけど、ネックは思わぬエラーが多発するところだな。

> Urunaoさん
はじめまして。
嬉しいコメントありがとうございます。
なんでも自分でやりたがりな性格なのでついつい手を出してしまうのですが、なかなか理解できない事も多くて悩ましいです。
参考になるかは分かりませんが、今後も色々やってみたいものです。

> chu-ken
これでやっと他のことに手をつけられます:-)
すまん、投稿後飛ばすURLがおかしかったのはこっちのミスだ。"β" の1文字に免じて許してくれ。
直したつもりなんだけどどうだろう。自分の環境だと上手くいくんで見過ごしてた。
検索自作は……、考えます。
やるとしたら1月すぎたら、かな。さすがに。

うに

blog化おめでとうございます:D

いいですねー。ログのテキスト管理。
私もその方法が一番好きで、今年の春にhnsに戻したりしたのですが、コメント回りをspamにやられて挫折(-_-;;
textで管理できるblosxomにも挑戦しましたが、結局Nucleusに戻った次第です。
私は言語系はさっぱりなのでお手上げですが、
自作blogがんばって下さい。完成楽しみにしてますXD

joseph

自作!すごい!
全部自作でサイト構築する気力は元々備えてないです。
すごい!

PATH_INFOとmod_rewrite周りのソースが見たいなあ……。

1024jp @webmaster

> うにさん
ありがとうございます :-)
やっぱ一度やりなれちゃうとテキストでやった方がいいですよねぇ。
修正も楽だし。
blogは今後気になったところから時間をみてちょこちょこ手を入れていこうと思います。

> J
いやいや、それっぽいの作ってたじゃないですか。
むしろJの見て自作でもしようかと思ったぐらいだから。
PATH_INFOはねぇ、実は結局使ってない(ぉ。
いや、ローカルではPATH_INFOで渡してるんだけど、いざサーバに上げたらその手は使えなかったという……。
なので試行錯誤した結果、結局実は普通にクエリで渡してて、それをmod_writeで書き換えてます。しかもそれだとパスのつじつまが合わないのでダミー階層を噛ませたり。
何言ってんのかだな。ソースは見たければ今度見せます。

joseph

自分が組むと、潜在的エラーとか脆弱性とかが大量発生するんですよね……。
error_reporting(E_ALL);とかするとひどいんです。

なんかやってることがよく理解できないので(笑)、
ソース見たほうが理解できるのかな、と思いました。
パスに関しては、基本的に絶対パスで指定すると楽なのでは?

補足。多分気付いて無いと思うので、モヒカン族としては一応指摘します。
<strong><span class="line">これ、<em>自作</em>......。</strong></span>

<class ="s">(特にエラー処理)</span>

月別ページはそこまで遅くないので。ちょっと悩ましい。</p></p>
の3箇所。

FirefoxのアドオンのHtml Validator便利ですよ。

1024jp @webmaster

>J
おぉ、サンクス。
ってか今回HTMLをValidationにかけるという作業をすっかり忘れていた。
それにしても酷いな、直した。
Safariでもvalidatorプラグインみたいなのあって昔は使ってたんだけどねぇ。
Firefoxはboldのレンダリングが汚いから使わない。

パスはlocalでも動いて欲しいから相対にしてる。
違うな、そんなのなんとかなるもんな。相対パスが好きなんだ。

この記事へのコメント受付は終了しました。