2010/02/06(土)

「blosxomのpagingプラグインがカテゴリ移動してくれない問題」解決

■ blosxomとは
このブログは、フリーのウェブログCGIアプリケーション「blosxom」で構築されています。
blosxom自体は非常にシンプルな動作しかしませんが、プラグインを追加する事で色々な機能を追加する事が出来ます。

例えば「categories」プラグインは各エントリを任意のカテゴリ単位でまとめる事が出来ますし、「paging」プラグインはページめくり機能を実現します。

 

 続きを読む ...

2005/10/21(金)

キーワードを追加

まぁ最近あまりお絵描きしてないんやけど、たまに描いたとしてもブログに単独エントリとしてアップするほどでもないなってやめちゃう事もあります。
でもせっかく描いたから普段の日記の挿絵にでも使おうかとも思うんやけど、そうするとその絵は「お絵描き」カテゴリ一覧で出てこなくなるのが悩ましいのよね。

で、それを解決するために mizzy.org さん作成の tagging プラグインと meta プラグインを組み込んでみました。
各エントリに

meta-tags:ラクガキ,プロレス,同人
という風にタグ(キーワード)を埋め込んでおくと、左のメニューにあるようにキーワード毎に一覧を表示する事ができます。

tagging プラグインにはキーワード内の文字を小文字に変換する処理が入っていて、そのまま使用すると日本語が文字化けするので変換処理部分を削ります。

  map { $_ = lc $_; $_ =~ s/^\s*//; $_ =~ s/\s*$//; } @tags;
   ↓
  map { $_ =~ s/^\s*//; $_ =~ s/\s*$//; } @tags;
※「$_ = lc $_;」を削除。全部で2カ所あります。
まずはお絵描きカテゴリ内のエントリを中心にキーワードを入れてみました。

あとはこのエントリにテスト的にお絵描きを貼って、キーワードとして「ラクガキ」を入れておきます。
すると元々のカテゴリ「blosxom」からと同様に、左メニューのキーワード一覧「ラクガキ」からもこのエントリを参照する事ができるようになります。

まぁとりあえず心理的に絵をアップしやすくする環境だけは整ったけど、今後バリバリお絵描きするかどうかは本人のやる気次第な訳ですが。

2004/11/18(木)

blosxom導入覚え書き・9 〜 過去エントリ登録時の日付修正2

以前、エントリファイルの更新日付を変更するシェルスクリプトを書きましたが、ファイル数が膨大になるといちいちファイル名と更新日付を記述していくのがかったるくなってきます。
そこで、各エントリのファイル名が通常では登録した日付(年月日時分秒)になっている事を利用して、更新日付を変更するPerlスクリプトを書いてみました。

 続きを読む ...

2004/11/13(土)

blosxom導入覚え書き・8 〜 トラックバック受信時の文字化け解消

トラックバックを受け入れる際、文字コードの関係で文字化けする事がありました。
本サイトの文字コードはShift-JISで書かれていますが、例えばUTF-8なサイトからのライトバックを受けると文字コードの違いから文字化けしてしまう訳です。
という事で、文字コードを変換してやるため、blosxom starter kitのconfig.cgiの設定を以下のように変更します。
  • 「$writeback_conv_charset」の値を1に
  • 「$writeback_charset」の値をサイトと同じ文字コード(Shift-JIS)に
さらに、文字コードの変換にはJcodeモジュールが必要です。(Jcode.plではなく、Jcode.pmの方です。)
サイトを設置しているプロバイダにJcodeモジュールがインストールされているかは、futomi's CGI Cafesさんのサーバーアナライザーを入れて確認しました。
結果、リムネットにはJcodeモジュールがインストールされていないようなので、以下の作業が必要になりました。

まず自分でJcodeモジュールを用意してやるため、こちらからファイルをダウンロードします。
ダウンロード→解凍後に出来るフォルダ内で必要になるのは、Jcode.pmとJcodeフォルダです。
これらを新たに作成したフォルダ「lib」に入れて、自分のサイトにFTPでアップロードします。
「lib」をアップロードする場所はとりあえずblosxom.cgiと同じディレクトリにします。
次に、アップロードしたJcodeモジュールの使用宣言をするため、writebackプラグインに以下の文を追記します。

use lib './lib';  # blosxom.cgiからの相対パス
use Jcode;

これで、Shift-JIS以外で書かれたトラックバックも文字化けしなくなるはずです。たぶん。

2004/11/08(月)

blosxom導入覚え書き・7 〜 wikieditishへのリンクを隠す

wikieditishプラグインのおかげでWebブラウザ上でエントリを登録できて激しく便利です。
でも各エントリにwikieditishへのリンクが付いてても、管理者以外には不要なリンクな訳です。
そこでCSSをいじってこのリンクを非表示にしてみました。(詳しくはhail2u.netさんのこのエントリを参照。)

2004/11/05(金)

blosxom導入覚え書き・6 〜 過去エントリ登録時の日付修正

blosxomでは一つのエントリに対し、一つのファイルが作成されます。そのファイルの作成日(最終更新日)がエントリの日付になります。
でもこの仕様では過去のエントリを登録したい時に不便なので、filedateプラグインを入れてエントリファイル名の先頭部分"YYYYMMDD〜"を作成日付と見なすようにします。

エントリと、作成日の関連付けはblosxom starter kitの初期設定ではentries_index.datファイル内に格納されています。
しかし、何らかの理由でこのファイルが壊れると、各エントリの日付がファイルの作成日に戻ってしまいます。
そこで、またentries_index.datが壊れても良いように、各エントリファイル自体の作成日を変更する事にしました。

とりあえず以下のようなシェルスクリプトを書いてみました。

#!/bin/csh
touch -t 変更日付1 エントリファイルパス1
touch -t 変更日付2 エントリファイルパス2
‥‥
‥‥

set msg = `date +"%Y/%m/%d %H:%M:%S"`" Change OK."
printf "Content-Type: text/html\n\n"
printf "<html><body>$msg</body></html>\n"

exit(0)
作成日を変更したいファイルをひたすら羅列して、touchコマンドで更新していきます。
これを「touch.cgi」というファイル名で保存し、サーバにアップロードしてパーミッションを実行形式に変更します。
最後にWebブラウザからtouch.cgiへのURLを指定(http://www.m-fo.com/〜/touch.cgi)してスクリプトを実行します。
これで各エントリファイルの作成日を変更する事が出来ました。

2004/11/01(月)

エントリの日付が‥‥

エントリの日付がおかしくなってしまった。
たぶんentries_index.datが壊れて値が初期化されてしまった臭い。
また、編集しなおしだ。しょぼーん。

2004/10/09(土)

blosxom導入覚え書き・5 〜 IE for Macでの不具合

Internet Explorer 5.2 for Mac でなぜかスタイルシートが読み込まれません。
IEからソースを表示させると、URL中の「~」が「 ̄」になぜか変換されていました。

対処法として「~」を「%7E」に置き換える事で、IEでも正しくスタイルシートが読み込まれるようになりました。

2004/09/25(土)

blosxom導入覚え書き・4 〜 個人的ハマリポイント

その1。
config.cgi 内で各ディレクトリの設定をする時、パスの最後を「/」で終わらせてしまって正しく表示されなくなって丸1日悩みました。

その2。
blosxomで使用する文字コードは初期状態ではUTF-8ですが、プラグイン内に日本語を使うとうまく動作しないようなので、プラグインやフレーバーをすべてShift-JISに変更したらうまく表示されるようになりました。

2004/09/22(水)

blosxom導入覚え書き・3 〜 追加プラグイン

blosxomはプラグインを追加する事でいろいろと機能を追加する事が出来ます。
とりあえず現在追加してあるプラグインは以下の通り。
  • date_fullname
    表示する曜日を「Mon」→「Monday」とフルネームに変換します。
    これをちょっとイジって「月」「火」‥‥と日本語で表示するようにしました。
  • filedate
    blosxomはそのままでは書き込んだ日がそのエントリの日付になります。
    しかし、過去のエントリを書きたい時はこの仕様では不便です。
    このプラグインを導入すると、書き込むエントリのファイル名の先頭部分"YYYYMMDD〜"を日付と見なしてくれます。
  • flavourdir
    標準ではエントリとフレーバー(blosxomが作成するhtmlのひな形)が同じディレクトリに保存されるようになっていてファイルの管理がしにくいです。
    このプラグインを挿入すると、任意の場所にフレーバーを格納する事が出来ます。
  • latest_entries
    最近追加されたエントリの一覧を表示します。
  • paging
    各エントリの一覧表示に、検索エンジンの結果ページのような「ページ」項目を追加します。
  • recentwritebacks_tree
    最近追加されたコメントやトラックバックの一覧を表示します。
  • seemore
    長文の続きや、ネタばれ部分を別ページに分離してくれます。
  • wikieditish_ext
    blosxom starter kit に付属のwikieditishプラグインを拡張し、ファイルアップロード、エントリのファイル名変更、エントリの削除、新規投稿URL、コメントタグ追加機能を追加します。
Powered by blosxom 2.0