写作档案支持年月 URL、年份归档、精选、最近更新、分页和上一篇/下一篇。
astro-fourfold — Astro 作品集模板
作者 Liyuk
Fourfold 是一个静态优先的 Astro 个人出版物主题,将写作、专栏、项目、研究和影像组织在同一套静态站点中,搜索、收藏、RSS 和明暗主题无需后端。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
文章页提供自动目录、摘要、阅读时长、标签、相关文章、复制链接和本地收藏。
专栏按推荐顺序组织连续阅读,标签由文章 frontmatter 派生索引和聚合页。
项目、研究和影像作为独立内容类型,分别有状态、版本号和画廊等字段。
构建期生成 /search-index.json,搜索匹配标题、摘要、正文和标签,并将查询同步到 ?q=。
提供 RSS、sitemap、canonical、Open Graph、BlogPosting JSON-LD 和 404 等发布基础设施。
模板详细介绍
Fourfold 是面向 Astro 的静态个人出版物主题,README 将其定位为内容优先、可长期维护的站点起点。它把写作档案、专栏、标签、项目、研究和影像统一在同一套静态站点里,并提供搜索、收藏、RSS、明暗主题等无需后端的功能。
内容以 Markdown 存放在 src/content/ 下,按 writing、columns、projects、research、photos、links 六类组织,frontmatter 由 src/content.config.ts 校验,不符合时构建失败。写作按年月生成 URL 和年份归档,支持精选、分页、上一篇/下一篇、自动目录、阅读时长、相关文章和本地收藏;专栏按推荐顺序组织连续阅读;标签由文章 frontmatter 派生索引和聚合页;项目有四种状态和可选外链;研究有类型、版本号和可选的论文/代码链接;影像以画廊形式呈现,每张图需提供 alt。
站点身份、导航、界面文案和功能开关分别在 src/data/site.ts、src/data/navigation.ts 和 src/data/i18n.ts 中配置。地址由 SITE_URL 和 BASE_PATH 两个环境变量决定,README 说明了 GitHub Pages 项目站点、用户/组织站点和自定义域名三种部署情形。仓库自带 GitHub Actions 工作流,推送到 main 后可发布 dist/。
README 明确评论、邮件订阅、云端收藏、统计和 CMS 保持为外部接入,不绑定供应商;若需要 MDX 需自行加入 @astrojs/mdx 集成。当前默认语言为 zh-cn,schema 预留了 en 和 translationKey,但尚未提供独立的英文路由。示例内容均为虚构,发布前应替换。
适合你的项目吗?
适用场景
- 个人作者希望用静态站点长期维护写作档案,并按年份、标签和专栏组织内容。
- 需要将项目、研究笔记和影像作品与文章放在同一站点中展示的个人站点。
- 部署在 GitHub Pages 项目子路径下,需要 canonical、sitemap 和 RSS 正确拼接 BASE_PATH 的场景。
- 希望搜索、收藏和明暗主题不依赖后端或账号体系的静态站点。
适合人群
- 使用 Astro 构建静态个人出版物的作者。
- 需要写作、专栏、项目、研究和影像统一归档的个人站点维护者。
- 接受 Markdown 内容管理和构建期内容校验的静态站点用户。
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
运行 npm install 和 npm run dev 启动本地开发,默认地址为 http://localhost:4321。
- 2
生产构建前运行 npm run validate:content、npm run check 和 npm run build,npm run build 会先执行内容校验和 astro check。
- 3
复制 .env.example 为 .env,按部署方式设置 SITE_URL(不带子路径)和 BASE_PATH(根路径用 /)。
- 4
GitHub Pages 项目站点需在仓库 Settings → Pages → Build and deployment 中选择 GitHub Actions,推送到 main 后工作流发布 dist/。
- 5
发布前修改 src/data/site.ts 中的站点身份和内容许可,替换 public/og-default.svg 及全部示例内容,并确认草稿、外链和图片 alt。
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 评论、邮件订阅、云端收藏、统计和 CMS 不内置,需自行接入外部服务;MDX 需自行添加 @astrojs/mdx 集成。
- src/data/site.ts 中的 license 字段是页脚展示的内容许可(示例为 CC 协议),仅描述示例文章,不适用于主题代码;换成自己的站点后应改为自己的内容协议。
- 页脚 CC BY-NC-SA 只是内容许可占位,不是主题代码许可证;主题代码以 MIT 发布(版权人 Liyuk,2026)。
- 示例内容(含草稿)均为虚构,发布自己的站点前应删除全部示例。
- 研究示例中的论文链接指向公开文档,仅为展示字段,发表自己的笔记时需替换。
- 部署前需替换 public/og-default.svg 及全部示例内容。
- 当前默认语言为 zh-cn,schema 预留 en 和 translationKey,但尚无独立英文路由。
- 项目和研究若写 tags,详情页会链到写作标签页,因此这些词需至少出现在一篇公开文章中,否则链接无目的地。
- 以 / 开头的影像 src 和 cover 必须放在 public/ 下,且每张图都必须提供 alt。
- GitHub Pages 项目站点部署前需在仓库 Settings → Pages → Build and deployment 中选择 GitHub Actions。
- 用户/组织站点需修改工作流中的环境变量,将 BASE_PATH 设为 /,否则会错误地使用仓库名子路径。
- SITE_URL 不应包含子路径,BASE_PATH 不应写完整 URL;子路径同时出现在两者中会导致 canonical 和 sitemap 重复拼接。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
评论、邮件订阅、云端收藏、统计和 CMS 保持为外部接入,不绑定供应商。内容文件是 Markdown。若要 MDX,再自行加入官方的 `@astrojs/mdx` 集成。
README 原文
- `license`:页脚里的**内容**许可。主题代码本身是 [MIT](LICENSE)(Copyright 2026 Liyuk);这里的 CC 协议只描述示例站点上的文章,换成你自己的站点后应改成你的内容协议
README 原文
主题代码以 [MIT](LICENSE) 发布,版权人 Liyuk,年份 2026。页脚里的 CC BY-NC-SA 只是 `src/data/site.ts` 的内容许可占位,可以改成你自己的内容协议;它不是主题代码的许可证。
README 原文
示例里各有一篇写作草稿、一个项目草稿和一条友链草稿,用来对照这个行为。发布自己的站点前删掉全部示例。
README 原文
地址是 `/research/YYYY/MM/文件名/`。`version` 会显示在标题上方。`paperUrl` 和 `codeUrl` 可选,页面上分别标成“论文”和“代码”。示例里的论文链接指向公开文档,只为了让字段可见,发表自己的笔记时请替换。
README 原文
2. 换掉 `public/og-default.svg` 和全部示例内容。
README 原文
导航文案和顺序在 `src/data/navigation.ts`。界面字符串在 `src/data/i18n.ts`。当前默认语言是 `zh-cn`,schema 里预留了 `en` 和 `translationKey`,但还没有独立的英文路由。
README 原文
项目和研究也可以写 `tags`。详情页会链到写作标签页,因此这些词需要至少在一篇公开文章里出现,否则链接没有目的地。两个标签如果去掉空格和大小写后相同,校验会失败。
README 原文
地址是 `/photos/slug/`。Markdown 正文会显示在画廊上方,适合写成短文。`cover` 用于索引。以 `/` 开头的 `src` 和 `cover` 必须放在 `public/` 下,校验脚本会检查文件是否存在。每张图都要有 `alt`。
README 原文
这适用于 **项目站点**。部署前在仓库 Settings → Pages → Build and deployment 中选择 **GitHub Actions**,推送到 `main` 后工作流会发布 `dist/`。
README 原文
仓库名为 `用户名.github.io`,站点在域名根上,而不是在仓库名子路径上。上面的工作流会把 `BASE_PATH` 设成仓库名,因此需要改工作流里的环境变量:
README 原文
https://github.com/Liyuk/astro-fourfold/blob/main/LICENSEhttps://github.com/Liyuk/astro-fourfold/blob/main/README.md`src/data/site.ts` 会把二者拼成对外地址。子路径如果同时出现在两个变量里,canonical 和 sitemap 会被拼两次。
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-17。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 88 / 100
- 技术栈
- Astro
- 网站类型
- 作品集 · 博客 · 工具站 · 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-16
- 截图检查日期
- 2026-10-17
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261018 · 2026-10-18
查看当时使用的来源资料
SHA-256: bcdf46467350c29c0aba0b18a01766f9539bc9520e87f4e0c82cc1473756e159
2026-10-17T01:13:45.649Z
来源文件 / 仓库# Fourfold
> 一个静态优先、内容优先的个人出版物主题。
>
> A static-first personal publication theme for Astro.
**在线演示 / Live demo:** <https://liyuk.github.io/astro-fourfold/>
Fourfold 把个人站点从“文章列表”收成一套可以长期维护的出版物:写作是档案,专栏和标签负责发现,项目、研究与影像放在同一套静态站点里。搜索、收藏、RSS 和明暗主题都不需要后端。仓库里的作者、文章和图片都是示例,替换后即可当作自己的起点。
Writing, columns, tags, projects, research notes, and photo essays share one static archive. Search, favorites, RSS, and the light/dark theme run without a backend. Sample content is fictional. The rest of this README is the adoption guide in Chinese.
## 核心能力
- **写作档案**:Markdown 文章、年月 URL、年份归档、精选、最近更新、分页、上一篇 / 下一篇。
- **长文体验**:自动目录、摘要、阅读时长、标签、相关文章、复制链接、本地收藏。
- **专栏**:按推荐顺序组织连续阅读,不把专栏当成普通分类。
- **标签**:由文章 frontmatter 派生索引和聚合页。
- **项目**:`active`、`maintained`、`paused`、`archived` 四种状态,以及可选的演示地址和仓库地址。
- **研究**:类型、版本号,以及可选的论文和代码链接。
- **影像**:封面、短文、带替代文本和图注的画廊。
- **友链**:按分组排列的外部站点。
- **开始页**:按读者的问题提供入口。
- **搜索**:构建期生成 `/search-index.json`,页面匹配标题、摘要、正文和标签,并把查询同步到 `?q=`。
- **收藏**:`localStorage` 保存文章 URL,不需要账号,不上传数据。
- **主题**:CSS 变量切换明暗,并尊重系统主题。
- **发布基础设施**:RSS、sitemap、动态 robots、canonical、Open Graph、文章 `BlogPosting` JSON-LD、404。
- **内容校验**:`npm run validate:content` 检查必填字段、重复 `translationKey`、重复文章 URL、无效专栏和本地图片引用。
- **GitHub Pages**:用 `SITE_URL` 和 `BASE_PATH` 支持项目子路径。仓库自带 Actions 工作流。
评论、邮件订阅、云端收藏、统计和 CMS 保持为外部接入,不绑定供应商。内容文件是 Markdown。若要 MDX,再自行加入官方的 `@astrojs/mdx` 集成。
## 你会看到什么
截图来自本地生产构建,使用与在线演示相同的 `SITE_URL=https://liyuk.github.io` 和 `BASE_PATH=/astro-fourfold`。
### 首页
首页同时放站名、精选、最近更新,以及项目和研究的入口。

