文档导航
InkStack 文档开始使用

站点配置

从一个配置入口管理身份、导航、语言、时区与插件。

唯一配置入口

仓库根目录的 inkstack.config.ts 使用 defineSiteConfig() 校验配置。身份、默认语言、导航、时区和默认 origin 由此派生,不要分别在每个页面修改。

TypeScript
import { defineSiteConfig } from '@inkstack/content'

export default defineSiteConfig({
  name: 'InkStack · Eric Yuan',
  description: '以 Typst、Markdown 与 MDX 书写的纸白技术博客。',
  author: 'Eric Yuan',
  language: 'zh-CN',
  timeZone: 'Asia/Shanghai',
  origin: 'https://blog.example.com',
  navigation: [
    { href: '/archive', label: '归档' },
    { href: '/docs', label: '文档' },
    { href: '/search', label: '搜索', action: 'search' },
  ],
  plugins: [{ id: 'subscription' }],
})

配置对象拒绝未知字段。语言必须是有效 locale,时区必须可被 Intl 接受。导航内部路径以单斜杠开头;页面路径统一由 sitePath() 处理部署 base 与尾斜杠。

页面内容在哪里

修改内容位置
作者身份、导航、默认语言inkstack.config.ts
个人介绍与关注方向apps/blog/src/data/profile.ts
Markdown / MDX 文章content/markdown-posts/
Typst 文章content/typst-posts/
产品手册content/docs/
主题 token 与通用组件packages/inkstack-theme/src/
插件注册apps/blog/src/plugins/registry.ts

创作热力图从文章元数据自动生成,不需要填写周活动数组。文章可通过自己的 language 覆盖站点默认语言。

部署地址覆盖

PUBLIC_SITE_URL 覆盖 canonical origin,PUBLIC_BASE_PATH 覆盖部署路径。构建时使用,不是运行时动态设置。

Shell
PUBLIC_SITE_URL=https://blog.example.com PUBLIC_BASE_PATH=/ inkstack build
# 项目子路径站点
PUBLIC_SITE_URL=https://example.github.io PUBLIC_BASE_PATH=/InkStack inkstack build

环境变量改变后需要重新构建整份产物,不要只修改 HTML 中的链接。部署指南说明两种平台入口,手册、文章、资源与搜索均遵守同一个 base。