文書の過去の版を表示しています。
“編集の概要”の記述を必須化する
Summary Enforcement
ページの保存時に、ユーザーに編集の概要
の入力 (もしくは小変更
へのチェック) を強制するように機能を拡張します。そうすることで、メジャーな変更(≒小変更)であるリビジョンに「編集の概要」を残せるようになります。もちろん、小変更
へのチェックによらず、編集の概要
の入力を強制するようにカスタマイズすることもできます。
機能拡張の詳細
この機能拡張は非常に単純です。ユーザーがページまたはセクションを編集を始めるとき、最初は保存
ボタンは無効化されています(クリックできません)。ユーザーはプレビュー
ボタンをクリックできますが、保存するには次のいずれかの操作を行う必要があります。
編集の概要
欄に規定数以上の文字を入力する。または小変更
をチェックする。
保存
ボタンは、上記のいずれかの条件が満たされた場合にクリックできるようになります。もちろんですが、編集の概要
を記述し、かつ小変更
をチェックして保存することもできます。
コードを修正すれば、編集の概要
を記述しないと保存できないようにすることもできます。
Dokuwiki 2011-11-10 “Angua”以降のバージョンの場合
この拡張機能を導入するには、以下の Javascript コードを conf/userscript.js
に追加して下さい。このファイルが存在しない場合には作成してください。
このコードは jQuery を利用しています。 このコードを動作させるためには、DokuWiki 2011-11-10 “Angua”以降のバージョンにアップグレードする必要があります。
- script.js
jQuery(document).ready(function() { minSummaryLength = 15; $editButton = jQuery("#edbtn__save"); $minorEdit = jQuery("#minoredit"); // if you prefer "Miner Changes" by default, uncomment following four lines. //var prv = jQuery('div.preview'); //if (!prv[0]) { // not preview action // $minorEdit.prop('checked', true); //} $summary = jQuery("#edit__summary"); $summary.keyup(enforceSummary).focus(enforceSummary); $minorEdit.change(enforceSummary); enforceSummary(); // To disable form submission on page load. }); function enforceSummary() { if ( $summary.val().length < minSummaryLength && !$minorEdit.is(':checked')) { $summary.addClass("missing"); $editButton.attr("disabled", true).css("color", "#999"); } else { $summary.removeClass("missing"); $editButton.removeAttr("disabled").css("color", "black"); } }
保存の際に(小変更
のチェック有無によらず)常に編集の概要
を記述するようにしたい場合には、コードを次のように書き換えます。
- 修正前の部分
if ($summary.val().length < minSummaryLength && !$minorEdit.is(':checked')) {
- 上記を次のように書き換えます。
if ($summary.val().length < minSummaryLength) {
また、編集開始時に デフォルトで小変更
をチェックしておきたい―編集の概要を省略する―場合には、コードのコメント(4行)を外して下さい。
Older Dokuwiki versions
〔日本語版では割愛〕