Home > Markdown Authoring > Author's Guide | English
PREPROはMarkdownベースの執筆公開に付加価値を与えるプリプロセッサ群の総称です。
プリプロセッサ(前処理)は特殊なマーカーを含むMarkdownソース(あるいは他のWikiText)を読み込み、pandocのようなMarkdown変換ツールの力を借りて、HTML(またはPDF)を出力します。
たとえばSelectorプリプロセッサは指定の言語や指定のバージョンについて書かれたテキストを選択します。 Styleは指定されたスタイルシートクラス名を持つHTMLのDIV要素を挿入します。 必要なプリプロセッサをパイプでつないで実行します。
下記テーブルは現在利用可能なプリプロセッサの一覧です。 リンクをたどって個別のプリプロセッサの説明書をごらんください。 その前にこのページの残りを読んでプリプロセッサ全般に共通する事項についてご理解ください。
前処理 | ファイル | 内容 | リンク |
---|---|---|---|
ファイルのロード | Include.pm | ソースファイルにローカルファイルあるいはリモートコンテンツを読み込む | 詳細 |
文章選択 | Selector.pm | 同一ファイルに同時に複数言語あるいは複数バージョンの文章を記載 | 詳細 |
スタイル指定 | Style.pm | 指定のスタイルシートクラス名を持つDIV要素を追加 | 詳細 |
HERE DOCエミュレータ | HereDoc.pm | ソース中に環境変数の値を挿入 | |
SVGチャート生成 | Draw.pm | 簡単な命令で単純なSVG図をインライン埋め込み | 詳細 |
ライブデータの埋め込み | Embedder.pm | ダイナミック生成ページにデータベースデータを挿入 | 詳細 |
汎用パーザ | Parser.pm | プリプロセッサをパイプで連結 |
プリプロセッサは異なるふたつの動作のうちいずれかを取ります。 ブロック(あるいは文章の塊り)レベルのプリプロセッサはいっときに行単位(一行あるいは複数行)で作用します。 スパン(あるいはインライン)レベルのプリプロセッサは行内の語句に作用します。
Markdownソースの例をごらんください。
# Example
/ja/
現在日時: $(.datetime)
フォロワー数: $(followers)
/en/
The number of your followers is $(followers) as of $(.datetime).
/end/
/en/
や/ja/
や/end/
はブロックレベル(あるいは文章の塊りに対する)マーカーです。 指定言語で書かれた行だけを選択するSelectorによって処理されます。
$(followers)
や$(.datetime)
は表示マクロと呼ばれ(マクロにはほかにもタイプがある)、スパンレベル(あるいはインラインの)プリプロセッサ、この場合はEmbedderが処理します。
SelectorとEmbedderが上記例のソースを前処理したものは次のとおりです。
[日本語を選ぶと]
現在日時: Thu 08 Oct 2020 02:56:58 PM JST
フォロワー数: 11
[英語を選ぶと]
The number of your followers is 11 as of Thu 08 Oct 2020 02:56:58 PM JST.
[2020/10/08] 新ツール追加
[2020/08/31] マーカーを書ける場所の変更
/en/
や/ja/
などの言語選択マーカを行頭に書けるようにした/end/
と同義の/any/
を導入[2020/07/21] 第二版の設計変更
[2020/04/17] ツールを公開
提供: 横浜工文社 Kobu.Com
2020-apr-08 first edition
2020-apr-20 second edition
2020-aug-31 changes in marker placement rules
2020-oct-08 third edition