Soak主题代码高亮语法介绍
2024年08月18日
计算机
759字

Soak 主题会自动识别并高亮显示代码块中的内容。
这是一个最基础的代码高亮显示:

fn main() {
println!("Hello World!");
}

你可以在上面加个标题,类似这样:

素数判断.js
function isPrime(n) {
if (n <= 1) return false;
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) return false;
}
return true;
}

当遇到带有通常用于终端会话或 shell 脚本的语言标识符的代码块时,它还会自动显示成另外一种样式:

PowerShell脚本举例
function Watch-Tail { Get-Content -Tail 20 -Wait $args }
New-Alias tail Watch-Tail

当你想突出显示出某一行,或者某一片区域时,它也是支持的:

交换两个字符串函数.go
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("Google", "Runoob")
fmt.Println(a, b)
}

还支持标记语法(markinsdel),默认情况下,所有目标行都将使用标记类型 mark,该标记以中性颜色呈现,仅突出显示行,而不为其添加任何语义含义。

还有两种其他标记类型可用于为您的行添加语义含义:ins(插入)和del(删除)。它们分别以绿色和红色呈现,通常用于指示代码的更改。

line-markers.js
function demo() {
console.log('该行被标记为已删除')
// 这线和下一行被标记为插入
console.log('这是第二个插入线')
return '该行使用中性默认标记类型'
}

又或者你想在标记处放上自己的标签,这也是可以的:

labeled-line-markers.jsx
<button
role="button"
{...props}
value={value}
className={buttonClassName}
disabled={disabled}
active={active}
>
{children &&
!active &&
(typeof children === 'string' ? <span>{children}</span> : children)}
</button>

您还可以使用diff语言,而不是在开放代码围栏上添加行号。 将开头代码围栏中的语言设置为diff,然后在任何行的第一列中添加+- 标记:

function thisIsJavaScript() {
console.log('要删除的旧代码')
console.log('新的闪亮代码!')
}

还有突出标记字符功能:

function demo() {
// Mark any given text inside lines
return 'Multiple matches of the given text are supported';
}
console.log('The words yes and yep will be marked.')
function demo() {
console.log('These are inserted and deleted marker types');
// The return statement uses the default marker type
return true;
}

强制不显示行号:

// Line numbers are disabled for this block
console.log('Hello?')
console.log('Sorry, do you know what line I am on?')

修改起始行号:

console.log('Greetings from line 5!')
console.log('I am on line 6')

折叠代码行:

折叠代码行.js
此处折叠代码 2 行
import { someBoilerplateEngine } from '@example/some-boilerplate'
import { evenMoreBoilerplate } from '@example/even-more-boilerplate'
const engine = someBoilerplateEngine(evenMoreBoilerplate())
engine.doSomething(1, 2, 3, calcFn)
function calcFn() {
此处折叠代码 3 行
const a = 1
const b = 2
return a + b
}
# Markdown
# 代码高亮
# Soak
作者信息:admin
发表于:2024年08月18日