Obsidian 插件:HK Code Block
插件名片
概述
由 Heekang Park 开发的 Obsidian 插件;使代码块在阅读视图中看起来更好。
原文出处
下面自述文件的来源于 Readme
Readme(翻译)
下面是 hk-code-block 插件的自述翻译
HK 代码块
Obsidian 插件由 Heekang Park 开发
[ English | 한국어 ]
使用 HK CodeBlock,您可以为代码块添加各种功能。
灵感来自 Prism.js 的插件,Better Code Block,Code Block Enhancer。
特点
标题
您可以像这样为代码块添加标题。
```python title:"代码块的标题"
print("Hello world")
```
您必须将标题放在引号中。您可以使用单引号和双引号。
折叠
您必须使用标题功能才能使用折叠功能。您可以像这样折叠代码块。
```python title:"代码块的标题" collapse
print("Hello world")
```
或者像这样。
```python title:"代码块的标题" collapse:true
print("Hello world")
```
如果您想明确展开代码块,可以像这样操作。
```python title:"代码块的标题" collapse:false
print("Hello world")
```
行号
您可以像这样为代码块添加行号。
```python linenos
print("Hello world")
```
或者像这样。
```python linenos:true
print("Hello world")
```
如果您不指定任何选项,行号将从设置中设置的值开始(默认为 1)。如果您希望行号从特定值开始,可以像这样设置。
```python linenos:10
print("Hello world")
```
您还可以使用负值。
```python linenos:-10
print("Hello world")
```
如果您想明确隐藏行号,可以像这样设置。
```python linenos:false
print("Hello world")
```
行高亮
您可以使用逗号来突出显示代码块中的特定行,如下所示。
```python highlight:"2-4,8,10"
print("line 1")
print("line 2")
print("line 3")
print("line 4")
print("line 5")
print("line 6")
print("line 7")
print("line 8")
print("line 9")
print("line 10")
print("line 11")
```
您必须将行号放在引号中。您可以使用单引号和双引号。您还可以使用破折号来指定一系列行号。
如果您使用行号功能并设置行号不从 1 开始,您必须根据该行号输入要突出显示的行号。
```python linenos:10 highlight:"10,11"
print("Hello world")
print("I love you")
print("Wow")
```
语言指示器
您可以像这样将语言指示器添加到代码块中。
```python language
print("Hello world")
```
或者像这样。
```python language:true
print("Hello world")
```
默认情况下,显示的语言遵循代码块的语言,但如果您希望,可以明确指定它。在这种情况下,您可以在保持代码块语言的语法高亮的同时更改显示的语言。
```python language:"javascript"
print("Hello world")
```
您必须将语言放在引号中。您可以使用单引号和双引号。
如果既没有指定代码块的语言,也没有指定语言选项指定的语言,则显示的语言是设置中设置的值(默认值为 “plain text”)。
如果您想明确隐藏语言指示器,可以这样做。
```python language:false
print("Hello world")
```
复制按钮
您可以像这样向代码块添加一个复制按钮。
```python copybtn
print("Hello world")
```
或者像这样。
```python copybtn:true
print("Hello world")
```
如果您想明确隐藏复制按钮,可以像这样操作。
```python copybtn:false
print("Hello world")
```
您可以像这样在代码块中添加提示。
mkdir test
或者像这样。
mkdir test
如果您不指定任何选项,提示将是设置中设置的值(默认为 ”$”)。如果您想使用另一个提示,可以这样做。
mkdir test
您必须将提示放在引号中。您可以使用单引号和双引号。
如果行末尾有一个 "" 字符,提示将不会显示在下一行。
docker run -it \
ubuntu:latest
如果您想明确隐藏提示,可以这样做。
mkdir test
结果
您可以像这样向代码块添加结果。
```python
print("Hello world!")
```
```result
Hello world!
```
请注意,结果代码块必须紧接在其所属的代码块之后。您不能在它们之间放置任何其他组件。
还请注意,结果代码块不是动态生成的。结果代码块只是简单的纯文本代码块。您必须手动输入结果。
您可以在结果代码块中使用行号、行高亮等功能。即使您指定了其他功能,它们也会被忽略。
```python
print("Hello world!")
```
```result linenos
Hello world!
```
```result highlight:"1"
Hello world!
```
结果代码块的提示默认情况下是在设置中设置的值(默认为 “Result”)。如果您想使用其他提示,可以像这样设置。
```python
import random
print(random.randint(1, 100))
```
```result prompt:"Result (may be different depending on your environment)"
42
```
设置
您可以在设置中更改 HK 代码块的每个功能的默认设置。
标题
- 使用标题
- 默认关闭,但在指定时打开:只有在指定标题语句时才会显示标题
- 总是关闭:永远不会显示标题
折叠
- 使用折叠
- 始终开启:代码块始终可折叠
- 默认开启,但在指定时关闭:代码块始终可折叠,但如果指定折叠语句为 false,则不会折叠
- 默认关闭,但在指定时开启:只有在指定折叠语句为 true 时,代码块才可折叠
- 始终关闭:代码块永远不可折叠
- 默认折叠状态:代码块的默认折叠状态
行号
- 使用行号
- 始终显示:行号将始终显示
- 默认显示,但在指定时关闭:行号将始终显示,但如果指定了 linenos 语句为 false,则不会显示
- 默认关闭,但在指定时打开:只有在指定 linenos 语句为 true 时才会显示行号
- 始终关闭:行号将永远不会显示
- 默认行号起始值:代码块的默认行号起始值(默认值:1)
- 显示行号分隔符:是否显示行号分隔符(默认值:true)
行高亮
- 使用行高亮
- 默认关闭,但在指定时打开:只有在指定了行高亮语句时才会显示行高亮
- 总是关闭:永远不会显示行高亮
- 行高亮颜色:高亮行的背景颜色。请注意,给定的颜色将以 0.2 的不透明度应用。(默认值:#ff0000)
语言指示器
- 使用语言指示器
- 始终显示:语言指示器将始终显示
- 默认显示,但在指定时关闭:语言指示器将始终显示,但如果语言指示器语句指定为 false,则不会显示
- 默认关闭,但在指定时打开:只有在语言指示器语句指定为 true 时才会显示语言指示器
- 始终关闭:语言指示器将永远不会显示
- 默认语言:如果未指定语言,则代码块的默认语言名称(默认值为“纯文本”)
复制按钮
- 使用复制按钮
- 始终显示:复制按钮将始终显示
- 默认开启,但在指定时关闭:复制按钮将始终显示,但如果复制按钮语句指定为 false,则不会显示
- 默认关闭,但在指定时开启:只有在复制按钮语句指定为 true 时,才会显示复制按钮
- 始终关闭:复制按钮将永远不会显示
- 使用提示
- 始终开启:对于在“提示语言”选项中指定的语言,提示将始终显示。
- 默认开启,但在指定时关闭:对于在“提示语言”选项中指定的语言,提示将始终显示,但如果指定的提示语句为 false,则不会显示。
- 默认关闭,但在指定时开启:仅当指定的提示语句为 true 时,才会显示提示。
- 始终关闭:永远不会显示提示。
- 提示语言:默认情况下将提示的语言。您可以通过换行符分隔它们来指定多种语言。(默认值:“bash”)
- 默认提示:代码块的默认提示。(默认值:“$”)
结果
- 使用结果
- enable : 使用结果功能
- disable : 不使用结果功能
- 默认结果提示:结果代码块的默认提示。(默认值:“Result”)
开发者
- 调试模式
- true:启用调试模式。日志消息将显示在控制台中。
- false:禁用调试模式。
MIT 许可证
已知问题
- 根据您使用的主题,某些功能可能无法正常工作。
- 目前在 2023 年 2 月,我检查到以下主题可以正常工作。
- 大多数主题问题是由于主题 CSS 中使用了
!important
关键字引起的。HK Code Block 在其 CSS 中根本不使用!important
关键字,以避免与其他主题或插件发生冲突。如果您想要在这些主题中使用 HK Code Block 插件,您应该修改主题 CSS 文件,或者通过使用!important
关键字,明确提高 HK Code Block CSS 规则的优先级。
如果您发现任何错误或有任何功能请求,请在 GitHub Issues 上报告它们。谢谢!
更新日志
版本控制遵循以下规则。
- 版本 x.y.z
- x:当进行重大更改时增加(例如逻辑变更等)
- y:当新增或更改功能时增加
- z:当进行错误修复时增加
0.1.0
- 初始版本
0.2.0
- 添加功能
- 添加折叠功能
0.2.1
- Bug 修复
- 修复了多行代码块始终显示水平滚动条的问题
0.3.0
- Bug 修复
- 修复了在其他元素(例如 li)内部的代码块无法正确渲染的问题
- 新增功能
- 现在您可以在高亮语句中使用“-”符号,以便轻松地突出显示多行连续的内容。
0.3.1
- Bug 修复
- 修复了在其他元素(例如 li)内部的连续代码块的标题无法正确渲染的问题
- 修复了当代码块位于其他元素(例如 li)内部时,在代码块末尾插入额外空行的问题
0.3.2
- Bug 修复
- 为代码块添加一些 margin-top
0.4.0
- 遵循拉取请求指南的评论
- 将“使用结果”设置从下拉菜单更改为切换
- 删除
as
语句
- 等等
- 重命名文件名
0.4.1
- CSS 更新
- 使 CSS 更加明确
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。