PukiWiki のサイト内検索を msearch に
先日、AviSynth Wiki で使用している PukiWiki のサイト内全文検索を msearch に変更しました。ここでは、その際に参考にしたページと、スクリプトの改造時に気づいた点について紹介したいと思います。
indexing.pl の改造
PukiWiki で msearch を利用する方法については、msearch掲示板で過去にあった事例の「Pukiwikiでmsearchを利用したい」で 2 つの方法が紹介されていました。私は、このうち PukiWikiでmsearchを利用(msearch掲示板)に書かれている方法を使いました。
改造するのは、indexing.pl の 548 ~ 554 行目付近です。オリジナル(バージョン 1,52)の 548 ~ 554 行目は、次のようになっています。
## タイトルを取得する
$contents =~ /<title.*?>(.*?)<\/title>/i;
$title = $1;
$title =~ s/\s+/ /g;
$title =~ s/^\s+//;
&jcode::tr(\$title,'0-9A-Za-z+][.()?/@-',
'0-9A-Za-z+][.()?/@-');
まず、このうちの 549 ~ 552 行目の行頭に # を付けてコメントアウトします(548 行目は元々コメントなので、新たに付ける必要はない)。
次に、552 行目と 553 行目(「&jcode::tr(...」から始まる行)の間に、記事番号:2513 の「# ■ここからPukiWiki対策開始/タイトル」から「# ■ここまでPukiWiki対策/タイトル」までを挿入します。ただし、「$title2 = $title ;(★ここに挿入)」のコメントがちゃんとコメントアウトされていないので、次のように # を付けてコメント化する必要があります。
$title2 = $title ; #(★ここに挿入)
そして、同じく記事番号:2513 の「# ■ここからPukiWiki対策開始/URL」から「# ■ここまでPukiWiki対策/URL」までを 555 行目に追加します。これで改造は終了です。
インデックス作成時の注意
PukiWiki の各ページは wiki フォルダに txt という拡張子で保存されています。このため、genindex.cgi(または genindex.pl)を使ってインデックスを作成する際、「対象ディレクトリ」として(絶対パスまたは相対パスで)「wiki」フォルダを指定し、「対象ファイルの拡張子」を「.txt」にします。
/public_html/
├/pukiwiki/wiki/
└/msearch/genindex.cgi
たとえば、上記のようなフォルダ構成になっているとすると、「対象ディレクトリ」は相対パスで「../pukiwiki/wiki/」となります(絶対パスはプロバイダやレンタルサーバーによって異なる)。
また、このままでは :config から始まる設定用のファイルまでインデックスされてしまいますので、「非対象ファイル」として「(3A636F6E666967)」のように正規表現で指定するといいでしょう。ほかに、PukiWiki のヘルプなど最初から PukiWiki に同梱されているファイルをインデックスしたくない場合も、同様に指定します。以下は、インデックス非対象ファイルに設定しても良さそうなファイル(またはその正規表現の例)の一覧です。
- :config 以下: (3A636F6E666967)
- MenuBar: 4D656E75426172.txt
- FormattingRules: 466F726D617474696E6752756C6573.txt
- InterWiki 関連: (496E74657257696B69)
- Help: 48656C70.txt
- PukiWiki 以下: (50756B6957696B69)
- SandBox: 53616E64426F78.txt
- WikiName: 57696B694E616D65.txt
- WikiEngines: 57696B69456E67696E6573.txt
- WikiWikiWeb: 57696B6957696B69576562.txt
- YukiWiki: 59756B6957696B69.txt
- PHP: 504850.txt
- BracketName: 427261636B65744E616D65.txt
Amazon の ECS4 から Amazon ポイントを参照する
Amazon.co.jp でポイントサービスが導入されましたが、Amazon Web サービス ブログ: ECS4のリリースによると、ECS の API バージョン 2007-01-15 から各商品のポイント数が参照できるようになっているとのこと。
Amazon Web サービス ブログ: ECS4のリリース
1.今月からアマゾンにポイント制度が導入されました。もちろんそれはECS4からもう参照できます(各商品購入にて何ポイントがつくとか)
ResponseGroup で Large を指定するか、Small/Medium でも Offers レスポンスグループを指定した場合に、Amazon ポイントに関する情報が取得できるようです。実際に ResponseGroup=Medium,Offers としてリクエストしてみたところ、返ってきたデータには以下のような要素が含まれていました。
<Offers> ... <Offer> ... <LoyaltyPoints><Points>34</Points><TypicalRedemptionValue><Amount>34</Amount><CurrencyCode>JPY</CurrencyCode><FormattedPrice>¥ 34</FormattedPrice></TypicalRedemptionValue></LoyaltyPoints></Offer></Offers>
LoyaltyPoints 要素以下に含まれているのが、どうやら Amazon ポイントに関する情報のようです。詳しいことは、ECS の リリースノートや 2007-01-15 バージョンのドキュメント を見てもよくわかりませんでした。以下、推測です:
- Points: Amazon ポイントのポイント数。
- TypicalRedemptionValue: 標準的な償還価格?
- Amount: 素の Amazon ポイントのポイント数。
- CurrencyCode: 通貨コード。日本円なら JPY。
- FormattedPrice: 通貨記号(円記号など)を使ってフォーマットされた価格(ポイント数)。
石橋を叩いて Firefox 2.0 にバージョンアップ
本日、ようやく Firefox 2.0 にバージョンアップしました。拡張機能の対応状況など少し様子を見てからと考えているうちに乗り遅れました。単に面倒だったっていう説もあり。・・・で、様子を見て慎重にバージョンアップした(つもり)結果、やっぱりちょっとトラブりました(;・∀・)
以下に Firefox 1.5.0.7 から Firefox 2.0 へバージョンアップしたときの状況を、時間軸に沿ってメモっておきます。ただし、これはオススメとかそういうのではなくて、単に「私はこうやってバージョンアップしましたよ」というだけの話です。たぶん参考にはなりません。
1. 拡張機能のバージョンアップ
Firefox 2.0 をインストールする前に、インストール済みの拡張機能をなるべく最新のものに更新した。[ツール] > [拡張機能] から。この時点では、まだ Firefox 1.5.0.7。
2. 拡張機能とプロファイルのバックアップ
万一、トラブルに陥ったときのことを想定して、現在使用している拡張機能やプロファイル関連のファイル(ブックマークとか)をバックアップ。この時点でも、まだ Firefox 1.5.0.7。
バックアップには、Firefox Extension Backup Extension (FEBE) を使用。FEBE のオプションで保存するプロファイルの項目を選択可能。とりあえずプロファイル全部を保存してみたら、数 分くらいかかった。個別に必要そうなものだけ選んでやり直したら、もう少し早かった。
FEBE でバックアップした拡張機能を、同じ作者の Compact Library Extension Organizer (CLEO) 拡張機能で 1 つにまとめる。後でリストアしやすいように。
念のため、InfoLister でインストール済みの拡張機能やプラグインのリストを書き出しておく。拡張機能自体は FEBE でバックアップ済みだが、ブックマーク的な目的で。
3. Firefox 1.5.0.7 のアンインストール
上書きでも問題ないかもしれないが、過去の経験(上書きすると「プログラムの追加と削除」に複数のバージョンがリストアップされるとか)からいったんアンインストールしてからインストール。この時点では、拡張機能やプラグインなどは削除されない。
4. Firefox 2.0 のインストール
ようやく Firefox 2.0 をインストール。
プロファイルは 1.5.0.7 のものをそのまま使うことにする。インストール前に古いプロファイルを削除して新たに作り直した方が無難かとも考えたが、ここでちょっと悪い癖が。1.5 のものを流用してもちゃんと動くか確かめたくなる。M かも。
初回起動時には、拡張機能の互換性チェックが行われる。あらかじめバージョンアップしていたからか、弾かれたのは次の 4 つだけだった。
- Tab Mix Plus => 開発版あり (2006-11-10 追記)2.0 に対応した v0.3.5 正式版リリース済み。
- Copy URL + => 未対応
- LiveLines => 未対応
- FireDictionary => 近日中に対応予定 (2006-11-10 追記)2006-11-05 付けで Firefox 2.0 に対応したバージョンがリリースされました。
5. Nightly Tester Tools で 2.0 未対応の拡張機能を有効に
開発版のある Tab Mix Plus を除く 3 つについては、Nightly Tester Tools 拡張機能で無理矢理使えるようにした。[ツール] > [拡張機能] タブ で無効になっている拡張機能を選んで、右クリック -> Make it compatible (みたいな英語のメニュー)を選択 -> 再起動。
(2006-11-10 追記)LiveLines は動作に問題があったため、結局、アンインストールしました。Firefox 2.0 から、デフォルトで主要ないくつかの RSS リーダーに登録できるようになっているので、個人的には LiveLines を使う必要性はなくなりました。
6. Tab Mix Plus 開発版のインストール
Tab Mix Plus については、開発版なら Firefox 2.0 で使えるという話を聞いたので(2 ちゃんねる経由)、これをインストールすることにした。開発元のサイトが「509 Bandwidth Limit Exceeded」エラーで落とせなかったので、Firefox Add-ons の Tab Mix Plus のページ の「Developer Comments」に書かれていた URL から落とした。(2006-11-01 23:58 追記)開発元のサイトが復旧しました。
インストールして再起動すると、「Would you like to enable built-in session restore ...」みたいなメッセージが出る。Firefox 2.0 本体の復元機能を利用するかどうかの選択。とりあえず、[OK] をクリックしてみる。
・・・んが、ここで噂に聞いていたブックマークが使えなくなる(消える)現象に出くわす。とりあえず Tab Mix Plus を入れる前は大丈夫だった気がしたので、Tab Mix Plus を削除。
古いバージョンの Tab Mix Plus を入れて Nightly Tester Tools で有効にしてみるが、ダメだった(タブを閉じるボタンをクリックしても反応なしとか)。
2 ちゃんねる情報では Firefox 2.0 を一回アンインストールするといいと書いてあった気がするが、とりあえず Tab Mix Plus の開発版を入れ直してみた。そしたら、なぜか普通に動いた。ただし一度設定画面を呼び出して、設定変更 -> 適用(Apply) しないと、以前の設定が引き継がれなかったような気がする。
とりあえず、バージョンアップ完了。(Tab Mix Plus の設定に関係なく)なぜか Firefox 本体の復元機能が使えなくなってしまったが、Tab Mix Plus の復元機能の方が多機能だし、一応、他の部分は問題ないのでよしとする。そして今に至る。
(2006-11-10 追記)Tab Mix Plus で、Firefox 2.0 に対応した v0.3.5 正式版(英語ロケールのみ)がリリースされています。また、Firefox用拡張配布サイトで、TabMixPlus0.3.5私製日本語版も公開されています。
メモ
Firefox 2.0 へのバージョンアップの過程で思ったことや知ったことなどをメモ。
- もう少し待ってからバージョンアップすればよかったかも(拡張機能の未対応で手間取ったので)。
- 事前にこれまで使っていた拡張機能が Firefox 2.0 に対応しているか確認しておいたほうがよさげ。
- 対応していない場合、Nightly Tester Tools 拡張機能で使えるようになることもあるが、対応するのを待つか代わりの拡張機能を探したほうがいいかも。
- Tab Mix Plus 0.3.5 RC2 は(ほぼ)英語表記。日本語で設定とかしたいなら正式版を待つのもありかも。
- 拡張機能とテーマは「アドオン」に([ツール] > [アドオン])。
- Firefox 2.0 からアクセスキーが「Shift + Alt + キー」に変更されたとのこと(1.5 までは「Alt + キー」)。
- 朝顔日記 - Firefox 1.5 から 2.0 へ移行した際に役に立つかもしれない設定とかでは、ほかにも Firefox 2.0 へのバージョンアップ時に役に立ちそうなことが書かれています。
「手軽にアマゾンショップ」を設置してみた
monom.jp - PHPとAmazon の「手軽にアマゾンショップ」は、プログラミングの知識がなくても、Amazon Web サービスを利用したインターネット上の店舗を開くことができるという PHP スクリプトです。「PHP4.xが動作する環境」であれば、簡単な設定を行ってから、「レンタルサーバー等へアップロードすれば、直ぐにショップとして運営できる」とのこと。
早速、ためしに設置してみました。

にーやん商店(仮) powered by 手軽にアマゾンショップ
設置自体は、ものの 30 分もかかりませんでした。しかも、その 30 分のうちの大半は、おすすめと特集ページ用の検索キーワードを何にするかで悩んだ時間でした。過去に FTP ツールを使って CGI や PHP のブログや掲示板を設置したことがある人にとっては、さほど難しくない作業でしょう。
ただ、これだけ「手軽に」開設できるということは、ここからどうカスタマイズするか(=差別化)がポイントのような気もします。私は、これ以上いじる気はありませんので、とりあえずこのまま放置しておきます。
ちなみに、「手軽にアマゾンショップ」を利用するためには、前もって Amazon.co.jp アソシエイトと Amazon Web サービスに登録して、それぞれアソシエイト ID と Subscription ID (Access Key ID)を取得する必要があります。
2006-04-28 追記: 削除しました。
del.icio.us オフィシャルの Firefox 拡張機能がリリース
del.icio.us オフィシャルの Firefox 拡張機能がリリースされました(del.icio.us: extend your firefox 581% 経由)。
del.icio.us/help/firefox/extension からインストール、またはダウンロードすることができます。
今回リリースされたのは、にーやんのブログ :: Firefox拡張機能 del.icio.usツールバー(deltoolbar.xpi)やにーやんのブログ :: VeryDelicious - del.icio.us 用の Firefox ツールバー(その2)で紹介したようなツールバータイプのものではなく、いくつかの要素をひとまとめにしてバラバラにしたような感じになっています(意味不明)。
del.icio.us/help/firefox/extensionを参考に、簡単にまとめると・・・
- del.icio.us ボタンの追加
- ツールバーの好きな位置に配置することができるボタン。自分の del.icio.us への移動用と閲覧中のページのブックマーク用の 2 種類。ツールバーのカスタマイズにより、メニューから消すことも可能。
- 右クリックメニューの拡張
- 右クリックしたときに出るメニューから投稿可能に。ページ上で右クリックすると「Tag This Page...」、リンク上で右クリックすると「Tag This Link...」という項目があらわれる。それぞれ、閲覧中のページとリンク先をブックマークできる。
- del.icio.us メニューの追加
- ツールバー(ヘルプの右あたり)に del.icio.us 用のメニューが追加される。設定により隠すこともできる。
- del.icio.us 検索プラグインの追加
- Firefox 右上の検索ボックスから検索できるようになる。自分のタグとすべてのユーザーのタグの両方から検索される。
- ポップアップ窓から投稿
- ブックマークするときは、ポップアップで別窓が開く。
- ブックマーク時に選択していた範囲が notes 欄に追加
del.icio.us メニューについては、ショートカットでアクセスすることも可能です。「Alt+.」で del.icio.us メニューのサブメニューが表示されるので、つづけて下のいずれかのキーを入力すれば実行できます。
- L: ログアウト
- T: このページをタギング
- S: 関連タグとユーザーを表示
- M: 自分の del.icio.us へ移動
- I: Inbox へ移動
- F: for へ移動
- S: 設定ページ(profile)へ移動
- P: del.icio.us/popular へ移動
- A: del.icio.us/about へ移動
- H: ヘルプへ移動
- E: del.icio.us メニューを隠す
以前紹介したツールバーは、結局、すぐにアンインストールしてしまったのですが、こちらは見た目にあまりジャマにならないので(不要ならボタンを削除したりもできます)、しばらく使ってみようかと思います。でも、最近、del.icio.us 自体を、あまり利用していないという説も・・・。
ところで、del.icio.us: extend your firefox 581% の 581% って何か意味があるのでしょうか。



