小説用テキスト原稿整形ツール(VSCode拡張機能)を作ってみた
はじめに
かつて『月刊群雛』という雑誌がございまして、セルパブ関係作家たちがこぞって投稿して盛り上げていたのですが、書き手に比べ編集側の労力が大きすぎてあえなく休刊。
その後、群雛の常連投稿者が集り、『銃と宇宙 GUNS&UNIVERSE』という雑誌が新たに生まれたのはご存じの通り。え? 知らない? やーん><
わたしも連載していますので、ぜひ読んでみてね☆
↑こちら最新巻の第12号。
という宣伝はひとまず置いといてw
これらのセルパブ誌はBCCKSというサービスを利用して本をつくっているのですが、
このBCCKSの書式って、微妙に他のWeb系投稿サイト(このnoteもそう)と書式が違うのです。一番こまるのはルビですね。Web系のサイトは「青空文庫形式」と呼ばれる書き方

でルビを記述できるのですが、BCCKSではちょっと特殊で、

こういう風に書きます。
これを相互に変換しようとすると、ちょっとした正規表現を駆使しなくてはならず、けっこう面倒なんですよね。
と、いうわけで、ツール化してみました。
さらに、それだけじゃ何なので、
群雛形式表記ルール
および
↑の表記ルールに従い、
一括実行機能一覧
行頭にスペース挿入
カッコ内末尾の句点削除
全角!!、!?を縦中横に
ルビ変換:青空→BCCKS
青空文庫形式の傍点をBCCKS形式の圏点に変換
アルファベット単独文字を全角に
アルファベット略称(3文字以下)を全角に
半角数値(2ケタ)を縦中横に
三点リーダ修正
感嘆符/疑問符の後にスペース
ダッシュ整形
これだけの機能を一気にやっちゃうます!,,Ծ‸Ծ,,v
(v0.1.73 現在)
これらは、テキストファイルの原稿をアップロードする前にいままで手作業でちまちま行っていた修正なんですが、それを手軽に利用できるよう自動化してみたわけです。
いちいち個別に実行してもいいですが、せっかくなのでガガっと1コマンドでやっつけるととっても嬉しいかんじです(∩´∀`)∩☆
↑などで青空文庫形式でテキスト原稿を書いていて、BCCKSへアップする直前にざざっとやっつけるイメージですね♪
インストール方法
まず、VSCodeをインストールして(入ってますよね?)、最新版にしておきます(たいてい勝手になります) VSCodeのバージョンは v1.106.1 以降推奨です。
続いて、VSCodeの「拡張機能(extension)メニューボタン」①を押し、

②の検索枠に「GUNS」と入力すると、「GUNS TOOL/らせんワークス」というツールが出てくると思います。
こやつの「install」をぽちっておしてくださいまし!
つくったばっかりでちゃんとパブリッシャー設定していないので、信用していいんかい? って警告がでますが

↑こんなん。[ Trust & Install ] を押してやってください。
別に悪い事してないはず。信用して!><
これで、インストールは完了です。
↑ここから直接インストールでもいける! かも!?(試してない)
使いかた
原稿のテキストファイルを開きます(UTF-8形式であること!)
コマンドパレット(Ctrl+Shift+P)を押し、コマンドパレット入力欄を表示

入力欄に「GTool」と入れる(GTだけでも)と、上記のような使用できるコマンドリストが出てくるので、個別に選んで実行してもいいですが、やっぱりここは

を選んでいただければと思います。
それで、いっぺんに原稿の修正ができるはず! です!
※開いているテキストファイルのエディタ内での修正のみが行われます。保存まではしていません。修正後、目視でちゃんと間違っていないか確認の上で保存するようにしてください。まだつくったばっかりでそんなにテストしていないので、無茶なことしてファイルが壊れてしまってもしりませんよー><
※ v0.1.4 以降、一括でやってくれる動作の順番や実行可否を`settings.json`で指定できるようになりました。詳しくはREADME参照ね☆
その後のコマンドリスト
ちょこちょこと機能を増やして、
v0.1.73 現在使用できるコマンドのリストはこちら↓
一括実行コマンド
GTool:全修正を一括で行う
ファイル内全体修正コマンド
GTool:行頭にスペース挿入
GTool:全角!!、!?等を半角横指定に変換
GTool:全角数字を漢数字に
GTool:ルビ変換:青空→BCCKS
GTool:ルビ変換2:BCCKS→青空
GTool:青空文庫形式傍点をBCCKS形式圏点へ変換
GTool:BCCKS形式圏点を青空文庫形式傍点へ変換
GTool:アルファベット単独文字を全角に
GTool:アルファベット略称(3文字以下)を全角に
GTool:半角数値(2ケタ)を縦中横に
GTool:三点リーダ修正
GTool:感嘆符/疑問符の後にスペース
GTool:ダッシュ整形
選択範囲内修正コマンド
GTool:選択範囲にBCCKSルビを設定
GTool:選択範囲に圏点ルビ(1文字毎)を設定
GTool:選択範囲内アルファベット小文字を大文字化
GTool:選択範囲内の半角英数字を全角に
情報表示コマンド
GTool:文書ステイタス表示
表示支援コマンド
GTool:行毎交互背景色セット/リセット
動作の詳細はやっぱりREADME参照のこと!☆
ソースコードなど
↑MITライセンスで公開しています。ソースまで眺めてみたい方はこちらをどうぞー☆
作り方というかどうやってつくったのかの裏側の事情は
こちらで赤裸々に明かしておりますのでご興味ありましたらどーぞー☆彡
いいなと思ったら応援しよう!
よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,