Write pages in Markdown, connect them with links, and divide longer material into Blocks that work in reading, Focus, and Slides. Start with Sources and Blocks; add richer behavior when your content calls for it.
- Sources — name a page and give it a role in your site.
- Generate Sources — create pages from templates and JSON or CSV data.
- Blocks — keep an idea, example, and result together.
- Markdown — write text, lists, tables, and extended syntax.
- Links — connect pages, include content, and choose link treatments.
- Reuse content — include shared instructions with a real owner and consumers.
- Opening Sources — open related content alongside the current page.
Media, forms, queries, and components build on those same files and links. Player explains how to present what you author.
Assets and scripts
Keep images, downloadable files, CSS, and JavaScript beneath paths/.
Blocks
A Block is a meaningful section of a Source, separated by a --- line. It keeps one idea, example, or task step together and can have its own identity, data,...
Callouts
A callout is a blockquote whose first line names its type. Use one to set a note, tip, or warning apart from the flow.
Components
Components add reusable elements to Markdown. Define templates in a .components.md file, or contribute components from a TypeScript Plugin.
Embed web content
Turn a titled Markdown link into an X post, YouTube player, or rich card for another public web page:
Generate Sources
Use @pathmx/generate to turn JSON or CSV records into ordinary Markdown Sources with Knap templates.
Images
Image sizing, responsive variants, backgrounds, galleries, and a full-size viewer.
Input forms
Core Input turns authored controls into response forms. A response belongs to one Block; its saved draft and submitted response remain separate.
Links
A relative link to an exact file is an edge in the site graph. PathMX renders the canonical route and keeps the link working in editors and on GitHub.
Maps and type vocabulary
A Map gives your Source types shared labels, descriptions, icons, and colors. Types still come from filenames such as contrast.lesson.md; a Map describes how...
Markdown
Ordinary Markdown renders as semantic HTML. Core's standard Plugins also support tables, highlighted code, MathML, task lists, definition lists, and inline...
Mermaid diagrams
Turn a text description into a diagram that follows your site's theme. Edit the connections alongside the explanation, then present the same result in Player.
Queries
A query fence renders a live list, table, or component from Sources or Blocks that match. Results respect the reader's access.
Sound effects
SFX attaches audio to authored moments and ordinary browser events. A cue plays once; a loop continues until stopped. The viewer controls listening through...
Sources
A Source is one Markdown file under paths/. Its filename gives it a name, a type, and a route; frontmatter adds metadata.
Video
Install and activate the optional Video Plugin with bun run pmx plugins add video before using @video in your project.