### 文章
文章页包含摘要、日期、标签、收藏、复制链接和由标题生成的目录。

### 搜索
搜索页支持标题、摘要、标签和正文匹配,地址栏保留 `?q=`。

### 专栏、项目与影像



## 快速开始
```bash
npm install
npm run dev
```
打开 <http://localhost:4321>。本地开发默认走站点根路径,不需要先配置域名。
生产构建:
```bash
npm run validate:content
npm run check
npm run build
npm run preview
```
`npm run build` 会先做内容校验和 `astro check`。与在线演示一致的构建命令是:
```bash
SITE_URL=https://liyuk.github.io BASE_PATH=/astro-fourfold npm run build
```
## 配置
地址由两个环境变量决定,在 `astro.config.mjs` 和 `src/data/site.ts` 里读取。
| 变量 | 作用 | 不要写成 |
| --- | --- | --- |
| `SITE_URL` | 站点源站,用于 sitemap、canonical、RSS、Open Graph、JSON-LD | 不要带仓库子路径 |
| `BASE_PATH` | 站点挂在域名下的路径。根路径用 `/` | 不要写完整 URL |
`src/data/site.ts` 会把二者拼成对外地址。子路径如果同时出现在两个变量里,canonical 和 sitemap 会被拼两次。
复制 `.env.example` 为 `.env` 后按部署方式修改。三种常见情况:
### GitHub Pages 项目站点
在线演示就是这种。仓库名 `astro-fourfold`,页面在用户域名的子路径下:
```env
SITE_URL=https://liyuk.github.io
BASE_PATH=/astro-fourfold
```
结果是 <https://liyuk.github.io/astro-fourfold/>。换成自己的仓库时,只改用户名和仓库名,不要把用户名写进主题源码。
仓库里的 [`.github/workflows/deploy-pages.yml`](.github/workflows/deploy-pages.yml) 会按 GitHub 上下文自动写成:
```text
SITE_URL=https://实际用户名.github.io
BASE_PATH=/实际仓库名
```
这适用于 **项目站点**。部署前在仓库 Settings → Pages → Build and deployment 中选择 **GitHub Actions**,推送到 `main` 后工作流会发布 `dist/`。
### GitHub Pages 用户站点或组织站点
仓库名为 `用户名.github.io`,站点在域名根上,而不是在仓库名子路径上。上面的工作流会把 `BASE_PATH` 设成仓库名,因此需要改工作流里的环境变量:
```env
SITE_URL=https://用户名.github.io
BASE_PATH=/
```
### 自定义域名
自定义域名通常也从根路径提供站点。在 GitHub Pages 或托管商处绑定域名,并把构建环境改为:
```env
SITE_URL=https://你的域名
BASE_PATH=/
```
其他静态托管(Cloudflare Pages、Netlify、Vercel、对象存储)同样只需要在构建环境里提供这两个变量,然后发布 `dist/`。
### 站点身份
读者看到的名字不在环境变量里,而在 `src/data/site.ts`:
- `name`、`title`、`description`
- `author.name`、`author.bio`、`author.email`
- `social` 链接
- `license`:页脚里的**内容**许可。主题代码本身是 [MIT](LICENSE)(Copyright 2026 Liyuk);这里的 CC 协议只描述示例站点上的文章,换成你自己的站点后应改成你的内容协议
- `writingPageSize`、`tagIndexThreshold`
- `features`:搜索、收藏、主题、RSS、复制链接等开关
导航文案和顺序在 `src/data/navigation.ts`。界面字符串在 `src/data/i18n.ts`。当前默认语言是 `zh-cn`,schema 里预留了 `en` 和 `translationKey`,但还没有独立的英文路由。
## 内容作者指南
所有公开内容都在 `src/content/`。frontmatter 不符合 `src/content.config.ts` 时,构建会失败。`draft: true` 可以提交,但不会进入列表、分页、RSS、sitemap 或搜索。
示例里各有一篇写作草稿、一个项目草稿和一条友链草稿,用来对照这个行为。发布自己的站点前删掉全部示例。
```text
src/content/
├── writing/ 写作
├── columns/ 专栏
├── projects/ 项目
├── research/ 研究
├── photos/ 影像
└── links/ 友链
```
### 写作
```yaml
---
title: "文章标题"
description: "列表、SEO 和 RSS 使用的摘要"
locale: zh-cn
translationKey: optional-stable-id
publishedAt: 2026-08-20
updatedAt: 2026-08-22
author: "作者"
tags: [主题一, 主题二]
featured: true
minutes: 8
column: "专栏名称"
columnOrder: 1
draft: false
---
```
- `publishedAt` 决定地址:`/writing/YYYY/MM/文件名/`。
- 列表按 `updatedAt ?? publishedAt` 倒序。更新文章不会把旧地址搬走。
- `featured: true` 进入首页精选。精选和“最近更新”是两份名单。
- `minutes` 显示在文章页。目录来自二、三级标题。
- 相关文章来自共同标签。上一篇 / 下一篇按时间,不按专栏篇序。
- 同一 `locale` 下的 `translationKey` 不能重复。
- 写作索引按 `writingPageSize` 分页,年份页从文章日期自动生成。
正文用 Markdown。代码块会用浅色 / 深色两套 Shiki 主题。
### 专栏
专栏是一条阅读路径,不是分类。一篇文章最多通过 `column` 关联一个专栏,并用 `columnOrder` 表示篇序。`column` 必须等于专栏文件的 `title`。
```yaml
---
title: "专栏名称"
description: "这条路径解决什么问题,以及建议如何阅读。"
locale: zh-cn
slug: column-slug
order: 1
draft: false
---
```
地址是 `/columns/slug/`。专栏页按篇序列出文章。标签仍然负责横向查找。
### 标签
标签没有单独的内容文件。写作 frontmatter 里的 `tags` 会生成 `/tags/` 和 `/tags/某个标签/`。出现次数低于 `tagIndexThreshold` 的标签不会进入总索引。
项目和研究也可以写 `tags`。详情页会链到写作标签页,因此这些词需要至少在一篇公开文章里出现,否则链接没有目的地。两个标签如果去掉空格和大小写后相同,校验会失败。
### 项目
```yaml
---
title: "项目名称"
description: "一句话说明它是什么、现在处于什么阶段。"
locale: zh-cn
publishedAt: 2026-08-20
status: active # active | maintained | paused | archived
type: theme
tags: [Astro, 发布]
externalUrl: https://example.com/
repositoryUrl: https://github.com/example/project
featured: false
draft: false
---
```
地址是 `/projects/YYYY/MM/文件名/`。有 `externalUrl` 时显示“访问项目”,有 `repositoryUrl` 时显示“源代码”。两个都可以不写。示例覆盖了四种状态。
### 研究
```yaml
---
title: "笔记标题"
description: "这则笔记现在主张什么。"
locale: zh-cn
publishedAt: 2026-08-20
kind: note # 自由文本,例如 note、preprint
version: "0.3"
tags: [架构]
paperUrl: https://example.com/paper
codeUrl: https://github.com/example/project
draft: false
---
```
地址是 `/research/YYYY/MM/文件名/`。`version` 会显示在标题上方。`paperUrl` 和 `codeUrl` 可选,页面上分别标成“论文”和“代码”。示例里的论文链接指向公开文档,只为了让字段可见,发表自己的笔记时请替换。
### 影像
```yaml
---
title: "一组影像"
description: "这组图在说什么。"
locale: zh-cn
slug: essay-slug
order: 1
cover: /photos/cover.svg
photos:
- src: /photos/cover.svg
alt: "画面里实际有什么"
caption: "可选图注"
draft: false
---
```
地址是 `/photos/slug/`。Markdown 正文会显示在画廊上方,适合写成短文。`cover` 用于索引。以 `/` 开头的 `src` 和 `cover` 必须放在 `public/` 下,校验脚本会检查文件是否存在。每张图都要有 `alt`。
### 友链
```yaml
---
title: "站点名称"
description: "为什么把它留在这里。"
locale: zh-cn
url: https://example.com/
group: 文档
order: 1
draft: false
---
```
`url` 必须是 `http` 或 `https`。同一 `group` 会排在一起,分组顺序跟条目的 `order` 走。友链页只展示这些字段,不渲染正文。
## 架构速览
```mermaid
flowchart LR
Content[src/content\nMarkdown 内容] --> Schema[content.config.ts\nSchema 校验]
Schema --> Query[src/lib/content.ts\n查询与派生]
Config[src/data/site.ts\n站点配置] --> Layout[BaseLayout / SEO]
Query --> Pages[Astro 静态页面]
Layout --> Pages
Pages --> Output[HTML / RSS / sitemap / search-index]
Output --> Deploy[GitHub Pages / 静态 CDN]
```
目录、图标系统和运行时边界见 [`PROJECT.md`](PROJECT.md)。面向 Astro 主题站的英文介绍见 [`docs/BRANDING.md`](docs/BRANDING.md) 和 [`docs/ASTRO-THEME-SUBMISSION.md`](docs/ASTRO-THEME-SUBMISSION.md)。
```text
src/
├── components/ 壳层、文章、目录、收藏、复制链接、图标
├── content/ Markdown 内容集合
├── data/ 站点配置、导航、界面文案
├── layouts/ BaseLayout
├── lib/ 内容查询、URL、收藏、主题
├── pages/ 页面、RSS、搜索索引
└── styles/ token、全局样式、正文样式
```
界面图标集中在 `src/components/chrome/Icon.astro`:`24 × 24` viewBox、统一线宽、`currentColor`,只有 `sm / md / lg` 三种尺寸。
## 部署
1. 改 `src/data/site.ts`,以及构建环境里的 `SITE_URL` 和 `BASE_PATH`。
2. 换掉 `public/og-default.svg` 和全部示例内容。
3. 确认草稿、外链和图片 `alt`。
4. 运行 `npm run check && npm run build`。
5. 在真实域名上检查首页、一篇文章、RSS、sitemap、canonical 和 404。
GitHub Pages 项目站点推送到 `main` 即可,前提是 Pages 使用 GitHub Actions。用户站点和自定义域名要先改工作流中的两个环境变量,见上面的配置一节。
页面路径:
```text
/ 首页
/start/ 开始
/writing/ 写作
/writing/page/2/ 写作分页
/writing/2026/ 年份归档
/columns/ 专栏
/projects/ 项目
/research/ 研究
/photos/ 影像
/about/ 关于
/links/ 友链
/tags/ 标签
/search/ 搜索
/favorites/ 收藏
/rss.xml RSS
```
## 公开发布入口
- 在线演示:<https://liyuk.github.io/astro-fourfold/>
- GitHub 仓库:<https://github.com/Liyuk/astro-fourfold>
- GitHub Release:<https://github.com/Liyuk/astro-fourfold/releases/tag/v0.1.0>
- GitHub Discussions 介绍帖:<https://github.com/Liyuk/astro-fourfold/discussions/1>
- Astro Showcase 提交评论:<https://github.com/withastro/roadmap/discussions/521#discussioncomment-18099696>
- Astro Theme Portal:<https://portal.astro.build/>
主题代码以 [MIT](LICENSE) 发布,版权人 Liyuk,年份 2026。页脚里的 CC BY-NC-SA 只是 `src/data/site.ts` 的内容许可占位,可以改成你自己的内容协议;它不是主题代码的许可证。
## 设计取舍
- 编辑化而非营销化:用标题、摘要、日期和分隔线建立秩序。
- 单列优先:长文宽度受控,列表可扫描。
- 内容优先:图片是一种内容类型,不是首页装饰。
- 精选与最近分离:一个负责策展,一个表示还在更新。
- 专栏与标签分工:一个负责线性阅读,一个负责横向探索。
- 少量客户端 JS:静态 HTML 仍可读,交互只在搜索、主题、收藏和复制链接上。
Fourfold 指写作、项目、研究与个人表达这四个互相支撑的面。站名、颜色、字体、文案和导航都可以换成你自己的。
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

astrowind
⭕️ AstroWind: A free template using Astro v7 and Tailwind CSS v4. Astro starter theme.
Astro · 博客

astro-paper
基于 Astro 的博客主题,使用 Markdown/MDX 内容、Tailwind 样式和 Pagefind 搜索。搜索属于博客功能,不代表独立工具站产品。
Astro · 博客

fuwari
✨A static blog template built with Astro.
Astro · 博客

Firefly
Firefly 是一款基于 Astro 的静态博客主题,由 CuteLeaf 在 saicaca 的 Fuwari 模板基础上二次开发,主打清新美观的视觉风格。
Astro · 博客

astro-theme-cactus
面向博客与笔记发布的 Astro 启动模板,支持 Markdown/MDX 内容、Tailwind 样式与 Pagefind 搜索,主要用途是发布文章和笔记。
Astro · 博客

astrofy
Astrofy is a free and open-source template for your Personal Portfolio Website built with Astro and TailwindCS…
Astro · 作品集
