extwiki.inc.php†
サマリ | メニューの別スクロール、ページのタブ表示など、ajaxを用いてPukiWikiをより使いやすくするためのプラグインです |
リビジョン | 1.4.110 |
対応バージョン | 1.4.7 |
投稿者 | mashiki |
投稿日 | &new([nodate]){date}: Invalid date string; |
ExtWikiとは†
ExtWikiはajaxを用いてPukiWikiをより使いやすくするためのプラグインで、下記の機能特徴があります。
メイン表示領域とタブ機能†
- 各ページはタブ形式で表示されるため、いくつかのページを見ながら別ページの編集など作業する場合に、ページを切りかえながらスムーズに作業することが可能です
- 上部のヘッダー領域に現在選択中のページのタイトルやURL、更新日、カウント情報等が整理され表示されます
- 編集画面は別タブで開くので、元ページのイメージと見比べながら修正することができます
- すでに別タブで開かれているページへのリンクをクリックした場合、サーバにアクセスすることなく、瞬時にそのタブが表示されます
- 特に一覧ページを起点に子ページを順次見ていくときなど効果があります
- 不要なタブは右側にある「×」ボタンをクリックすることにより、簡単に閉じることができます
- サーバとの通信は各タブ毎に行われるので、検索等の時間のかかる通信をしている間、他のページを閲覧するなどの同時操作が可能です【v1.4】
- ブラウザの戻る、進むボタン、バックスペース、または[Alt+左右]でタブの移動が可能です。【v1.4】
サブ表示領域とメニューバー機能†
- サブ表示領域に表示されるメニューバーは、各ブロック毎にアコーデオンの様に折りたたまれており、常に表示されているブロックのタイトルをクリックすることにより、目的のメニューを簡単に表示することが可能です
- それぞれのブロックに表示されるメニューはツリーの構造を持ち、展開/折り畳みなど直感的な操作が可能です
- サブ表示領域とメイン表示領域との境界はドラッグ可能で自由にサイズを変更することが可能です
- メニューのブロックと本文は別々にスクロールするため、長い本文を読んでいても、常にメニューにアクセスすることが可能です
- メニューバーは「:ExtMenuBar」というページに定義され、自由にカスタマイズ可能です
- 導入直後もしくは削除され、ページ「:ExtMenuBar」が存在しない場合、ページ「MenuBar」をもとに半自動でメニューを作成することが可能です
- 最近更新されたページは日付毎に折りたたみ可能なツリーで表示されます
- 特定のページもしくはトップページから、配下のページをツリーで表示することも可能です
- メニューバーのヘッダにあるリロードのアイコンをクリックすることにより、メニューバーを再読み込みすることが可能です【v1.4】
- メイン表示領域のタブをサブ表示領域に移動し、一覧や検索結果のページをメニュー代わりに利用することも可能です【v1.4】
- サブ表示領域は、サイト管理者もしくは訪問者個人により、画面の上下左右のいずれの位置に表示するかを設定可能です
ツールバー†
- 編集・検索・添付・複製等、さまざまな機能はアイコン付きで上部のツールバーに整理して集約することが可能です
- 本文のスクロールとは切り離されているため、長い本文の中ほどから編集機能を使う場合でも、ページの先頭や最後に移動することなく実行することができます
- ツールバーは「:ExtToolBar」というページに定義され、機能、メニューの階層、表示名、アイコンを自由に変更したり、追加、削除することが可能です
- 導入直後もしくは削除され、ページ「:ExtToolBar」が存在しない場合、呼び出されるプラグインの導入状況を確認して、無効な機能をコメントにしたページを半自動で生成することができます。
- ツールバーは、サイト管理者もしくは訪問者個人により、画面の上下のいずれの位置に表示するかを設定可能です
編集機能【v1.4】†
- 編集はPukiwikiの編集画面に似た専用の編集画面から行います
- ブラウザのサイズを大きくしたり、小さくしても大きさが変わるのは入力用テキストエリアだけで、「プレビュー」や「ページ更新」のボタンは常に下部に表示されたままの状態となります
- プレビューはサブ表示領域に並べて表示されるので、見比べながら入力を行うことができ、また表示の際に入力中のカーソルが移動してしまうこともありません。
- テキスト整形ルールもプレビュー同様サブ表示領域に並べて表示されます。
- 編集画面のタブには鉛筆のアイコンが表示され、視覚的に通常ページと区別可能です
- 編集を加えた編集画面を閉じようとすると、確認のダイアログが出るので、誤操作での編集内容喪失を抑止することが可能です
- 編集中のテキストエリアとオリジナルとの差分を確認するDiff機能により、更新前に変更内容を確認することが可能です
その他†
- インストールはプラグインの形式で実現しているため、必要ファイルをコピーし、数行の設定を行うだけで使用可能です
- プラグイン形式で提供しているため、既存のpukiwiki画面が使えなくなることはありません。ユーザーはボタンやリンクをクリックすることにより、既存画面、ExtWikiモードの画面を行き来することが可能です
- 設定によりExtWikiモードをデフォルトして表示することもできます
- Javascriptで制御しているサイトにありがちなSEOに関するデメリットはありません(検索サイトのクローラは通常のpukiwikiの画面から情報を集めることになります)
- ブラウザの「戻る」ボタンはタブの移動に割り当てられており、一番左のタブをアクティブにしている場合に通常の戻るボタンとhして機能します。この場合にも、ExtWikiをぬけ、前のページに戻るかをユーザに確認するため、誤操作による、開いているすべてのページや、編集中のテキストエリアの内容を、意図せず失なうことがありません。
- 導入後、細かな設定のすべてはpukiwikiのページを編集することにより、調整可能です。また、設定ページを削除し(半自動で設定ページを作成することにより)、設定ページを初期の状態に戻すことが可能です(ExtWikiのバージョンアップの際にも有効な方法です)
- 画面の表示や通信待ち時間などいくつかの項目は、サイト訪問者により環境や好みに合わせ設定することが可能です。この場合の設定はブラウザのクッキーに保存されます。
- 管理者はJavascriptプラグイン(xjp)を作成し、配置することにより、新たな機能を追加することが可能です【v1.4】
ライセンス†
- GPL3.0 を適用します。(ExtJSのライブラリを同梱しているため)
ダウンロード/インストール方法†
リリースノート†
既知のバグ/要望など†
コメント†
- 過去のコメント
- ajax便利ですねー。さらなる改良期待しております! --
- 1.3でサイト訪問者毎のパーソナライズを実現しようとしていますが、今後の計画のネタが切れてる状態です。ちょっとした改良でみんなが使いやすくなるというアイディアがありましたら是非教えてください。 -- mashiki
- 見出し単位の編集とguieditのような機能を実装することは可能でしょうか? --
- 見出し単位の編集はextwikiモードでparaeditプラグインが使えればいいでしょうか。手元のwikiで確認しましたがparaeditの編集アイコンがでませんね。調査してみます -- mashiki
- (質問者さんの使用している見出し単位編集機能がparaeditだと決めつけていますが、)paraeditってskinに手を入れて使うものなのですね。extwikiはextwikiモードになるとskinは使わないので編集アイコンがでませんね。
- wikiでguieditってCMS的に使っているときに必要になるんでしょうか。要望される方が他にも何人かいらっしゃれば実装してみようかと思います。 -- mashiki
- 2chのPukiwiki DSの実装よろしく m(_ _ )m -- lupin
- DS いい感じしますね。 上(左)画面にTRACKER_LIST、下(右)に子ページを配置したら、 作業効率が上がりそうですね。実装検討します。 -- mashiki
- いろいろな方にご意見をいただきありがとうございました。開発計画のネタが切れたどころではなく、自分自身こんなpukiwikiを使いたいというレベルまでアイディアをいただきました。次のバージョンで実現したい機能をextwiki:開発計画8(とことん編集効率化)に整理しましたので、そちらでもアドバイスいただけると助かります。 -- mashiki
- 1.3.144(リリースノート)をリリースしました。今回のリリースはサイト利用者・訪問者毎のUIのカスタマイズです。例によって、細かなバグ対応や、改善も含んでおりますので、リリースノートをご確認ください。
サイト利用者・訪問者向けマニュアル
-- mashiki
- 1.4.67をリリースしました。今回のリリースは編集画面のネイティブ化、サブリージョン*1の導入、Javascriptプラグイン*2の導入がメインです。詳しくはリリースノートをご確認ください。 -- mashiki
- lupinさんのアイディアのDSの実装はこんな感じです。たとえば検索結果を通常ページを同時に使いたい場合は、検索結果のパネルで「表示/サブ領域に移動」を選択し
- サブ領域(リージョン)に表示された、検索結果をメニューのように使用できます
- バグ修正版、1.4.75をリリースしました --
- 1.4.82をリリースしました。編集中のテキストエリアとオリジナルとのDiffを確認する機能、ページ更新時に編集継続を選択できる機能を追加し、いくつかのバグ修正等を含んでいます。 -- mashiki
- 1.4.82の編集中のDiffを確認する機能も、「DS」*3を利用しています -- mashiki
- 1.4.102をリリースしました。1.4で一旦削除した履歴機能を仕様を見直して再実装し、同梱のExtJSを3.3.1にバージョンアップするなど内部を見直し、いくつかのバグを修正しています。 -- mashiki &new([nodate]){date}: Invalid date string;
- 1.4.110をリリースしました。おもな変更点は、印刷機能の提供と、AutoModeがONの時に携帯や検索エンジンのクローラからのアクセスもExtWikiモードに転送していたバグの修正、その他の細かなバグ修正となります。 -- mashiki