欢迎查阅 Helian’s Blog 全组件与语法全景参考手册。
你可以把本篇文档当做日常博文写作的 组件字典与模板仓库。在这里,你可以直观查看所有组件的真实渲染效果,并直接复制对应的代码片段应用到你的新文章中。
目录索引
- 1. 基础排版与文本样式
- 2. 提示卡片(Callouts / Alerts)
- 3. 现代代码高亮系统(Shiki)
- 4. 矢量图标库(astro-icon + Iconify)
- 5. 图片优化与灯箱缩放(Medium Zoom)
- 6. 音频与音乐播放组件
- 7. 视频与多媒体嵌入
- 8. 社交媒体与帖子引用嵌入(知乎 / 小红书 / Reddit / X)
- 9. GitHub 开源项目卡片
- 10. LaTeX 数学公式排版(KaTeX)
- 11. Mermaid 矢量流程图与时序图
- 12. 任务清单、表格与折叠详情
- 13. Frontmatter 博文配置参数速查
1. 基础排版与文本样式
本站基于 Tailwind Typography 进行了细致的字阶、行距与呼吸感调优:
文本修饰与强调
- 粗体强调:
**粗体文字** - 斜体强调:
*斜体文字* 删除线:~~删除线内容~~行内代码片段:\const x = 42;“- 超链接展示:
[链接文本](URL)
引用块(Blockquote)
读书不是为了雄辩和驳斥,也不是为了轻信和盲从,而是为了思考和权衡。
—— 弗朗西斯·培根
2. 提示卡片(Callouts / Alerts)
原生支持 GitHub 与 Obsidian 风格的语义化 Callouts 提示块,帮助读者快速抓住核心信息:
提示说明(NOTE):用于补充上下文背景、技术原理或通用说明信息。
技巧建议(TIP):提供最佳实践建议,例如“推荐使用 WebP 格式以获得更快的加载速度”。
重要事项(IMPORTANT):需要读者特别注意的关键约束或必要前置条件。
警告提示(WARNING):提醒可能存在的兼容性差异、潜在风险或破坏性修改。
危险告诫(CAUTION):涉及数据丢失、私钥泄露等高危操作的明确告诫。
3. 现代代码高亮系统(Shiki)
采用 VS Code 同款的 Shiki 代码高亮引擎,支持文件名显示、行高亮、Diff 对比与一键复制代码:
文件名与行聚焦高亮
通过 file="filename" 标注文件名,通过 {line} 指定聚焦高亮行:
import { generateToken } from "@/utils/jwt";
export async function authenticate(userId: string): Promise<string> {
const secretKey = process.env.JWT_SECRET;
return await generateToken({ id: userId }, secretKey);
}auth.ts
代码修改对比(Diff)
在代码块语言后使用 diff,用 + 和 - 表示增删:
- const theme = "classic";
+ const theme = "astro-paper-minimal"; // 升级至极简现代主题astro.config.ts
多语言高亮支持(Python, Rust, Shell, JSON)
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello from Helian's Server"}server.py
# 构建静态站点并更新搜索索引
pnpm builddeploy.sh
4. 矢量图标库(astro-icon + Iconify)
无需引入字体包,构建时自动编译为内联 SVG,0 运行时客户端 JS 开销:
使用方法:
import { Icon } from "astro-icon/components";
<Icon name="lucide:sparkles" class="size-5 text-accent" />
<Icon name="tabler:brand-github" class="size-5" />
<Icon name="simple-icons:bilibili" class="size-5 text-[#00A1D6]" />
5. 图片优化与灯箱缩放(Medium Zoom)
博文内的所有图片均支持 点击全屏聚焦预览:
- 带有背景毛玻璃与暗色遮罩
- 支持滚轮缩放、双击缩放、移动端双指捏合
- 按
ESC键或点击遮罩随时平滑退出
6. 音频与音乐播放组件
网易云音乐嵌入(<NetEaseMusic />)
支持单曲与歌单卡片嵌入,无需离开博文即可在线试听(示例为川田まみ《Wings of Courage -空を超えて-》):
import NetEaseMusic from "@/components/mdx/NetEaseMusic.astro";
<!-- 传入网易云歌曲 ID(支持单曲与歌单) -->
<NetEaseMusic id="32098307" />
自定义极简音频播放器(<AudioPlayer />)
适用于播客录音、背景白噪音或自建音效文件:
import AudioPlayer from "@/components/mdx/AudioPlayer.astro";
<AudioPlayer
src="https://example.com/audio.mp3"
title="音频标题"
artist="作者/演播者"
/>
7. 视频与多媒体嵌入
哔哩哔哩(Bilibili)高清响应式视频(<Bilibili />)
自适应 16:9 比例,自动适配移动端与暗黑主题:
import Bilibili from "@/components/mdx/Bilibili.astro";
<!-- 传入 B站视频 BV 号即可 -->
<Bilibili bvid="BV1xx411c7mD" />
YouTube 极速懒加载视频(astro-embed)
采用 Facade 延迟加载技术,未点击前仅加载轻量海报,节省 1MB+ 流量:
import { YouTube } from "astro-embed";
<YouTube id="dQw4w9WgXcQ" />
8. 社交媒体与帖子引用嵌入(知乎 / 小红书 / Reddit / X)
本站支持两种社交媒体引用方式:
- 自动同步与嵌入(
astro-embed):原生支持 X (Twitter)、YouTube、LinkPreview 等,输入链接即可自动同步原帖内容与最新数据; - 多平台卡片引用(
<SocialEmbed />):专为国内外的知乎、小红书、Reddit、即刻等设计的高颜值摘要卡片。
1. 网页与博客文章动态自动同步(原生 <LinkPreview />)
自动抓取目标网站的 og:title、og:description 与高清封面配图:

