Jan 09, 2005   [去年の今ごろ]

エントリのカテゴリを整理

エントリのカテゴリを整理の問題

 blosxom のカテゴリの第1階層にあった blosxom というカテゴリを computer カテゴリの下に移すという作業をしました。

 その作業は単純なもので ftp で wakwak のサーバに接続して、 blosxom ディレクトリを computer ディレクトリの中にコピーすればよいだけです。ftp でサーバ上のファイルを移動 / コピーする場合には一度ローカルのディレクトリにコピーする必要があります。するとファイルをアップロードする際にファイルのタイムスタンプがアップロードした時刻に更新されてしまい、つまりファイル(エントリ)の移動を行うとそのファイルが blosxom を開いた際に最初に表示されてしまうという問題が起こります。

 移動したファイルがすべて新規エントリとして扱われます。

 telnet でサーバに接続してコピーを行えば問題はないのですが、私が利用している wakwak では telnet による接続が許可されていません。

解決策

perl でタイムスタンプを更新する

 perl のファイル操作関数に、タイムスタンプの変更を行う utime というものがあります。

utime (アクセス時刻, 修正時刻, ファイル名);

 これを用いて、アップロードしたファイルのタイムスタンプを変更するスクリプトを作成し、実行してみました。すると変更はできたのですが blosxom が表示エントリの並べ替えのために参照しているのは作成時刻であるらしく、表示順は変更されませんでした。

entries_index を書き換える

 エントリの並び順を維持する entries_index プラグインのエントリ作成時間を保持しているファイルを書き換えて表示順を変更してみました。

 それはサバー上の blosxom の plugin ディレクトリにある state ディレクトリに保存してある .entries_index.index というファイルです。変更の手順は以下の通りです。

  1. .entries_index.index をローカルにコピーする。
  2. .entries_index.index をエディタで開く。
  3. .entries_index.index 内の、ディレクトリをディレクトリを変更したいファイル名をピックアップする(他の window にコピー&ペーストしておく)。
  4. 上記のピックアップしたものを移動先のディレクトリのパスに書き換える。
  5. 書き換えたものを .entries_index.index に追加する。
  6. .entries_index.index をアップロードする。

 これで表示順は元のままでファイルを移動することができました。3.については、 grep コマンドで行うと楽です。

この記事へのコメント

Trackback from Adderall.
:
[Adderall.]
wholesale bags:
エントリのカテゴリを整理 - O'GANE'S EXPERIENCES
wholesale bags http://www.googletest.com
 

コメントを書く

お名前:
コメント:

トラックバックURL: http://park18.wakwak.com/~ogane/cgi-bin/blosxom.cgi/computer/blosxom/200501092233.trackback

Posted at 22:33 -  permalink -  category: Blosxom -  tags: blosxom

これまでの記事。

2008 | 5 | 4 | 3 | 2 | 1 |
2007 | 12 | 11 | 10 | 9 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2006 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2005 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2004 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2003 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2002 | 12 |