一覧処理の書き直し

これまでのページ一覧の書き出し処理は、中途半端だったのでFileUtilityクラス内に書き直しました。あと、ページの読みを解析するコードが、これまではWikiの:config/PageReading/dictに含まれていましたが、これだとWikiデーターを読み取ってから1文字づつ走査するため効率が悪いと考え、Text/Hiraganaクラスに書き直しました。結局50音順に走査しているため、効率がいいコードではありませんが、前よりも軽くなっているはずです。

これに伴い、ソートのロジックを変更しました。これまでのコードでは、Track1~Track13まで連番でページ名が存在し場合、

  • Track1
  • Track10
  • Track11
  • Track12
  • Track2

のような感じになってしまっていましたが、これからのバージョンは、

  • Track1
  • Track2
  • ・・・
  • Track9
  • Track10
  • Track11
  • Track12
  • Track13

のようにちゃんと連番通りに処理されます。キャッシュ機能も強化したので、ページ一覧の動作は前よりも軽くなっているはずです。

これは、下位階層のページに対しても有効になるようにしてあります。例えば以下の様なページの場合

  • ページ
  • ページ/リナ
  • ページ/魎呼
  • ページ/オーフェン
  • ページ/素子

以下のようにソートされます。

  • ページ
  • ページ/オーフェン
  • ページ/素子
  • ページ/魎呼
  • ページ/リナ

読み仮名エンジンは、あくまでも漢字の音読みの最初のカナのみを取得するため、ここの例では、素子は「もとこ」ではなく、「そし」になり、魎呼は「りょうこ」ではなく、「りこ」として認識します。

KakasiやChasen、MeCabなどを使えばもう少し精度を上げられますが、現在のところ未実装です。