3个版本
新 0.1.5 | 2024年8月23日 |
---|---|
0.1.4 | 2024年8月12日 |
在文本处理中排名第398
每月下载量528次
21KB
165行
mdbook-hints
mdBook预处理器,用于向您的书籍添加悬停提示(工具提示)。支持Markdown。
使用方法
- 使用
cargo install mdbook-hints
命令安装二进制文件 - 将
hints.css
和hints.js
从/theme/
复制到书籍的/theme/
目录 - 如以下所示更新
additional-css
和additional-js
在book.toml
中
[output.html]
-additional-css = []
+additional-css = ["./theme/hints.css"]
-additional-js = []
+additional-js = ["./theme/hints.js"]
- 在
book.toml
中添加以下行
[preprocessor.hints]
- 在
/theme/index.hbs
文件中在自定义JS脚本之前添加以下行
<!-- Here -->
<script src="https://unpkg.com/@popperjs/core@2"></script>
<script src="https://unpkg.com/tippy.js@6"></script>
<!-- Custom JS scripts -->
- 在书籍根目录中创建
hints.toml
文件(与book.toml
相同的目录)
现在您可以添加提示
# hints.toml
[cat]
hint = "A cat is a small, independent, domesticated feline known for its playful and sometimes mysterious nature. *meow*"
<!-- my-chapter.md -->
My friend has a [kitty](~cat) with 4 legs.
在!
符号后添加~
将使提示消失(仅提示,[]
括号中的文本仍将显示)
[this pizza hint won't show](~!pizza)
如果在Markdown中指定了提示,但它不会出现在hints.toml
中,则提示将被忽略,但[]
括号中的文本仍将显示(与[](~!ignored)
相同)
$ mdbook build
2024-08-08 20:03:53 [INFO] (mdbook::book): Book building has started
-----
Hint for `non-existent-hint` (general/main.md) is missing in hints.toml!
-----
2024-08-08 20:03:53 [INFO] (mdbook::book): Running the html backend
[!NOTE]
Markdown被转换为未转义HTML,因此只有可信赖的用户才能访问hints.toml
文件。如果您想禁用工具提示的HTML支持,这将破坏Markdown注释,您可以在/theme/index.js
中这样做。
工作原理/如何自定义
预处理器本身只是将文本包装成带有hint类和标识符值的hint属性的span,并在/src/
目录中创建hints.json
文件。所以这个输入
[meow meow meow](~cat)
生成以下HTML
<span class="hint" hint="cat">meow meow meow</span>
其余所有内容均由 /theme/hints.js
使用在 /theme/index.hbs
文件中添加的 Tippy.js 库进行管理。样式在 /theme/hints.css
文件中定义。
待办事项
- 自动提示指定的单词
- 添加对自定义类的支持
依赖关系
~13-24MB
~354K SLoC