mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
3801 字
10 分钟
Markdown 扩展特性
2024-05-01
2026-06-16

本文档展示 Tsukimi 支持的所有 Markdown 扩展指令。在普通 .md 文件中直接使用 :::: 语法,无需 import,无需 MDX。


GitHub 仓库卡片(::github)#

通过 GitHub API 自动拉取仓库信息,生成动态卡片。

效果:

souloss
/
Tsukimi
Waiting for api.github.com...
00K
0K
0K
Waiting...

源码:

::github{repo="用户名/仓库名"}

参数:

参数说明必填默认值
repoGitHub 仓库路径,格式 用户名/仓库名

提示框(:::note/tip/important/warning/caution)#

支持 5 种预设类型,同时兼容 GitHub 语法。

效果:

Note

即使快速浏览也应注意的信息。

Tip

帮助用户更高效完成操作的可选信息。

Important

用户成功完成操作必需的关键信息。

Warning

存在潜在风险,需立即关注的重要内容。

Caution

某操作可能导致的负面后果。

源码:

:::note
即使快速浏览也应注意的信息。
:::
:::tip
帮助用户更高效完成操作的可选信息。
:::
:::important
用户成功完成操作必需的关键信息。
:::
:::warning
存在潜在风险,需立即关注的重要内容。
:::
:::caution
某操作可能导致的负面后果。
:::

类型说明:

类型用途
note需要注意的信息
tip有用的可选建议
important成功必需的关键信息
warning潜在风险警告
caution可能导致负面后果的警告

代码分组(:::code-group)#

专用于代码块的选项卡容器,标签自动从代码块语言或 [标签名] 派生。

效果:

npm install
yarn add
pnpm add

源码:

:::code-group
```js [npm]
npm install
```
```js [yarn]
yarn add
```
```js [pnpm]
pnpm add
```
:::

参数:

参数说明默认值
[标签名]代码块元信息中指定标签名,如 [pnpm]
:active设置默认激活的代码块

字段文档(:::field/:::field-group)#

用于 API 或配置项的结构化文档展示。支持 @type@required@optional@deprecated@default@description 标签。

单个字段#

使用 :::field{名称} 展示单个字段的类型、约束和描述。

nameRequiredstring

资源的唯一标识符

字段组#

使用 ::::field-group 将多个字段排列在一起,自动添加分隔线。

portnumber

default: 3000

监听的端口号

hostDeprecatedstring

default: “localhost”

绑定的主机名(请使用 address 替代)

debugOptionalboolean

启用调试日志

源码:

:::field{name}
@type string
@required
@description 资源的唯一标识符
:::
::::field-group
:::field{port}
@type number
@default 3000
@description 监听的端口号
:::
:::field{host}
@type string
@default "localhost"
@deprecated
@description 绑定的主机名(请使用 `address` 替代)
:::
::::

标签说明:

标签说明
@type字段类型
@required标记为必填(绿色标签)
@optional标记为可选(灰色标签)
@deprecated标记为已废弃(红色标签,字段名加删除线)
@default默认值
@description字段描述

指令说明:

指令说明
:::field{名称}单个字段
::::field-group字段组容器,字段间自动添加分隔线

代码树(:::code-tree)#

左侧文件树 + 右侧代码面板的组合视图。点击文件名切换代码,点击文件夹展开/收起。

效果:

My Project

src

main.ts

app.ts

src/main.ts
import { app } from './app'
app.listen(3000, () => {
console.log('Server running on port 3000')
})
src/app.ts
import express from 'express'
export const app = express()
app.get('/', (req, res) => {
res.json({ hello: 'world' })
})

源码:

:::code-tree{title="My Project" entry="src/main.ts"}
```ts title="src/main.ts" :active
import { app } from './app'
app.listen(3000, () => {
console.log('Server running on port 3000')
})
```
```ts title="src/app.ts"
import express from 'express'
export const app = express()
app.get('/', (req, res) => {
res.json({ hello: 'world' })
})
```
:::

参数:

