As the words arrive,
the page takes shape.
Bring AI answers, documents and ideas into your application. Incremental Lezer parsing connects late references and custom components as the content unfolds.
Workspace preview · not yet on npm
- 01Source
- 02Syntax
- 03References
- 04Interface
Streaming, throughout
Append, stop and resolve late references
Vue · React · Core
One parser, multiple integrations
Make it your own
HTML, custom syntax and components
MIT
Open-source parser and reading components
BUILD WITH MARKDOWN
One core. More ways to express.
From a document to a live AI answer. Bring content and interaction together in your own product.
Display a Markdown document
Pass the source, set up styles and render your first Vue component.
02 / AI answersRender an answer as it arrives
Receive, stop and switch messages with late links and footnotes.
03 / RenderingUse your own components
Replace links, code blocks or tables with your product's interactions.
04 / SyntaxLet Markdown express more
Add domain syntax, custom nodes and resources that load on demand.
LIVE MARKDOWN
One chunk. Another possibility.
Play a stream and watch headings, lists, tables and late links update in the same real reading component.
Try a stream and watch a late definition resolve an earlier link.
Every chunk becomes content
An AI is composing an answer in Markdown.
Headings, lists and tables
Late definitions update earlier references
| Integration | Shared parser |
|---|---|
| Vue · React | ✓ |
Ready? Start with the streaming guide.
See incremental updates
Each insertion. Another tree update.
Insert bold text, inline code and a list in sequence. Follow each fragment into the source and watch affected branches change while other tree objects remain.
Actual source · actual Lezer trees
Loading the flowchart…
Drawn and animated by QuireKit Flowchart · 1.5× · fixed view
Source unfolds into a Lezer tree
A heading and three paragraphs. Each insertion builds on the preceding result, using the same source and reader lifetime.
Reader output
before update · Insertion 1 / 3A travel plan
First paragraph: On Saturday morning we leave the station and follow the riverside path to the old town. We pass a stone bridge, a few breakfast shops and an open meadow. After breakfast we visit the bookshop. This part of the plan is already written; the next edit happens in the second paragraph.
Second paragraph: Visit the park in the afternoon, then have coffee by the river.
Third paragraph: In the evening we return to the station, perhaps buying some bread on the way. If there is time we sit in the square and watch the clock tower. Dinner is still open. This paragraph follows the edit: its text stays the same while its source positions move forward, and the parser may retain the same tree object.
Work for the current edit; replay and painting are excluded.
Inspect complete source and syntax
## A travel plan First paragraph: On Saturday morning we leave the station and follow the riverside path to the old town. We pass a stone bridge, a few breakfast shops and an open meadow. After breakfast we visit the bookshop. This part of the plan is already written; the next edit happens in the second paragraph. Second paragraph: Visit the park in the afternoon, then have coffee by the river. Third paragraph: In the evening we return to the station, perhaps buying some bread on the way. If there is time we sit in the square and watch the clock tower. Dinner is still open. This paragraph follows the edit: its text stays the same while its source positions move forward, and the parser may retain the same tree object.
Document(ATXHeading2(HeaderMark),Paragraph,Paragraph,Paragraph)