T.Watanabe
wtnab****@mba*****
2005年 5月 3日 (火) 18:36:00 JST
初めまして、渡辺と申します。 FreeStyle Wiki を自分のメモ用に使おうかと思っているのですが、accesskey の設定がまったくないのでちょっとメモ書きには不便だなと思い、手を入れてみ ました。 lib/Wiki.pm ----------- 319a320,321 > my $title = shift; > my $access = shift; 330c332,344 < push(@{$self->{"menu"}},{name=>$name,href=>$href,weight=>$weight}); --- > if ( $title !~ /^$/ ) { > $title = ' title="'.$title.'"'; > } > if ( $access =~ /^[0-9a-zA-Z\/.,]$/ ) { > $access = ' accesskey="'.$access.'"'; > } else { > undef( $access ); > } > push(@{$self->{"menu"}},{name=>$name, > href=>$href, > weight=>$weight, > title=>$title, > accesskey=>$access}); tmpl/header.tmpl ---------------- 7c7 < <a href="<!--TMPL_VAR NAME="href"-->"><!--TMPL_VAR ESCAPE="HTML" NAME="name"--></a> --- > <a href="<!--TMPL_VAR NAME="href"-->"<!--TMPL_VAR NAME="title"--> <!--TMPL_VAR NAME="accesskey"-->><!--TMPL_VAR ESCAPE="HTML" NAME="name"--></a> で、あとは plugin/*/Install.pm などにある $wiki->add_menu("編集" ,"",997); を $wiki->add_menu("編集" ,"",997,"このページを編集[e]","e"); などに変えていく、という作業になります。editform.tmpl で submit などに も accesskey をつけようかなと思いますが、それは特に考えることがないので 端折ります。またこの改造は HTML::Template のおかげで、add_menu の方に変 更が加わっていない場合は従来通りのメニューが生成されるようになっています。 ここで一つお願いがあります。それはこの accesskey を改造ではなく正式に 機能として取り込んでもらえないかなということです。 例えば今のままではコードを修正したら必ず accesskey が有効になってしま いますが、これを管理画面で有効/無効を切り替えられる形に整理すれば判断を ユーザーに委ねることができますので、機能として取り込んでもあまり問題にな らないかなと。(キーアサインをユーザーが選べる形までいくと相当ホネですが。) 個人的には普段使う Wiki は accesskey の有無で使い勝手が大きく変わると 思っています。PukiWiki ではこの辺りはほとんどすべて skin に集約させるこ とができるので改造も楽ですが、FreeStyle Wiki の作りだとバージョンアップ のたびに加える改造としては少々作業量が多いものでして。 それなら本家に取 り込んでもらってしまえ、ということです。 キーアサインやどこまで管理画面で設定できるようにするかなど、多少整理の 必要なことがありますが、どうでしょうか。ご検討いただけないでしょうか。 ※ 2004年11月まではさかのぼって ML に検索を掛けてみましたが、それ以前の話 は押さえておりません。本家 Wiki のサポート掲示板で一つ改造例を見ました が、その後この話の進展はなさそうでした。もし以前に同じ話題が何らかの理由 で却下になっていたのでしたら申し訳ありません。 -- わたなべ