Firefly 博客官方指南

1141 字
6 分钟
Firefly 博客官方指南

目录#

  1. Markdown 基础语法
  2. 代码块与 Expressive Code
  3. Markdown 扩展功能
  4. MDX 格式文章

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
链接[text](url "title")text
图片![alt](url "title")图片
自动链接<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 转义序列渲染:

Terminal window
标准颜色: [31m红色[0m [32m绿色[0m [33m黄色[0m
256色: [38;5;82m亮绿[0m [38;5;200m亮紫[0m
24位真彩: [38;2;255;128;0m橙色渐变[0m
字体样式: [1m粗体[0m [2m暗淡[0m [3m斜体[0m [4m下划线[0m [7m反转[0m [9m删除线[0m

2.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-
ABSTRACTsummary, tldr
INFOtodo
TIPhint, important
SUCCESScheck, done
QUESTIONhelp, faq
WARNINGcaution, attention
FAILUREfail, missing
DANGERerror
BUG-
EXAMPLE-
QUOTEcite

VitePress 主题#

与 GitHub 主题相同的 5 种类型,采用现代扁平化设计风格。

Docusaurus 语法兼容#

:::note
Docusaurus 风格语法,视觉效果复用上述三种主题。
:::
:::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 格式更简洁。


本文融合自以下官方示例文章:

  1. [[markdown-tutorial]] — Markdown 基础语法教程
  2. [[code-examples]] — 代码块示例
  3. [[markdown-extended]] — 扩展功能
  4. [[mdx-example]] — MDX 格式示例

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Firefly 博客官方指南
https://firefly.cuteleaf.cn/posts/官方教学/
作者
伊月酱
发布于
2026-06-12
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Firefly
Hello, I'm Firefly.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
15
分类
8
标签
31
总字数
36,352
运行时长
0
最后活动
0 天前

文章目录