Static preview. Server-backed interactions are available only in a local checkout.

Carve Syntax & What is New

Carve is a lightweight markup language with one syntax, one meaning, and the same HTML from every implementation. This page shows the newest addition - inline literals - alongside the convergence behaviours worth knowing when you author Carve. Every sample below is rendered live through the syntax converter profile.

Inline literal

A ! before a code span renders its contents as literal text with no code styling - perfect for showing Carve syntax without it being interpreted or monospaced.

Carve source

Type !`*strong*` and !`/emphasis/` to show the raw delimiters, while `regular code` still gets a code box.

Rendered

Type *strong* and /emphasis/ to show the raw delimiters, while regular code still gets a code box.

Task list markers

Carve recognises done, dropped and deferred task states in addition to the plain checkbox.

Carve source

- [x] Ship the gallery
- [ ] Write the docs
- [-] Drop the old approach
- [>] Defer the polish

Rendered

  • Ship the gallery
  • Write the docs
  • Drop the old approach
  • Defer the polish

Ordered list markers

A bare dot is Carve’s preferred ordered-list marker. It stays aligned as numbering grows.

Carve source

. First item
. Second item
. Third item

Rendered

  1. First item
  2. Second item
  3. Third item

Table headers

The |= marker defines a header cell directly, without a Markdown separator row.

Carve source

|= Lang |= Status |
| PHP | ready |
| JS | ready |

Rendered

LangStatus
PHPready
JSready

Tight vs loose lists

Blank lines between items make a list loose: each item is wrapped in <p>, adding vertical rhythm. Without blank lines the list is tight and compact.

Carve source

Tight:

- one
- two
- three

Loose:

- one

- two

- three

Rendered

Tight:

  • one
  • two
  • three

Loose:

  • one

  • two

  • three

Definition lists

A term line starts with :: and each definition line starts with a colon and one space.

Carve source

:: Carve
: A lightweight markup language for structured documents.
:: Renderer
: An engine that turns Carve source into HTML, text, Markdown, or ANSI.

Rendered

Carve
A lightweight markup language for structured documents.
Renderer
An engine that turns Carve source into HTML, text, Markdown, or ANSI.

Dash-run and quote typography

Two hyphens become an en dash, three become an em dash, and three dots become an ellipsis. Straight quotes curl into typographic quotes.

Carve source

Pages 10--20 cover it -- but the details --- all of them --- come later... She said "it just works" and I agreed.

Rendered

Pages 10–20 cover it – but the details — all of them — come later… She said “it just works” and I agreed.

Footnotes

A reference like [^1] links to a definition collected into an endnotes section, with a back-link to where it was cited.

Carve source

Carve renders identically across every implementation.[^spec]

[^spec]: Guaranteed by a shared conformance corpus.

Rendered

Carve renders identically across every implementation.1


  1. Guaranteed by a shared conformance corpus.↩

Escaped block markers

A backslash keeps a block marker literal when it appears at the start of a line.

Carve source

This paragraph is real.

\#\#\# This stays literal

# This is a real heading

Rendered

This paragraph is real.

### This stays literal

This is a real heading