やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

JSでルビ変換(カクヨム、なろう、でんでんマークダウン)

 HTMLに変換する。

成果物

img-DEMO

変換

  • |漢字《かんじ》
  • |漢字《かんじ》
  • 漢字《かんじ》
  • 漢字(かんじ)
  • {漢字|かんじ}
<ruby>漢字<rt>かんじ</rt></ruby>
  • {漢字|かん|じ}
<ruby><rt>かん</rt><rt></rt></ruby>

青空文庫

 以下のような書式でルビを振る。

|漢字《かんじ》

 この書式は青空文庫が元祖と思われる。小説投稿サイトでこれと同じものが使われていることが多い。小説投稿サイトの考察(なろう、アルファポリス、エブリスタ、カクヨム)によると以下4サイトで使われている。

カクヨムが最有力  小説投稿サイトはたくさんある。どれを利用すべきか?

 カクヨムが最有力。最も書きやすく読みやすそうなサイトだった。

 次点、なろう。洗練されてないがムダが少ないようにみえた。老舗っぽいし。ただ、小説が検閲にひっかかって削除されていたようだ。カクヨムに移行する作品や作者が大量にいるようだったのが気になった。

 他のサイトは遅かったりゴチャついてる印象。歴史があっても見た目がイケてなかったり。

 上記4サイト以外については歴史が浅くてすぐ消える恐れがあると判断した。優先度は低い。

 なお、2021/01/18時点の評価である。現在は変わっているかもしれない。

でんでんマークダウン

{漢字|かんじ}
{漢字|かん|じ}

 電子書籍EPUB用の軽量マークアップ言語。

課題

なろう用パーサ

 なろうの仕様に一部沿っていない。ルビ用文字はひらがなかカタカナであるべき仕様である。ところが今回作ったパーサは文字種を問わず変換できてしまう。たとえばフリガナに漢字が使えてしまう。

 実装できなかった。最初はUnicodeパターンでひらがなとカタカナに制限するよう実装していた。だが正規表現の文字数が多すぎるとエラーが出てしまったため断念した。

所感

パーサを書いて満足

 JavaScript製。小説投稿サイト用テキストをHTMLに変換する。

小説でなくコードを書いてしまう

 いずれ小説を書いてみたい。文章の書き方から勉強しないと。調べたら創作文をかく前に、実用文をかけるようになるべきだと思った。このブログでもまともな日本語を書けていないので学習せねば。でも、そんなことを言っていたらいつまでも進まない。

 小説投稿サイトは未登録。サクッと書いて投稿してみたいのだが、リスクを考えると躊躇してしまう。未だにアカウントも取ってない。それ小説を書くのに何ら関係ない作業じゃん。そういうのをやらされたあげく、データ削除されたりしたらって思うと躊躇する。おまけに自分の好きなサイト構成にできないし。勝手に仕様やインタフェース変更されるの大嫌いなんだよなぁ。ムダな学習コストかかるから。

 GitHub Pagesでやったほうがよくないか? gitコマンド使って作業を自動化できるし。リビジョン管理できるし。自分好みのサイトを作れるし。どれをとっても最高だろ。ただ、自力で実装せねばならないのが辛すぎる。HTML, CSS, JS, API仕様, ライブラリやフレームワーク。さらにはハイブリットアプリをつくるElectronなど。果てしなく学ばねばならない。

 コードを書くことになる。自分のやりたいようにできるのが最強。やっぱサイトごとのルールに縛られるのは嫌。おいしい所だけ頂きたい。そのためにはアイデアをパクッてコードを実装する。それが今回の中間テキスト形式だった。ほかにも縦書きとか色々ある。そんなこんなで小説がいつまでたっても書けそうにない。コードばかり書いてしまう。

対象環境

$ uname -a
Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux