発音ストリップ は何をしますか?
チャット返信に小さな一行の単語ボタンストリップを追加します。各クリックでブラウザの音声合成機能が単語を発音するため、何も開かず、ダウンロードもなく、会話から離れる必要もありません。ストリップをインラインの語彙注釈と組み合わせて使用します。
ワークフロー
-
教える価値のある単語を2~4個選びます:学習者のレベルを超えているもの、混同しやすいもの、または返信の中心となる単語を選びます。既に説明済みの単語を再度注釈するのは避けてください。
-
各単語を通常の文の中で注釈し、別のリストとしては決して使用しません。ユーザーの言語で、色付き太字のKaTeX、米国IPA、品詞、短い語釈を使用します。小さなアクセシブルパレット(
#2563eb、#7c3aed、#059669、#b45309、#db2777、#0e7490)から単語ごとにランダムな色を選び、各単語は一貫した単一色に保ち、同じ返信内で色を繰り返さないようにします。このクライアントは$$...$$のみをレンダリングするため、次のように記述します:保持紧凑($$\textcolor{#7c3aed}{\textbf{compact}}$$ /kəmˈpækt/、adj. 紧凑的) -
ストリップを生成します:
python scripts/make_compact_strip.py --out <絶対パス>.html word1 word2 ...ファイルを永続的かつクライアントが読み取りやすい状態に保ちます。スレッドのビジュアライゼーションディレクトリにASCIIファイル名(例:
~/.codex/visualizations/<日付>/<スレッドID>/pron-<スラグ>.html)を推奨します。 -
スクリプトがパスとビジュアライゼーション参照を出力します。その参照をそのまま、最終返信の最後に独立した行として配置します。
レンダリングルール
参照はプライベートユース文字で囲まれています:開きU+E200、区切りU+E202、閉じU+E201。スクリプト出力からコピーします。再入力する場合は、正確にこれらのコードポイントを使用してください。閉じ文字がU+E041など間違っていると、参照全体が自動的にプレーンテキストに変わり、ストリップは表示されません。
制約
- HTMLフラグメントのみを出力します。
<!doctype>、<html>、<head>、<body>は追加しないでください。CSSとJavaScriptは生成されたルートIDにスコープしてください。 - ストリップは2~4個のボタンで、一行に収め、スペースが狭いときだけ折り返します。
- 外部の辞書やTTSページにリンクせず、大きなオーディオプレーヤーを埋め込まないでください。ボタンはその場で再生する必要があります。
- ハードコードされたパレットではなく、ホストのテーマ変数(
--foreground、--border、--primary、--accent、--ring、--primary-foreground)を使用します。 - クライアントがインラインビジュアライゼーションをまったくレンダリングできない場合は、文内にコンパクトなスピーカーリンクにフォールバックします:
[🔊](https://dict.youdao.com/dictvoice?audio=<単語>&type=2)。
ファイル
scripts/make_compact_strip.py— 2~4個の単語を検証し、フラグメントを書き込み、ビジュアライゼーション参照を出力します。assets/strip-template.html—__ROOT_ID__および__WORDS_JSON__プレースホルダーを含むフラグメントテンプレート。
必要なのはPython 3.8以降で、サードパーティパッケージは不要です。