物置き

pukiwiki.vimを改造してみた

pukiwiki.vimこちらで配布されている、Vim上からPukiwikiを編集するためのプラグインです。
ただ、自分の環境(Windows,GVim7.2)で試してみたところ、書き込み時に文字化けが発生する上、ページを更新することができませんでした。
(使ったのは20080727版)
上記リンク先のコメント欄をみると、同様の現象に遭遇している人がいるみたいです。


ということで、PukiVimを改造して私家版を作成してみたので、ひっそりと晒してみるテスト。



オリジナルに対する変更点は下記の通りです。

変更点

  • 書き込み時に文字化けする現象の修正
  • プロキシ設定の追加
  • ユーザ認証への対応
  • PukiWiki Plusでのセッションチケットへの対処
  • 凍結/凍結解除機能
  • :PukiVimコマンドの拡張
  • 1ファイル化(alice.vim含む)
  • Vim7以降でしか動かなくなった(改悪)
書き込み時に文字化けする現象の修正

いろいろ修正した結果動くようになりました。おわり。

プロキシ設定の追加

私の作業環境では、プロキシを通さないと外に出られないので追加しました。
g:pukiwiki_proxy変数で設定します。ホスト名:ポートの形式で指定します。


例:

 let g:pukiwiki_proxy = 'proxyhost:3128'

(追記)
curl環境変数http_proxyでプロキシを設定できることを知りませんでした・・
ということで、上の設定は意味ありません。

ユーザ認証への対応

HTTPのステータスコード401が帰ってきた時に、ユーザ名とパスワードを入力してリトライするようにしました。
入力された認証情報はスクリプトローカル変数で、Vimが終了するまで保持されます。

PukiWiki Plusでのセッションチケットへの対処

PukiWiki Plusでは、スパム対策のためにセッションチケットを使った認証を行っているそうで、
たぶんオリジナル版では、セッションチケット認証が有効になっているWikiの更新はできないはずです。
ということで、これに対処する処理を追加しました。

凍結/凍結解除機能


上部のメニューから凍結/凍結解除できるようにしました。

:PukiVimコマンドの拡張

オリジナルの:PukiVimコマンドにパラメータを追加しました。

	PukiVim [ サイト名 [ページ名] ]

サイト名とページ名を指定すると、ブックマークページを介さず、直接そのページを開きます。
例えば、「:PukiVim MyWiki Menu」と実行すると、 MyKikiのMenuページを直接表示します。

パラメータを指定しなかった場合は今まで通りの挙動になります。

1ファイル化(alice.vim含む)

1ファイルにまとまっていた方が扱いが楽そうだったので・・・
1ファイル化しているためにalice.vimからも必要な処理だけを抜き出していたりします。

alice.vimはドキュメント見たところ改変OKな感じだったので、
必要な部分だけ抜き出していたりするわけですが、問題あるようなら(修正)|(削除)いたします。

Vim7以降でしか動かなくなった(改悪)

リストとか辞書とか使っているので、Vim7より前のバージョンでは動きません。

ダウンロード

pukivim 私家版0.0.4

pukiwiki.vimを~/(.vim)|(vimfiles)/plugin下に置けばオーケーです。

動作確認はWindows上のGVim7.2とCentOS上のVim7.1で行っています。