NexT 主题的灵魂在于它的 _config.yml —— 一千行配置换来几乎不用碰模板的定制能力。Astro 版把这份配置搬进了 src/config.ts,带完整的类型提示。本文逐段速览。
站点信息:SITE
对应 Hexo 站点配置:标题、副标题、描述、作者、语言、建站年份、每页文章数。RSS 与 SEO 所需的域名则在 astro.config.mjs 的 site 字段中设置。
布局方案:THEME.scheme
scheme: 'Gemini' as Scheme, // Muse | Mist | Pisces | Gemini
- Muse:经典单栏,居中大头部,侧栏是左下角弹出的抽屉
- Mist:紧凑单栏,头部一行排开,浅灰背景
- Pisces:双栏,侧栏固定为白色卡片
- Gemini:Pisces 加卡片阴影,本站默认
切换 scheme 只改一个单词,所有布局差异由 CSS 变量层自动完成 —— 和 NexT 在 Stylus 里的 scheme 覆盖思路一致。
菜单与图标
THEME.menu 是数组,每项含 name、url、icon,图标名取自 src/components/Icon.astro 中内置的 SVG 集合。想加「友链」页?加一行:
{ name: '友链', url: '/links/', icon: 'link' },
再在 src/content/pages/links.md 写上内容即可。
侧栏的四种显示模式
THEME.sidebar.display 复刻 NexT 的同名配置:
| 值 | 行为 |
|---|---|
post |
仅文章页出现(默认) |
always |
全站显示 |
hide |
隐藏,点按钮弹出 |
remove |
彻底移除 |
双栏方案下还可用 position: 'right' 把侧栏换到右边。
文章功能开关
THEME.post 控制:阅读全文按钮、字数统计、CC 版权声明(七种许可证可选)、打赏二维码、上下篇导航、置顶图标。全部是布尔或字符串,随手开关。
悬浮组件
返回顶部(带滚动百分比)、阅读进度条(颜色可配)、本地搜索(Ctrl + K 呼出)、GitHub 角标 —— 都在 THEME.misc。
进阶:写一个自己的页面
src/content/pages/ 下的任何 Markdown 都会生成顶层页面,例如 about.md → /about/。配合菜单配置即可无限扩展。