テキストに<ruby>タグを付加するwebサービス「振り仮名奉行」をつくりました

タイトルのとおりです。

振り仮名奉行 - Furigana Bugyō

説明

振り仮名(ふりがな)奉行(ぶぎょう)は、漢字(かんじ)仮名(かな)交じり(まじり)日本語(にほんご)テキストに、HTML5の<ruby>タグを用い(もちい)振り仮名(ふりがな)をつけるためのサービスです。

こんな感じのHTMLを生成します。HTML5をサポートするブラウザ(Safari/Chrome/Firefox*1)が前提条件です。)

<ruby>日本語<rp>(</rp><rt>にほんご</rt><rp>)</rp></ruby>の<ruby>文章<rp>(</rp><rt>ぶんしょう</rt><rp>)</rp></ruby>です。

f:id:atuyosi:20151002022749j:plain:w400

適当に日本語を入力して「Submit」 を押すと以下のようにないます。

f:id:atuyosi:20151002022757j:plain:w400

<ruby>タグ入力時の、<rt>タグおよび<rp>タグを入力する煩わしさを解決できます。 また、<ruby>タグ非対応ブラウザ向けにおいて表示されるかっこの種類を選択できるようになっています。 漢字を含むキーワードにまるごと読みを付加します。文字単位でルビを振りたい場合は入力テキストを空白で区切るか、HTMLタグを修正してください。<rb>タグについてはサポート外です*2

現状、「読み」の第一候補のみを表示します。

要素技術

概ね以下の組み合わせでできております。早い話がmecabの出力にタグに埋め込んでいるだけです。

  • Ruby on Rails 4.2.4(haml/coffeescript)
  • Ruby 2.2.3
  • twitter-bootstrap3
  • Natto(MeCab)
  • ipadic-neologd
  • nginx + unicorn

冗長というか牛刀というか…。 DBは使用していません。入力にrubyタグにより振り仮名(読み仮名)を付加するだけです。

もう少し読み仮名の辞書を微調整する必要があるのと、UIは改善の余地アリですね。

Railsである必要性ゼロですが、リハビリとしては十分かと思われます。

ではまた。

*1:ただしFirefoxはバージョン38以降

*2:一部ブラウザにバグがあるという話があったので事なかれ主義で。