WZ Writing Editor 2の作る青空文庫形式テキストをコピーした後、日本語プログラミング言語「なでしこ」で下記のスクリプトを走らせると、クリップボードの中身がルビつきHTMLに置き換わっているという手品的なもの。WordPressで実装した縦書き小説サイト「ノベル日和」で使うために作った。
しきりと文字コードをShift-JISに変換しているが、¥r¥nを¥nに置き換えているので(こうしないと行をまたいだ正規表現置き換えがうまくいかないようだ)、ちゃんとしたShift-JISとしてあげるおまじないである。日常的に復帰改行をいじっているので、ちゃんとしないとスクリプトが動作しない。

クリップボードを置き換える処理は手軽で良い。手軽すぎて別の文字列をコピーして置き換えた結果を失ってしまうこともありそうなので、置き換え結果はtext_to_wordpress.txtにも保存する仕様にした。

小説書かずに何やってんだと思われるかもしれないが、こういう面倒な作業を何回もやるとテンションが下がる。逆にこういったスクリプトがうまく動くとテンション上がるので、小説に対するやる気が湧いてくるのである――そういうことにしておいてほしい。

●変換するテキストはこういう形式であることを前提とする。

  • ルビは《》で囲んである
  • 見出しは先頭にドットが2つある文字列「..」(これもWZ Writing Editor 2の標準的な形式)
  • 公開できる範囲の最後に「===」が書いてある。「===」以降は書いてあっても公開しない
  • 文字コードは問わない(なでしこのプログラム側でShift-JISに強制的に変換するため)

text-to-wordpress.nako
————-

それ=クリップボード
それをSJIS変換。
それの「\.\.(.*)\r\n」を「\<\!\-\-nextpage\-\-\>\n\<h3\>\1\</h3\>\n」へ正規表現置換。
それの「|*([一-龠々]+)《([ぁ-んァ-ヶー]+)》」を「<ruby>$1<rt>$2</rt></ruby>」へ正規表現置換。
それの「<!–nextpage–>」から「===」まで範囲切り取る。
切り取った部分=それ
それを「text_to_wordpress.txt」へ保存。

//保存された全体をクリップボードに積む
「text_to_wordpress.txt」を開く。
それをSJIS変換。
クリップボード=それ

「クリップボードに変換したデータを積み込みました」と言う。
終了。

————-


Comments are closed.

Post Navigation