ダウンロードは以下からどうぞ。過去のパッチは パッチ置き場 にあります。
pukiwiki-mode.el
pukiwiki-mode.el のテスト版は elc に置いてあります. 実行には tdiary-mode に付属の http.el が必要です.http.el は elc にも置いてあります. 最新の10件を表示しています。 コメントページを参照 目次
更新履歴
リンク
pukiwiki-modeが欲しいなぁhiki-modeの便利さに感心して思いました。 出来れば、font-lockの色変更があると見やすいかも。 さらに将来的に、下記の「各Wikiの文法比較」を参考に、各Wikiへの変換をサポートして、 wiki-mode への進化すると面白いかも。 http://lab.lolipop.jp/fswiki/wiki.cgi/wikistandard?page=%B3%C6Wiki%A4%CE%CA%B8%CB%A1%C8%E6%B3%D3 これは、hiki-mode.el を M-% hiki pukiwiki して、適当に編集したものです。 Meadow だけで PukiWiki に書き込みができます.すぐに結果が見たければ, IE などの ブラウザで表示させることもできます. それなりに整形して表示しますので,私自身は添付ファイルを扱う時以外は Meadow だけ で済んでます. 動作する環境
で動作を確認しました.それ以外の環境では一部の機能が動作しません. PukiWiki 1.3では,一覧表示などが動作しません(正規表現を変更すれば動きます). 必要なものと基本的な設定ベースとなった hiki-mode 同様, tdiary-mode付属のhttp.el が必要です.また,衝突時に diff を使用していますので,Cygwin が必要です. http.elは bookshelf下のelcディレクトリ にも置いてあります. 設定は (load-library "pukiwiki-mode") で使うことができます. サイトを追加する場合には (setq pukiwiki-site-list '(("Meadow" "https://bookshelf.jp/pukiwiki/pukiwiki.php" nil euc-jp-dos) ("Kawacho" "http://kawacho.don.am/wiki/pukiwiki.php" nil euc-jp-dos) ("macemacs" "http://macemacsjp.sourceforge.jp/index.php" nil euc-jp-dos) ("Xyzzy" "http://xyzzy.s53.xrea.com/wiki/wiki.php" nil euc-jp-dos) ("Pukiwiki" "http://pukiwiki.org/index.php" nil utf-8-dos) )) のように設定します. 使い方基本的な使い方基本的には hiki-mode と同じです
編集モードM-x pukiwiki-editやM-x pukiwiki-edit-urlでページの編集になります.普通に編集して いきます. キーバインドは以下の通りです.
更新が衝突するとエラーになります.どこが衝突しているのかが別バッファに表示されま すので,それを確認して再編集を行います.問題なければ編集中のバッファで再度 C-cC-c とすると,そのままアップできます.
また,編集モードで下線が引かれた文字の上でRETとすると,そのページを編集できます. インデックスモードM-x pukiwiki-editで更新やキャンセルを行ったり,M-x pukiwiki-index を行うとページ の一覧が表示されます. 例えば 107 Meadow memo Wiki/2004-02-26 04/02/26 118 Sand2 04/02/26 179 V アイデア集/pukiwiki-mode 04/02/26 196 V コメント/flashの作り方 04/02/26 247 起動速度を大幅にアップ! -- idledo.el 04/02/26 のように表示されます. インデックスでは以下のようなキーバインドを利用できます.
ただし,バックアップとの差分なので,ブラウザで差分を表示させた時のものとは異なり ます(連続して変更された時などの場合,差分を見るよりもバックアップとの差分の方を 見た方がいいため). Cygwin をインストールしてあれば(diff.exeとシェルが必要),以下の設定を .emacs に 追加しておくと, (setq pukiwiki-diff-using-ediff t) 以下のようにEdiff を利用して変更箇所を確認できます.通常通り,変更箇所は色分けさ れますし,nやpで変更箇所を移動できますので,とても分かりやすく変更箇所を確認でき ます.
カーソルのある行と同じ日に変更されたページの変更箇所をまとめて表示します.変更箇 所のみを表示しているので,現状ではかなり読みにくいです.
= による差分を表示では、直前のバージョンとの比較になり何度も更新された場合には対 応しきれません。そんな場合には、t=とすると、今日変更された部分だけを表示できます。 表示モードインデックスからスペースキーなどで表示すると表示モードになる.
#ref(today-diff.png) とある行でリターンキーを入力すると,添付ファイルを表示できる.ただし,添付ファイ ルをダウンロードして,find-file で開いているだけなので,バイナリファイルは開いて も意味がない.
(setq pukiwiki-auto-insert t) となっていると,よみやすいように各種の整形を行います. デフォルトでは
のみを行います.
ページ名、リンク、エイリアスが記述されている部分を機能する様にしました。 Tab キーでポイントを移動でき、これらの位置で C-m すると、指定されてい るページにジャンプします。 それぞれ、InterWikiName の指定にも対応しています。 変数 `pukiwiki-view-chip-away-bracket' を新設しています。 また、`#aname' で指定した部分にもアンカーを埋め込みますので、`#aname' で設定したアンカーを指定したリンクも機能します。
ページ間のジャンプ機能を実装してみたということで、その簡易な履歴を保持 する様にしてみました。 変数 `pukiwiki-view-form-textarea-buffer-history-keep-count' に保持可 能な履歴ページの最大数を指定できます。
コメント (`#comment' `#pcomment')、簡易掲示板 (`#article') の plugin に対応しています。ただし、他のページでは動作しない可能性もあります。 `#comment' は、コメント入力フォーム (変数の指定により入力形式を切り替 えられます) を表示します。フォームへ入力して投稿ボタンで C-m すること でコメントを投稿できます。 `#pcomment' は `reply' 引数が指定されていれば、コメントを展開して表示 する際に選択用のラジオボタンもどきを付加して展開します。ラジオボタンも どきにポイントを置いて C-m で選択できます。 `#article' も `#comment' と同様です。見て頂ければ判ると思います。 コメント関連の表示方式を切り替えられる様に、 `pukiwiki-view-form-text-input-style' という変数が新設されています。
リプライ番号は、表示されているコメント群の行頭にラジオボタンもどきが表 示されているので、そこで C-m しておくことで選択できます。
ポップアップされたバッファでの入力内容は、履歴保持用の変数である、 `pukiwiki-view-form-textarea-buffer-history' に保持され、コマンド `pukiwiki-view-form-textarea-buffer-history-yank' (デフォルトでは C-c C-y に bind されている) でバッファに貼り付けること ができます。 `pukiwiki-view-form-textarea-buffer-history-keep-count' で指定可能です。 差分モードインデックスから=などで差分を表示すると差分モードになります.対した機 能は無いですが,以下のキーが利用できます.
view-mode なので,view-mode の機能も利用できます. こんな時はどうする?
バグとトラブル報告
euc-jp でしか確認していません.PukiWiki のサイトのように UTF などに変更している とうまく動作しません. 「*result from サーバ名*」というバッファが文字化けしているようであれば,このバグ です. これを逃げるためには,サイト毎に文字コードを設定する必要があります。
(setq pukiwiki-browser-function 'browse-url) と設定した上で,編集後 C-cC-c とすると、即座にブラウザが起動してしまい、編集後の 結果にはなっていない
カスタマイズ
この機能はまだ変化すると思いますが、 (setq pukiwiki-save-post-data t) としておくと、投稿データがローカルに保存されます。保存先は ~/pukiwiki です(pukiwiki-directory で設定できます)。 今のところ、テキストファイルで保存しているだけで、表示などの機能はあり ません。 サーバ側が不調でデータが消えた、などを防止できます。
以下のように設定します. (setq http-proxy-server "proxy.server") (setq http-proxy-port 8080)
一覧は 9 V CDでMeadowを持ち運ぶ 04/02/12 30 Meadow memo Wiki 04/02/12 と表示される.このWiki名に表示する文字数を pukiwiki-index-wiki-name で設定する. 短いと途中できれるので,画面サイズに応じて設定しておくといいでしょう.デフォルト は50です.
表示モードで pcomment などを自動的に挿入する.また,よみやすいように整形も行う. 整形箇所は以下の通り.
整形できないもの
アイデアPukiWiki で簡単に日記を書くこんなことをすると,M-x pukiwiki-diary で日記を書けます. (defun pukiwiki-diary () (interactive) (let ((time (format-time-string "20%y-%02m-%02d" (current-time)))) (pukiwiki-edit-page (concat "Meadow memo Wiki/" time) '("Meadow" "https://bookshelf.jp/pukiwiki/pukiwiki.php" nil euc-jp-dos)))) 思い付きサーバーごとではなくて,お気に入りのページを一覧とかできると面白い. 自分が書いた記事は保存されていて,=で現在との差分が見れるとか. pukiwiki-mode カスタム正規表現やURL などの設定を変更すれば hiki にも対応ってなるといいな. pukiwiki,Hiki,,,と個別に作るのは面倒.と今になって思ったり. 作業中のものたち
一応できるようにしてみましたが、いかがでしょうか? キャッシュしてないので毎回入 力しないとだめですが…下の添付ファイルのpukiwiki-mode.el.patchにアップロードして しまいましたが、問題があれば適当に移動させてもらえるとうれしいです。(taka)
hiki-mode を参考にキャッシュできるようにするといいかも... と思ったら,そうではないのか.PukiWiki はユーザ名とパスワードが必要.なんで, pukiwiki-password-read と pukiwiki-password-store 関連の修正が必要(Hikiはパスワー ドだけしか想定していないので). しかも,Hiki の状態をそのまま残してあるので,不要なものばかりになってしまってい る.実際には、pukiwiki-password-read とかは機能していないはず。 ちなみに PassSandbox は認証を付けてあります.ユーザ名が「meadow」で,パスワード が「memo」です. これが欲しい & Todo- 要望 という書式で追加ください.
ここまで行かずともファイル指定して、添付し、kill-ringに「#ref(hoge.png,70%)」と 一連作業をして欲しい。 |