WalWikiからのカスタマイズ箇所をまとめたいと思います。
コメント等は雑談へどうぞ。
現在動いているCGIのソースはこちらです。
更新履歴
- 2010-06-20 (Sun) 07:50:54 一覧ページツリー表示 - IndexPageをツリー表示させます。
- 2005-01-08 (Sat) 00:00:59 ページ編集確認 - 最初の編集時に編集確認画面を表示します。
- 2004-08-28 (Sat) 22:36:01 do_adminedit()リファクタリング - do_adminedit()のリファクタリング
- 2004-08-28 (Sat) 22:22:56 ページ作成時テンプレート - ページ作成時にテンプレートを読み込みます。
- 2004-07-24 (Sat) 23:17:42 外部へのリンクは別ウィンドウで開く - [blank target]
- 2004-07-24 (Sat) 22:36:00 セクションへのリンク - 任意のセクションへのリンクを可能にする。
- 2004-06-10 (Thu) 23:13:37 複数パラメータ対応InterWiki - 複数パラメータ対応InterWiki
- 2004-06-08 (Tue) 19:25:17 ログイン・ログアウト機能 -
- 2004-06-01 (Tue) 22:09:53 一覧RSS - ページ一覧をRSSで提供します。
- 2004-05-22 (Sat) 15:33:23 検索キーワードハイライト表示 - 検索に使用したキーワードをハイライト表示します。
- 2004-05-21 (Fri) 22:25:46 日本語文字列を正しく検索 - 海、箸等の文字列を正しく検索します。
- 2004-04-27 (Tue) 18:37:32 エイリアス定義 - [alias link definition]
- 2004-04-23 (Fri) 21:30:37 無名セクション - 部分編集を行うための無名セクションを作成します。
- 2004-04-23 (Fri) 18:41:40 カスタムツールバー - 編集可能なツールバー、およびユーザー毎のツールバーを定義します。
- 2004-04-15 (Thu) 01:21:47 ブロック要素への任意属性付加 - ブロック要素に任意の属性を付加します。
- 2004-04-14 (Wed) 00:33:01 ページ毎アクセスカウンタ - ページ毎のアクセス数をカウントし、記録します。
- 2004-04-14 (Wed) 00:28:04 SmartInterWiki - URLから登録されているInterWikiに自動変換
- 2004-04-12 (Mon) 23:02:09 コメント欄拡張 - コメント欄から各種書式付きテキストの記述を可能にします。
- 2004-01-27 (Tue) 13:07:54 引数付きアンテナ - 引数付きのアンテナを定義/使用できるようになります。
- 2004-01-21 (Wed) 21:32:24 検索結果RSS - 検索結果のRSSを出力します。
- 2004-01-16 (Fri) 11:52:37 CSS変更 - CSSファイルへのリンクを記述すると、そのリンクを辿る事で指定したCSSに変更する事が出来ます。
- 2003-12-15 (Mon) 09:21:56 簡易投票フォーム - 簡易投票フォームを表示します。
- 2003-12-15 (Mon) 09:20:53 編集後に編集していたセクションに飛ぶ - 部分編集後、またはコメント書き込み後に編集箇所にジャンプします。
- 2003-10-09 (Thu) 19:43:43 削除したページの復旧 - 新規ページ作成時に、以前に削除されたページ名だった場合には、削除前の内容を差分から読み込んでテキストエリアに表示します。
- 2003-10-09 (Thu) 19:38:44 UNDO機能 - 差分ページから最後の更新をUNDOする事が出来るようになります。
- 2003-10-09 (Thu) 19:35:41 インクリメンタル差分 - 一定時間内の同一IPアドレスからの編集を一回の編集とみなし、差分をインクリメンタルに取得します。
- 2003-09-12 (Fri) 10:32:27 差分履歴ページ - [recent diffs]
- 2003-09-07 (Sun) 00:39:39 汎用ブロックコンテナ - 任意の範囲を汎用ブロックコンテナ(<div>タグ)に入れることが出来ます。
- 2003-08-25 (Mon) 11:54:52 汎用サブルーチン - 汎用サブルーチンの追加
- 2003-08-23 (Sat) 22:53:08 整形ルールの定義 - 整形ルールをWikiのページで管理する
カスタマイズ一覧
- ページ編集確認
- 最初の編集時に編集確認画面を表示します。
- do_adminedit()リファクタリング
- do_edit()に機能を追加するとdo_adminedit()にも同じコードを追加しなければいけないので、この2つの関数を統合します。
- ページ作成時テンプレート
- ページ作成時にあらかじめ作成しておいたテンプレートを読み込みます。
- 複数パラメータ対応InterWiki
- InterWikiを複数パラメータ($1,$2,$3...)対応にします。
- 一覧RSS
- ページ一覧をRSSで提供します。
- 日本語文字列を正しく検索
- 海、箸等の文字列を正しく検索します。
- 無名セクション
- 部分編集を行うための無名セクションを作成します。
- カスタムツールバー
- 編集可能なツールバー、およびユーザー毎のツールバーを定義します。
- コメント欄拡張
- コメント欄から各種書式付きテキストの記述を可能にします。
- 引数付きアンテナ
- 引数付きのアンテナを定義/使用できるようになります。
- 検索結果RSS
- 検索結果のRSSを出力します。
- SmartInterWiki
- YukiWiki:SmartInterWikiを実装してみました。
- 削除したページの復旧
- 新規ページ作成時に、削除前の内容を読み込みます。
- UNDO機能
- 差分ページから最後の更新をUNDO出来るようになります。
- 簡易投票フォーム
- 簡易投票フォームを表示します。
- ページ名でフィルタリングした更新履歴を挿入
- ページ名でフィルタリングした更新履歴を表示します。
- 検索キーワードハイライト表示
- 検索に使用したキーワードをハイライト表示します。
- ページ毎アクセスカウンタ
- ページ毎のアクセス数をカウントし、記録します。アクセス数はこのように表示されます。
- 汎用ブロックコンテナ
- 任意の範囲を汎用ブロックコンテナ(<div>タグ)に入れることが出来ます。
- ブロック要素への任意属性付加
- ブロック要素に任意の属性を付加します。
- 自動リンク
- 存在するページ名、および別名に対して自動的にリンクを張ります。
- 整形ルールの定義
- 整形ルールをWikiのページで管理します。
- 衝突画面から直接編集
- 衝突画面からの直接編集を可能にします。
- 差分履歴RSS
- このように差分履歴のRSSを出力します。
- FrontPageを更新履歴に表示
- frontpage.txtを使用する場合でも更新履歴に残せるようにします。
- カテゴリ内ページ作成
- 新規作成画面にカテゴリを選択するコンボボックスを表示します。
- 汎用サブルーチン
- ヘッダー文字列変更
- ValidHTML
- 記法によって不正なHTMLが出力される場合があったのでそれを修正。下記の点が修正されています。
- 空<p>問題
- リストの途中で改行した場合の問題
- <blockquote>問題
- 見出しの次の行に空行を入れなかった場合の問題
- 非公開ページ
- 一覧ページ外観変更
- こんな感じです。
- ページ属性追加
- CSS変更
- CSSファイルへのリンクを記述すると、そのリンクを辿る事で指定したCSSに変更する事が出来ます。例えば下記のような感じで指定。(
ただしここのWikiでは適用していないので利用できませんと思ったんですけど適用してみました) - ログイン・ログアウト機能
- 未ログイン時にはeditボタンのみ表示、ログイン時にはadmineditボタンのみ表示。
- 凍結ページでは、未ログイン時に編集ボタンが全く表示されなくなります。
- ログイン時の新規作成はadmineditのページに飛ばす。
- インクリメンタル差分
- 一定時間内の同一IPアドレスからの編集を一回の編集とみなし、差分をインクリメンタルに取得します。
- クッキーを使用する
- 一行コメント欄の名前、および管理者パスワードをクッキーで保存します。
- 外部へのリンクは別ウィンドウで開く
- 差分履歴ページ
- 通常の差分だとすぐに無くなってしまうのと、変更箇所を探すのが面倒なので全ページの差分を履歴に残すRecentDiffsページを作成するようにしてみました。
- エイリアス定義
- 同一ページ内複数コメント
- グローバル変数を使ってるのがちょっと気にくわないんだけどこれ以上スマートな実装を思いつかなかった… もっとスマートな実装方法があれば教えて下さい。こんな感じに動作します。
- 管理者による認証機能
- info_IsFrozenを下記の様に拡張して扱う。
- WikiName無効
- 改行保持
- フォームで入力したとおりの改行を表示に反映する
- 目次項目自動リンク
- 目次となっている項目名に自動的にリンクを張ります。
- 同一カテゴリ内自動リンク
- リンク名短縮
- リンク名短縮(カテゴリ名省略)
- 一覧ページツリー表示
- 履歴ページに月毎の見出し表示
- 編集後に編集していたセクションに飛ぶ
- セクションへのリンク
- 保存時に変更がなければ更新しない
- XREA対応
状態 | info_IsFrozen | 編集 | bodyタグのclass |
通常 | 0 | 誰でも編集可能 | normal |
凍結 | 1 | 管理者のみ編集可能 | frozen |
認証済み | 2 | 誰でも編集可能だが、編集をすると通常状態に遷移 | certified |
ご意見等
ページが長くなってきたのでコメントは雑談ページに移しました。