whojinn/sapphire

此包已被 废弃 并不再维护。作者建议使用 jsw/commonmark-furigana-extension 包。

league/commonmark 为日语假名提供的扩展。

2.2.0 2022-02-06 15:06 UTC

This package is auto-updated.

Last update: 2023-03-02 14:35:56 UTC


README

PHP Composer Packagist Version Packagist Downloads Packagist PHP Version Support GitHub

注意

由于ID变更,我决定重新创建此仓库。此仓库将不再更新。请使用 此仓库 代替。

ID变更后,我决定重新创建此仓库。以后,此仓库将不再更新。请使用 此仓库

Sapphire

Parsedown的RubyText扩展 的尊重之作,league/commonmark 用以添加Ruby注音功能的Extension。

使用方法

前提是您已经有了可以运行PHP和 composer 的环境。

安装

  1. 克隆此仓库
  2. 在任何shell中输入 composer require whojinn/sapphire
    1. 或者,在composer.json中添加以下行并执行 composer install
    {
        "require": {
            "whojinn/sapphire":"*"
        }
    }
    

Ruby注音的规则

  1. 要在单词前加注音,请在单词后加上“|”和“《(注音文字)》”
    • 例如:シャッター破壊で|Go Ahead《前進だ》!!
      -> シャッター破壊で<ruby>Go Ahead<rt>前進だ</rt></ruby>!!
      -> シャッター破壊でGo Ahead前進だ!!
  2. 但如果可以凭借文字种类来识别应该加注音的单词,则可以省略“|”
    • 例如:すなわち、第四極《だいよんきょく》とは力なり
      -> すなわち、<ruby>第四極<rt>だいよんきょく</rt></ruby>とは力なり
      -> すなわち、第四極だいよんきょくとは力なり
  3. 当单词的Ruby分割数与单词的字符数一致时,可以用半角空格分隔单词来为每个单词添加Ruby注音
    • 例如:悪七兵衛景清《あく しち びょう え かげ きよ》
      -> <ruby>悪<rt>あく</rt>七<rt>しち</rt>兵<rt>びょう</rt>衛<rt>え</rt>景<rt>かげ</rt>清<rt>きよ</rt></ruby>
      -> 悪あく七しち兵びょう衛え景かげ清きよ
  4. 不符合上述情况时,请按单词添加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>)
    ]
];

VS Code用代码片段

已附带markdown.json作为代码片段设置,keybindings.json作为代码片段用快捷键设置。功能如下:

  • 在Markdown文件编辑中执行代码片段“aozora_ruby”时,将插入括号(《》)以包围光标
    • 输入Ruby文字后按Tab键,光标将移动到括号(《》)之后
  • 在选中文字的状态下执行代码片段“aozora_ruby_separate”时,将选中文字识别为基字,在基字前插入分隔符(|),在基字后插入括号(《》)
    • 光标的行为与“aozora_ruby”相同
  • 启用keybindings.json的设置后,可以通过Ctrl+r执行代码片段“aozora_ruby”
    • 条件如下:
      • 选中编辑界面
      • VS Code识别编辑的文件为Markdown
      • 文件不是只读的
  • 在选中文字的状态下输入Ctrl+r时,将执行“aozora_ruby_separate”
    • 条件与“aozora_ruby”相同

许可证

Apache License, Version 2.0