astro-distro
Astro / 作品集 · 作者 ansango
用两个 YAML 驱动、从 GitHub 同步项目数据的 fastfetch 风格终端作品集模板,内置 26 套发行版配色。
使用许可与条件
免费使用 · 保留许可声明
MIT许可,可免费使用、修改、分发与商用,仅需保留版权与许可声明。
使用时需要遵守
- 保留原作者版权声明和 MIT 许可证声明。
- 保留版权声明与许可声明
需要另行核对
- README未说明ASCII logo、字体等第三方素材的授权情况
查看原文依据
Permission is hereby granted, free of charge, to any person obtaining a copy
许可证原文
https://github.com/ansango/astro-distro/blob/main/LICENSEhttps://github.com/ansango/astro-distro/blob/HEAD/README.mdPermission is hereby granted, free of char
许可证原文
DeepSeek 根据仓库许可证和 README 整理 · 2026-09-24。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

模板详细介绍
astro-distro 把个人作品集做成 fastfetch/neofetch 风格的终端界面:页面按 btop、lazygit、mutt、ranger 这类 TUI 分区组织硬件信息、简介、联系方式和项目树。内容几乎全部来自 src/data.yml 与 src/systems.yml 两个 YAML 文件,构建时由 scripts/sync.ts 合并 GitHub 仓库元数据生成 config.json,该文件被 gitignore,仓库里只保留可复现的配置源。
比较有辨识度的是 26 套发行版配色(arch、debian、nixos、kali 等),每套在 systems.yml 里定义调色板、内核、shell、DE、WM、字体和 ASCII logo,可从页头切换。项目列表读取 data.yml 中的 GitHub 仓库 URL,带缓存与 TTL 控制,设置 GH_TOKEN 可把 API 限流从 60/h 提到 5000/h。技术栈为 Astro 静态生成、Tailwind CSS 4、Bun 运行时与 YAML 解析、Biome 检查,CI 在 data 文件变更或双周定时任务时构建。
适合愿意维护 YAML、想要非传统卡片式作品集的开发者。需要注意:项目数据依赖 GitHub API,未配置 token 时容易触发限流;config.json 由脚本生成,不应手改;主题与内容均需自行替换,OG 图和 apple-touch-icon 也要自备。README 未说明浏览器兼容范围与无障碍支持,上线前建议自行核对。
主要特点
- fastfetch/neofetch 风格终端界面,按 btop、lazygit、mutt、ranger 分区组织内容
- 26 套发行版配色方案,可在页头切换,每套含调色板、shell、WM、字体与 ASCII logo
- 仅 src/data.yml 与 src/systems.yml 两个 YAML 为手动配置源,config.json 生成后 gitignore
- sync.ts 从 GitHub 拉取项目元数据,支持缓存 TTL、mtime 跳过与 GH_TOKEN 提升限流
- Astro + Tailwind CSS 4 + Bun + Biome,GitHub Actions 在 data 变更或双周定时构建
适用场景
- 开发者个人作品集,希望以终端/TUI 风格而非常规卡片布局展示
- 项目列表需要从 GitHub 自动同步星标、描述与更新时间的场景
- 喜欢用 YAML 集中管理站点文案、硬件信息与联系方式的内容维护方式
适合人群
- 熟悉 Astro 或愿意阅读 YAML 配置的前端开发者
- 能自行配置 GitHub token、理解构建期数据同步流程的使用者
- 偏好 Linux 发行版视觉文化、需要多主题切换的站点
使用前需要核对
- 克隆或 fork 后编辑 src/data.yml 的 site、about、contact、projects 等区块
- 按需增删 src/systems.yml 中的发行版条目,保留或替换 26 套配色
- 替换 public/og.png(1200×630)与 apple-touch-icon.png,并核对 robots.txt
- 可选在 .env 中设置 GH_TOKEN 提升 GitHub API 限流;SYNC_TTL、SYNC_FORCE 控制缓存行为
- 运行 bun install && bun run dev;config.json 由 sync 脚本生成,不要手动编辑