One text file. A document, a website, an app, a deck.
Type a SurfDoc on the left. It renders on the right, in your browser, through the open parser itself.
No diagnostics: the parser accepted every block.
| Block | Lines | Text |
|---|
crates.io
surf-parse 0.44.0 on crates.io: parse, validate, lint and render .surf files from Rust.
GitHub
The source, the block registry and the tests, MIT: cloudsurf-software/surf-parse.
The spec
Every block, its attributes and what each renderer makes of it: doc.surf/spec.
Your editor
Syntax colouring and diagnostics in VS Code: surfdoc-vscode.
The command line
cargo install surf-parse --features cli gives you surf-lint: check and fix a file or a tree before it ships.
The app
CloudSurf is made of SurfDocs: every doc, task, site and app in a workspace is one, and Surfy writes them. Start building.
The source you type stays on this page. A Copy link puts it in the URL after the #, where no server reads it. The one network request after the page is the parser itself.