forked from ParadigmEducation/snowflake-notes
c38606d675b4c47b90123389a84975f523d4af73
内部学习博客(Astro + TypeScript)
基于 Astro 构建的内部学习博客。目标:严格 TypeScript、统一格式化、内容可扩展(不仅 Markdown/MDX),图片优先使用外部 OSS。
快速开始
- 要求:Node >= 20,包管理器使用 pnpm
- 安装依赖:
pnpm install - 启动开发:
pnpm dev
常用脚本:
- 构建:
pnpm build;预览:pnpm preview - 代码检查:
pnpm lint;类型检查:pnpm typecheck - 格式化:
pnpm format
内容与结构
- 文章与集合:
src/content/(示例:src/content/posts/hello-world.mdx) - 页面与布局:
src/pages/、src/layouts/ - 通用组件:
src/components/(如Img.astro支持外部图床) - 内容扩展抽象:
src/lib/content/(为未来 Typst 等格式预留)
配置
PUBLIC_MEDIA_BASE_URL:外部图床前缀(避免图片入库)PUBLIC_SITE_URL:站点地址(可选,用于 canonical 等)
约定
- 严格 TypeScript:禁止 any,导出函数需显式返回类型
- 统一格式化:Prettier(含 Astro/Markdown/MDX)
- 图片默认不入库,建议走外部 OSS
更多细节与约定见 AGENTS.md。
Description
Languages
Astro
40.6%
CSS
20.3%
TypeScript
19.3%
JavaScript
17.3%
MDX
2.5%