510 字
3 分钟
高亮与差异标记
Shirone 支持对代码块中的特定行进行行高亮、新增行(insert)与删除行(delete)的视觉差异标记。
行高亮(行号范围)
在代码围栏首行通过 {1,3-5} 指定需要高亮的行号:
```typescript {2,4-5} title="src/index.ts"function setup() { const isEnabled = true; // 第 2 行高亮 const count = 0; console.log("初始化完成"); // 第 4-5 行高亮 return count;}```渲染效果:
function setup() { const isEnabled = true; // 第 2 行高亮 const count = 0; console.log("初始化完成"); // 第 4-5 行高亮 return count;}行号表达式支持逗号分隔的离散行({2,7})与连字符区间({4-8}),两者可以混写。
差异标记(ins / del)
使用 ins={...} 标记新增行(绿色背景),del={...} 标记删除行(红色背景):
```typescript ins={3} del={2} title="更新配置"export const siteConfig = { themeColor: 210, // 旧配置 themeColor: 315, // 新配置};```渲染效果:
export const siteConfig = { themeColor: 210, // 旧配置 themeColor: 315, // 新配置};两个属性也可以同时传入多行,并与行高亮叠加使用:
```ts ins={4-5} del={1} {4} title="src/site.ts"const themeColor = 210;export const siteConfig = { base: '/', themeColor: 315, trailingSlash: 'always',};```渲染效果:
const themeColor = 210;export const siteConfig = { base: '/', themeColor: 315, trailingSlash: 'always',};原生 Diff 代码块
也可以直接使用 diff 语言标识并以 + 和 - 作为行首字符:
```diff title="git diff"- const oldVersion = "1.0.0";+ const newVersion = "2.0.0";```渲染效果:
const oldVersion = "1.0.0";const newVersion = "2.0.0";Diff 代码块完整保留标准 diff 语义,@@ 段落头、上下文行与 +/- 行都会被正确着色。
标记方式对照
| 写法 | 视觉结果 | 适用场景 |
|---|---|---|
{2,4-5} | 中性行高亮背景 | 强调阅读重点 |
ins={3} | 新增行配色 | 展示新增代码 |
del={2} | 删除行配色 | 展示被移除的代码 |
```diff | 完整 diff 着色 | 展示 git diff 原始输出 |
Markdown 语法
已完结分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
最后更新于 ,距今已过 8 天
部分内容可能已过时
评论