PHPackages                             jsw/commonmark-furigana-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. jsw/commonmark-furigana-extension

ActiveCommonmark-extension[Parsing &amp; Serialization](/categories/parsing)

jsw/commonmark-furigana-extension
=================================

League/commonmark extension for japanese furigana.

1.0.2(2y ago)013Apache-2.0PHP

Since Mar 2Pushed 2y ago1 watchersCompare

[ Source](https://github.com/JanStanleyWatt/commonmark-furigana-extension)[ Packagist](https://packagist.org/packages/jsw/commonmark-furigana-extension)[ RSS](/packages/jsw-commonmark-furigana-extension/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (4)Used By (0)

CommonMark Furigana Extension
=============================

[](#commonmark-furigana-extension)

[Parsedownのルビ振り拡張機能](https://github.com/noisan/parsedown-rubytext)をリスペクトして作った、ルビ振り機能を追加するleague/commonmark用Extension

使い方
---

[](#使い方)

すでに[PHP](https://www.php.net/)と[composer](https://getcomposer.org/)を使用できる環境にあることを前提とします。

### インストール

[](#インストール)

1. このリポジトリをクローンする
2. なにがしかのシェルで`composer require jsw/commonmark-furigana-extension`と入力する
    1. または、composer.jsonに以下の行を追加して`composer install`を実行

    ```
    {
        "require": {
            "jsw/commonmark-furigana-extension":"*"
        }
    }

    ```

### ルビの振り方のルール

[](#ルビの振り方のルール)

1. ルビを振りたい単語の前に「｜」、単語の後ろに「《（ルビ文字）》」を入れる
    - 例:`シャッター破壊で｜Go Ahead《前進だ》！！`
        -&gt; `シャッター破壊でGo Ahead前進だ！！`
        -&gt; シャッター破壊でGo Ahead前進だ！！
2. ただし、文字種の違いでルビを振るべき単語を特定できる場合は「｜」を省略できる
    - 例: すなわち、第四極《だいよんきょく》とは力なり
        -&gt; `すなわち、第四極だいよんきょくとは力なり`
        -&gt; すなわち、第四極だいよんきょくとは力なり
3. モノルビを表現する際には、そのつどルビを振る
    - 例:`萌黄《もえぎ》白糸《しらいと》折鶴蘭《おりづるらん》`
        -&gt; `萌黄もえぎ白糸しらいと折鶴蘭おりづるらん`
        -&gt; 萌黄もえぎ白糸しらいと折鶴蘭おりづるらん

### 設定

[](#設定)

```
// 以下、デフォルトでの設定
$config = [
    'sapphire' => [
        'use_sutegana' => false,    // trueにすると、ルビ文字のうち特定の小文字が大文字になる(ゅ→ゆ、ぁ→あ...etc)
        'use_rp_tag' => false,      // trueにすると、タグがルビにつく(（ルビ）)
    ]
];
```

### VS Code用スニペット

[](#vs-code用スニペット)

スニペット設定としてmarkdown.jsonを、スニペット用キーバインドとしてkeybindings.jsonを添付しました。機能は以下の通りです。

- Markdownファイルの編集中にスニペット「aozora\_ruby」を実行すると、カーソルを挟むようにルビ記号（《》）が挿入される
    - ルビ文字を入力後にtabキーを押下することで、ルビ記号の直後にカーソルが移動するようになる
- 文字を選択している状態でスニペット「aozora\_ruby\_separate」を実行すると、選択した文字を親文字と認識し、親文字の直前に区切り文字（｜）を、直後にルビ記号（《》）が挿入される
    - カーソルの振る舞いは「aozora\_ruby」に準ずる
- keybindings.jsonの設定を有効にすると、Ctrl+rでスニペット「aozora\_ruby」を実行するようになる
    - 条件は以下の3つ:
        - 編集画面を選択中
        - 編集しているファイルをMarkdownとVS Codeが認識している
        - ファイルは読み取り専用**ではない**
- 文字を選択した状態でCtrl+rを入力すると、「aozora\_ruby\_separate」が実行される
    - 条件は「aozora\_ruby」に準ずる

ライセンス
-----

[](#ライセンス)

Apache License, Version 2.0

- [英語原文](https://www.apache.org/licenses/LICENSE-2.0)
- [日本語参考訳](https://licenses.opensource.jp/Apache-2.0/Apache-2.0.html)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~193 days

Total

3

Last Release

781d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2ebbd8053b9e8fb20fc1f789289116bea820bfec6b771acb181f02115987b9fa?d=identicon)[JanStanleyWatt](/maintainers/JanStanleyWatt)

---

Top Contributors

[![JanStanleyWatt](https://avatars.githubusercontent.com/u/12198769?v=4)](https://github.com/JanStanleyWatt "JanStanleyWatt (5 commits)")

---

Tags

markdownmdcommonmarkextension

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/jsw-commonmark-furigana-extension/health.svg)

```
[![Health](https://phpackages.com/badges/jsw-commonmark-furigana-extension/health.svg)](https://phpackages.com/packages/jsw-commonmark-furigana-extension)
```

###  Alternatives

[league/commonmark

Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)

2.9k404.0M702](/packages/league-commonmark)[zoon/commonmark-ext-youtube-iframe

Extension for league/commonmark to replace youtube link with iframe

12275.9k1](/packages/zoon-commonmark-ext-youtube-iframe)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
