# Comrak

Comrak is a CommonMark and GitHub Flavored Markdown compatible parser and renderer, written in Rust.

It is developed on GitHub by a community of contributors, and released under the BSD 2-clause license, forever1, for use by all.

## Features

- Compatible with CommonMark 0.31.2 by default.
- One option to toggle on all GitHub Flavored Markdown extensions (or enable them separately).
- Many additional extensions developed by the community.
- Fine-grained parse and render options.
- Pluggable syntax highlighting for code blocks.
- Custom formatter support to override the rendering of any node type.

## Usage

Comrak can be used directly on the command-line or as part of a batch processing pipeline, and is available pre-built on many platforms.

It can also be used as a library in Rust as a Cargo dependency, or with bindings to other languages. The WASM target lets it be used directly in webpages.

This webpage is created with Comrak by stitching together three elements:

- `header.html`
- `index.md` converted with `--header-id-prefix "" --smart -e footnotes`
- `footer.html`

The CLI help for the latest version is available in the README, and the Rust documentation is on docs.rs.

## Bindings

- Commonmarker, gitlab-glfm-markdown (Ruby)
- MDEx (Elixir)
- comrak, comrak-ext (Python)
- comrak-wasm (TypeScript)

## Who uses Comrak?

- crates.io and docs.rs
- GitLab
- Deno
- Reddit
- Lockbook
- many more!

## Questions? Commits? Cat pictures?

You can contact the maintainers and community on GitHub, or you can email the author at `ashe@kivikakk.ee`. Please report security issues to that email address.

Contributions are highly encouraged, and we would love to help you through the process. We practice Optimistic Merging as described by Peter Hintjens. We have a Code of Conduct which forms the basis of how we treat one another.

If you have a GitHub account, you are welcome to use its interface to report issues, open pull requests, and privately report security issues. If not, you are very welcome to discuss and contribute by email, and a maintainer will make those actions on your behalf, attributed however you like.

1. Comrak intentionally does not use a Contributor License Agreement — every contributor retains copyright on their contributions. ↩