Markdownにはルビのための標準的なマークアップがありません。
HTML出力の場合は直接HTMLのタグを書くという手もありますが、HTMLのrubyタグは正直言って書きやすいものではありません。
新宿から電車で一本、<ruby>南小谷<rp>(</rp><rt>みなみおたり</rt><rp>)</rp></ruby>駅に降り立った。
中央本線、<ruby>篠ノ井<rp>(</rp><rt>しののい</rt><rp>)</rp></ruby>線、大糸線を経由して4時間あまり。ここは長野県<ruby>小谷<rp>(</rp><rt>おたり</rt><rp>)</rp></ruby>村である。
駅前を流れる川は日本海に注ぐ姫川で、下流では<ruby>翡翠<rp>(</rp><rt>ヒスイ</rt><rp>)</rp></ruby>が採れるという。
新宿から電車で一本、南小谷駅に降り立った。
中央本線、篠ノ井線、大糸線を経由して4時間あまり。ここは長野県小谷村である。
駅前を流れる川は日本海に注ぐ姫川で、下流では翡翠が採れるという。
Pandocを使う場合は、自分でPandoc filterを書けば、予め用意されていなくても好きなマークアップを使うことができます。実際、Pandocの公式サイトにはPandoc filterの例としてルビを処理するためのfilterが載っています。
新宿から電車で一本、[みなみおたり](-南小谷)駅に降り立った。
中央本線、[しののい](-篠ノ井)線、大糸線を経由して4時間あまり。ここは長野県[おたり](-小谷)村である。
駅前を流れる川は日本海に注ぐ姫川で、下流では[ヒスイ](-翡翠)が採れるという。
このfilterをそのまま使っても良いのですが、読み仮名が先に来るのは少し不自然です。
Markdownの特徴は「プレーンテキストとしてもそれなりに読める」ことなので、プレーンテキストでもそれっぽく読めるルビ記法を使いたいものです。
青空文庫風のルビ記法
青空文庫では二重山括弧《にじゅうやまかっこ》を使ってルビを表しています。
新宿から電車で一本、南小谷《みなみおたり》駅に降り立った。
中央本線、|篠ノ井《しののい》線、大糸線を経由して4時間あまり。ここは長野県|小谷《おたり》村である。
駅前を流れる川は日本海に注ぐ姫川で、下流では翡翠《ヒスイ》が採れるという。
この記法をMarkdownでも使えると良いのではないでしょうか。
というわけで、青空文庫風のルビ記法をHTML/LaTeX用に変換するPandoc filterを作りました。
$ pandoc --filter pandoc-aozora-ruby-filter -f markdown -t html foo.md
<p>新宿から電車で一本、<ruby>南小谷<rp>《</rp><rt>みなみおたり</rt><rp>》</rp></ruby>駅に降り立った。 中央本線、<ruby>篠ノ井<rp>《</rp><rt>しののい</rt><rp>》</rp></ruby>線、大糸線を経由して4時間あまり。ここは長野県<ruby>小谷<rp>《</rp><rt>おたり</rt><rp>》</rp></ruby>村である。 駅前を流れる川は日本海に注ぐ姫川で、下流では<ruby>翡翠<rp>《</rp><rt>ヒスイ</rt><rp>》</rp></ruby>が採れるという。</p>
$ pandoc --filter pandoc-aozora-ruby-filter -f markdown -t latex foo.md
新宿から電車で一本、\ruby{南小谷}{みなみおたり}駅に降り立った。
中央本線、\ruby{篠ノ井}{しののい}線、大糸線を経由して4時間あまり。ここは長野県\ruby{小谷}{おたり}村である。
駅前を流れる川は日本海に注ぐ姫川で、下流では\ruby{翡翠}{ヒスイ}が採れるという。
注意点として、ルビについての細かい指定(グループの指定など)には対応していません(青空文庫の形式に定められていないので)。細かい指定が必要な場合は、直接HTML/LaTeXを書くなり、独自のfilterを書くなりしてください。
また、ルビ対象やルビテキストにMarkdownのマークアップ(強調、上付き、下付きなど)を含めることはできません。(要望があれば対応するかもしれません)
その他の注意事項についてはGitHubを見てください。
現状、インストールにはHaskell環境が必要です。誰かPythonかLuaに移植してくれ〜
その他
既存のMarkdown方言におけるルビ記法としては、でんでんマークダウンの記法があるようです。
新宿から電車で一本、{南小谷|みなみおたり}駅に降り立った。
中央本線、{篠ノ井|しののい}線、大糸線を経由して4時間あまり。ここは長野県{小谷|おたり}村である。
駅前を流れる川は日本海に注ぐ姫川で、下流では{翡翠|ヒスイ}が採れるという。
Markdownに青空文庫風のルビ記法を実装するものとしては、Parsedown向けのエクステンションが存在するようです。
以下の記事に、各種小説投稿サイトのルビ記法がまとめられています。青空文庫風(二重山括弧)の記法を採用しているところが多いですが、細かい違いがあるようです。