参数说明必填默认值
title代码树标题
entry默认激活的文件路径
height代码树容器高度
dir导入目录路径,自动扫描文件构建代码树
:active代码块元信息,标记默认激活文件

代码块的 title 属性用于构建文件树路径,以 / 分隔会自动创建文件夹层级。

从目录导入#

使用 dir 属性可以导入整个目录作为代码树,自动扫描目录下所有文件:

示例 Web 项目

README.md

package.json

src

app.ts

main.ts

utils

helpers.ts

tsconfig.json

README.md
# Sample Web Project
A minimal Express + TypeScript web server for demonstration purposes.
package.json
{
"name": "sample-web-project",
"version": "1.0.0",
"description": "A minimal web server example",
"main": "src/main.ts",
"scripts": {
"dev": "tsx watch src/main.ts",
"build": "tsc",
"start": "node dist/main.js"
},
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"typescript": "^5.3.0",
"@types/express": "^4.17.21",
"tsx": "^4.7.0"
}
}
src/app.ts
import express from "express";
import { formatDate, generateId } from "./utils/helpers";
export function createApp() {
const app = express();
app.use(express.json());
app.get("/", (_req, res) => {
res.json({
message: "Welcome to the sample web project",
timestamp: formatDate(new Date()),
});
});
app.get("/health", (_req, res) => {
res.json({ status: "ok", id: generateId() });
});
app.post("/echo", (req, res) => {
res.json({
echoed: req.body,
receivedAt: formatDate(new Date()),
});
});
return app;
}
src/main.ts
import { createApp } from "./app";
const PORT = Number(process.env.PORT) || 3000;
const app = createApp();
app.listen(PORT, () => {
console.log(`Server running at http://localhost:${PORT}`);
});
export { app };
src/utils/helpers.ts
export function formatDate(date: Date): string {
return date.toISOString().replace("T", " ").slice(0, 19);
}
export function generateId(): string {
return Math.random().toString(36).slice(2, 10);
}
export function clamp(value: number, min: number, max: number): number {
return Math.min(Math.max(value, min), max);
}
tsconfig.json
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}

折叠块(:::details/:::folders)#

基础折叠#

使用 :::details 创建可展开/收起的内容区域。

效果:

点击展开

这个内容默认展开。foldingcollapsedetails 三个指令名称效果完全相同。

源码:

:::details{title="点击展开" open="true"}
这个内容默认展开。`folding``collapse``details` 三个指令名称效果完全相同。
:::

参数:

参数说明必填默认值
title折叠块标题"Details"
open="true"默认展开
color主题色accent

多级折叠#

使用 :::folders 创建多个独立折叠面板,面板间自动添加分隔线。

效果:

第一章:基础概念

Astro 是一个内容优先的静态站点生成器。核心特点:

  1. 零 JS 默认输出
  2. 群岛架构
  3. 支持 React / Vue / Svelte
第二章:组件系统

Astro 组件使用 .astro 后缀,语法类似 HTML + JS:

---
const name = 'Astro';
---
<h1>Hello {name}</h1>
第三章:内容集合

使用 Content Collections 管理类型安全的内容。

源码:

