- astro-pagefind:构建期索引;SearchDialog 首开懒加载 + 200ms 防抖,
入口=Header 钮 + 键盘 /(P0 键位集补全)
- @astrojs/rss:posts 全量(draft 排除),双语分流留 Phase 3
- @astrojs/sitemap:sitemap-index 产出
- ArtalkComments:IntersectionObserver 进入视口才拉 Artalk.js,
pageKey=/archives/{slug}/(中英共键,评论不分裂)
验证: pnpm astro build exit 0;dist/pagefind 目录 + rss.xml +
sitemap-index.xml 三件断言过
Spec: 2026-10-24_add-blog-skeleton
Co-authored-by: GLM-5.3
28 lines
1.0 KiB
JavaScript
28 lines
1.0 KiB
JavaScript
// @ts-check
|
|
import { defineConfig } from 'astro/config';
|
|
import pagefind from 'astro-pagefind';
|
|
import sitemap from '@astrojs/sitemap';
|
|
import { execSync } from 'node:child_process';
|
|
|
|
// 构建透明(T7):commit/时间经 vite.define 注入,页脚与 /about 引用。
|
|
// 四重回退:CI 环境变量优先(GITEA_ACTIONS/GITHUB_SHA)→ 本地 git → dev 占位。
|
|
const sha =
|
|
process.env.GITEA_COMMIT_SHA ||
|
|
process.env.GITHUB_SHA ||
|
|
(() => { try { return execSync('git rev-parse HEAD').toString().trim(); } catch { return 'dev'; } })();
|
|
const date =
|
|
process.env.GITEA_COMMIT_DATE ||
|
|
process.env.GITHUB_COMMIT_DATE ||
|
|
(() => { try { return execSync('git log -1 --format=%cI').toString().trim(); } catch { return new Date().toISOString(); } })();
|
|
|
|
export default defineConfig({
|
|
site: 'https://wait4x.online',
|
|
integrations: [pagefind(), sitemap()],
|
|
vite: {
|
|
define: {
|
|
'import.meta.env.GIT_COMMIT_SHA': JSON.stringify(sha),
|
|
'import.meta.env.GIT_COMMIT_DATE': JSON.stringify(date),
|
|
},
|
|
},
|
|
});
|