戯曲を記述するために記法を拡張したMarkdownをmdBookで利用するためのプリプロセッサです。
現在はcargoでのインストールのみが可能です。
cargo install mdbook-playscript
mdbook init
を実行した後にbook.toml
に以下の記述を追加してください。
その後、mdbook build
を実行すると拡張した記法を解釈した上でスタイル付けがなされたHTMLが出力されます。
日本語で書かれた戯曲用のスタイルシートを別に用意してあります。
日本語で戯曲を書く場合は、キーbook.language
の値をja
にしてください。
mdbook-playscript
はbook.language
の値を元にコピーするCSSファイルを決定します。
book.language = "ja"
のときは、mdbook init
を実行したディレクトリにmdplayscript_ja.css
をコピーします。
また、output.html.additional-css
の値をmdplayscript_ja.css
にする必要があります。
プリプロセッサがコンフィグを書き換えることはできないので手動で設定しなければなりません。
book.toml
にpreprocessor.playscript.japanese-ruby.enable: true
を設定することで日本語のテキストにルビを振ることができます。ルビの記法はjapanese-ruby-filter
のREADMEを参照してください。
言語を日本語に設定している場合は、文字数カウント機能を有効化することができます。
文字数カウント機能を有効にするときは、book.toml
にpreprocessor.playscript.counting.enable: true
を設定してください。
また、output.html.additional-js
の値をplayscript-count.js
にする必要があります。
文字数カウント機能を利用しないファイルを設定することができます。preprocessor.playscript.counting.ignore
にsrc/
から見た相対パスで記述したファイル名のリストを記述してください。
[book]
authors = ["(著者の名前)"]
language = "ja"
multilingual = false
src = "src"
title = "(作品のタイトル)"
[preprocessor.playscript]
command = "mdbook-playscript"
japanese-ruby.enable = true
counting.enable = true
counting.ignore = ["cover.md"]
[output.html]
additional-css = ["mdplayscript_ja.css"]
additional-js = ["playscript-count.js"]
戯曲の台詞を書くために拡張した記法が導入されています。
記号>
を使って登場人物とその台詞を記述することができます。
人物名> 台詞
ただし、>
が行頭にある場合はMarkdownのブロッククオートとして解釈されます。
また、半角の括弧()
を使うことでト書きを記述することができます。
人物名> 台詞(ト書き)
台詞には改行を含むことができます。ただし、空行は台詞の終わりと解釈されます。
人物名> 台詞1
台詞2
この行は台詞とはみなされない。
記号>
を含まない段落でも次のHTMLコメントを記述することで台詞としてフォーマットさせることができます。
monologueという文字列が含まれますが、日本語戯曲では独白のみの場面であっても登場人物名を見出しに立てるようなので、この記法はト書きを独立させたいとき以外には使わないでしょう。
<!-- playscript-monologue-begin -->
(ト書き)
<!-- playscript-monologue-end -->
<!-- playscript-off -->
でmdplayscript
による変換をしないように指示できます。
<!-- playscript-on -->
でmdplayscript
による変換を行うように指示できます。
<!-- playscript-make-title -->
でタイトルと著者を出力できます。
<!-- playscript-title -->
でbook.toml
に記述したタイトルを出力できます。
<!-- playscript-authors -->
でbook.toml
に記述した著者を出力できます。
岡本かの子「取返し物語」をmdbook-playscript
を使って整形した戯曲の例として公開しています。
ソースコードはexamples/torikaeshiにあります。
なお、この戯曲は青空文庫より複製・整形したものです。