現状
エディタ左の List View (ブロックアウトライン) で、<channel> 配下に並ぶ Element ブロックがすべて 「Element」 という同じ表示になり、どれが <title> でどれが <link> か、ブロックを選択するまで判別できない。

※ サイドバーで TAG NAME に title を入れている状態でも、List View 上は「Element」のまま
要望
feedwright/element ブロックの List View ラベルを、設定された tagName 属性を使って動的に表示する。
例:
tagName="title" → List View に <title> (または title)
tagName="media:thumbnail" → <media:thumbnail>
tagName="" (未設定)→ フォールバックで Element
同様に、入れ子で名前を持つ他のブロックも対象にする:
feedwright/channel → <channel>(固定)
feedwright/item → <item>(固定)
…はそもそもタグ名が固定なので block.json の title で十分。動的なのは feedwright/element のみが対象。
実装方針
registerBlockType( 'feedwright/element', { ... } ) に __experimentalLabel コールバックを足す:
__experimentalLabel: ( attributes, { context } ) => {
if ( context === 'list-view' && attributes.tagName ) {
return `<${ attributes.tagName }>`;
}
return undefined; // fall back to block.json title
},
context === 'list-view' のときだけ上書きし、Inserter や他の場所はデフォルトの "Element" を維持する。
対象ファイル
blocks/element/index.js — __experimentalLabel を追加
確認手順
現状
エディタ左の List View (ブロックアウトライン) で、
<channel>配下に並ぶ Element ブロックがすべて 「Element」 という同じ表示になり、どれが<title>でどれが<link>か、ブロックを選択するまで判別できない。※ サイドバーで TAG NAME に
titleを入れている状態でも、List View 上は「Element」のまま要望
feedwright/elementブロックの List View ラベルを、設定されたtagName属性を使って動的に表示する。例:
tagName="title"→ List View に<title>(またはtitle)tagName="media:thumbnail"→<media:thumbnail>tagName=""(未設定)→ フォールバックでElement同様に、入れ子で名前を持つ他のブロックも対象にする:
feedwright/channel→<channel>(固定)feedwright/item→<item>(固定)…はそもそもタグ名が固定なので block.json の
titleで十分。動的なのはfeedwright/elementのみが対象。実装方針
registerBlockType( 'feedwright/element', { ... } )に__experimentalLabelコールバックを足す:context === 'list-view'のときだけ上書きし、Inserter や他の場所はデフォルトの "Element" を維持する。対象ファイル
blocks/element/index.js—__experimentalLabelを追加確認手順
<title>/<link>/<media:thumbnail>のように表示される