2010-09-22
_ 日記をプレビューしたときに校正支援してくれるプラグイン
日記を書いて Web 上に公開していると,たまに漢字が間違っていたり,文章としてなんとなくおかしかったりすることがありませんか?プレビュー段階でひととおり確認して,おかしなところがないかは自分で確認するけれど,この段階で,ちょっとした校正支援をしてくれるプラグインがあってもいいかな,ということで,Yahoo!デベロッパーネットワークで提供されている校正支援 Web APIを利用した tDiary のプラグインを書いてみました.
このプラグインを利用することで日記のプレビュー画面で,指定した指摘グループに基づいた言い換え候補や指摘内容を一覧表示してくれるようになります.
プラグインを動作させるには,あらかじめアプリケーション ID を取得した上で,tdiary.conf に以下の値を設定します.また,指摘部分の選択表示のために,今回も jQuery を用いているので,tDiary 3.0 以降で動作が可能です.
@options['yahoo_kousei.appid'] = '<アプリケーション ID>'
アプリケーション ID を設定して,プラグインを有効にすると,プレビュー段階で校正支援 Web API に対して入力内容を送信し,校正候補を取得,表示します.指摘する内容については,さらにオプションで制御することも可能です.設定項目は校正支援 API のリクエストパラメータに準拠します.
# 指摘グループを指定 @options['yahoo_kousei.filter_group'] = '1,2,3' # filter_group で指定した指摘グループから除外する指摘 @options['yahoo_kousei.no_filter'] = '17'
指定しない場合は,すべてが有効な状態となります.
表示された校正候補をクリックすると,日記編集の textarea で該当部分が選択されるようになります.IE では選択された位置に textarea が自動的にスクロールするのですが,Chrome や Firefox はスクロールしてくれないので,選択部分を自力で探すしかありません.このへんがうまく制御できればいいんだけどな…
このプラグインを利用することで,ここで公開している日記の誤字や脱字,おかしな表現が少しでもましになればいいのですが,はたしてその効果はどのくらいになるのかな.
API を利用して思ったのが,用字や用語についての指摘が多いので,校正候補に従って修正していれば,日によって表現が異なったり,その日の日記でも異なる表現がなくなることで,読みやすい文章に近づくかもしれませんね.
わ。便利ですね!
スクロールは、
+ o.scrollTop = 0;
+ o.scrollLeft = 0;
o.setSelectionRange( ranges[index][0] , ranges[index][0] + ranges[index][1] );
とかでどうでしょう。
SafariとChromeでは,現状のコードで校正候補をダブルクリックすると,うまく動作してました.
コメントのコードで Firefox でもうまく動作するか確認してみます.