WebAborn ver19

[話者] WebAborn ver19で変更した以下2点について説明するぞ。

  • AタグのURLを置き換え対象に追加(タイプ1のみ)。
  • 単語単位置き換えのとき最適化を抑制。

AタグのURLを置き換え対象に追加


[合いの手] これはどういう意味?


[話者] 以下の画像みると、リンク文字列「都まんじゅう」とポップアップ「都まんじゅう」は、文字列置き換え つまり あぼ~ん にできてる。
しかし、リンク先のURL「 http://ja.wikipedia.org/wiki/都まんじゅう 」では「まんじゅう」を表示してしまっているだろ。

f:id:itouhiro:20131015092728p:plain



[合いの手] これも ver19なら あぼ~ん にできるってわけ?


[話者] できる‥‥のだが、条件がある。そのページのHTMLソースをみると 「a href="wiki/都まんじゅう">」じゃなくて、「a href="/wiki/%E9%83%BD%E3%81%BE%E3%82%93%E3%81%98%E3%82%85%E3%81%86"」
と書かれているだろ。

f:id:itouhiro:20131015092754p:plain



この「%E3%81%BE%E3%82%93%E3%81%98%E3%82%85%E3%81%86」をNGワードに書くことで、文字列置き換えできる。

f:id:itouhiro:20131015102359p:plain



[合いの手] え~‥‥いちいち書かなくてはならないのか?


[話者] 今のところはいちいち手動で追加する必要がある。自動で追加するとNGワード数が倍になって動作速度が遅くなるからな‥‥


説明しておくと、

%E9%83%BD %E3%81%BE %E3%82%93 %E3%81%98 %E3%82%85 %E3%81%86
    都        ま        ん        じ        ゅ        う

と対応している。UTF-8エンコードなので、日本語1文字は3バイトだ。%E9 というのが1バイト 0xE9 をURLエンコードした表現だ。


だから、「まんじゅう」にあたる「%E3%81%BE%E3%82%93%E3%81%98%E3%82%85%E3%81%86」を追加すればよい。


単語単位置き換えのとき最適化を抑制


[合いの手] 次の、これはどういう意味? 「単語単位置き換え」というのはver18で追加された機能だね。


[話者] たとえば、以下のようにNGワードを指定すると
f:id:itouhiro:20131015094541p:plain


今までのWebAbornでは

まんじゅうこわい」は落語の有名な演目。
ドイツ人「お寺のまんじ記号が気になる」

が以下のように表示されるんだ。
f:id:itouhiro:20131015094803p:plain


[合いの手] そうだね。「まんじゅうこわい」と「まんじ」の共通部分、「まんじ」だけがNGワードに登録されるんだっけ。これを最適化と呼んでるんだね。


[話者] でも、文字列「まんじゅうこわい」の一部が表示されてるのは納得いかない。NGワードに「まんじゅうこわい」と登録してるんだから全部消してほしい。


[合いの手] ver19ではどうなるの?


[話者] ver19では以下のようになるよ。
f:id:itouhiro:20131015095459p:plain


[合いの手] なるほど。


[話者] まったく同じNGワードはひとつにまとめるけど、違うNGワードはまとめなくなったんだ。これは「単語単位置き換え」のときだけ機能するぞ。
以前からある「ノード単位置き換え」は今までどおり、違うNGワードもまとめて動作速度アップする仕様だ。