Parsedownのルビ振り拡張機能をリスペクトして作った、ルビ振り機能を追加するleague/commonmark用Extension
すでにPHPとcomposerを使用できる環境にあることを前提とします。
- このリポジトリをクローンする
- なにがしかのシェルで
composer require jsw/commonmark-furigana-extension
と入力する- または、composer.jsonに以下の行を追加して
composer install
を実行
{ "require": { "jsw/commonmark-furigana-extension":"*" } }
- または、composer.jsonに以下の行を追加して
- ルビを振りたい単語の前に「|」、単語の後ろに「《(ルビ文字)》」を入れる
- 例:
シャッター破壊で|Go Ahead《前進だ》!!
->シャッター破壊で<ruby>Go Ahead<rt>前進だ</rt></ruby>!!
-> シャッター破壊でGo Ahead!!
- 例:
- ただし、文字種の違いでルビを振るべき単語を特定できる場合は「|」を省略できる
- 例: すなわち、第四極《だいよんきょく》とは力なり
->すなわち、<ruby>第四極<rt>だいよんきょく</rt></ruby>とは力なり
-> すなわち、第四極とは力なり
- 例: すなわち、第四極《だいよんきょく》とは力なり
- モノルビを表現する際には、そのつどルビを振る
- 例:
萌黄《もえぎ》白糸《しらいと》折鶴蘭《おりづるらん》
-><ruby>萌黄<rt>もえぎ</rt></ruby><ruby>白糸<rt>しらいと</rt></ruby><ruby>折鶴蘭<rt>おりづるらん</rt></ruby>
-> 萌黄白糸折鶴蘭
- 例:
// 以下、デフォルトでの設定
$config = [
'sapphire' => [
'use_sutegana' => false, // trueにすると、ルビ文字のうち特定の小文字が大文字になる(ゅ→ゆ、ぁ→あ...etc)
'use_rp_tag' => false, // trueにすると、<rp>タグがルビにつく(<rp>(</rp><rt>ルビ</rt><rp>)</rp>)
]
];
スニペット設定としてmarkdown.jsonを、スニペット用キーバインドとしてkeybindings.jsonを添付しました。機能は以下の通りです。
- Markdownファイルの編集中にスニペット「aozora_ruby」を実行すると、カーソルを挟むようにルビ記号(《》)が挿入される
- ルビ文字を入力後にtabキーを押下することで、ルビ記号の直後にカーソルが移動するようになる
- 文字を選択している状態でスニペット「aozora_ruby_separate」を実行すると、選択した文字を親文字と認識し、親文字の直前に区切り文字(|)を、直後にルビ記号(《》)が挿入される
- カーソルの振る舞いは「aozora_ruby」に準ずる
- keybindings.jsonの設定を有効にすると、Ctrl+rでスニペット「aozora_ruby」を実行するようになる
- 条件は以下の3つ:
- 編集画面を選択中
- 編集しているファイルをMarkdownとVS Codeが認識している
- ファイルは読み取り専用ではない
- 条件は以下の3つ:
- 文字を選択した状態でCtrl+rを入力すると、「aozora_ruby_separate」が実行される
- 条件は「aozora_ruby」に準ずる
Apache License, Version 2.0