差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行はこのように表示します。
WalWikiからのカスタマイズ箇所をまとめたいと思います。
コメント等は[[WalWiki/雑談]]へどうぞ。
現在動いているCGIのソースは[[こちら Download:wiki.txt]]です。
[[カスタマイズ一覧の表示 ページ名検索:WalWiki/カスタマイズ/]]
*更新履歴
[[#recent:WalWiki/カスタマイズ/]]
*ページ編集確認
最初の編集時に編集確認画面を表示します。
[[WalWiki/カスタマイズ/ページ編集確認]]
*do_adminedit()リファクタリング
do_edit()に機能を追加するとdo_adminedit()にも同じコードを追加しなければいけないので、
この2つの関数を統合します。
[[WalWiki/カスタマイズ/do_adminedit()リファクタリング]]
*ページ作成時テンプレート
ページ作成時にあらかじめ作成しておいたテンプレートを読み込みます。
[[WalWiki/カスタマイズ/ページ作成時テンプレート]]
*複数パラメータ対応InterWiki
InterWikiを複数パラメータ($1,$2,$3...)対応にします。
[[WalWiki/カスタマイズ/複数パラメータ対応InterWiki]]
*一覧RSS
ページ一覧をRSSで提供します。
[[WalWiki/カスタマイズ/一覧RSS]]
*日本語文字列を正しく検索
海、箸等の文字列を正しく検索します。
[[WalWiki/カスタマイズ/日本語文字列を正しく検索]]
*無名セクション
部分編集を行うための無名セクションを作成します。
[[WalWiki/カスタマイズ/無名セクション]]
*カスタムツールバー
編集可能なツールバー、およびユーザー毎のツールバーを定義します。
[[WalWiki/カスタマイズ/カスタムツールバー]]
*コメント欄拡張
コメント欄から各種書式付きテキストの記述を可能にします。
[[WalWiki/カスタマイズ/コメント欄拡張]]
*引数付きアンテナ
引数付きのアンテナを定義/使用できるようになります。
[[WalWiki/カスタマイズ/引数付きアンテナ]]
*検索結果RSS
検索結果のRSSを出力します。
[[WalWiki/カスタマイズ/検索結果RSS]]
*SmartInterWiki
[[YukiWiki:SmartInterWiki]]を実装してみました。
[[WalWiki/カスタマイズ/SmartInterWiki]]
*削除したページの復旧
新規ページ作成時に、削除前の内容を読み込みます。
[[WalWiki/カスタマイズ/削除したページの復旧]]
*UNDO機能
差分ページから最後の更新をUNDO出来るようになります。
[[WalWiki/カスタマイズ/UNDO機能]]
*簡易投票フォーム
簡易投票フォームを表示します。
[[WalWiki/カスタマイズ/簡易投票フォーム]]
*ページ名でフィルタリングした更新履歴を挿入
ページ名でフィルタリングした更新履歴を表示します。
[[WalWiki/カスタマイズ/ページ名でフィルタリングした更新履歴を挿入]]
* 検索キーワードハイライト表示
検索に使用したキーワードをハイライト表示します。
[[WalWiki/カスタマイズ/検索キーワードハイライト表示]]
* ページ毎アクセスカウンタ
ページ毎のアクセス数をカウントし、記録します。
アクセス数は[[このように AccessCounts]]表示されます。
[[WalWiki/カスタマイズ/ページ毎アクセスカウンタ]]
* 汎用ブロックコンテナ
任意の範囲を汎用ブロックコンテナ(<div>タグ)に入れることが出来ます。
[[WalWiki/カスタマイズ/汎用ブロックコンテナ]]
* ブロック要素への任意属性付加
ブロック要素に任意の属性を付加します。
[[WalWiki/カスタマイズ/ブロック要素への任意属性付加]]
* 自動リンク
存在するページ名、および別名に対して自動的にリンクを張ります。
[[WalWiki/カスタマイズ/自動リンク]]
* 整形ルールの定義
整形ルールをWikiのページで管理します。
[[WalWiki/カスタマイズ/整形ルールの定義]]
* 衝突画面から直接編集
衝突画面からの直接編集を可能にします。
[[WalWiki/カスタマイズ/衝突画面から直接編集]]
* 差分履歴RSS
差分履歴のRSSを出力します。
[[http://yakty.s31.xrea.com/cgi-bin/wiki/linuzau/wiki.xcg?RecentDiffsRss]]
[[WalWiki/カスタマイズ/差分履歴RSS]]
* FrontPageを更新履歴に表示
frontpage.txtを使用する場合でも更新履歴に残せるようにします。
[[WalWiki/カスタマイズ/FrontPageを更新履歴に表示]]
* カテゴリ内ページ作成
新規作成画面にカテゴリを選択するコンボボックスを表示します。
[[WalWiki/カスタマイズ/カテゴリ内ページ作成]]
* 汎用サブルーチン
[[WalWiki/カスタマイズ/汎用サブルーチン]]
* ヘッダー文字列変更
[[WalWiki/カスタマイズ/ヘッダー文字列変更]]
* ValidHTML
記法によって不正なHTMLが出力される場合があったのでそれを修正。
下記の点が修正されています。
*カスタマイズ一覧
:[[WalWiki/カスタマイズ/ページ編集確認]]:最初の編集時に編集確認画面を表示します。
:[[WalWiki/カスタマイズ/do_adminedit()リファクタリング]]:do_edit()に機能を追加するとdo_adminedit()にも同じコードを追加しなければいけないので、この2つの関数を統合します。
:[[WalWiki/カスタマイズ/ページ作成時テンプレート]]:ページ作成時にあらかじめ作成しておいたテンプレートを読み込みます。
:[[WalWiki/カスタマイズ/複数パラメータ対応InterWiki]]:InterWikiを複数パラメータ($1,$2,$3...)対応にします。
:[[WalWiki/カスタマイズ/一覧RSS]]:ページ一覧をRSSで提供します。
:[[WalWiki/カスタマイズ/日本語文字列を正しく検索]]:海、箸等の文字列を正しく検索します。
:[[WalWiki/カスタマイズ/無名セクション]]:部分編集を行うための無名セクションを作成します。
:[[WalWiki/カスタマイズ/カスタムツールバー]]:編集可能なツールバー、およびユーザー毎のツールバーを定義します。
:[[WalWiki/カスタマイズ/コメント欄拡張]]:コメント欄から各種書式付きテキストの記述を可能にします。
:[[WalWiki/カスタマイズ/引数付きアンテナ]]:引数付きのアンテナを定義/使用できるようになります。
:[[WalWiki/カスタマイズ/検索結果RSS]]:検索結果のRSSを出力します。
:[[WalWiki/カスタマイズ/SmartInterWiki]]:[[YukiWiki:SmartInterWiki]]を実装してみました。
:[[WalWiki/カスタマイズ/削除したページの復旧]]:新規ページ作成時に、削除前の内容を読み込みます。
:[[WalWiki/カスタマイズ/UNDO機能]]:差分ページから最後の更新をUNDO出来るようになります。
:[[WalWiki/カスタマイズ/簡易投票フォーム]]:簡易投票フォームを表示します。
:[[WalWiki/カスタマイズ/ページ名でフィルタリングした更新履歴を挿入]]:ページ名でフィルタリングした更新履歴を表示します。
:[[WalWiki/カスタマイズ/検索キーワードハイライト表示]]:検索に使用したキーワードをハイライト表示します。
:[[WalWiki/カスタマイズ/ページ毎アクセスカウンタ]]:ページ毎のアクセス数をカウントし、記録します。アクセス数は[[このように AccessCounts]]表示されます。
:[[WalWiki/カスタマイズ/汎用ブロックコンテナ]]:任意の範囲を汎用ブロックコンテナ(<div>タグ)に入れることが出来ます。
:[[WalWiki/カスタマイズ/ブロック要素への任意属性付加]]:ブロック要素に任意の属性を付加します。
:[[WalWiki/カスタマイズ/自動リンク]]:存在するページ名、および別名に対して自動的にリンクを張ります。
:[[WalWiki/カスタマイズ/整形ルールの定義]]:整形ルールをWikiのページで管理します。
:[[WalWiki/カスタマイズ/衝突画面から直接編集]]:衝突画面からの直接編集を可能にします。
:[[WalWiki/カスタマイズ/差分履歴RSS]]:[[このように http://yakty.s31.xrea.com/cgi-bin/wiki/linuzau/wiki.xcg?RecentDiffsRss]]差分履歴のRSSを出力します。
:[[WalWiki/カスタマイズ/FrontPageを更新履歴に表示]]:frontpage.txtを使用する場合でも更新履歴に残せるようにします。
:[[WalWiki/カスタマイズ/カテゴリ内ページ作成]]:新規作成画面にカテゴリを選択するコンボボックスを表示します。
:[[WalWiki/カスタマイズ/汎用サブルーチン]]:
:[[WalWiki/カスタマイズ/ヘッダー文字列変更]]:
:[[WalWiki/カスタマイズ/ValidHTML]]:記法によって不正なHTMLが出力される場合があったのでそれを修正。下記の点が修正されています。
-空<p>問題
-リストの途中で改行した場合の問題
-<blockquote>問題
-見出しの次の行に空行を入れなかった場合の問題
[[WalWiki/カスタマイズ/ValidHTML]]
* 非公開ページ
-[[WalWiki/カスタマイズ/非公開ページ]]
* 一覧ページ外観変更
[[こんな感じ IndexPage]]です。
-[[WalWiki/カスタマイズ/一覧ページ外観変更]]
* ページ属性追加
-[[WalWiki/カスタマイズ/ページ属性追加]]
*CSS変更
CSSファイルへのリンクを記述すると、そのリンクを辿る事で指定したCSSに変更する事が出来ます。
例えば下記のような感じで指定。(``ただしここのWikiでは適用していないので利用できません``と思ったんですけど適用してみました)
[[sbox擬態 http://jm.vis.ne.jp/sbox/WalWiki/theme/wiki.css]]
[[元に戻す wiki.css]]
[[sbox擬態 http://jm.vis.ne.jp/sbox/WalWiki/theme/wiki.css]]
[[元に戻す wiki.css]]
[[sbox http://jm.vis.ne.jp/sbox/index.cgi]]さんがこの改造を適用して下さっています。
-[[WalWiki/カスタマイズ/CSS変更]]
* ログイン/ログアウト機能
:[[WalWiki/カスタマイズ/非公開ページ]]:
:[[WalWiki/カスタマイズ/一覧ページ外観変更]]:[[こんな感じ IndexPage]]です。
:[[WalWiki/カスタマイズ/ページ属性追加]]:
:[[WalWiki/カスタマイズ/CSS変更]]:CSSファイルへのリンクを記述すると、そのリンクを辿る事で指定したCSSに変更する事が出来ます。例えば下記のような感じで指定。(``ただしここのWikiでは適用していないので利用できません``と思ったんですけど適用してみました)
-[[sbox擬態 http://jm.vis.ne.jp/sbox/WalWiki/theme/wiki.css]]
-[[元に戻す wiki.css]]
-[[sbox http://jm.vis.ne.jp/sbox/index.cgi]]さんがこの改造を適用して下さっています。
:[[WalWiki/カスタマイズ/ログイン・ログアウト機能]]:
-未ログイン時にはeditボタンのみ表示、ログイン時にはadmineditボタンのみ表示。
--凍結ページでは、未ログイン時に編集ボタンが全く表示されなくなります。
-ログイン時の新規作成はadmineditのページに飛ばす。
-[[WalWiki/カスタマイズ/ログイン・ログアウト機能]]
* インクリメンタル差分
一定時間内の同一IPアドレスからの編集を一回の編集とみなし、差分をインクリメンタルに取得します。
-[[WalWiki/カスタマイズ/インクリメンタル差分]]
*クッキーを使用する
一行コメント欄の名前、および管理者パスワードをクッキーで保存します。
-[[WalWiki/カスタマイズ/クッキーを使用する]]
*外部へのリンクは別ウィンドウで開く
-[[WalWiki/カスタマイズ/外部へのリンクは別ウィンドウで開く]]
*差分履歴ページ
通常の差分だとすぐに無くなってしまうのと、変更箇所を探すのが面倒なので
全ページの差分を履歴に残すRecentDiffsページを作成するようにしてみました。
-[[WalWiki/カスタマイズ/差分履歴ページ]]
*エイリアス定義
-[[WalWiki/カスタマイズ/エイリアス定義]]
*同一ページ内複数コメント
グローバル変数を使ってるのがちょっと気にくわないんだけどこれ以上スマートな実装を思いつかなかった…
もっとスマートな実装方法があれば教えて下さい。
[[こんな感じ 複数コメントテスト]]に動作します。
-[[WalWiki/カスタマイズ/同一ページ内複数コメント]]
*管理者による認証機能
info_IsFrozenを下記の様に拡張して扱う。
:[[WalWiki/カスタマイズ/インクリメンタル差分]]:一定時間内の同一IPアドレスからの編集を一回の編集とみなし、差分をインクリメンタルに取得します。
:[[WalWiki/カスタマイズ/クッキーを使用する]]:一行コメント欄の名前、および管理者パスワードをクッキーで保存します。
:[[WalWiki/カスタマイズ/外部へのリンクは別ウィンドウで開く]]:
:[[WalWiki/カスタマイズ/差分履歴ページ]]:通常の差分だとすぐに無くなってしまうのと、変更箇所を探すのが面倒なので全ページの差分を履歴に残すRecentDiffsページを作成するようにしてみました。
:[[WalWiki/カスタマイズ/エイリアス定義]]:
:[[WalWiki/カスタマイズ/同一ページ内複数コメント]]:グローバル変数を使ってるのがちょっと気にくわないんだけどこれ以上スマートな実装を思いつかなかった… もっとスマートな実装方法があれば教えて下さい。[[こんな感じ 複数コメントテスト]]に動作します。
:[[WalWiki/カスタマイズ/管理者による認証機能]]:info_IsFrozenを下記の様に拡張して扱う。
,状態,info_IsFrozen,編集,bodyタグのclass
,通常,0,誰でも編集可能,normal
,凍結,1,管理者のみ編集可能,frozen
,認証済み,2,誰でも編集可能だが、編集をすると通常状態に遷移,certified
:[[WalWiki/カスタマイズ/WikiName無効]]:
:[[WalWiki/カスタマイズ/改行保持]]:フォームで入力したとおりの改行を表示に反映する
:[[WalWiki/カスタマイズ/目次項目自動リンク]]:目次となっている項目名に自動的にリンクを張ります。
:[[WalWiki/カスタマイズ/同一カテゴリ内自動リンク]]:
:[[WalWiki/カスタマイズ/リンク名短縮]]:リンク名短縮(カテゴリ名省略)
:[[WalWiki/カスタマイズ/一覧ページツリー表示]]:
:[[WalWiki/カスタマイズ/履歴ページに月毎の見出し表示]]:
:[[WalWiki/カスタマイズ/編集後に編集していたセクションに飛ぶ]]:
:[[WalWiki/カスタマイズ/セクションへのリンク]]:
:[[WalWiki/カスタマイズ/保存時に変更がなければ更新しない]]:
:[[WalWiki/カスタマイズ/XREA対応]]:
-[[WalWiki/カスタマイズ/管理者による認証機能]]
*WikiName無効
-[[WalWiki/カスタマイズ/WikiName無効]]
*改行保持
フォームで入力したとおりの改行を表示に反映する
-[[WalWiki/カスタマイズ/改行保持]]
*目次項目自動リンク
目次となっている項目名に自動的にリンクを張ります。
-[[WalWiki/カスタマイズ/目次項目自動リンク]]
*同一カテゴリ内自動リンク
-[[WalWiki/カスタマイズ/同一カテゴリ内自動リンク]]
*リンク名短縮(カテゴリ名省略)
-[[WalWiki/カスタマイズ/リンク名短縮]]
*一覧ページツリー表示
-[[WalWiki/カスタマイズ/一覧ページツリー表示]]
*履歴ページに月毎の見出し表示
-[[WalWiki/カスタマイズ/履歴ページに月毎の見出し表示]]
*編集後に編集していたセクションに飛ぶ
-[[WalWiki/カスタマイズ/編集後に編集していたセクションに飛ぶ]]
*セクションへのリンク
-[[WalWiki/カスタマイズ/セクションへのリンク]]
*保存時に変更がなければ更新しない
-[[WalWiki/カスタマイズ/保存時に変更がなければ更新しない]]
*XREA対応
-[[WalWiki/カスタマイズ/XREA対応]]
*ご意見等
ページが長くなってきたのでコメントは[[雑談ページ WalWiki/雑談]]に移しました。
08852