Summary
Implement shortcode handling per doc 08 §5.3 with three outcomes per detected shortcode: Mapped (known list: gallery, caption, embed, audio, video, playlist, wp_caption, plus opt-in plugin mappings like contact-form-7), Preserved-as-shortcode (user has a gonext plugin registered for the shortcode — wrap in core/shortcode block), or Stripped (unknown, no handler — emit empty + shortcode_unmapped warning with original text in Context). Never guess what a shortcode does.
Design reference
- docs/08-migration-compat.md §5.3
Acceptance criteria
Dependencies
#html-to-blocks
Complexity
M
Summary
Implement shortcode handling per doc 08 §5.3 with three outcomes per detected shortcode: Mapped (known list:
gallery,caption,embed,audio,video,playlist,wp_caption, plus opt-in plugin mappings likecontact-form-7), Preserved-as-shortcode (user has a gonext plugin registered for the shortcode — wrap incore/shortcodeblock), or Stripped (unknown, no handler — emit empty +shortcode_unmappedwarning with original text inContext). Never guess what a shortcode does.Design reference
Acceptance criteria
[name attr="..." attr=...]patterns from HTMLgallery,caption,embed,audio,video,playlist,wp_captioncontact-form-7,wpforms,gravityforms(when corresponding gonext plugin is installed)core/shortcodeblockshortcode_unmappedwarning carrying original text inContextDependencies
#html-to-blocks
Complexity
M