mdbook-treesitter is an mdBook preprocessor for html adding tree-sitter highlighting support.
It simply translates the tree-sitter highlighting into highlightjs one.
Install the preprocessor:
shell
cargo install mdbook-treesitter
Add this in your book.toml
:
```toml [output.html] additional-js = ["treesitter.js"]
[preprocessor.treesitter] command = "mdbook-treesitter" ```
Add this javascript in the file treesitter.js
at the root of your project:
javascript
let t = document.getElementsByClassName("language-treesitter");
for (let i = 0; i < t.length; i++) {
t[i].innerHTML = t[i].innerText;
}
Use usual codeblocks like that:
markdown
```treesitter javascript
console.log(this.a + b + "c" + 4);
```
Wait, you need to add related tree-sitter files:
treesitter
in the root of your mdBook projectlanguage_name.so
in the created folderlanguage_name
in the tree-sitter
folderExample for javascript:
- My awesome mdBook/
- book.toml
- treesitter.js
- book/
- src/
- treesitter/
- javascript.so
- javascript/
- highlights.scm
- injections.scm
- locals.scm
🧃