# 写作指南:在文章里插入图片 / 视频 / 音频 > 适用:`content/posts/*.md`(书评与技术轨通用)。资产目录约定 + 三种媒体的写法 + 体积纪律。 ## 目录约定 ``` content/posts/ ├── my-post.md # 文章 └── assets/ └── my-post/ # 与文章 slug 同名:该篇私有资产 ├── photo.jpg ├── clip.mp4 └── voice.mp3 ``` 相对引用一律 `./assets/{slug}/文件名`,构建时 Astro 图片服务自动出多尺寸 webp。 ## 图片 标准 markdown 语法,alt 必填(无障碍 + 暗色降亮依据): ```markdown ![外滩夜景](./assets/my-post/bund.jpg) *图:外滩的傍晚* ← 紧跟媒体的斜体独立段 = 图注(居中小字) ``` - 图注可选;写法固定为 `*…*` 单独成段,紧跟图片 - 压缩纪律:入仓前长边 ≤2400px(可跑 `python3 scripts/photos_ingest.py`,对 posts 资产同样有效的思路,图片请自行用同规格压缩) ## 视频 / 音频 markdown 原生不认视音频,写 HTML 标签;**raw HTML 的相对路径不走 Astro 资产管线**(只有 `![]()` 图片语法走),所以媒体文件放 **`public/media/{slug}/`** (构建原样拷入 dist),引用用绝对路径 `/media/...`: ``` public/media/my-post/clip.mp4 ← 文件放这里 ``` ```html *片头三秒试拍* *朗读:面纱选段* ``` - `preload="metadata"` 必写(不预拖流量,只取时长/首帧) - **图注警示**:斜体图注行内不要裸写 `