alpha
Login
or
Join now
jeremy.herve.bzh
/
skypress
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
A calm place to write long-form, and publish it to the open social web.
skypress.blog/
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
skypress
/
src
/
lib
/
blocks
/
at
2debf73f0fe11aa68d391b30d5ae16bb730d6983
5 files
Jeremy Herve
Lock render fidelity for mention-bearing blocks
14d ago
68097989
allowlist.ts
Lock render fidelity for mention-bearing blocks
2 weeks ago
render.test.ts
Lock render fidelity for mention-bearing blocks
2 weeks ago
render.ts
Add highlight.js; export decodeEntities for reuse
2 weeks ago
serialize.test.ts
Add SP0 foundations + editor spike Stand up the SkyPress skeleton and prove the riskiest path end-to-end: IsolatedBlockEditor -> onSaveBlocks -> block tree -> rendered back to HTML. Stack: Astro 6 + React 18 islands. React 18 is mandatory — the bundled @wordpress/* packages require react@^18.3 (Decision 0001). The editor is a client-only island confined to /editor; reading pages render to light HTML and ship zero JS. Key spike findings (Decision 0003): - The @wordpress editor stack can't render server-side (browser-only window/moment/registry deps). Reading pages therefore use a dependency-free renderer (src/lib/blocks/render.ts) whose fidelity is locked to the real @wordpress/blocks.serialize() by tests. - The whole @wordpress tree must be version-pinned via overrides to the line isolated-block-editor bundles, or duplicate data/core-data registries crash the editor. Pinned accordingly. Verified: 6 Vitest tests (round-trip + render fidelity + textContent), astro check clean, production build (3 pages), and a browser smoke test — editor boots, typing captures the block tree to localStorage, /preview renders server-side with 0 JS. Curated block allowlist documented as the content model (Decision 0002). Includes GPL-2.0 license, README, AGENTS.md working agreement, and the SP0 spec.
2 weeks ago
serialize.ts
Add SP0 foundations + editor spike Stand up the SkyPress skeleton and prove the riskiest path end-to-end: IsolatedBlockEditor -> onSaveBlocks -> block tree -> rendered back to HTML. Stack: Astro 6 + React 18 islands. React 18 is mandatory — the bundled @wordpress/* packages require react@^18.3 (Decision 0001). The editor is a client-only island confined to /editor; reading pages render to light HTML and ship zero JS. Key spike findings (Decision 0003): - The @wordpress editor stack can't render server-side (browser-only window/moment/registry deps). Reading pages therefore use a dependency-free renderer (src/lib/blocks/render.ts) whose fidelity is locked to the real @wordpress/blocks.serialize() by tests. - The whole @wordpress tree must be version-pinned via overrides to the line isolated-block-editor bundles, or duplicate data/core-data registries crash the editor. Pinned accordingly. Verified: 6 Vitest tests (round-trip + render fidelity + textContent), astro check clean, production build (3 pages), and a browser smoke test — editor boots, typing captures the block tree to localStorage, /preview renders server-side with 0 JS. Curated block allowlist documented as the content model (Decision 0002). Includes GPL-2.0 license, README, AGENTS.md working agreement, and the SP0 spec.
2 weeks ago