Astro启动器

airy-personal-page — Astro 启动器模板

作者 ifeevel

基于 Astro 的极简个人引导页启动器,使用 config/site.yaml 配置站点信息,支持暗色模式与响应式布局。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

1 个预览视图
作者提供的预览
作者提供的预览

来自项目 README 的原始预览。

目前有 1 张原始预览,可打开完整图片查看设计细节。

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-04查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

基于 Astro 构建,默认不输出 JavaScript 运行时

02

使用 config/site.yaml 集中管理站点配置与导航链接

03

局部复杂交互通过 Preact 岛屿组件实现

04

内置暗色模式,支持跟随系统或手动切换并持久化偏好

05

内容页面采用 Bento Grid 布局,支持可配置内容模块

06

全站使用 TypeScript,提供类型定义与路径映射

模板详细介绍

Airy Personal Page 是一个基于 Astro 的个人引导页模板,项目类型为启动器。页面核心由 Astro 组件构成,局部复杂交互使用 Preact 岛屿组件,全站使用 TypeScript。导航链接、站点配置与内容数据集中在 config/site.yaml 中,修改后即可生效。

模板内置暗色模式,可跟随系统或手动切换,并通过本地持久化记录偏好;布局针对移动端、平板与 PC 做响应式适配;内容页面采用 Bento Grid 风格,支持可配置的内容模块。项目结构遵循 Astro 标准目录规范,包含布局、组件、样式、类型与工具函数等目录。

构建产物为静态文件,可部署到静态托管服务。README 中说明 Node.js 需 v18.20.8 或更高版本,使用 npm 安装依赖,开发服务器默认运行在 4321 端口。Astro 的 View transitions 默认未启用,需要按文档自行配置。

Astro启动器

适合你的项目吗?

适用场景

  • 搭建个人主页或导航引导页
  • 作为 Astro 静态站点项目的起步模板
  • 需要暗色模式与响应式布局的个人站点
  • 在静态托管服务上部署纯静态个人页面

适合人群

  • 希望用配置文件快速定制个人页面的开发者
  • 熟悉 Astro 或愿意学习 Astro 的前端开发者
  • 需要静态输出并部署到 GitHub Pages、Vercel、Netlify 或 Nginx 的用户
  • 偏好 TypeScript 开发体验的项目

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node.js v18.20.8 或更高版本,并使用 npm 安装依赖

  2. 2

    运行 npm run dev 启动本地开发服务器,默认访问 http://localhost:4321

  3. 3

    运行 npm run build 生成静态产物到 dist/ 目录

  4. 4

    站点标题、描述、公告等信息在 config/site.yaml 中修改

  5. 5

    View transitions 默认未启用,需参考 Astro 文档取消相关注释并配置

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
Astro Themes
资料与维护参考分
资料较完整 · 83 / 100
技术栈
Astro
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-07-17
截图检查日期
2026-10-04

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-05

查看当时使用的来源资料

SHA-256: 073842c4b6660ec6cc1165d03fbdbd429f271ddea50fbabd2fa1236efac4b8e5

2026-10-04T23:10:01.123Z

来源文件 / 仓库
# Airy Personal Page

一个极简、优美且高性能的个人引导页,专为现代 Web 打造。

<p align="center">
  <span>简体中文</span> | <a href="README.en.md">English</a>
</p>

<p align="center">
  <img alt="Astro" src="https://img.shields.io/badge/Astro-5.x-BC52EE?style=flat-square&logo=astro&logoColor=white">
  <img alt="Preact" src="https://img.shields.io/badge/Preact-10.x-673AB8?style=flat-square&logo=preact&logoColor=white">
  <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-5.x-3178C6?style=flat-square&logo=typescript&logoColor=white">
  <img alt="Zero JS" src="https://img.shields.io/badge/Zero--JS-runtime-2EA44F?style=flat-square">
  <img alt="License" src="https://img.shields.io/badge/license-MIT-blue?style=flat-square">
</p>

<p align="center"><img src="show/SCR-20260209-meeq.png" width="50%"><img src="show/SCR-20260209-mjwj.png" width="50%"></p>
<p align="center"><img src="show/SCR-20260209-mmyw.png" width="50%"><img src="show/SCR-20260209-mzdq.png" width="50%"></p>

## 🛠️ 技术栈

- **Astro 5.0+**: 现代高性能 Web 框架,默认零 JS 运行。
- **Preact**: 轻量级 React 替代方案,用于处理复杂的客户端交互岛屿。
- **TypeScript**: 全站使用 TypeScript 提供更可靠的开发体验和类型安全。

## ✨ 项目特性

- **现代架构**: 基于 Astro 5.0+ 构建,零 JavaScript 运行时(Zero-JS),首屏加载极快。
- **混合组件化开发**: 核心页面采用 Astro 极致性能,局部复杂交互通过 **Preact (TSX) 岛屿** 实现,兼顾开发效率与运行性能。
- **配置化驱动**: 导航链接、站点配置、内容数据均由 `config/site.yaml` 承载,修改即生效。
- **暗色模式支持**: 内置深色主题,支持跟随系统或一键切换,并本地持久化记录偏好。
- **响应式设计**: 针对移动端、平板、PC 进行响应式优化,确保跨端体验一致。
- **Bento 布局**: 内容页面采用现代 Bento Grid 风格设计,支持可配置化的内容模块,兼具秩序感与美感。

