PukiWiki にユニバーサルエディットボタンを追加してみた

上の 2 つの記事を読んで、AviSynth Wiki にもユニバーサルエディットボタン(Universal Edit Button)を追加してみました。

Add The Link - Universal Edit Button にリンクの追加方法が書いてありました。application/wiki という MIME タイプはまだないから、MediaWiki などいくつかの Wiki では application/x-wiki を使っているとか、そのようなことが書いてあるようです。

AviSynth Wiki は PukiWiki を使って構築されているのですが、skin フォルダにある pukiwiki.skin.php に次のような行を追加しました。

 <?php if ($is_page) { ?>
   <?php if ($rw) { ?>
     <link rel="alternate" type="application/x-wiki" title="このページを編集" href="<?php echo $script ?>?cmd=edit&amp;page=<?php echo $r_page ?>" />
   <?php } ?>
 <?php } ?>

追加した場所は、pukiwiki.skin.php の 82 行目あたり。RSS auto-discovery の下のところです。

リードオンリーではない場合にのみ表示するようにしているつもりです。PukiWiki も PHP もよくわからないので、おかしなところがあるかもしれません。とりあえず、手元の環境では正常に動作しているようです。

なお現時点では、Firefox - Universal Edit Button にある Firefox アドオン(univedit.xpi。wiki auto-discovery button)をインストールしないとユニバーサルエディットボタンは見えません。このアドオンは、Firefox 2 と 3 に対応しているそうです。

ユニバーサルエディットボタン

wiki auto-discovery button アドオンを入れた状態で Wiki の編集可能なページを見ると、アドレスバーにこのようなアイコンが表示されます。そして、このアイコンをクリックすると、そのページの編集画面に移動します。

2008-06-25 追記

初出時、リードオンリーでなく、かつ、凍結されていない場合にのみ表示されるようにしていましたが、凍結されている場合にもユニバーサルエディットボタン表示するようにしました。ただし、凍結されているページでユニバーサルエディットボタンをクリックしても、「○○は編集できません」(○○はページ名)というメッセージが表示されます。

また、検索画面のように、最初から編集できないページでは表示されないようにしました。

Edit this entry...

wikieditish message: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.