2002年10月19日から開発を始めてしばらく公開・運用をしていた WikiEngine だけれど最近は WikiEngine そのものは使っていなくて、今はそのコードをベースに作った日記システム の DiKicker 部分しか使っていない。DiKicker の方は自分自身で今後も使っていくんだけれど、さすがにいろいろ古いのでそろそろ大改修しようかなと。基盤部分的には
などをして今後も使っていけるようにしたい。既に使っていないアプリケーションとしての WikiEngine 部分は移行させていく手間をかける必要はないと思うので、コードを削除していくことにした。WikiForum 立てるなら既にいろいろ他の選択肢があるしね。
CVS での管理もやめて Git 管理に変更。最後の公開 tarball を展開して git init して最初のコミットとし、その後に変更した作業ディレクトリを Git 側の作業ツリーに上乗せしていったんコミット。あらためて最後の公開コードの上に差分を積んでいくつもり。
この日記(nDiki)で使っている自作日記システム DiKicker、開発し始めたのが2003年12月末なのでもう13年物だったりします。ここ最近大きなメンテナンスはしていなかったのですが、まだこの先10年以上使えるように手を入れることにしました。一昨日から着手。
やりたいこと
この nDiki の記事ファイルはテキストファイルなのですが、ファイル名の拡張子を dkd/dkk にしていたのでテキストアプリでファイル一覧にでなかったり Dropbox や Google ドライブでプレビューできなかったりするなど不便でした。
なのでこの機会に nDiki (の日記システムである DiKicker)の仕様を変えて拡張子 txt でもよいように修正しました。あわせて1万以上ある記事ファイル名を修正。これで他のノート・日記系ファイルと同じように Dropbox 以下に移動 & Google ドライブに同期するようになりました。
パーソナルデータベースとしてのテキストファイル集約がこれでほぼ完了。
Ulysses でノート・日記が一括検索できるようになって個人的にかなり便利になりました。テキストファイル最高。
[ ノート・日記はテキストファイルに ]
この日記の日記システム(DiKicker)は WikiEngine からの派生で作られた生い立ちをもっていて、現時点でも WikiName を特別扱いし自動的にそのキーワードへのリンクになるようになっていました。今日はコードを修正してその特別扱いをやめることにしました。
実装ですがまず WikiName を先に抽出し、そのあとに他のキーワードを AutomaticLink するようになっていました。このため例えば MacBook Pro という文字列はまず MacBook という WikiName として抽出されてしまうため MacBook Pro という文字列で自動的にリンクさせることができていませんでした(それだと困るので明示的に BracketName で書いていました)。
WikiName は WikiWiki というコンセプト的に良いものでしたが AutomaticLink を実装している日記システムではもう不要な表現です。
ようやく重い腰を上げて今回のコード修正となりました(いじったのは数行なのですけれども)。
元日に出掛けたら例年より長い列だったので拝まずに帰ってきた神社にあらためて初詣に行き、あわせて図書館にも行ってきた7連休最後の日。去年は11連休だったのでちょっと短めの年末年始でした。過去3年「年末年始にやったこと」を書き出しているので今年もふりかえってみます。
電車に乗って出掛けたのは今日ぐらい。昨年同様日記まわりやデータの整理が中心でした。昨年の年末年始で Day One をやめて Evernote に集約することにしたのですが、その後テキストファイル化を決めたため日記データが3箇所に分散している状態になっていたのですがこの年末年始でまとめることができかなりすっきりしました。
Web 日記システム tDiary が開発開始20周年とのこと。長く使い続けられることが大切な日記システムがきちんと開発保守されているの素晴らしいな。
この頃、自分はハイパー日記システムで日記を書き始めてた(2001年5月11日)んだよね。ハイパー日記システムはずっと前に開発が止まったけれど、日記記事はテキストファイルなので手元に残っている(一部はこの nDiki の形式に書き換えて公開していて、一部はまだローカルファイルのまま)。データがテキストファイルというのやはり重要。
[ ノート・日記はテキストファイルに ]
green#photography
— Naney (@Naney) April 19, 2021
RICOH GR III #GR #GRIII #GR3 pic.twitter.com/CAZxU82JNI
Web サイトの移行の話が出た流れで、この Web 日記についてちょっと考えたりした。
Perl で書いた自作の日記システム (CGI プログラム) で問題なく動いているが、手を入れずに使い続けているので将来環境(Perl やライブラリ)のアップデート時にハマるのではというのがあると、このまま記事が増え続けた時に問題が起きるのではというのがあり、気掛かりではある。
配信環境に依存しないように静的サイトジェネレータで生成する形に変えたらいいのではと、以前から思ったりしている。
ちょっとしか使ったことがない JavaScript を学ぶ機会としても Next.js とかどうかなとちょっと調べてみた。
個別記事ページを静的ページとして生成するのはいいとして、自動リンク機能で実現しているキーワード別ページとそのページングがちょっと厄介そう。やれるとしても今の URL 体系も一部変えなければいけないな。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。