今まで適当に br タグの連続でタイトルや段落を整えていたのを,かつてのように div や h や p タグで整えなおしたので,<p class="diary"> とかいちいち書いてられない…と思いそろそろ自動化を真剣に検討しています.
主な動機は過去ログの検索の実現です.日記にプログラム関連のネタを散りばめているせいか,うちの日記にそれらしき検索ワードで来ている人が多数います.そんなときに,プログラム関連のエントリだけが読めるようになっていたら便利だろうなぁ,と思ったのです.実際,書いてる本人もそろそろいつ頃に何のネタを書いたのかが捕捉しきれなくなっています.
そこで,とりあえず HTML に直で書いている今までのエントリの内容を来たる日に抽出しやすくなるようにしておこうと思って,文章の論理構造をしっかりしたものに直したのです.構造がはっきりしていればスクリプトというか抽出操作の自動化が楽ですからね.
そうすると段落一つ書くのに毎度毎度 <p class="diary"> 〜 </p> とタイプしなければならなくなって,これでは面倒臭くてやってられないだろうな,ということでブログツールの導入を考えているのです.
が,ここで私は既に自分のサイトの構成をかなり気に入ってしまっているので,単純に tDiary なんかをマニュアル通りにインストールするだけでは満足出来ないのです(人それをわがままと言う).満たして欲しい条件は 2 つ.
1 つ目は最新 n 件のエントリをトップページに表示させること(現在は n = 1 を手作業で実現させてますね).これはサイトトップに来た人に最近の状態を読んでもらいたいから.さざなみ壊変のスタイルが大いに気に入ってるためにこいつは外せません(やっぱりただのわがまま).
2 つ目は月ごとのログを YYYYMM.html として静的な HTML ファイルで生成すること.これは,ふと自分で過去ログを読み返したくなるときってあるじゃないですか.もしくは,あるサイトを来訪して,過去日記を全部流し読みしたくなることってあるじゃないですか.…どっちもないとか言わないでねw で,そのときになるべくストレスなく読めるように,量は 1 ページ 1 ヶ月で一括読み込み!にしたいのです.大抵のブログツールは,あれ本当にわけ分からないんですけど,1 ページ 5 エントリくらいしか表示されなくて,続き読むときは >> 的なボタンを押させるんですよね.それを無くしたいと.やっぱりこれもさざなみ壊変の影響ですかねw
ちなみに夢物語的に考えていることですが,もし上手くブログツールの仕様を理解出来れば,抽出した今までのエントリの内容を過去ログに食い込ませられるかもしれない,というのもあります.過去ログが時期によって別々のディレクトリに散乱している,というのはあまりかっこいいものではない(と個人的には思っている)ですし.大抵ブログツールって過去の日付でエントリ作成が出来ないんですよね.いや,仮に出来たとしても過去百日を超える量のエントリをフォームから入力して作成するのは骨が折れるとかいうレベルじゃありません.結局内部的になんとかして食い込ませるしかありません.
しかしそれらを実現するとなると,これはかなり面倒臭いだろうなぁ… ということで,3 年以上このサイトは,ただの一度もブログの自動化が成されてこなかったのです.というより,手書きで十分だったのです.
しかしやはり RSS を用いたブログの 1 本化(各種 SNS の日記を統合するという意味で)や,先ほども言ったように過去ログの検索,トラックバック,編集作業の自動化… それらへの魅力が web の発展とともに強くなり,いよいよ本気で取り掛かろうと思っているわけなのです.
tDiary を手動でインストールしようとして Apache と数時間の格闘を行った末,色々と出来そうな感じになったりはしたんですが結局出来ないままに終わりました.どのような経緯を辿ったのかが気になる人は,すみませんが Twitter のログを辿ってくりゃれ… orz 改めてまとめ直すには,私ゃもう疲れ過ぎた…
しかし今日覚えたことは後学のためにまとめておく.
.htaccess .htpasswd の設置でそのディレクトリへのアクセス認証が出来る.
.htpasswd ファイルはサーバにリモートでログインして htpasswd コマンドを使う.(使用例:%htpasswd -c .htpasswd(←パスワードを記載するファイル名) username(←登録するユーザ名) このコマンド入力後パスワードの設定をするようになる)
.htaccess 内に色々便利な記載が出来る.
例えば AddHandler cgi-script .rb としてやれば,本来 .cgi というファイルしか CGI プログラムとしてみなさないのに .rb でも CGI プログラムとして動くようになる.
DirectoryIndex index2.html としてやれば,本来 index.html がディレクトリを指定した際に表示されようとするのに index2.html を表示しようとするようになる.
<Files update.rb>
AuthUserFile (.htpasswd ファイルへの絶対パス)
Require user username
</Files>
とすると,update.rb にアクセスする際に先ほど設定したユーザ名とパスワードの入力を求めるように出来る.
さくらインターネットのサーバではこれしか使えないので使えないと話にならない.とりあえず所望の位置に好きな文字列を書き込んだり,好きな位置の文字を削除したりすることは出来るようになった.ファイルのセーブも出来る.いざとなったら "vi" でググればすぐに解説サイトが出るので問題なし.
しかしこれでは Emacs の方がまだいい.というのも,自分はまだ範囲選択によるコピー,カット,ペーストが出来ない.それと検索と置換も出来ない.次に使うときに調べてやり方を覚えるべし.
同じようなことを考えている人はやっぱり居るんだなぁ,と.
各ブログサービスの機能比較をしているエントリを見つけたのでそこへのリンクも貼っておきます.
tDiary に挫折した後,SereneBach が何の不具合もなくインストールされてくやしい!でも!(ビクビクッ!)状態でした.これはこれでカスタマイズはかなりし易そうでいいんですが,やっぱり過去ログを辿るのが大変ですなぁ,と.
どうして日付が上から新しい順に並ぶんだろう?そりゃ最新の何件を表示するときはそれでいいんですけど,過去ログとして置いておくときにまでその形式にするのはおかしいでしょうよ,と.
例えばとある月のエントリを全部読もうと思ったら,いちいち「最下部までスクロール」→「少し戻ってその月の一番古いエントリを読む」→「また少し戻ってその月の二番目に古いエントリを読む」→「… …」→「少し戻ってその月の一番新しいエントリを読む」→「最上部に戻ってそれが最後であったことの確認」ってしなくちゃならないんですよ.これはどう考えても変ですよ.
最初から素直に「ページトップからエントリを古い順に下にスクロールしながら読んでいく」ってさせて下さい.
もうこうなると凄くシンプルな機能だけ備えた日記生成スクリプトを自分で書いた方がいい感じもしてきますね.書いちゃおうかな,マジで.んでそれを公開すれば晴れて僕も「ブログ自動化ツール作者」ですよ.いや,別にそれを目指していたわけではないですがw
ただしそれをやるときの鬼門は 2 つ.
1 つは RSS 生成ですね.正直 XML は分からない /(^o^)\ 見よう見まねで書くしかないのです←結論
もう 1 つは過去ログ検索機能の実装.こんなの自力で作るとか正気か?と思います.
そういやググル先生にそういう機能あったなと思い出したので,早速設置してみました.
もちろんきっかけは sue445.NET です.トップページに確か Google を使ったサイト内検索用フォームあったと的確に思い出せたのは我ながら凄いと思います.が,同時にしょっちゅう訪れてるはずのページなのにその存在や機能にまったく意識が向いていなかったのはどうなんだろうとも思います orz
で,トップページから必要な部分のソースをコピーしてきて,適当に弄り回して,文字通り必要最小限にして設置しました.一応敬意と感謝の意を表して Google ロゴは(小っちゃくして)残してあります (^ω^)
肝心の性能の方ですが,結構精度よく過去ログを探し当ててくれます.さすがは天下のググル先生ですね(過言ではないと思う).
これって高校生の頃は出来てたんだけど,今になって思うとそれってよく周りが見えてなかったからなんだよなと思うのです.本当に自分の現状や社会の情勢,流れなんかを考え出すと,将来のことなんてそもそも考えられうるものじゃないっスよ.つまりあの頃は将来のことを考えることが出来ていたつもりだっただけだ,と.
実際は今自分の目の前にある小さな課題をコツコツと片付けていくことが凄く大事です.分かりえない先のことを考えて時間を無駄にするよりも,今手を動かすべきなのですよ.というか往々にして手を動かして経験値を溜めておく方が先々で有効だったりします.
という感じで最近また自分の中で大きなパラダイムシフトが起こっていたりなんかして.まぁ具体的に言うと進路とか就職先を決めて,それで後悔しないかどうかなんて結局のところ運だよね,って感じ始めてるわけですわw
でもまったく考えずに行動するわけにも行かず,その妥協点を探すのに結構必死ですw 人生はやり直しがきかないだけに.なかなかアカギさんみたいに「駄目なときは駄目だったんだとスッパリ諦めて死ねばいい」みたいな考え方は出来ないっスよw
ブログ自動化ツールで今の自分の要求を満たすものは世の中に無い(無さそう)で,しかも自作も相当に困難そうです.
そうだとしたら,もうあんまり不相応に無理な努力,つまり完全に自作したり,既存のスクリプトを解読して改造したりするのはやめた方がいいのかなと思います.今自分の出来る範囲で頑張っていれば,つまりエントリのタグをコピペして来て,手動で日付と曜日を書いて,手動でタグを書いて,それでいいかと思うわけです.
実際タグの直書きはそれほど大変じゃないです.コピペして過去ログ整形するのも,FFFTP を起動してサーバにアップするのも,かなり手がショートカットを覚えました.今や既に,エントリを書き終わってから,「過去ログに貼り付けて,FFFTP を立ち上げて,index.html と YYYYMM.html を鯖にうp」という一連の動作は 30 秒とかからずに出来ます.
そして,実際ブログの自動化をしたかった一番の動機は書く手間の軽減ではなくて RSS 配信なのですが,そいつもひとまず手書きでもう始動したいと思います.サモログの,つまり SereneBach の生成する RSS1.0 のものをコピペして改変して設置します.手書きするのでミスが発生するかもしれませんが,まぁその辺はひとまずご容赦を… orz
この精神科医に心神耗弱とかその辺の判定をさせると大変なことになるというわけですね,分かりすぎて困ります (#^ω^)
10時
>魚肉ソーセージは流行るwwwwwwww
ほんとあの姉は凄い才能の持ち主 (^ω^) 「悪即軟」とか人間の発想じゃないと思うんだw
日記を SereneBach を使ったものに移行しました.今までうちを見ていてくれた人は,これからはこちらをチェックしてくれると嬉しいです.
ちなみに移行に踏み切った理由は,なんとまぁ素敵なことに過去ログに関する欲しかった機能がさりげなくデフォルトで実装されていたことに気付いたからですwwww 編集画面を細かく覗いていったら出るわ出るわ詳細設定w
あとはテンプレートウィザードなるプラグインを入れてそれで大まかなデザインを設定し,その後テンプレート HTML とテンプレート CSS を手書きで弄って,更に細かいデザインまでを設定しました.やはりウィザードで知識がなくとも弄れるとは言っても限度があります.HTML や CSS の知識はあって困ることはありませんね.
そういうわけで,手書き RSS は 2 日と持ちませんでしたw (^ω^) 今設置している RDF ファイルは数日の後に消滅します.なのでそっちを RSS リーダに登録してくれた人は,申し訳ないですがそれは無かったことにしてこちら (http://kaosf.kirara.st/sb/log/index.rdf) を登録し直してやって下さい orz
ふちけん (2008-06-14T00:16:28)
「sb/data」フォルダのid.cgiに情報が保存されているので、そこを手動で書き換えれば良い良い良い。
一度idの情報が飛んでしまって、記事やらコメントやらがまた1から生成されるようになったことがあって(既存の情報が上書きされてしまう)、
そらやばいでーという時にこの部分を強引に書き換えて回避したことがあります。
この時の余波で、未だに記事カテゴリの設定画面がおかしかったりします(あるはずのものが表示されない)。実用面では問題ないレベルですけど
か (2008-06-14T10:21:47)
でもここを減らすと次の新規エントリで今の最新日記が上書きされてもおかしくなさそうなので,やめておきます (^ω^)