Technical documentation, clearly.
A markup language with a formal grammar, strict parsing, and one way to write each thing.
Syntax
Every construct has one form. The parser either succeeds or fails with a clear error.
# document metadata is typed and validated
::meta{
title = "API Reference"
authors = ["Alice", "Bob"]
}
# headings always start with #
# Authentication
All requests require a +{Bearer token}.
See [the guide -> /docs/auth] for setup.
# code blocks require a language tag
```http
Authorization: Bearer <token>
```
::callout[kind="warning", title="Rate limits"]{
Requests are limited to 1000 per hour.
}
# no document metadata standard
# (YAML frontmatter varies by tool)
---
title: API Reference
authors: [Alice, Bob]
---
# headings are also used for structure
## Authentication
All requests require a **Bearer token**.
See [the guide](/docs/auth) for setup.
# language tag is optional (often omitted)
```
Authorization: Bearer <token>
```
# callouts: tool-specific, no standard
> **Warning:** Rate limits
> Requests are limited to 1000 per hour.
By the numbers
70 test fixtures cover every valid, parse-invalid, and validate-invalid case. CommonMark specifies roughly half its examples; the rest vary by parser.
Bold is +{text}. Links are [label -> url]. One form per concept means every doc reads the same way.
Four implementations verified against one conformance suite. Switch tools and your docs still render the same way.
Why ClearNotation
A spec you can test against, not a collection of conventions.
The spec is a grammar. Every valid document maps to a typed AST. No implementation guesswork.
Unknown directives, bad references, and missing includes all produce errors, not silent garbage.
Custom directives go in clearnotation.toml. Documents stay clean.
Bold is +{text}. Links are [label -> url]. No shorthand variants.
Python CLI, JavaScript renderer, tree-sitter grammar, and VS Code extension, all from one spec.
The test suite covers valid documents, parse errors, and validation errors. New implementations can check compliance on their own.
Get started
All three share the same spec.
ext install ClearNotation.clearnotation
pip install clearnotation
npm install clearnotation-js