## 📂 项目结构

项目遵循 Astro 的标准目录规范,核心逻辑位于 `src/` 目录下:

```text
├── src/
│   ├── assets/             # 静态资源 (图片、字体)
│   ├── components/         # 组件
│   │   ├── common/           # 通用 Preact 岛屿组件
│   │   ├── layout/           # 布局组件
│   │   └── theme/            # 主题切换组件
│   ├── constants/          # 常量定义 (运行时枚举、映射)
│   ├── layouts/            # 布局组件 (页面骨架)
│   ├── pages/              # 页面路由 (文件名即路径)
│   ├── styles/             # 全局样式 (CSS)
│   ├── types/              # 类型定义 (全局 TypeScript 定义)
│   ├── utils/              # 工具函数
│   └── content.config.ts   # 内容配置 (Astro)
├── public/                 # 静态资源 (图片、favicon)
├── config/                 # 配置文件
│   └── site.yaml           # 站点信息配置
├── astro.config.mjs        # Astro 配置文件
├── tsconfig.json           # TypeScript 配置 (支持 JSX 路径映射)
├── package-lock.json       # 项目依赖管理锁定文件
└── package.json            # 项目依赖管理
```

## 🏗️ 架构说明

### 1. 组件系统 (Components)
本项目采用了 Astro 的标准组件模式:
- **BaseLayout**: 这是所有页面的“外壳”。它统一管理了 `<body>` 结构,包含主题切换组件以及 `BaseFooter`组件。
- **SplitLayout**: 分栏布局组件,可配置左右分栏比例,支持 Banner 和自定义内容插槽注入。
- **BaseHead**: 独立的头部组件。封装了 SEO Meta、Favicon、viewport 设置等通用逻辑,包含极小的 Inline JS 以防止页面闪烁,并支持插槽注入。
- **BaseFooter**: 独立的页脚组件,并针对分栏布局进行了适配。
- **ThemeToggle**: 独立的主题切换逻辑。
- **Preact Islands**: 对于涉及复杂状态管理的交互,使用 Preact 驱动的岛屿组件(`.tsx`),通过 `client:*` 指令实现局部水合。
  - **Announcement**: 全局公告组件(Preact 岛屿)。基于 `site.yaml` 配置,支持多条公告轮播、语义化颜色(Info/Success/Warning/Error)以及基于 `localStorage` 的用户消除状态持久化。

### 2. 样式管理 (Styling)
| 文件 | 职责 |
|------|------|
| `src/styles/global.css` | 全局样式入口,导入基础样式 |
| `src/styles/base/*.css` | CSS Reset、全局字体、主题颜色等基础组件样式 |
| `src/components/*.css` | 组件样式 |

## 🚀 构建指南

### 前置要求
- Node.js (v18.20.8 或更高版本)
- npm

### 1. 安装依赖
```bash
npm install
```

### 2. 启动本地开发服务器
```bash
npm run dev
```
访问 `http://localhost:4321` 即可预览。

### 3. 构建生产版本
```bash
npm run build
```
构建产物将生成在 `dist/` 目录下,可直接部署到任何静态托管服务(Vercel, Netlify, GitHub Pages, Nginx 等)。

## 🎨 定制指南

想要把这个主页改成你自己的?非常简单:
1. **修改站点配置**: 编辑 `config/site.yaml`,更新站点标题、描述、公告等信息。
2. **调整样式**: 如果需要个性化样式,可以修改 `src/styles/` 与 `src/components/` 目录下的 CSS 文件。
3. **添加/修改页面**: 在 `src/pages/` 目录下添加或修改页面文件。
4. **SEO 与 Sitemap**: 根据需要调整 `src/components/BaseHead.astro` 中的 SEO 设置以及 `astro.config.mjs` 中的 `site` 配置。

Astro 5.0+ 高级特性 `View transitions` 适配(默认未启用):
1. 参考 [Astro 文档](https://docs.astro.build/en/guides/client-side-routing/) 进行配置。
2. 取消注释 `ClientRouter` 相关适配代码。
3. 在全局组件或页面共用组件中,请根据需要添加 `transition:persist`、`transition:name` 等属性。

## 📦 部署建议

由于是纯静态网站,推荐使用以下零成本方案:
- **GitHub Pages**: 将代码推送到 GitHub,开启 Pages 服务即可(需配合 GitHub Actions 自动构建)。
- **Vercel / Netlify**: 关联 GitHub 仓库,自动识别 Astro 框架并一键发布。
- **自建 Nginx**: 将 `dist/` 目录上传至服务器,配置 Nginx 指向该目录的 `index.html`。

## 📜 许可证

[MIT License](LICENSE)
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。