#tree-sitter #mdbook #highlighting #html

bin+lib mdbook-treesitter

mdbook-treesitter 是一个为 html 添加 tree-sitter 突出显示支持的 mdBook 预处理器

2 个版本

0.1.1 2023 年 4 月 5 日
0.1.0 2023 年 4 月 2 日

#34#highlighting

36 每月下载量

MIT 许可证

20KB
329

mdbook-treesitter

mdbook-treesitter 是一个 mdBook 预处理器,用于 html 并添加 tree-sitter 突出显示支持。

它简单地将 tree-sitter 突出显示转换为 highlightjs。

安装

安装预处理器

cargo install mdbook-treesitter

配置 mdBook

在您的 book.toml 中添加以下内容

[output.html]
additional-js = ["treesitter.js"]

[preprocessor.treesitter]
command = "mdbook-treesitter"

在您的项目根目录的文件 treesitter.js 中添加此 JavaScript

let t = document.getElementsByClassName("language-treesitter");
for (let i = 0; i < t.length; i++) {
  t[i].innerHTML = t[i].innerText;
}

用法

使用常规代码块

```treesitter javascript
console.log(this.a + b + "c" + 4);
```

等等,您需要添加相关 tree-sitter 文件

  • 在 mdBook 项目的根目录中创建一个 treesitter 文件夹
  • 然后,在创建的文件夹中添加您的 language_name.so
  • 接下来,在 tree-sitter 文件夹中创建一个 language_name 文件夹
  • 最后,在里面添加您的 scm 文件

JavaScript 的示例

- My awesome mdBook/
    - book.toml
    - treesitter.js
    - book/
    - src/
    - treesitter/
        - javascript.so
        - javascript/
            - highlights.scm
            - injections.scm
            - locals.scm

   

🧃

依赖关系

~12–24MB
~348K SLoC