# Blog **Repository Path**: gitgreat/blog ## Basic Information - **Project Name**: Blog - **Description**: 个人博客,开放预览, - **Primary Language**: JavaScript - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://www.sofile.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-26 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # npc.ink Astro Blog 使用 Astro、Markdown/MDX 和 Git 维护的 npc.ink 内容站。WordPress、WXR 和数据库仅用于迁移证据与只读核对,不进入构建或线上请求链路。 ## 当前状态 - [迁移当前状态](./docs/npcink-migration/CURRENT.md) - [迁移规范与文档导航](./docs/npcink-migration/README.md) - [仓库产物分层](./docs/npcink-migration/ARTIFACTS.md) - [产品与视觉设计规范](./docs/site-design/README.md) 当前仓库是生产发布前候选,不代表 `www.npc.ink` 已部署或完成生产验收。生产域名、canonical、DNS、公开部署、410 上线、数据库/OSS 写入和旧站退役均需要单独明确授权。 ## 环境 - Node.js 22.22.3 - pnpm 10.12.4(以 `packageManager` 和 CI 配置为准) ```bash pnpm install --frozen-lockfile ``` ## 常用命令 | 命令 | 用途 | | --- | --- | | `pnpm dev` | 本地开发;不生成 Pagefind 索引 | | `pnpm build` | 构建静态站并生成 Pagefind 索引 | | `pnpm build:npcink-staging` | 以 `blog.npc.ink` canonical 构建 noindex staging 站点并保留搜索 | | `pnpm npcink:staging:validate` | 验证 staging 的内容范围、noindex、robots、canonical 和 Pagefind | | `pnpm preview` | 预览最近一次构建产物 | | `pnpm search:preview` | 重新构建后验收完整搜索 | | `pnpm npcink:dev` | 按 npc.ink 本地开发约束启动站点 | | `pnpm npcink:content:lint` | 检查 Markdown 的确定性语法问题 | | `pnpm npcink:release:report -- --dist=dist` | 从当前 manifest 和隔离构建生成发布候选报告 | | `pnpm npcink:workbench:receipt:validate` | 校验 Workbench -> Git 同步 receipt 契约 | | `pnpm check` | 运行 Astro 类型与模板诊断 | | `pnpm verify` | 运行合并前完整工程与迁移门禁 | | `pnpm test:e2e` | 运行桌面和移动端关键交互回归 | ## 主要目录 ```text src/ Astro 页面、组件、样式和正式内容 scripts/npcink-migration/ 迁移、审计和验证脚本 migration/npcink/ 契约、manifest、批次收据和审计证据 archive/ 不参与当前构建的历史迁移材料 docs/npcink-migration/ 当前状态、长期规范、ADR 和历史收口 docs/site-design/ 站点界面设计决策 public/poc/ 仅供本地 PoC/审核使用的历史材料 ``` 迁移目录的事实源、证据、历史工作区和可再生产物边界见 [ARTIFACTS.md](./docs/npcink-migration/ARTIFACTS.md)。 ## 验证边界 构建成功、HTTP 200 或预览可访问,只证明对应本地检查通过。发布候选、预览部署、生产切换、观察期和最终人工验收是不同阶段,不得互相替代。