import { LinkPreview } from "astro-embed";
<!-- 仅填文章链接即可自动同步网页标题、摘要与封面图 -->
<LinkPreview id="https://astro.build/blog/astro-4/" />
3. 国内外社区精选卡片(<SocialEmbed />)
知乎精选问答
小红书生活与技术随笔
Reddit 技术社区讨论
X (Twitter) 社区动态
import SocialEmbed from "@/components/mdx/SocialEmbed.astro";
<SocialEmbed
platform="zhihu"
author="知乎前端话题"
title="如何评价前端框架 Astro?"
content="Astro 是一款专注于内容驱动型网站的现代 Web 框架..."
url="https://www.zhihu.com/question/470986701"
/>
9. GitHub 开源项目卡片
在博文中推荐开源项目或展示自己的代码仓库,支持自动调用 GitHub API 实时拉取 Star 数、Fork 数与仓库描述:
Helian 的极简个人博客,基于 Astro + AstroPaper 打造,支持全量富媒体组件与 GitHub Pages 自动部署。
The web framework for content-driven websites. ⭐️ Star to support our work!
import GitHubCard from "@/components/mdx/GitHubCard.astro";
<!-- 仅填仓库名即可自动拉取 Star、Fork、语言与描述 -->
<GitHubCard repo="withastro/astro" />
<!-- 也可以自定义描述与主要语言覆盖 -->
<GitHubCard
repo="SXP-Simon/SXP-Simon.github.io"
description="Helian 的极简个人博客..."
/>
10. LaTeX 数学公式排版(KaTeX)
集成 remark-math 与 rehype-katex,支持严谨的学术与科学计算公式排版:
行内公式
行内引用如质能方程 ,以及欧拉恒等式 。
复杂多行公式与微积分
正态分布概率密度函数
麦克斯韦方程组(微分形式)
11. Mermaid 矢量流程图与时序图
在 Markdown 代码块中使用 mermaid 语言,即可自动将文本转为矢量图表,且自适应深浅色模式:
业务时序图(Sequence Diagram)
sequenceDiagram
autonumber
actor 读者 as 访客 / 读者
participant 浏览器 as 浏览器
participant 博客 as Helian's Blog
participant 部署 as GitHub Pages
读者->>浏览器: 输入 heliannuits.me
浏览器->>部署: 请求静态 HTML & 样式
部署-->>浏览器: 毫秒级返回极速页面 (0kb 多余 JS)
浏览器-->>读者: 极简优雅的阅读界面
读者->>博客: 点击图片放大 / 播放音乐 / 搜索文章
博客-->>读者: 丝滑的交互反馈
系统流程图(Flowchart)
graph TD
A["构思博文主题"] --> B{"选择写作格式"}
B -->|纯文字/笔记| C["Markdown (.md)"]
B -->|富媒体/组件交互| D["MDX (.mdx)"]
C --> E["本地运行 pnpm dev 实时预览"]
D --> E
E --> F["Git Push 触发 GitHub Actions"]
F --> G["自动发布至 heliannuits.me"]
12. 任务清单、表格与折叠详情
任务待办清单(Task List)
- 克隆 GitHub 博客仓库并配置 Git
- 搭建 Astro + AstroPaper 极简博客核心框架
- 配置作者名称为 Helian 并绑定自定义域名
heliannuits.me - 配置 GitHub Actions 自动构建部署流(
.github/workflows/deploy.yml) - 集成
astro-icon与 20万+ 矢量图标库 - 集成图片灯箱缩放、LaTeX 数学公式与 Mermaid 流程图
- 编写组件全景参考手册 Demo Page
响应式表格(Table)
| 组件分类 | 支持生态 / 方案 | 渲染机制 | 客户端性能开销 |
|---|---|---|---|
| 矢量图标 | Lucide / Tabler / Simple Icons | 构建时内联 SVG | 0 KB JS |
| 数学公式 | KaTeX / LaTeX | 服务端预编译 HTML | 0 KB JS |
| 流程图 | Mermaid.js | 客户端按需异步加载 | 极轻量 |
| 视频/音频 | Bilibili / YouTube / 网易云 | 响应式自适应 iframe / HTML5 | 懒加载 |
| 代码高亮 | Shiki (VS Code 同款) | 服务端静态生成高亮标记 | 0 KB JS |
| 全文检索 | Pagefind WASM | 静态离线生成轻量索引 | 毫秒级秒开 |
折叠详情卡片(Details / Accordion)
点击展开查看博文 Frontmatter 编写模版
---
author: Helian
pubDatetime: 2026-08-20T16:00:00Z
title: 我的新文章标题
featured: true
draft: false
tags:
- 技术
- 随笔
description: 一句话概述本文核心要点
---
从这里开始撰写正文内容...13. Frontmatter 博文配置参数速查
在每篇 .md 或 .mdx 文章顶部,可通过 Frontmatter 定义以下字段:
| 字段名称 | 类型 | 必填 | 默认值 | 详细说明 |
|---|---|---|---|---|
title | string | 是 | - | 文章主标题(显示在文章顶部与列表卡片中) |
author | string | 否 | Helian | 文章作者(未填时默认使用全局配置) |
pubDatetime | Date | 是 | - | 发布时间(格式推荐 2026-08-20T16:00:00Z) |
modDatetime | Date | 否 | null | 最近修改时间(若填写会额外显示“更新于”) |
description | string | 是 | - | 文章摘要(用于 SEO 描述、列表简介与社交卡片) |
tags | string[] | 否 | ["others"] | 文章标签列表(自动生成标签聚合页与筛选) |
featured | boolean | 否 | false | 是否置顶在首页的“精选文章”区域 |
draft | boolean | 否 | false | 是否为草稿(设为 true 时生产构建自动隐藏) |
ogImage | string | 否 | 动态生成 | 自定义社交分享封面图(若未提供会自动生成) |
hideEditPost | boolean | 否 | false | 是否隐藏文章底部的“在 GitHub 编辑此页”链接 |
欢迎随时复制本手册中的代码片段开始撰写你的新文章!