代码高亮
Starlight 提供了强大的代码高亮功能,支持多种编程语言和自定义主题。
使用反引号创建行内代码:console.log('Hello World')
使用三个反引号创建代码块:
function greet(name) { return `Hello, ${name}!`;}
console.log(greet('World'));可以为代码块指定编程语言以获得更好的语法高亮:
import numpy as np
def calculate_mean(numbers): """计算数字的平均值""" return np.mean(numbers)
data = [1, 2, 3, 4, 5]print(f"平均值: {calculate_mean(data)}")/* 温暖学术风格的代码高亮 */.code-highlight { background-color: var(--color-code-bg); border: 1px solid var(--color-code-border); border-radius: var(--radius-md); padding: var(--spacing-lg);}添加 showLineNumbers 可以显示行号:
interface User { id: number; name: string; email: string;}
class UserService { private users: User[] = [];
addUser(user: User): void { this.users.push(user); }
getUserById(id: number): User | undefined { return this.users.find(user => user.id === id); }}使用 {1,3-5} 语法可以高亮特定行:
function fibonacci(n) { if (n <= 1) return n;
// 计算斐波那契数列 return fibonacci(n - 1) + fibonacci(n - 2);}
const result = fibonacci(10);console.log(result); // 输出: 55文件名和标题
Section titled “文件名和标题”可以添加文件名和标题:
---interface Props { title: string; content: string;}
const { title, content } = Astro.props;---
<div class="card"> <h2>{title}</h2> <p>{content}</p></div>Starlight 支持以下常见编程语言的语法高亮:
- Web: HTML, CSS, JavaScript, TypeScript
- 后端: Python, Java, C#, Go, Rust
- 数据: SQL, JSON, YAML, Markdown
- 配置: Docker, Nginx, Apache
- 其他: Bash, PowerShell, Regex
代码高亮主题与整体设计风格保持一致,采用温暖学术风格的配色方案。
- 背景色:温暖的浅色调
- 关键字:深棕色强调
- 字符串:温暖的橙色系
- 注释:柔和的灰色
- 选择正确的语言:确保指定了正确的编程语言
- 代码简洁:保持代码块简洁,专注于演示核心概念
- 添加注释:为复杂代码添加必要的注释
- 合理高亮:有选择地高亮关键行,避免过度使用
通过合理使用代码高亮功能,可以让技术文档更加清晰易懂。