:::folders
folder: 第一章:基础概念
Astro 是一个**内容优先**的静态站点生成器。核心特点:
1. 零 JS 默认输出
2. 群岛架构
3. 支持 React / Vue / Svelte
folder: 第二章:组件系统
Astro 组件使用 `.astro` 后缀,语法类似 HTML + JS:
```astro
---
const name = 'Astro';
---
<h1>Hello {name}</h1>
```
folder: 第三章:内容集合
使用 [Content Collections](https://docs.astro.build/zh-cn/guides/content-collections/) 管理类型安全的内容。
:::

手风琴模式#

添加 accordion 属性,同一时间只能展开一个面板。

效果:

安装

运行 npm install 安装依赖。

配置

编辑 config.json 设置偏好。

部署

运行 npm run build && npm run deploy

源码:

:::folders{accordion}
folder: 安装
运行 `npm install` 安装依赖。
folder: 配置
编辑 `config.json` 设置偏好。
folder: 部署
运行 `npm run build && npm run deploy`
:::

指令说明:

指令说明
:::details{title="标题"}单个折叠块
:::folders多个折叠面板
:::folders{accordion}手风琴模式,同时只展开一个
folder: 标题面板标题行,后跟内容

卡片网格(::::card-grid)#

使用 ::::card-grid 将多个 :::card 以响应式网格布局排列。

效果:

快速

基于 Astro 6 静态输出,页面加载极快。

现代

Svelte 5 runes 模式、Tailwind CSS 4、TypeScript。

丰富

扩展 Markdown 指令 80+,图表、交互组件一应俱全。

源码:

::::card-grid
:::card{title="快速" icon="lucide:zap" color="#22c55e"}
基于 Astro 6 静态输出,页面加载极快。
:::
:::card{title="现代" icon="lucide:code" color="#3b82f6"}
Svelte 5 runes 模式、Tailwind CSS 4、TypeScript。
:::
:::card{title="丰富" icon="lucide:bookmark" color="#a855f7"}
扩展 Markdown 指令 80+,图表、交互组件一应俱全。
:::
::::

指令说明:

指令说明
::::card-grid卡片网格容器
:::card{title="..."}单个卡片

参数:

参数说明必填默认值
title卡片标题
icon卡片图标,支持 lucide:名称 格式
color图标和主题色accent
href点击跳转链接

代码块标注(del/ins/聚焦)#

Expressive Code 内置支持行标注,通过代码块元信息指定行号。支持三种标注类型:

  • 删除行 del={行号} — 红色高亮,表示被删除的代码
  • 新增行 ins={行号} — 绿色高亮,表示新增的代码
  • 聚焦行 {行号} — 蓝色高亮,表示需要关注的行

支持行号范围,如 del={2}ins={3-4}{5-7}

行标注示例#

function getUser(id: string) {
const user = db.findUser(id)
const user = db.findById(id)
if (!user) {
throw new Error('Not found')
}
return user
}

源码:

```typescript del={2} ins={3} {5}
function getUser(id: string) {
const user = db.findUser(id)
const user = db.findById(id)
if (!user) {
throw new Error('Not found')
}
return user
}
```

diff 语法#

使用 diff 语言标识符,通过 +/- 前缀标注行,同时保留语法高亮:

const user = db.findUser(id)
const user = db.findById(id)
if (!user) {
throw new Error('Not found')
}

源码:

```diff lang="ts"
- const user = db.findUser(id)
+ const user = db.findById(id)
if (!user) {
throw new Error('Not found')
}
```

参数说明#

标注语法说明颜色
删除行del={行号}标记为删除的代码行🔴 红色
新增行ins={行号}标记为新增的代码行🟢 绿色
聚焦行{行号}需要关注的代码行🔵 蓝色
diff 语法diff lang="语言"使用 +/- 前缀标注同上

行号支持范围写法:del={2-5} 表示第 2-5 行,多个范围用空格分隔:ins={3-4} ins={8-10}


代码块折叠#

代码块支持两种折叠方式:自动折叠(超过行数阈值自动添加折叠按钮)和强制折叠(通过 collapse 标记手动指定)。

自动折叠#

当代码块行数超过配置的阈值(默认 10 行)时,自动添加折叠按钮。折叠后显示前 5 行预览,底部渐变遮罩提示可展开。

interface UserProfile {
id: string
name: string
email: string
avatar: string
bio: string
createdAt: Date
updatedAt: Date
settings: {
theme: 'light' | 'dark' | 'system'
language: string
notifications: boolean
}
}
function formatUserProfile(user: UserProfile): string {
const { name, email, bio } = user
return `${name} <${email}> — ${bio}`
}

强制折叠#

在代码块语言标识后添加 collapse,强制代码块默认折叠,无论行数多少:

package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}

源码:

```go collapse
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
```

配置项#

配置说明默认值
enable是否启用代码块折叠功能true
lineThreshold触发自动折叠的行数阈值10
previewLines折叠时显示的预览行数5
defaultCollapsed超过阈值时是否默认折叠false

