背景
feedwright/element ブロックの contentMode を 「バインディング式(CDATA)」 (cdata-binding) に切り替えても、エディタ上の見た目は普通のバインディングモードと区別が付きにくい。Author が「これは CDATA で出る」ことを視覚的に確認できないため、混乱の元になる。
期待
ブロック本文の表示領域で、cdata-binding モードのときだけバインディング式を <![CDATA[ ... ]]> でラップして見せる。XML 出力時の実際の挙動と編集画面の見た目を一致させる。
想定 UI
┌─ Element ─────────────────────────────┐
│ <content:encoded> │
│ <![CDATA[ {{post.post_content}} ]]> │
│ </content:encoded> │
└────────────────────────────────────────┘
binding モード(CDATA なし)のときは現状どおり:
│ <content:encoded> │
│ {{post.post_content}} │
│ </content:encoded> │
実装方針
blocks/element/edit.js のブロック本文プレビュー描画箇所で、contentMode === 'cdata-binding' のときだけ式の前後に <![CDATA[ / ]]> を表示する文字列ラッパを追加
- スタイル的には既存の binding 表示と同じトーン(コードフォント、薄いグレー枠など)で、
<![CDATA[ / ]]> だけ少し色を変えて視認性を上げる程度
- 翻訳対象になる文字列は無し(コード表記のみ)
受け入れ基準
影響範囲
blocks/element/edit.js
- 必要なら
blocks/_shared/editor.css に少量のスタイル追加
背景
feedwright/elementブロックの contentMode を 「バインディング式(CDATA)」 (cdata-binding) に切り替えても、エディタ上の見た目は普通のバインディングモードと区別が付きにくい。Author が「これは CDATA で出る」ことを視覚的に確認できないため、混乱の元になる。期待
ブロック本文の表示領域で、cdata-binding モードのときだけバインディング式を
<![CDATA[ ... ]]>でラップして見せる。XML 出力時の実際の挙動と編集画面の見た目を一致させる。想定 UI
binding モード(CDATA なし)のときは現状どおり:
実装方針
blocks/element/edit.jsのブロック本文プレビュー描画箇所で、contentMode === 'cdata-binding'のときだけ式の前後に<![CDATA[/]]>を表示する文字列ラッパを追加<![CDATA[/]]>だけ少し色を変えて視認性を上げる程度受け入れ基準
<![CDATA[ ... ]]>が表示される影響範囲
blocks/element/edit.jsblocks/_shared/editor.cssに少量のスタイル追加