Firefly 博客官方指南
1141 字
6 分钟
Firefly 博客官方指南
目录
1. Markdown 基础语法
来源:[[markdown-tutorial]]
Firefly 完整支持 CommonMark 与 GFM(GitHub Flavored Markdown)规范。
1.1 块级元素
段落与换行
段落之间用空行分隔,段内换行在行末添加两个空格。
标题
支持两种写法:
# ATX 风格标题(推荐)###### 最多支持六级
Setext 风格标题================(h1 用 =)Setext 风格标题----------------(h2 用 -)引用块
> 单层引用>> > 嵌套引用>> 引用中可以包含 **Markdown** 语法、列表、代码块等。列表
- 无序列表(*、+、- 均可)- 嵌套列表 - 子项
1. 有序列表2. 第二项 1. 嵌套有序列表注意:数字后紧跟
.可能被误识别为有序列表(如1986.),需转义为1986\.。
代码块
```javascript// 带语法高亮的围栏代码块console.log('Hello Firefly!');```
// 缩进式代码块(4空格或1Tab) indent code here表格
| 左对齐 | 居中对齐 | 右对齐 || :----- | :------: | -----: || cell | cell | cell |水平分割线
---***___1.2 行内元素
| 元素 | 语法 | 效果 |
|---|---|---|
| 斜体 | *text* 或 _text_ | text |
| 粗体 | **text** 或 __text__ | text |
| 行内代码 | `code` | code |
| 删除线 | ~~text~~(GFM) | |
| 链接 | [text](url "title") | text |
| 图片 |  | 图片 |
| 自动链接 | <https://example.com> | 自动生成链接 |
参考式链接
[链接文本][id]
[id]: https://example.com "可选标题"1.3 转义字符
以下字符可用反斜杠转义:
\ ` * _ { } [ ] ( ) # + - . !1.4 内嵌 HTML
Markdown 中可直接使用 HTML 标签:
- 块级标签(如
<div>)内部的 Markdown 语法不会被解析 - 行内标签(如
<span>)内部的 Markdown 语法正常解析
2. 代码块与 Expressive Code
来源:[[code-examples]]
Firefly 集成 Expressive Code,提供强大的代码展示能力。
2.1 语法高亮
支持所有主流语言的语法高亮,以及 ANSI 转义序列渲染:
标准颜色: [31m红色[0m [32m绿色[0m [33m黄色[0m256色: [38;5;82m亮绿[0m [38;5;200m亮紫[0m24位真彩: [38;2;255;128;0m橙色渐变[0m字体样式: [1m粗体[0m [2m暗淡[0m [3m斜体[0m [4m下划线[0m [7m反转[0m [9m删除线[0m2.2 编辑器与终端框架
```js title="config.js"// 自动显示为编辑器框架(带文件名标签)```
```bash title="安装依赖"npm install```
```text frame="none"// frame="none" 隐藏框架```2.3 行标记与文本标记
```js {1, 3-5} mark={2} ins={6} del={7}// 支持按行号标记// mark - 高亮行// ins - 插入行(绿色)// del - 删除行(红色)```还支持:
- Diff 语法:
+标记新增,-标记删除 - 行内文本标记:用
// [!code highlight]等指令标记具体文本 - 标签标注:为标记行添加自定义标签
- 正则匹配:用正则表达式匹配并标记文本
2.4 自动换行与折叠
```js wrap=true preserveIndent=true// 自动换行 + 保持缩进```
```js collapse={2-10}// 折叠指定行范围```2.5 行号控制
```js showLineNumbers=false// 隐藏行号```
```js startLineNumber=42// 从第 42 行开始编号```3. Markdown 扩展功能
来源:[[markdown-extended]]
3.1 GitHub 仓库卡片
::github{repo="CuteLeaf/Firefly"}页面加载时自动从 GitHub API 获取仓库信息,展示为精美卡片。
3.2 提示框 / 告示框(Admonitions)
Firefly 支持三种主题风格,配置于 src/config/siteConfig.ts:
GitHub 主题
> [!NOTE]> 这是注释
> [!TIP]> 自定义标题> 这是提示
> [!IMPORTANT]> 这是重要信息
> [!WARNING]> 这是警告
> [!CAUTION]> 这是注意Obsidian 主题(最丰富)
支持全部类型与别名:
| 类型 | 别名 |
|---|---|
| NOTE | - |
| ABSTRACT | summary, tldr |
| INFO | todo |
| TIP | hint, important |
| SUCCESS | check, done |
| QUESTION | help, faq |
| WARNING | caution, attention |
| FAILURE | fail, missing |
| DANGER | error |
| BUG | - |
| EXAMPLE | - |
| QUOTE | cite |
VitePress 主题
与 GitHub 主题相同的 5 种类型,采用现代扁平化设计风格。
Docusaurus 语法兼容
:::noteDocusaurus 风格语法,视觉效果复用上述三种主题。:::
:::tip 自定义标题带自定义标题的提示框。:::3.3 剧透文本
:spoiler[这是隐藏内容,鼠标悬停可见]支持内部 Markdown 格式化。
3.4 图片画廊网格
[grid]图片1图片2图片3[/grid]最多支持 4 张图片并排显示,自动高度匹配,支持灯箱放大查看。
4. MDX 格式文章
来源:[[mdx-example]]
Firefly 同时支持 .md 和 .mdx 格式。MDX 允许在 Markdown 中使用 JSX 和组件导入。
4.1 MDX vs Markdown
| 特性 | Markdown (.md) | MDX (.mdx) |
|---|---|---|
| 基础语法(CommonMark) | ✅ | ✅ |
| HTML 标签 | ✅ | ✅ |
| 组件导入 | ❌ | ✅ |
| 动态数据 | ❌ | ✅ |
| 样式定制 | 基础 | 完整 |
4.2 使用组件
import { Icon } from 'astro-icon/components'
<Icon name="rocket" class="w-6 h-6 text-blue-500" />4.3 JSX 表达式
export const year = new Date().getFullYear()
当前年份是 {year}4.4 自定义样式
<div className="bg-blue-100 p-4 rounded-lg"> 注意:MDX 中使用 `className` 而非 `class`</div>建议:如果不需要组件和动态数据,优先使用
.md格式更简洁。
本文融合自以下官方示例文章:
- [[markdown-tutorial]] — Markdown 基础语法教程
- [[code-examples]] — 代码块示例
- [[markdown-extended]] — 扩展功能
- [[mdx-example]] — MDX 格式示例
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!