---
title: 你好，世界
desc: 小站开张：这是第一篇文章，也是 MDX 发布管线的验收单。
date: "2026-10-31"
tags: [随笔, 开场白]
---

import SectionHead from "../../components/SectionHead.astro";
import Lede from "../../components/Lede.astro";

<Lede>这是第一篇。顺手把发布管线整个验收一遍。</Lede>

小站开张。你现在看到的这页，就是这个 mdx 文件跑完 `astro build` 的产物。
所以第一篇不讲道理，直接当验收单用——文中用到的每种排版能力，都是管线的
一部分。

<SectionHead no="No.01" title="这不是普通的 Markdown" />

文件后缀是 `.mdx`：markdown 里可以直接用组件。上面那块带「No.01」的章节
标题不是截图，是正文里一行 import 引入的 `SectionHead` 组件。

## 标题、列表、引用

- 标准 Markdown 全家桶都认：标题、列表、**加粗**、[链接](https://astro.build)、`行内代码`
- 代码块带 Shiki 高亮：

```js
// 路径即地址：内容目录树就是站点树
export const u = (p) => import.meta.env.BASE_URL + p;
```

> 引用块长这样：左边一条印章红，底色微微泛红。

| 元数据来源 | 载体 | 谁在用 |
| --- | --- | --- |
| 目录 | `atlas.json` | 索引页 / 系列 |
| 单文件 | frontmatter | 每篇 mdx |

## 图片直接住进文章

![路径即地址](./hello-cover.png)

图片跟 mdx 放同一目录、相对路径引用，构建时自动走 `astro:assets` 优化，
产出带哈希的 `_astro/` 资产。`content/` 里不用另建资产目录。

### 锚点与目录

每级标题都有了自己的 `id`（悬停可见 `#`），右侧的页内目录就是从这些 id
来的。长文回头翻某一段，不用滚来滚去。

就写到这儿。下一篇见。
