Skip to content
These are temporary community docs. The official docs are in progress.Help improve them
Markless
Esc
↑↓navigate↵open⌘Jpreview
On this page

Glossary

One-line definitions for the words these docs use, one meaning per word.

The package list named a lot of parts. This page pins down the words around them. Each word has one meaning across the site.

Writing components

Term Meaning
component A function in a .tsrx file whose body is markup, written function Counter() @{ ... }.
TSRX The file format for components: TypeScript plus markup and @if, @for, and @try blocks.
state A value from state() that you read and write as a plain variable, like count.
computed A value from computed() that Markless derives from state.
shared State from shared() that many components reach without props.
storage A string value from storage() that Markless saves in localStorage.
element handle A reference from element() to a tag in the markup.
key The identity of each row in an @for, as in key item.id.
async boundary An @try block with @pending and @catch around an async read.

Where a component renders

The compiler does its work at build time. The compiled component then renders wherever you need it. The model is the same in every place.

Term Meaning
browser-only render() from @markless/core mounts the app in the browser. The component body runs once there. You need no server.
client render Another name for browser-only rendering. The test helper render() uses it.
server render renderToString() turns components into HTML on a server. The component body runs on the server and zero times in the browser.
multi-page app An app built with @markless/router: file routes, links, and pages rendered through Nitro, which deploys to many hosts.
prerender HTML made at build time. Demos turn it on with MARKLESS_PRERENDER=1. Treat it as a preview feature.
test render @markless/vitest-browser renders a component in a browser test, either mounted directly or through a server render.
native host Proofs in the repo drive UIKit and AppKit controls with the same model. They are proofs, not a feature you can use.

How it works

Term Meaning
compiler The build step that reads .tsrx files. It plans the state, the updates, and which code runs on which event, before the app runs.
symbol One piece of code that the compiler split out, like one click handler.
chunk A file that holds symbols. The browser loads a chunk the first time it needs one of them.
packing The production build step that groups symbols into fewer chunks. It is on by default. Set packing: false to turn it off.
state graph The map of which computed values and which page updates read each piece of state.
payload In server output, the data next to the HTML. markless/state scripts hold the values. markless/view scripts say which element does what.
container In server output, the element with the data-async-container attribute. It wraps the HTML and its payload.
resumer The small inline script in server output. It waits for the first interaction and then loads the code it needs. A page with no interactions gets no resumer.
resume The browser continues from server HTML and its payload. It does not run the component body again.
hydrate What many other frameworks do: run components again in the browser to attach events. Markless doesn’t.

Tooling

Term Meaning
diagnostic A compiler message with a code, a reason, a suggested fix, and a link.
markless-allow A comment that silences one warning, with a reason: // markless-allow CODE: reason.
TS91001 The error code that pnpm typecheck and the editor use for a .tsrx file that does not parse.

Next: Which commands create and build an app? CLI →

Was this page helpful?