ほげ hoge $[ruby ほげ hoge] OK
ほげhoge $[ruby ほげhoge] NG
hogeほげ $[ruby hogeほげ] NG
:blobaww:hoge $[ruby :blobaww:hoge] NG
:blobaww:ほげ $[ruby :blobaww:ほげ] OK

@takke

4つめの「絵文字にすらならない」は
ルビ機能は関係なくて
(ミスキー公式クライアントはぞーぺんと違って)
後ろコロンの後に英数(※他にも対象文字あるかも)来た場合はそこはカスタム絵文字として分離しない(認識させない)仕組みのようですね、そもそも🐥

画像はゼロ幅スペースなしで文字直付け手打ちしたサンプル
 ◍両端に英数:✖
 ◍前に英数:○
 ◍後ろに英数:✖
 ◍両端に非英数:○
 ◍前に非英数:○
 ◍後ろに非英数:○

フォロー

@takke

逆に言うと非英数なら先に分離されてるようなので…

【5行目の】
fn/rubyのchildren[]…
 ◍emojiCodeタイプの「blobaww」
 ◍textタイプの「ほげ」
の2要素になるようです
childrenの最後の要素(at(-1))がテキストの場合にルビテキストとして使われるモード(=1要素じゃない時モード)
(「本体」はchildrenの後ろ一つを切り捨てたのをgenEl再帰呼出しへ任せる)

【1行目の】
fn/rubyのchildren[]…
 ◍textタイプの「ほげ hoge」
1要素になって、半角スペースで分割した[0]が「本体」、[1]が「ルビテキスト」として使われるモード

なのかな…

【4行目の】
見たところやっぱりparsedNodes上では
fn/rubyで
children[]…
 ◍textタイプの「ころんblobawwころんhoge」
1要素、になってますね
処理結果自体としては「本体」にこれ入って「ルビテキスト」は空文字列になってますね
(半角スペースでsplit結果配列の[1]アクセスはjs・tsの場合だとundefになるだけで落ちないはず)

@takke

(
fedibirdに後から添付してる方は
NG行でカスタム絵文字出てますが
ちょこちょこ見た目違うからぞーぺんの画面ですよね🐥
)

なるほどなるほど、実装から見ると挙動としては不思議ではないですね。仕様はともかく。
Fedibirdで上げたスクリーンショットはぞーぺんの試作版でした。

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。