markdown-tm-language
Really good syntax highlighting for markdown and MDX.
| Example of markdown highlighting (using GitHub dark mode theme) |
| Example of MDX highlighting (using GitHub light mode theme) |
Contents
- What is this?
- When should I use this?
- Install
starry-nightshiki- VS Code
- Sublime and TextMate
- Use
- API
- Syntax
- Compatibility
- Security
- Related
- Contribute
- License
What is this?
This project includes high quality TextMate grammars for markdown and MDX.
Try it out in the playground >>
When should I use this?
You can use these grammars in your code editor or with
starry-night and shiki.
Install
starry-night
These grammars are in github-linguist/linguist,
which means that they are also in starry-night.
shiki
These grammars are in Shiki.
VS Code
For the MDX grammar,
use: vscode-mdx.
Sublime and TextMate
I'm not a Sublime or TextMate user and I am not very interested in maintaining
a packages for them currently.
You should be able to clone this repo somewhere
(~/.config/sublime-text-2/Packages?),
then you should reportedly be able to use these grammars.
PR welcome to improve this section or do the work to make it happen :)
Use
After installing, type some things!
API
There is no API.
You can generate your own grammars, by modifying languages in build.js.
To illustrate, you can add a new language there, or turn on or off several
extensions (such as gfm) in the existing ones.
Syntax
Markdown is handled according to CommonMark and common extensions:
- directives
- frontmatter (YAML, TOML)
- GFM (autolink literals, footnotes, strikethrough, tables, tasklists)
- GitHub (gemoji, mentions, references)
- math(+)
- MDX (ESM, expressions, JSX)
(+) -- with two or more dollars.
Compatibility
The markdown grammar supports CommonMark and common extensions: directives, frontmatter, GFM, GitHub, and math. The MDX grammar is similar, but of course uses the MDX syntax extensions, and does not include directives.
Security
Should be good!
Related
micromark-- markdown parser in JavaScriptmarkdown-rs-- markdown parser in Rust
Contribute
Yes please! See How to Contribute to Open Source.
In particular, see grammar.yml, that's likely where your changes will go,
and it includes a ton of information on how it all works.
You might also want to check if the grammars here work with linguist. Perform these steps:
cd linguist
./script/bootstrap
# copy/paste this repo in `linguist`
script/grammar-compiler add markdown-tm-language
License
MIT (c) Titus Wormer