Skip to content

Restore HTMLBlock unwraps clobbered by May 18 ReadMe re-export#56

Open
chrisdp wants to merge 2 commits into
rokudev:v2.0from
chrisdp:restore-htmlblock-unwraps
Open

Restore HTMLBlock unwraps clobbered by May 18 ReadMe re-export#56
chrisdp wants to merge 2 commits into
rokudev:v2.0from
chrisdp:restore-htmlblock-unwraps

Conversation

@chrisdp
Copy link
Copy Markdown
Contributor

@chrisdp chrisdp commented May 21, 2026

Summary

PRs #45 and #50 unwrapped HTMLBlock wrappers from five tables so that ReadMe could render the [text](doc:slug) references inside (Roku OS release-notes links, in-page anchors, etc.). The May 18 commits 070c2945 (socket-based-debugger) and cd61cf12 (external-control-api) — both auto-generated re-exports from ReadMe.com — put the wrappers back, breaking those links again.

This PR just re-removes the two wrapper lines (<HTMLBlock>{\`` and `}`) around each affected table. The table contents themselves survived the re-export, so the diff is small (10 deletions total across 2 files).

  • external-control-api.md: 1 table re-unwrapped (General ECP commands)
  • socket-based-debugger.md: 4 tables re-unwrapped (HandshakeFromDVP, DebuggerRequest, DebuggerResponse, DebuggerUpdate)

If the re-export was triggered by a ReadMe-side edit that didn't pull from GitHub first, it would be worth syncing those pages on the ReadMe side after this merges so the unwrap sticks through the next export.

chrisdp added 2 commits May 21, 2026 09:26
…s table

The "General ECP commands" table was on a single ~25,000-char line
inside a JSX <HTMLBlock>{`...`}</HTMLBlock> template literal, which
kept ReadMe from rendering the [text](doc:slug) references inside —
the Roku OS 15.0/15.2/13.0/12.0/11.5 release-notes links and the
self-references to #input-command-conventions and roinputevent.

Drop the wrapper and reformat as one row per line. To survive MDX:
- Escape the bare uppercase placeholder syntax (<KEY>, <APP_ID>) as
  &lt;...&gt; so they aren't read as JSX tag opens.
- Escape the `<<em>NAME</em>>` placeholder syntax used for path
  params (`<channelId>`, `<seconds>`, `<appId>`, etc.) the same way.
- Inside the <pre><code> response examples, entity-encode the XML
  payload (<sgrendezvous>, <tracking-enabled>, <status>, etc.) so
  MDX doesn't read them as JSX.
- Nested sgrendezvous and fwbeacons sub-tables are placed on their
  own indented lines inside their parent cell.
The handshake fields, debugger request/response, and DebuggerUpdate
tables were wrapped in JSX <HTMLBlock>{`...`}</HTMLBlock> template
literals. ReadMe's markdown processor doesn't run inside HTMLBlock, so
the 11 [Roku OS X.Y](doc:release-notes#...) and `[Debugging Commands](#...)`
references in those cells rendered literally.

Drop the wrappers, fix <br> to <br /> for MDX, escape the bracketed
\[1970-01-01T00:00:00.000Z] timestamp so MDX doesn't read it as a
reference-style link, and indent each table by nesting depth (the
source had everything flush-left). For the cells that contain a
nested compatibility-matrix table, break the cell open onto its own
line so the nested <table> sits at a reasonable depth.

The other 16 HTMLBlock tables on the page had no markdown link syntax
inside, so they render correctly today and are left alone.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant