TRPGシナリオに同梱するテキストファイルを綺麗に整えるコンバーターを作った
TRPGシナリオに同梱するテキストファイルを綺麗に整えるコンバーターを作った
type
status
date
slug
summary
tags
category
icon
password
頒布
システム
シナリオタイプ
プレイ人数
時間
推奨技能
タグ
シリーズ
この記事は非公式卓すきアドカレ2024 ③ Advent Calendar 2024 - Adventar13日目です。 前日の方の記事は「シナリオの裏話」のようなので気になる方は是非そちらも。
 
どうも、竜原です。 Markdownでシナリオ本文を書けばPDFも何もかも楽になれるよと布教してまわるMarkdownシナリオ宣教師です。 前回は「VSCODE+MarkdownでキレイなPDFとHTMLを出力して、TRPGシナリオリリース当日まで寝て過ごす。」でした。これで7日目世界は楽という光に満たされました。 とはいえ、まだまだ世界に暗黒は満ちています。その暗黒を物理的に払うためにまいりました。
 
 

PDFができ、世界に光が満ちた

でもね、これでMarkdownからPDFを右クリいっぱつで出力できるようになりました。いや~これでもうシナリオリリースできますね!いやめでたいめでたい。あとは素材を入れてZipに圧縮してBOOTHで概要を丁寧に書いt
 
テキストファイルは……?
 
うーん……………………………………。
 

多様化するセッション方法についていく

昨今のオンラインTRPGセッションでは「ボイスセッション」「テキストセッション」などの多彩なセッション方法があります。 PDFはボイスセッションで使いやすいかとおもいますが、テキストセッションにおいては「コピーができない」「文字化けする」「改行がゴミ」などのトラブルに見舞われやすい。
 
私が書きはじめの頃はテキストセッションは少なかったのでPDF配布だけで良かったのですが、最近は「改変するのにメモが必要。テキストファイルがいるなあ」という声もあり、プレーンな状態のシナリオ本文も必要になってきたようです。私もようやく最近対応しはじめた項目です。(そのうち古いシナリオにもテキストファイルをつけていきたい……)
 
兎にも角にも「テキストファイル(txt拡張子)」は必要
 
Markdownそのままでええんちゃう?と思われますが、Markdownとテキストファイルは全然違うというか……まあ、見づらいので……。やはり変換が必要です。
 

プレーンテキスト巡礼の旅

PandocがあればPandocをハブにして……と思ったんですが、キレイに整えようと思うと意外と難関でした。世はPandocを使ってまでMarkdown→Plainにするのは「オーバースペックちゃう?それよりLatexやWordにしようぜ」みたいな感じなので(単純にLatexを使う層がPandocを使っていた)、情報が少なかったです。
 
一応四苦八苦の末にMarkdown→PlainTxtのLuaフィルターは作ったんですがそんなんしなくてもいいな、と最近気づきました。
 
「普通に#を消したらプレーンテキストだ」
 
Luaフィルターに苦しんでいた過去の私が死にました。あのときこのひらめきがあればLuaフィルターに沼ることもなかったんじゃないでしょうか。でも副産物がたくさんできたのでヨシとします。
というわけで、「MarkdownからMarkdown特有の書式を削除してプレーンテキストにする」ことにします。 なんだよ、Pandocいらないじゃん♡♡
 

Markdown to PlainText Converter

 
 
面倒なバックエンドとかは全然抜きに普通にHTMLだけで実装しました。 以下にあるようなMarkdownをいれて変換してみてください。
 

出力結果

notion image
こんな感じにキレイに整形されます。引用文が2行目以降「>」がついていないのは個人的に引用ブロックを技能判定用に使っているからです。
 
 

他のサンプル

これを変換すると……
いい感じですねえ見やすくなりました! プレーンテキストも装飾するとある程度見やすくなるんだなあ……。
 

世界に光はまた満ちた……

というわけで、Markdownからテキストファイルも作れるようになりました。 これで安心してZip圧縮してBOOTHにアップロードしてあとは概要書いてリリースするだけです。
やー、Markdown一つでPDFもテキストファイルもそのまま出力されるのは便利。Markdownで書かない理由がやはりない。どこにもない。Markdownが一番楽かもしれない……。
 
ただし、これはPDFやテキストファイルをある程度装飾したいタイプの人類の最適解なので、普通に「お手軽さがほしいよ」という場合は、Googleドキュメントが一番楽だと思います。うむ。プレーンテキストも出してくれるし。
 

じゃあ次の問題は?

Markdownでシナリオを書けば、ある程度キレイなPDF、プレーンテキストが出力できるようになりました。 もうこれで何も問題はなくなりました。
 
が、残っている。 シナリオ本文ももっと楽がしたいという欲が
 
強欲が大罪に指定されている理由が少し分かってきました。もう際限がない。ここまできたらとことんいきたい。 シナリオを書くハードルを下げたい。この熱量をすぐにシナリオにしたい。余計な変換作業をなしに、本文作業と修正作業に集中したい。寝ていたい。ガチャも待っている。
 
ああ、楽がしたい……!!!!(技術的に)
 

次回はついに禁域へ

悲しきモンスターになったところで、次回はついに禁域に踏み入れようと思います。 その禁域の名前は「フローチャートを作るだけでシナリオが完成する」です。 例えば、以下のようなことができるように環境を構築します。
 
notion image
 
おわかりいただけただろうか……。
左のフローチャートが右ではMarkdownファイルに変換されています。
つまり、今までの記事「VSCODE+MarkdownでキレイなPDFとHTMLを出力して、TRPGシナリオリリース当日まで寝て過ごす。」とこの記事をあわせ技をすると、
 
「フローチャートを書いて作ったシナリオMarkdownファイルを、VSCODEで右クリでPDFを出力し、コンバーターサイトでキレイなプレーンテキストにもする」
 
という一連の流れが出来上がるというわけです。 これが、世界の選択……目指すべき楽園です。
 
次回をお楽しみに。
 

書いた人

notion image
 

竜原

個人サークル『-273℃』 合同サークル『喫茶食堂』所属 現在CoC6版&7版)を中心に同人シナリオを作りながらのんびりしています。映画とポップコーンが大好き 企画やお仕事のご依頼もお気軽にご相談ください