{"id":49060587,"url":"https://shipitandpray.github.io/awesome-pretext/","last_synced_at":"2026-05-06T06:01:31.113Z","repository":{"id":348656675,"uuid":"1196331784","full_name":"ShipItAndPray/awesome-pretext","owner":"ShipItAndPray","description":"Curated ecosystem list for projects built on Pretext, with live demos and community examples.","archived":false,"fork":false,"pushed_at":"2026-04-02T06:16:14.000Z","size":13,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-20T02:02:28.991Z","etag":null,"topics":["awesome-list","pretext","text-layout","typography"],"latest_commit_sha":null,"homepage":"https://shipitandpray.github.io/awesome-pretext/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ShipItAndPray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-30T15:41:56.000Z","updated_at":"2026-04-08T08:41:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ShipItAndPray/awesome-pretext","commit_stats":null,"previous_names":["shipitandpray/awesome-pretext"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ShipItAndPray/awesome-pretext","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Fawesome-pretext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Fawesome-pretext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Fawesome-pretext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Fawesome-pretext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShipItAndPray","download_url":"https://codeload.github.com/ShipItAndPray/awesome-pretext/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Fawesome-pretext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32680890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome-list","pretext","text-layout","typography"],"created_at":"2026-04-20T02:00:28.099Z","updated_at":"2026-05-06T06:01:31.085Z","avatar_url":"https://github.com/ShipItAndPray.png","language":"JavaScript","funding_links":[],"categories":["Live Site"],"sub_categories":[],"readme":"# awesome-pretext\n\n[![Live site](https://img.shields.io/badge/site-live-0f766e)](https://shipitandpray.github.io/awesome-pretext/)\n[![Upstream](https://img.shields.io/badge/upstream-chenglou%2Fpretext-111827)](https://github.com/chenglou/pretext)\n\nA curated list of projects, packages, demos, and experiments built with [Pretext](https://github.com/chenglou/pretext), Cheng Lou's text layout engine for measuring and laying out multiline text without DOM reflow.\n\nThis list is meant to be useful to the broader Pretext community:\n\n- official resources first\n- ecosystem packages with live demos\n- selected community experiments and integrations\n\n## Live Site\n\n- [awesome-pretext landing page](https://shipitandpray.github.io/awesome-pretext/)\n\n## Why Pretext matters\n\nPretext lets you answer layout questions before paint:\n\n- measure multiline text without `getBoundingClientRect()`\n- predict height for virtualization and zero-CLS UI\n- drive canvas, SVG, WebGL, and server-side rendering paths\n- build shrinkwrapped, width-aware text interfaces in plain arithmetic\n\n## Official Pretext Resources\n\n- [Pretext repository](https://github.com/chenglou/pretext)\n- [Live demos by Cheng Lou](https://chenglou.me/pretext/)\n- [Additional community demos](https://somnai-dreams.github.io/pretext-demos/)\n- [Development notes](https://github.com/chenglou/pretext/blob/main/DEVELOPMENT.md)\n\n## Flagship Ecosystem Packages\n\nThese are the strongest package-shaped projects in the current ecosystem.\n\n| Project | What it does | Links |\n| --- | --- | --- |\n| [`pretext-react`](https://github.com/ShipItAndPray/pretext-react) | React hooks and UI primitives for stable text sizing, bubbles, streaming text, and virtualization. | [demo](https://shipitandpray.github.io/pretext-react/) |\n| [`pretext-chat`](https://github.com/ShipItAndPray/pretext-chat) | Chat UI components with precomputed message sizing and streaming-friendly layout. | [demo](https://shipitandpray.github.io/pretext-chat/) |\n| [`pretext-terminal`](https://github.com/ShipItAndPray/pretext-terminal) | Canvas-first terminal and log UI for large scrollback and ANSI-rich output. | [demo](https://shipitandpray.github.io/pretext-terminal/) |\n| [`pretext-editor`](https://github.com/ShipItAndPray/pretext-editor) | Canvas text editor using Pretext for line measurement instead of DOM text nodes. | [demo](https://shipitandpray.github.io/pretext-editor/) |\n| [`pretext-pdf`](https://github.com/ShipItAndPray/pretext-pdf) | PDF generation with correct wrapping and pagination powered by Pretext + pdf-lib. | [demo](https://shipitandpray.github.io/pretext-pdf/) |\n\n## Ecosystem Catalog\n\nAll demo links below were verified live on March 30, 2026.\n\n### Foundations and UI Primitives\n\n| Project | Description | Demo |\n| --- | --- | --- |\n| [`pretext-react`](https://github.com/ShipItAndPray/pretext-react) | React hooks and components for stable text measurement and streaming layout. | [live](https://shipitandpray.github.io/pretext-react/) |\n| [`pretext-accordion`](https://github.com/ShipItAndPray/pretext-accordion) | Zero-CLS accordion with predictive height measurement. | [live](https://shipitandpray.github.io/pretext-accordion/) |\n| [`pretext-forms`](https://github.com/ShipItAndPray/pretext-forms) | Auto-sizing form controls without DOM reflow. | [live](https://shipitandpray.github.io/pretext-forms/) |\n| [`pretext-tooltip`](https://github.com/ShipItAndPray/pretext-tooltip) | Tooltips that know their size before render. | [live](https://shipitandpray.github.io/pretext-tooltip/) |\n| [`pretext-truncate`](https://github.com/ShipItAndPray/pretext-truncate) | Multiline truncation without content flash. | [live](https://shipitandpray.github.io/pretext-truncate/) |\n| [`pretext-ssr`](https://github.com/ShipItAndPray/pretext-ssr) | SSR-first font loading and fallback prediction for zero layout shift. | [live](https://shipitandpray.github.io/pretext-ssr/) |\n| [`pretext-typewriter`](https://github.com/ShipItAndPray/pretext-typewriter) | Streaming text animation with stable final-height measurement. | [live](https://shipitandpray.github.io/pretext-typewriter/) |\n| [`pretext-masonry`](https://github.com/ShipItAndPray/pretext-masonry) | Masonry grid layout driven by predicted card heights. | [live](https://shipitandpray.github.io/pretext-masonry/) |\n| [`pretext-overflow-menu`](https://github.com/ShipItAndPray/pretext-overflow-menu) | Nav bar that collapses items into \"+N more\" dropdown correctly on frame 1. | [live](https://shipitandpray.github.io/pretext-overflow-menu/) |\n| [`pretext-animate`](https://github.com/ShipItAndPray/pretext-animate) | Physics-based text animations with zero layout reflows. 120fps on mid-range devices. | [live](https://shipitandpray.github.io/pretext-animate/) |\n\n### Chat, Terminal, and Log Interfaces\n\n| Project | Description | Demo |\n| --- | --- | --- |\n| [`pretext-chat`](https://github.com/ShipItAndPray/pretext-chat) | React chat surfaces for message streaming and virtualized history. | [live](https://shipitandpray.github.io/pretext-chat/) |\n| [`pretext-terminal`](https://github.com/ShipItAndPray/pretext-terminal) | Canvas terminal for large scrollback and ANSI rendering. | [live](https://shipitandpray.github.io/pretext-terminal/) |\n| [`pretext-logviewer`](https://github.com/ShipItAndPray/pretext-logviewer) | Virtualized log viewer for very large ANSI-heavy outputs. | [live](https://shipitandpray.github.io/pretext-logviewer/) |\n| [`pretext-repl`](https://github.com/ShipItAndPray/pretext-repl) | REPL/notebook UI where output cells expand without shifting other cells. | [live](https://shipitandpray.github.io/pretext-repl/) |\n\n### Editors, Documents, and Reading Systems\n\n| Project | Description | Demo |\n| --- | --- | --- |\n| [`pretext-editor`](https://github.com/ShipItAndPray/pretext-editor) | Canvas editor with hidden textarea input and Pretext line layout. | [live](https://shipitandpray.github.io/pretext-editor/) |\n| [`pretext-blocks`](https://github.com/ShipItAndPray/pretext-blocks) | Notion-style block editor virtualization. | [live](https://shipitandpray.github.io/pretext-blocks/) |\n| [`pretext-markdown`](https://github.com/ShipItAndPray/pretext-markdown) | Streaming markdown rendering with stable block heights. | [live](https://shipitandpray.github.io/pretext-markdown/) |\n| [`pretext-diff`](https://github.com/ShipItAndPray/pretext-diff) | Large side-by-side diff viewer with virtualized rendering. | [live](https://shipitandpray.github.io/pretext-diff/) |\n| [`pretext-pdf`](https://github.com/ShipItAndPray/pretext-pdf) | PDF generation with wrapped text and pagination. | [live](https://shipitandpray.github.io/pretext-pdf/) |\n| [`pretext-docgen`](https://github.com/ShipItAndPray/pretext-docgen) | JS-first document generation without a headless browser. | [live](https://shipitandpray.github.io/pretext-docgen/) |\n| [`pretext-epub`](https://github.com/ShipItAndPray/pretext-epub) | EPUB pagination with direct page access. | [live](https://shipitandpray.github.io/pretext-epub/) |\n| [`pretext-slides`](https://github.com/ShipItAndPray/pretext-slides) | Markdown-to-canvas presentation system. | [live](https://shipitandpray.github.io/pretext-slides/) |\n| [`pretext-captions`](https://github.com/ShipItAndPray/pretext-captions) | Subtitle editor and renderer with WCAG-aware layout. | [live](https://shipitandpray.github.io/pretext-captions/) |\n| [`pretext-diff-navigator`](https://github.com/ShipItAndPray/pretext-diff-navigator) | Side-by-side diff viewer with drift-free synchronized scrolling. | [live](https://shipitandpray.github.io/pretext-diff-navigator/) |\n\n### Graphics, Media, and Canvas Rendering\n\n| Project | Description | Demo |\n| --- | --- | --- |\n| [`pretext-canvas`](https://github.com/ShipItAndPray/pretext-canvas) | Canvas and WebGL text rendering helpers powered by Pretext. | [live](https://shipitandpray.github.io/pretext-canvas/) |\n| [`pretext-comic`](https://github.com/ShipItAndPray/pretext-comic) | Speech bubbles and shape-aware text fitting for comics. | [live](https://shipitandpray.github.io/pretext-comic/) |\n| [`pretext-og`](https://github.com/ShipItAndPray/pretext-og) | Open Graph image generation that fixes wrapping issues in Satori-style flows. | [live](https://shipitandpray.github.io/pretext-og/) |\n| [`pretext-tts-highlight`](https://github.com/ShipItAndPray/pretext-tts-highlight) | Karaoke-style word highlighting synced to audio or TTS. | [live](https://shipitandpray.github.io/pretext-tts-highlight/) |\n| [`pretext-webxr`](https://github.com/ShipItAndPray/pretext-webxr) | 3D and XR-oriented text layout surfaces. | [live](https://shipitandpray.github.io/pretext-webxr/) |\n| [`pretext-sparkline`](https://github.com/ShipItAndPray/pretext-sparkline) | Inline sparklines with collision-free value labels computed before render. | [live](https://shipitandpray.github.io/pretext-sparkline/) |\n| [`pretext-word-cloud`](https://github.com/ShipItAndPray/pretext-word-cloud) | Deterministic word cloud layout. 500x faster than d3-cloud. | [live](https://shipitandpray.github.io/pretext-word-cloud/) |\n| [`pretext-map-labels`](https://github.com/ShipItAndPray/pretext-map-labels) | Collision-free label placement for 2D maps and diagrams. | [live](https://shipitandpray.github.io/pretext-map-labels/) |\n| [`pretext-gantt`](https://github.com/ShipItAndPray/pretext-gantt) | Zero-flicker Gantt chart with labels measured and placed correctly on frame 1. | [live](https://shipitandpray.github.io/pretext-gantt/) |\n| [`pretext-infinite-canvas`](https://github.com/ShipItAndPray/pretext-infinite-canvas) | Figma/Miro-style infinite canvas with correct text wrapping at any zoom level. | [live](https://shipitandpray.github.io/pretext-infinite-canvas/) |\n| [`pretext-code-minimap`](https://github.com/ShipItAndPray/pretext-code-minimap) | VS Code-style code minimap for the browser. Pixel-accurate, Canvas-rendered. | [live](https://shipitandpray.github.io/pretext-code-minimap/) |\n\n### Tables, Data, and Platform Targets\n\n| Project | Description | Demo |\n| --- | --- | --- |\n| [`pretext-table`](https://github.com/ShipItAndPray/pretext-table) | Virtualized data table with Pretext-powered column sizing. | [live](https://shipitandpray.github.io/pretext-table/) |\n| [`pretext-rn`](https://github.com/ShipItAndPray/pretext-rn) | React Native bridge for text measurement and list layout. | [live](https://shipitandpray.github.io/pretext-rn/) |\n\n### Testing, DevTools, and CI\n\n| Project | Description | Demo |\n| --- | --- | --- |\n| [`pretext-storybook`](https://github.com/ShipItAndPray/pretext-storybook) | Stress-test UI components with dynamic text. Flags overflow before it ships. | [live](https://shipitandpray.github.io/pretext-storybook/) |\n| [`pretext-devtools`](https://github.com/ShipItAndPray/pretext-devtools) | Overlay Pretext text measurements on any webpage. See predicted vs actual dimensions. | [live](https://shipitandpray.github.io/pretext-devtools/) |\n| [`pretext-a11y`](https://github.com/ShipItAndPray/pretext-a11y) | WCAG text overflow audit in CI. No browser needed. | [live](https://shipitandpray.github.io/pretext-a11y/) |\n| [`pretext-i18n`](https://github.com/ShipItAndPray/pretext-i18n) | Catch i18n text overflow at build time. No browser needed. | [live](https://shipitandpray.github.io/pretext-i18n/) |\n| [`pretext-overflow-monitor`](https://github.com/ShipItAndPray/pretext-overflow-monitor) | Detect text overflow in CI before any browser render. Zero DOM, pure arithmetic. | [live](https://shipitandpray.github.io/pretext-overflow-monitor/) |\n\n## Selected Community Projects\n\nThis section exists so the list is useful beyond one GitHub account.\n\n| Project | Why it is interesting |\n| --- | --- |\n| [`pinch-type`](https://github.com/lucascrespo23/pinch-type) | Highest-visibility public experiment built on Pretext right now. |\n| [`pretext-playground`](https://github.com/0xNyk/pretext-playground) | Strong creative coding showcase with multiple text-driven scenes. |\n| [`react-pretext`](https://github.com/jihchi/react-pretext) | Earlier React wrapper for Pretext-style measurement workflows. |\n| [`pretext-rich`](https://github.com/joeflateau-octavius/pretext-rich) | Inline rich text engine on top of Pretext. |\n| [`textmash`](https://github.com/cocktailpeanut/textmash) | Experimental text-wrapping demo around other text chunks. |\n| [`pretext-php`](https://github.com/mateffy/pretext-php) | Interesting port that shows the design can travel outside JS. |\n\n## What makes a good Pretext project\n\n- it solves a real layout problem before paint\n- it demonstrates something hard to do with plain DOM measurement\n- it ships a live demo, not just a repo\n- it explains why Pretext is the enabling primitive\n\n## Add a project\n\nOpen a PR with:\n\n- repo link\n- one-line description\n- live demo link if available\n- what Pretext unlocks in that project\n\n## Attribution\n\nThis is an independent ecosystem list. Pretext itself is authored and maintained by [Cheng Lou](https://github.com/chenglou), and the canonical upstream project is [chenglou/pretext](https://github.com/chenglou/pretext).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/shipitandpray.github.io%2Fawesome-pretext%2F","html_url":"https://awesome.ecosyste.ms/projects/shipitandpray.github.io%2Fawesome-pretext%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/shipitandpray.github.io%2Fawesome-pretext%2F/lists"}