配置位于 src/config/expressiveCodeConfig.tspluginCollapsible 字段。


视频播放器(:::video)#

支持本地视频、Bilibili 和 YouTube 三种视频源。

本地视频(带封面)#

通过 src 属性指定视频地址,poster 设置封面图。

Bilibili 视频#

通过 bilibili 属性指定 BV 号即可嵌入。

YouTube 视频#

通过 youtube 属性指定视频 ID 即可嵌入。

源码:

<!-- 本地视频(带封面) -->
:::video{src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4" poster="https://images.unsplash.com/photo-1490750967868-88aa4f44baee?w=800&q=80" ratio="16/9"}
:::
<!-- Bilibili -->
:::video{bilibili=BV1uT4y1P7CX ratio="16/9"}
:::
<!-- YouTube -->
:::video{youtube=dQw4w9WgXcQ ratio="16/9"}
:::

参数:

参数说明必填默认值
src本地视频 URL三选一
bilibiliBilibili BV 号(可省略 BV 前缀)三选一
youtubeYouTube 视频 ID三选一
poster封面图片 URL(仅 src 模式)
ratio宽高比16/9
width视频宽度
autoplay自动播放(需同时静音)
pip画中画模式auto

选项卡(:::tabs)#

使用 :::tabs 创建选项卡内容,支持跨组同步切换。

基础选项卡#

使用 [标签名] 语法定义每个选项卡。

pnpm add astro

yarn add astro

npm install astro

同步选项卡#

多个选项卡组可通过 sync 属性联动切换:

pnpm add @astrojs/svelte

yarn add @astrojs/svelte

npm install @astrojs/svelte

pnpm add svelte

yarn add svelte

npm install svelte

源码:

<!-- 基础选项卡 -->
:::tabs
[pnpm] pnpm add astro
[yarn] yarn add astro
[npm] npm install astro
:::
<!-- 同步选项卡 -->
:::tabs{sync="pkg"}
[pnpm] `pnpm add @astrojs/svelte`
[yarn] `yarn add @astrojs/svelte`
[npm] `npm install @astrojs/svelte`
:::

参数:

参数说明必填默认值
[标签名]选项卡标签文本
sync同步组名,相同组名的选项卡联动切换

时间线(:::timeline)#

使用 :::timeline 创建时间轴视图,展示事件序列。

效果:

  1. 项目启动,完成基础架构

  2. 首个公开版本发布

  3. 支持自定义主题和国际化

  4. 新增音乐播放器和 Live2D 看板娘

  5. 迁移至 Astro 6 + Svelte 5

源码:

:::timeline
- 2024-01 项目启动,完成基础架构
- 2024-03 首个公开版本发布
- 2024-06 支持自定义主题和国际化
- 2024-09 新增音乐播放器和 Live2D 看板娘
- 2025-01 迁移至 Astro 6 + Svelte 5
:::

格式说明:

格式说明
- 日期 描述时间线条目,日期与描述以空格分隔

步骤(:::steps)#

使用 :::steps 创建带编号的步骤指引。

效果:

1
安装依赖

运行 pnpm install 安装项目依赖。

2
配置环境

复制 .env.example.env 并填写配置。

3
启动开发服务器
pnpm dev
4
构建生产版本
pnpm build

源码:

:::steps
1. 安装依赖
运行 `pnpm install` 安装项目依赖。
2. 配置环境
复制 `.env.example``.env` 并填写配置。
3. 启动开发服务器
```bash
pnpm dev
```
4. 构建生产版本
```bash
pnpm build
```
:::

诗歌(:::poetry)#

使用 :::poetry 排版诗歌或歌词,自动保留换行和缩进。

效果:

水调歌头
苏轼

明月几时有?把酒问青天。 不知天上宫阙,今夕是何年。 我欲乘风归去,又恐琼楼玉宇,高处不胜寒。 起舞弄清影,何似在人间。

源码:

:::poetry{title="水调歌头" author="苏轼"}
明月几时有?把酒问青天。
不知天上宫阙,今夕是何年。
我欲乘风归去,又恐琼楼玉宇,高处不胜寒。
起舞弄清影,何似在人间。
:::

参数:

参数说明必填默认值
title诗歌标题
author作者

胶卷(:::reel)#

使用 :::reel 创建水平滚动的卡片容器。

效果:

Astro

内容优先的 Web 框架。

Svelte

编译型前端框架,无虚拟 DOM。

Tailwind

原子化 CSS 框架。

TypeScript

类型安全的 JavaScript 超集。

源码:

::::reel
:::card{title="Astro" icon="lucide:rocket" color="#ff5d01"}
内容优先的 Web 框架。
:::
:::card{title="Svelte" icon="lucide:component" color="#ff3e00"}
编译型前端框架,无虚拟 DOM。
:::
:::card{title="Tailwind" icon="lucide:paintbrush" color="#06b6d4"}
原子化 CSS 框架。
:::
:::card{title="TypeScript" icon="lucide:file-code" color="#3178c6"}
类型安全的 JavaScript 超集。
:::
::::

纸张(:::paper)#

使用 :::paper 创建纸张风格的容器,适合展示信件或文档。

效果:

致未来的自己:

当你看到这段文字时,希望一切安好。技术日新月异,但创造的初心不变。

—— 来自 2024 年的开发者

源码:

:::paper
致未来的自己:
当你看到这段文字时,希望一切安好。技术日新月异,但创造的初心不变。
—— 来自 2024 年的开发者
:::

引用(:::quot)#

使用 :::quot 创建带作者和来源的引用块。

效果:

Talk is cheap. Show me the code.

源码:

:::quot{author="Linus Torvalds" source="Linux 内核邮件列表"}
Talk is cheap. Show me the code.
:::

参数:

参数说明必填默认值
author引用作者
source引用来源

网格(:::grid)#

使用 :::grid 创建响应式网格布局。

效果:

左侧

网格的第一列内容。

右侧

网格的第二列内容。

源码:

::::grid{cols="2"}
:::card{title="左侧" icon="lucide:arrow-left"}
网格的第一列内容。
:::
:::card{title="右侧" icon="lucide:arrow-right"}
网格的第二列内容。
:::
::::

参数:

参数说明必填默认值
cols列数2
gap间距16(px)
minw最小列宽(自动列数时)240px
bg背景样式card

弹性布局(:::flex)#

使用 :::flex 创建弹性容器,支持方向、对齐等参数。

效果:

A

项目 A

B

项目 B

C

项目 C

源码:

::::flex{justify="center" align="center" gap="2rem"}
:::card{title="A" icon="lucide:box"}
项目 A
:::
:::card{title="B" icon="lucide:box"}
项目 B
:::
:::card{title="C" icon="lucide:box"}
项目 C
:::
::::

参数:

参数说明可选值默认值
column纵向排列truefalse
justify主轴对齐center / between / around / evenly
align交叉轴对齐start / center / end / stretch
gap间距CSS 值,如 1rem1rem

复制(:::copy)#

使用 :::copy 创建可复制的内容区域。

效果:

安装命令

源码:

:::copy{title="安装命令"}
```bash
pnpm add @astrojs/svelte
```
:::

参数:

参数说明必填默认值
title复制区标题

画廊(:::gallery)#

使用 :::gallery 创建图片画廊,点击可查看大图。

效果:

源码:

:::gallery
![风景](https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=400&q=80)
![城市](https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=400&q=80)
![自然](https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=400&q=80)
:::

终端录制(:::asciinema)#

使用 :::asciinema 嵌入终端录制回放。

效果:

源码:

:::asciinema{src="/demos/demo.cast"}
:::

参数:

参数说明必填默认值
srcasciinema 录制文件 URL(.cast 格式)
cols终端列数80
rows终端行数24

色板(:::colors)#

使用 :::colors 展示调色板或颜色列表。

效果:

#3b82f6
#22c55e
#ef4444
#f59e0b
#8b5cf6

源码:

:::colors{values="#3b82f6,#22c55e,#ef4444,#f59e0b,#8b5cf6"}
:::

参数:

参数说明必填默认值
values颜色值列表,逗号分隔

对话(:::chat)#

使用 :::chat 创建对话气泡视图,支持标题、日期分隔符和多种发送者标识。

效果:

Tsukimi 功能咨询
2025-06-17 14:30
你好!Tsukimi 支持哪些功能?
对方
它支持 Markdown 扩展指令、音乐播放器、Live2D 看板娘等丰富功能。
太棒了,怎么开始使用?
对方
查看文档即可快速上手!

源码:

:::chat{title="Tsukimi 功能咨询"}
{:2025-06-17 14:30}
{.} 你好!Tsukimi 支持哪些功能?
{对方} 它支持 Markdown 扩展指令、音乐播放器、Live2D 看板娘等丰富功能。
{.} 太棒了,怎么开始使用?
{对方} 查看文档即可快速上手!
:::

标识说明:

标识说明
{.}[自己]右侧气泡,主色调
{用户名}[用户名]左侧气泡,显示用户名
{:日期时间}居中日期分隔线
title="标题"对话框标题

npm 包(:::npm-to)#

使用 :::npm-to 展示 npm 包信息和安装命令。

效果:

npm install astro
pnpm add astro
yarn add astro
bun add astro

源码:

:::npm-to{package="包名"}
:::

参数:

参数说明必填默认值
packagenpm 包名
tabs显示的包管理器npm,pnpm,yarn,bun

卡片(:::card)#

使用 :::card 创建独立卡片,可添加标题、图标和链接。

效果:

源码:

:::card{title="Tsukimi" icon="lucide:moon" color="#a855f7" href="https://github.com/souloss/Tsukimi"}
一个功能丰富的 Astro 博客模板,支持丰富的 Markdown 扩展指令。
:::

参数:

参数说明必填默认值
title卡片标题
icon图标,支持 lucide:名称
color图标和主题色accent
href点击跳转链接

链接卡片样式(:::card with image)#

使用 :::card 指定 imagehref 属性即可生成链接预览样式的卡片。

效果:

参数:
| 参数 | 说明 | 必填 | 默认值 |
|------|------|------|--------|
| `href` | 链接地址 | ✅ | — |
| `title` | 卡片标题 | ❌ | — |
| `image` | 预览图片 | ❌ | — |
| `desc` | 描述文字 | ❌ | — |
---
## 内联指令(:指令[内容]{参数})
以下指令使用行内语法 `:指令[内容]{参数}` 在段落中直接使用。
### 文本标记(:mark)
使用 `:mark[文本]` 高亮文本,类似荧光笔效果。
这段文字中有:mark[高亮标记]和普通文本。
源码:
`````markdown
这段文字中有:mark[高亮标记]和普通文本。

参数:

参数说明必填默认值
color高亮颜色,支持 CSS 颜色名 / hexyellow

键盘按键(:kbd)#

使用 :kbd[按键] 显示键盘按键样式。

按下 Ctrl + C 复制,Ctrl + V 粘贴。

源码:

按下 :kbd[Ctrl] + :kbd[C] 复制,:kbd[Ctrl] + :kbd[V] 粘贴。

下划线(:u)#

使用 :u[文本] 添加下划线。

这是带下划线的文本

源码:

这是:u[带下划线的文本]。

着重号(:emp)#

使用 :emp[文本] 添加着重号(CJK 专用),类似日文傍点。

这是重点内容需要关注。

源码:

这是:emp[重点内容]需要关注。

波浪线(:wavy)#

使用 :wavy[文本] 添加波浪下划线。

这是波浪线标注的文本

源码:

这是:wavy[波浪线标注的文本]。

删除线(:del)#

使用 :del[文本] 添加删除线(比 ~~~~ 更灵活)。

原价 ¥99,现价 ¥49。

源码:

原价 :del[¥99],现价 ¥49。

上标与下标(:sup/:sub)#

使用 :sup[文本]:sub[文本] 添加上标和下标。

E = mc2,H2O。

源码:

E = mc:sup[2],H:sub[2]O。

彩色文字(:color)#

使用 :color[文本]{color="#hex"} 设置文字颜色。

这是红色文字蓝色文字

源码:

这是:color[红色文字]{color="#ef4444"}和:color[蓝色文字]{color="#3b82f6"}。

参数:

参数说明必填默认值
color文字颜色,支持 hex / CSS 颜色名

密码揭示与模糊遮罩(:psw/:blur)#

使用 :psw[文本] 创建密码遮罩,使用 :blur[文本] 创建模糊遮罩。点击即可揭示。

  • 密码遮罩:密码是 s3cret,点击显示
  • 模糊遮罩:hidden content,点击揭示

源码:

- 密码遮罩:密码是 :psw[s3cret],点击显示
- 模糊遮罩::blur[hidden content],点击揭示

复选框(:checkbox)#

使用 :checkbox[状态] 创建行内复选框。

  • 已完成任务
  • 待办事项
  • 另一项已完成

源码:

- :checkbox[checked] 已完成任务
- :checkbox[unchecked] 待办事项
- :checkbox[checked] 另一项已完成

单选框(:radio)#

使用 :radio[状态] 创建行内单选框。

  • 已选中选项
  • 未选中选项

源码:

- :radio[selected] 已选中选项
- :radio[unselected] 未选中选项

标签(:hashtag)#

使用 :hashtag[标签名] 创建标签样式的行内元素。

这篇文章的标签是 TypeScript Astro 前端

源码:

这篇文章的标签是 :hashtag[TypeScript] :hashtag[Astro] :hashtag[前端]。

徽章(:badge)#

使用 :badge[文本]{type="类型"} 创建行内徽章。

状态:稳定 实验性 已废弃

源码:

状态::badge[稳定]{type="tip"} :badge[实验性]{type="warning"} :badge[已废弃]{type="danger"}

参数:

参数说明必填默认值
type徽章类型,同下表blue
color自定义颜色,覆盖 type

类型说明:

type说明颜色
tip提示绿色
info信息蓝色
warning警告橙色
danger危险红色

注释(:anno)#

使用 :anno[文本](提示内容) 创建带悬浮提示的注释文本。

这个术语需要解释。

源码:

这个:anno[术语](这里是术语的解释)需要解释。

缩写(:abbr)#

使用 :abbr[缩写](全称) 创建带悬浮提示的缩写。

使用 HTML 构建 UI

源码:

使用 :abbr[HTML](HyperText Markup Language) 构建 :abbr[UI](User Interface)。

表情符号(:emoji)#

使用 :emoji[名称] 插入 emoji 表情。

我喜欢 heart 编程 rocket

源码:

我喜欢 :emoji[heart] 编程 :emoji[rocket]。

参数:

参数说明必填默认值
heightemoji 高度1.75em
sourceemoji 来源twemoji

步骤括号(:step-brackets)#

使用 :step-brackets[数字] 创建带括号的步骤编号。

1
安装 →
2
配置 →
3
部署

源码:

:step-brackets[1] 安装 → :step-brackets[2] 配置 → :step-brackets[3] 部署

文件树(:::file-tree)#

使用 :::file-tree 创建带图标的文件树视图,支持文件夹折叠和差异标记。

src

components

Header.astro

Footer.astro

pages

index.astro

config.ts

public

favicon.svg

package.json

+README.md

CHANGELOG.md

源码:

:::file-tree
- src/
- components/
- Header.astro
- Footer.astro
- pages/
- index.astro
- config.ts
- public/
- favicon.svg
- package.json
- ++ README.md
- -- CHANGELOG.md
:::

语法说明:

语法说明
- 名称/文件夹,以 / 结尾
- 文件名.扩展名文件
- ++ 新增文件差异标记:新增
- -- 删除文件差异标记:删除
- ...省略号
- 名称 # 注释行末注释

支持与分享

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

Markdown 扩展特性
https://tsukimi.souloss.cn/posts/markdown-extended/
作者
Tsukimi
发布于
2024-05-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时