基于 Astro、Tailwind CSS 与 TypeScript 构建,MIT 许可开源
ev0-astro-theme — Astro 博客模板
作者 gndx
EV0 Astro Theme 是一个基于 Astro、Tailwind CSS 和 TypeScript 的开源博客模板,采用 MIT 许可,适合搭建个人博客或作品展示站点。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
支持 Markdown 与 MDX 内容、语法高亮和 RSS、站点地图
内置深色模式、响应式布局、View Transitions 与 PWA 相关配置
通过 src/config 下的 JSON 文件集中配置站点、菜单与社交链接
提供 npm run newpost 命令生成新文章 Markdown 文件
可选 YouTube 集成,通过脚本拉取频道最新视频并可关闭
模板详细介绍
EV0 Astro Theme 是一个免费开源的无服务器博客模板,使用 Astro、Tailwind CSS 和 TypeScript 构建,作者为 gndx。它定位为个人作品集网站或项目展示的起点,代码以 MIT 许可发布,可自由使用、修改和分发,包括商用。
模板提供博客所需的基础能力:Markdown 与 MDX 内容支持、语法高亮、深色模式、响应式布局、站点地图、RSS 订阅、canonical URL 与 OpenGraph 元数据、robots.txt 与 humans.txt,以及 View Transitions 和 PWA 相关配置。它还内置 YouTube 集成,可通过脚本拉取频道最新视频,并可通过配置关闭。
站点配置集中在 src/config 目录:config.json 管理站点标题、地址、语言、描述、分页大小与功能开关,menu.json 管理导航菜单,social.json 管理社交链接。新增文章可通过 npm run newpost 命令生成 Markdown 文件,再编辑 src/content/blog 下的内容。
使用限制方面,YouTube 集成需要自行申请 YouTube API V3 密钥并写入 .env,且该 API 不在生产环境使用;演示图片、字体、图标等第三方素材需单独核对其许可,不能仅凭代码的 MIT 许可判断;域名、托管等外部服务可能产生费用。README 中提到的 Lighthouse 评分与 VIP 付费支持属于作者自述,本介绍不作背书。
适合你的项目吗?
适用场景
- 搭建个人博客并发布 Markdown 或 MDX 文章
- 制作个人作品集或项目展示页面
- 需要 RSS、站点地图与 OpenGraph 元数据的静态站点
- 希望把 YouTube 频道最新视频展示在站点上的博客
适合人群
- 熟悉 Astro 或愿意按 README 配置的开发者
- 需要免费开源博客模板的个人博主
- 以 Markdown/MDX 写作、追求静态输出的内容创作者
- 需要深色模式与响应式布局的展示型站点
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
使用 git clone 克隆仓库后运行 npm install 安装依赖
- 2
npm run dev 启动本地开发服务器,npm run build 生成生产站点到 ./dist/
- 3
站点信息在 src/config/config.json 配置,菜单与社交链接分别在 menu.json、social.json 中配置
- 4
启用 YouTube 集成需在根目录创建 .env 并填写 CHANNEL_ID 与 API_KEY,再运行 npm run youtube
- 5
新增文章运行 npm run newpost,生成的文件位于 src/content/blog 目录
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 启用 YouTube 集成需自行在 Google Console 申请 YouTube API V3 密钥,并写入根目录 .env 的 CHANNEL_ID 与 API_KEY;不申请密钥则无法使用该功能,但可在 config.json 中关闭。
- README 说明 YouTube API 不在生产环境使用,即该集成仅用于本地拉取视频数据,生产站点不依赖此 API。
- VIP 支持为可选付费服务(25 美元),包含消息/邮件协助、最多 1 项功能定制、托管部署协助等;不购买不影响模板本身的免费使用。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Requires an API KEY for YouTube API V3 - [Google Console](https://console.cloud.google.com/)
README 原文
Your YouTube API is not used in production.
README 原文
https://github.com/gndx/ev0-astro-theme/blob/main/LICENSEhttps://github.com/gndx/ev0-astro-theme/blob/main/README.md## 👨🏻💻 VIP Support (optional) $25
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 91 / 100
- 技术栈
- Astro
- 网站类型
- 博客
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-02-05
- 截图检查日期
- 2026-10-01
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: b4f63c4ac236231305d51ec79086467305b4570b719b8c597dc3dde54f3c5a44
2026-10-01T14:04:44.277Z
来源文件 / 仓库# 🚀 EV0 Astro Theme - Blog Template
EV0 Astro Theme is a free and open-source serverless blog template, built with Astro, Tailwind CSS, and TypeScript. It serves as a starting point for creating your personal portfolio website or showcasing your projects online. The template is open-source and released under the MIT license, meaning you are free to use, modify, and distribute it for personal or commercial purposes.
<p align="center">
<img align="center" alt="EV0 Astro Theme" src="https://s3.amazonaws.com/gndx.dev/ev0-astro-theme.png"/>
</p>
<a href="https://astro.build"><img src="https://astro.badg.es/v2/built-with-astro/tiny.svg" alt="Built with Astro" width="120" height="20"></a>
## 🔥 DEMOS
- [EV0 Astro Theme - DEMO](https://ev0.gndx.dev/)
- [GNDX - My Personal Blog (ES)](https://gndx.dev)
[](https://app.netlify.com/start/deploy?repository=https://github.com/gndx/ev0-astro-theme#NODE_VERSION=18)
## 🔥 Features
- ✅ Minimal styling (Tailwind CSS)
- ✅ 100/100 Lighthouse performance
- ✅ SEO-friendly with canonical URLs and OpenGraph data
- ✅ Dark Mode
- ✅ Sitemap support
- ✅ RSS Feed support
- ✅ Markdown & MDX support
- ✅ View Transitions
- ✅ PWA-ready
- ✅ Fully responsive
- ✅ Robots.txt & Humans.txt
- ✅ TypeScript support
- ✅ Syntax highlighting
- ✅ YouTube Integration
- ✅ CLI for adding new posts
## ⚓ Lighthouse Score - PWA Ready
<p align="center">
<img align="center" alt="Lighthouse Score" src="https://s3.amazonaws.com/gndx.dev/EV0-astro-theme-lighthouse.png"/>
</p>
## 👨🏻💻 VIP Support (optional) $25
Includes personalized assistance via messages/emails, customization of up to 1 feature, assistance for implementation in your hosting and deployment, and advice for future changes. [Buy VIP Support](https://gndx.gumroad.com/l/zwaeqz).
## 🚀 Getting Started
Clone this repository to your local machine using Git.
```scheme
git clone https://github.com/gndx/ev0-astro-theme.git your-project-name
```
| Command | Action |
| :---------------- | :------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:4321` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run youtube` | Fetches the Latest YouTube Channel Videos |
| `npm run newpost` | Generate a New Blogpost Markdown Entry |
Edit the HTML files in the `src/pages` directory to add your projects, experiences, and personal information.
## 📝 Configuration Blog
To configure your blog, edit the `src/config/config.json` file. This file contains the following options:
```scheme
{
"site": {
"title": "EV0 Astro Theme",
"base_url": "https://ev0.gndx.dev/",
"base_path": "/",
"favicon": "/favicon.png",
"logo": "https://s3.amazonaws.com/gndx.dev/ev0-astro-logo.png",
"lang": "en",
"description": "EV0 is a free and open-source serverless blog template, built with Astro, Tailwind CSS, and TypeScript.",
"pageSize": 6
},
"features": {
"youtube": true
},
"metadata": {
"meta_author": "Oscar Barajas @gndx",
"meta_description": "EV0 is a free and open-source serverless blog template, built with Astro, Tailwind CSS, and TypeScript."
},
"author": {
"name": "Oscar Barajas Tavares @gndx",
"avatar": "https://s3.amazonaws.com/gndx.dev/gndx-astro-avatar.png",
"bio": "EV0 is a free and open-source serverless blog template, built with Astro, Tailwind CSS, and TypeScript."
}
}
```
The menu is configured in the `src/config/menu.json` file. This file contains the following options:
```scheme
[
{
"name": "Home",
"url": "/"
},
{
"name": "Blog",
"url": "/blog"
},
]
```
Social networks are configured in the `src/config/social.json` file. This file contains the following options:
```scheme
{
"name": "Instagram",
"url": "https://instagram.com/gndx"
"svg": "...."
}
```
## 🎥 YouTube Integration
To integrate your YouTube channel, you need to create a new file called `.env` in the root directory of your project. Then add the `CHANNEL_ID` and `API_KEY` to get the latest videos from your YouTube channel in `src/config/youtube.json`.
```scheme
npm run youtube
```
Your YouTube API is not used in production.
Requires an API KEY for YouTube API V3 - [Google Console](https://console.cloud.google.com/)
You can disable the youtube integration by modifying the `src/config/config.json`.
```json
"features": {
"youtube": false
},
```
## 📝 Adding New Posts
To add a new post, run the following command:
```scheme
npm run newpost
```
Follow the instructions and this will generate a new markdown file in the `src/content/blog` directory. Edit the file to add your post content.
## 📂 Project Structure
```
/
├── public/
│ └── favicons/
│ └── fonts/
│ └── blog-placeholder.jpg
│ └── favicon.png
│ └── humans.txt
├── scripts/
│ └── youtube.cjs
├── src/
│ ├── components/
│ ├── config/
│ ├── content/
│ ├── layouts/
│ └── pages/
│ └── styles/
│ └── env.d.ts
└── package.json
└── astro.config.mjs
└── tailwind.config.js
└── tsconfig.json
└── .gitignore
```
## 💻 Contributing
Contributions to this project are welcome. If you find a bug or have a suggestion for improvement, please open an issue or submit a pull request.
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://gndx.io"><img src="https://avatars.githubusercontent.com/u/10554486?v=4?s=100" width="100px;" alt="Oscar Barajas Tavares"/><br /><sub><b>Oscar Barajas Tavares</b></sub></a><br /><a href="#doc-gndx" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://jhonachata.dev/"><img src="https://avatars.githubusercontent.com/u/7337141?v=4?s=100" width="100px;" alt="Jhon Achata Limachi"/><br /><sub><b>Jhon Achata Limachi</b></sub></a><br /><a href="#bug-dcyar" title="Bug reports">🐛</a> <a href="#ideas-dcyar" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://erasmoh.dev"><img src="https://avatars.githubusercontent.com/u/12125288?v=4?s=100" width="100px;" alt="Erasmo Hernández"/><br /><sub><b>Erasmo Hernández</b></sub></a><br /><a href="#bug-erasmoh" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://francisco-araujo.com"><img src="https://avatars.githubusercontent.com/u/49659840?v=4?s=100" width="100px;" alt="Francisco Araujo"/><br /><sub><b>Francisco Araujo</b></sub></a><br /><a href="#design-franciscoagx" title="Design">🎨</a> <a href="#bug-franciscoagx" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.linkedin.com/in/jhoandris-baron"><img src="https://avatars.githubusercontent.com/u/46359791?v=4?s=100" width="100px;" alt="Jhoandris Barón"/><br /><sub><b>Jhoandris Barón</b></sub></a><br /><a href="#bug-andybaronp" title="Bug reports">🐛</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
## 📃 License
This project is licensed under the MIT License. See the `LICENSE` file for details.
## ☕ Support
If this project helped you learn something new, or if you're feeling particularly generous, you can buy me a coffee. It's greatly appreciated! 😊 [GitHub Sponsors](https://github.com/sponsors/gndx)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

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

astro-paper
A minimal, accessible and SEO-friendly Astro blog theme.
Astro · 博客

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

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

astro-theme-cactus
A simple Astro theme. Use it to create your blog or website.
Astro · 作品集

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