Skip to content
@markup-carve

markup-carve

Markup that respects humans and parsers.

markup-carve

Markup that respects humans and parsers.


Why

  • Visual mnemonics — syntax resembles its output (/italic/, *bold*, _underline_, ~strike~)
  • One way to do things — no ambiguity, no redundant syntax
  • Learnable in 5 seconds, memorable after 5 days — designed around how non-technical users actually mark up text
  • No expressive blind spots — every output is achievable without workarounds
  • Linear parsing — no backtracking, no forward references

Projects

Language

Project Description
carve Language definition, design rationale, and quick reference. Docs →

Implementations

Project Description
carve-js Reference TypeScript implementation.
carve-rs Rust parser and HTML renderer with a carve CLI; passes the spec corpus.
carve-php PHP parser and HTML renderer, with converters from Markdown, HTML, BBCode, and Djot.
carve-wasm WASM bindings for carve-rs. Early.

Editor support

Project Description
intellij-carve JetBrains IDEs (IntelliJ, PhpStorm, WebStorm, ...): highlighting, live preview, HTML export.
vscode-carve VS Code extension — syntax highlighting, snippets, live preview.
zed-carve Zed editor support.
tree-sitter-carve Tree-sitter grammar (highlighting, structural editing).
carve-lsp Language server: diagnostics, completion, hover, rename, folding, formatting, and semantic tokens.

These provide source-mode editing: you write Carve markup and get highlighting, snippets, and a rendered preview side by side.

Integrations

Project Description
carve-grammars WYSIWYG rich-text editing via Tiptap / ProseMirror, with a Carve serializer for roundtripping (Carve ↔ rich text ↔ Carve). Also ships Prism and highlight.js grammars for web syntax highlighting.
wp-carve WordPress plugin (carve-php engine) — live preview, paste, REST API.
vite-plugin-carve Vite plugin — import .carve documents as rendered HTML. Early.

WYSIWYG vs source editing: the editor plugins above edit Carve source with a read-only preview. For WYSIWYG (edit the rendered document directly), use carve-grammars — its Tiptap kit edits rich text and its serializer roundtrips that content back to Carve source. (carve-js also ships Markdown/Djot → Carve migration helpers for one-way conversion.)

Resources

Project Description
awesome-carve Curated list of Carve tools, libraries, and resources.

A taste

# Heading

/italic/  *bold*  _underline_  ~strike~  =highlight=

![Photo](img.jpg)
^ Figure 1: caption attaches to the image above

|= Name  |= Role     |
| Ada    | Author    |
| Linus  | Reviewer  |
^ Table caption

Get involved

Issues, ideas, and PRs welcome on any project repo. Browse awesome-carve for tools and integrations.

Popular repositories Loading

  1. carve carve Public

    A post-Markdown lightweight markup language with visual mnemonics and human-centered design.

    HTML 2

  2. tree-sitter-carve tree-sitter-carve Public

    Tree-sitter grammar for Carve.

    C 1

  3. .github .github Public

    Org profile content for markup-carve

  4. carve-js carve-js Public

    Reference TypeScript implementation of the Carve markup language.

    TypeScript

  5. awesome-carve awesome-carve Public

    A curated list of Carve markup resources, tools, and libraries

  6. carve-php carve-php Public

    PHP implementation of Carve - a post-Markdown lightweight markup language with visual mnemonics and human-centered design (between markdown and djot).

    PHP

Repositories

Showing 10 of 15 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…