Awesome
markdown-tm-language
Really good syntax highlighting for markdown and MDX.
<table> <tr valign="middle"> <td align="center"> <a href="https://wooorm.com/markdown-tm-language/"><img alt src="screenshot-md-dark.png" width="650"></a> </td> </tr> <tr> <td align="center"> Example of markdown highlighting (using GitHub dark mode theme) </td> </tr> </table> <table> <tr valign="middle"> <td align="center"> <a href="https://wooorm.com/markdown-tm-language/"><img alt src="screenshot-mdx-light.png" width="650"></a> </td> </tr> <tr> <td align="center"> Example of MDX highlighting (using GitHub light mode theme) </td> </tr> </table>Contents
- What is this?
- When should I use this?
- Install
- 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<sup>(†)</sup>
- MDX (ESM, expressions, JSX)
<sup>(†)</sup> — 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:
git clone gh:github/linguist
cd linguist
./script/bootstrap
# copy/paste this repo in `linguist`
script/grammar-compiler add markdown-tm-language