|
ダウンロードは以下からどうぞ。過去のパッチは パッチ置き場 にあります。 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" "http://www.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" "http://www.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%)」と 一連作業をして欲しい。 <form enctype="multipart/form-data" action="pukiwiki.php" method="post"> <input type="file" name="attach_file" /> に対して Elisp でファイルを添付するのはどうしたらいいんだろう...良く分からな いので頓挫してます.
pukiwiki-modeで、整形して表示しているものを、howmで使えれば、メモを取り溜めして も、コピペでpukiwikiに反映できるため。
パッチと対応済みのもの他力本願...あれば適当に追加してください. PukiWikiごとに異なる文字コードに対応するパッチPukiWikiごとに異なる文字コードに対応するパッチです。
pukiwiki-mode-set-variableでset-buffer-file-coding-systemを削った後対応する処理 をどこにも入れていないので、一応読み込みと書き込みだけは動いているようですが、ど こかに不具合が残っているかも知れません。 添付ファイルにしました(pukiwiki-mode.el.patch) -- 橘花? &new{2004-04-11 (日) 04:37:05};
(setq pukiwiki-site-list
'(("Meadow" "http://www.bookshelf.jp/pukiwiki/pukiwiki.php" nil euc-jp-dos)
("Pukiwiki" "http://pukiwiki.org/index.php" nil utf-8-dos)
))
プレビューで一時ファイルの文字コードの指定がちゃんとできなくなってしまっていたの で修正しました(pukiwiki-edit-preview.patch)。お手数をお掛けしてすいません。 -- 橘花? 2004-04-12 (月) 17:05:54 no-proxy ドメインを指定可能にするパッチと、そのつもりだったのですが、私が利用している Emacsen が XEmacs only なために色々 と支障があった部分にも対処しており、雑多なパッチになってしまいました。 `pukiwiki-mode.no-proxy.patch' と言う名前で、添付ファイルとして upload しました。 以下の環境で確認してあります。 $ xemacs --version XEmacs 21.4 (patch 14) "Reasonable Discussion" [Lucid] (i686-pc-cygwin, Mule) of Wed Nov 26 2003 on ***** $ xemacs --version XEmacs 21.4 (patch 14) "Reasonable Discussion" [Lucid] (i686-pc-linux, Mule) of Wed Feb 11 2004 on ***** ;; しかし、Meadow, Emacs で動かなくなってしまった部分があるかもしれません (すみません。確認できる環境がありませんで) ので、ご留意下さい。 pukiwiki-mode では、`http-proxy-server' の値が nil 以外だと proxy 経由でのアクセ スを行ないますが、proxy の内外のサーバにアクセスしたい場合には、 `http-proxy-server' の内容を消すしか方法がありません。(よね??) なので、domain を指定して proxy 経由しない設定を有効にできる様にしてみたものです。 添付ファイルの `pukiwiki-mode.no-proxy.patch' を適用した後、 (setq pukiwiki-no-proxy-domains-list
'("localhost" "no-proxy-domain.com" ...))
等として下さい。`defcustom' していますので、 M-x customize-group [RET] pukiwiki [RET] でも設定可能です。 ;; Meadow, Emacs でもこれで設定可能なのかどうかは判りません。すみません。 他の雑多な修正として、
色々問題もあろうかと思いますが、使って頂ければ幸いです。 -- ogawa 2004-09-02 (木) 16:21:05
整形は適当に手を抜いておいた方が楽でいいです.私が書いたものも,ちょっと凝ったタ グを書いてあるとまともに表示できませんし...
差分表示に `Ediff' を使う様にするパッチ折角の Emacsen で wiki を見ていて、差分が diff でしかないのが悲し過 ぎたので作ってみました。 Ediff が利用できる環境なら、インデックスモードで `='
(pukiwiki-index-show-diff) としたときに Ediff パッケージを利用して差分
を表示します。 但し、`pukiwiki-index-show-today-diff', `pukiwiki-index-show-today-changed' は複数のコンテンツを扱うため、インタフェースが噛み合わないので対象外と しています。 XEmacs 以外の Emacsen での動作は確認できていません。すみませんが、確 認をお願いします。 振舞いを制御するために `pukiwiki-diff-using-ediff' という変数を新設
させて貰いました。従来の動作をお望みの方は nil を設定して下さい。 M-x customize-group [RET] pukiwiki [RET] として `Diff Using Ediff' を on にするか、 (setq pukiwiki-diff-using-ediff t) を評価して下さい。 あと、これまでに私が up した patch にあった幾つかのバグ修正と水平線
の整形処理を加えています。
水平線については、これまでのリスト項目の整形処理で、行頭の `-' (ハイフ
ン) を 4個以上連続して書いていてもリスト項目としていた処理を変更してい
ます。
と書いてあったのでこうしてみたのですが、問題ある様であれば却下して下さ い。-- ogawa? 2004-09-08 (水) 16:18:10 ;; いつも小出しですみません。 目次を便利に長いページだと目次があるだけではあまりうれしくない。簡単な操作で各章へジャンプで きるといいな 簡単ですが、一応できる様にしてみた patch を upload しました。 表示モード限定で、以下の様な感じに動作します。
関連して新規の変数を追加しています。
変数の設定は面倒な感じになってしまいましたが、色々好みもあると思いまし て。 如何でしょうか。 -- ogawa 2004-09-07 (火) 19:08:52 ページ、リンクを辿れる様に & コメント投稿できる様に。一部、機能の紹介へ移動させました。 以下の様な機能を追加するパッチです。
今回、手元で少しずつ拡張を繰り返しておりまして、色々と安定化を図ってか ら upload しようと思っていたのですが、重複する部分に変更が入り出してし まったので、ここで取り敢えず、upload させて貰うことにしました。 但し、merge して patch を作成したのは、昨日 up された、 filpukiwiki-mode.el (backup No.57) ページ:アイデア集/pukiwiki-mode 格納ファイル名:./attach/ A5A2A5A4A5C7A5A2BDB82F70756B6977696B692D6D6F6465_70756B6977696B692D6D6F64652E656C.57 MD5ハッシュ値:7d3ab6dca3f3bffac09b4094b347a5cc サイズ:127.6KB (127561 bytes) Content-type:application/octet-stream 登録日時:2004/10/05 15:30:17 アクセス数: というファイルについてです。 これに対してパッチを作成してしまった後、更に update されているのに気付
いたのですが、face 部分が被ってしまっているので、そのまま merge できま
せんでした。
色々と face を定義したんですが、バッティングしてしまった様です。 但し、色付けはかなりうるさくなると思います。
見出し行にリンクが存在すると、その部分が有効になりますが、その副作用 で、以前は見出し行全体が目次との間のジャンプができるリンクもどきとし て機能していましたが、リンクが出現するまでの部分だけしか、その様には 機能しなくなりました。
コメント機能のエラー関連よく分かってませんが、やってみました 初期状態 anchorhead t select no radio 4 anchortype radio anchor t fontified t ここで、RETとすると、[ ]が[*]となる。その状態で確認すると、 Text property at 185: fontified t となる。プロパティが消えてるみたい。一度RETでマークをつけると、他の部 分も同じ反応になる。 ここに書いている内に松下さんが直して下さいましたね。ありがとうございま
す。 私も確認しているうちに、replace-match で mark を書き換えたときにプロパ
ティが剥がされたとしか思えないと考えていたところでした。 しかし、そうだとすると、他にも色々とありそうな気がします。
申し訳ありませんが、バグがありました。
したパッチを upload しました。
パッチに含まれていた不具合を修正頂いた様でありがとうございます。 引用部分の整形処理なんですが、引用中に整形済みテキストが現われることは
全く考慮していませんでした。すみません。 また、pcomment で引数無しのときの動作は、ちゃんと作り込まれていません でしたね。すみません。 ただ、`reply' を引数の省略値としてしまって、引数無しのときにも `reply'
が指定されているものと看倣してしまうと、リプライできないコメントにラジ
オボタンもどきが付加されてしまい、まるでリプライできる様に見えてしまう
ので、リプライできない形式 (ラジオボタンもどきを付加しない) で展開する
様にしました。 と言う訳で、 pukiwiki-mode.el.pcomment-announce.patch を upload しました。 他に、
しました。 他サイトの情報メモpukiwikihelper-modeキーバインドの追加や機能の追加などを行うモード http://amt.ty.land.to/pukiwiki/pukiwiki.php?pukiwikihelper-mode 記述子の入力を簡易にhttp://d.hatena.ne.jp/amt/20050330 より ■ [emacs][wiki]pukiwiki-modeのカスタマイズ
wiki の編集は、Meadow memoで有名な松下さんの快作 pukiwiki-mode)を使っている。
今までは不慣れなこともあって素のままで使っていたのだが、いじっているウチに色々不満も溜ってきた。
矢張りデフォールトで 物理行編集モードでいて欲しい
よく使う記述子の入力を簡単に行ないたい。
という訳で↓のようにカスタマイズしてみた。ま、誰でも考えるようなことだけれど。
;;; 20050330 physical-line-mode on
(add-hook 'pukiwiki-edit-mode-hook
'(lambda ()
(physical-line-mode-on)
))
;(fset 'pukiwiki-insert-newline
; [?\C-e ?& ?b ?r ?\; return])
(fset 'pukiwiki-insert-newline
"&br;")
(fset 'pukiwiki-insert-tab
"&t;")
(fset 'pukiwiki-justification-right
"RIGHT:")
(fset 'pukiwiki-justification-left
"LEFT:")
(fset 'pukiwiki-justification-center
"CENTER:")
(fset 'pukiwiki-bgcolor
"BGCOLOR():")
(fset 'pukiwiki-color
"COLOR():")
(fset 'pukiwiki-size
"SIZE():")
;;; キーバインドは enriched-mode を参考にした
(define-key pukiwiki-edit-mode-map "\M-jo" 'pukiwiki-insert-newline)
(define-key pukiwiki-edit-mode-map "\M-jj" 'pukiwiki-insert-newline)
(define-key pukiwiki-edit-mode-map "\M-jm" 'pukiwiki-insert-newline)
(define-key pukiwiki-edit-mode-map "\M-jt" 'pukiwiki-insert-tab)
(define-key pukiwiki-edit-mode-map "\M-j\t" 'pukiwiki-insert-tab)
(define-key pukiwiki-edit-mode-map "\M-jr" 'pukiwiki-justification-right)
(define-key pukiwiki-edit-mode-map "\M-s" nil) ;;overwrite center-line
(define-key pukiwiki-edit-mode-map "\M-s" 'pukiwiki-justification-center)
(define-key pukiwiki-edit-mode-map "\M-jc" 'pukiwiki-justification-center)
(define-key pukiwiki-edit-mode-map "\M-jl" 'pukiwiki-justification-left)
(define-key pukiwiki-edit-mode-map "\M-jb" 'pukiwiki-bgcolor)
(define-key pukiwiki-edit-mode-map "\M-jf" 'pukiwiki-color)
(define-key pukiwiki-edit-mode-map "\M-js" 'pukiwiki-size)
|