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

Carve syntax gallery

A sampling of Carve constructs and how they render. Carve's inline markers differ from Markdown: /italic/ for italic, *bold* for bold, and _underline_ for underline (plus =highlight=, ~strikethrough~, and braced {^superscript^} / {,subscript,}).

The gallery also covers Carve's newer and more deliberate behaviors: the inline literal !`...`, definition lists, footnotes, smart typography (dash runs, ellipsis, quotes), tight versus loose lists, and escaped block markers.

Inline literal !`...`

Prefixing a code span with ! makes it an inline literal: the characters appear verbatim, with no code styling and no further markup processing. Handy for showing markup characters without them being interpreted.

Source
A code span styles its content: `*not bold*`.

An inline literal shows the characters verbatim, with no code styling and no markup: !`*not bold*`.
Rendered

A code span styles its content: *not bold*.

An inline literal shows the characters verbatim, with no code styling and no markup: *not bold*.

Headings - source
# Heading 1

## Heading 2

### Heading 3
Rendered

Heading 1

Heading 2

Heading 3

Emphasis - source
/italic/

*bold*

_underline_

=highlight=

~strikethrough~
Rendered

italic

bold

underline

highlight

strikethrough

Superscript & subscript - source
Braced only: E = mc{^2^} and H{,2,}O.
Rendered

Braced only: E = mc2 and H2O.

Lists - source
- one
- two
  - nested

. first
. second
Rendered
  • one
  • two
    • nested
  1. first
  2. second
Task list - source
- [x] done
- [ ] todo
Rendered
  • done
  • todo
Tight vs loose lists - source
Tight (no blank lines):

- one
- two

Loose (blank lines between items wrap each in a paragraph):

- one

- two
Rendered

Tight (no blank lines):

  • one
  • two

Loose (blank lines between items wrap each in a paragraph):

  • one

  • two

Definition list - source
:: Carve
: A post-Markdown markup language.
:: Djot
: The project Carve refines.
Rendered
Carve
A post-Markdown markup language.
Djot
The project Carve refines.
Blockquote - source
> A quote
> spanning lines.
Rendered

A quote spanning lines.

Link & image - source
[Carve spec](https://github.com/markup-carve/carve)

![Demo diagram](/diagram.svg)
Rendered
Table - source
|= Lang |= Status |
| PHP | ready |
| JS | ready |
Rendered
LangStatus
PHPready
JSready
Admonition - source
::: note
This is a note admonition.
:::
Rendered
Footnotes - source
Carve supports real footnotes.[^spec]

[^spec]: Defined once, linked and back-linked automatically.
Rendered

Carve supports real footnotes.1


  1. Defined once, linked and back-linked automatically.↩

Smart typography - source
Ranges use -- an en dash -- and asides use --- an em dash. Ellipsis... and "smart quotes" and 'single' too.
Rendered

Ranges use – an en dash – and asides use — an em dash. Ellipsis
 and “smart quotes” and ‘single’ too.

Escaped block markers - source
A paragraph.

\# This stays literal text, not a heading.

# A real heading
Rendered

A paragraph.

# This stays literal text, not a heading.

A real heading