remarkable-furigana
v1.1.0
Published
A furigana extension for remarkable
Downloads
9
Maintainers
Readme
remarkable-furigana
This plugin for remarkable allows you to add furigana characters to your markdown documents.
For example, writing something like this in your document: ご{機嫌}(きげん)よ
will end up looking like "ご機嫌きげんよ".
What you should see, what your browser renders, is Chinese characters with smaller hiragana characters floating over them. What remarkable-furigana does under the hood is transform that easy bit of syntax into standard html <ruby>
tags. The unrendered html output of the above looks like ご<ruby>機嫌<rt>きげん</rt></ruby>よ.
multiple syntaxes
This package supports two ways of writing markup in two different encoding styles.
single character syntax
You can enable a short single character syntax that's just 字(じ)
.
The character before the parenthesis must be a Kanji character.
To enable single syntax pass {'single': true}
when you call .use
.
curly bracket syntax
Curly bracket syntax is enabled by default and it works by enclosing the kanji in curly brackets and the ruby in parenthesis. Like so {漢字}(かんじ).
You may also disable the curly bracket syntax by passing in 'bracket': false
with your options to md.use
infer kanji syntax
In this mode the parser will detect which characters are kanji and apply the preceding ruby to them. E.g. これは最高(さいこう)!
will only apply the ruby to 最高
.
To enable this syntax pass {'infer_kanji': true}
when you call .use
.
See remarkable for more documentation on initializing remarkable.
A note on "fat" vs. "skinny" brackets
If you're familiar with typing Japanese with an IME (Input Method Editor) then you've probably encountered "fat and "skinny" style of brackets. All you need to know about them here is that either will work. The 'fat' brackets you type with your IME will work{本}(ほん) => 本ほん The 'skinny' ascii brackets work as well {本}(hon) => 本hon
It is important though that you consistently use the same kind of bracket. If you use a 'fat bracket' and close it with a 'skinny one' like so "( ) " the plugin will not work and you'll have a bad time.