Astro启动器

ulbo-astro-theme-template — Astro 启动器模板

作者 xxy1103

ulBo 是一个基于 Astro 的个人博客主题模板,提供长文阅读工具、内容发现、SEO 元数据与静态部署配置,采用 MIT 许可。

看看你的网站会是什么样

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

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

基于 Astro 的静态博客模板,可通过 GitHub Use this template 创建项目

02

支持 Markdown / MDX 文章,带严格 Frontmatter 校验与草稿隔离

03

内置 Fuse.js 模糊搜索、Cmd/Ctrl + K 快捷入口、归档、标签筛选与分页

04

提供 KaTeX 公式、Mermaid 图表、代码复制、图片灯箱和 PDF 导出等长文阅读工具

05

生成 RSS、Sitemap、Canonical、Open Graph、Twitter Card 与 JSON-LD 结构化数据

06

站点、个人资料与 Hero 内容集中在 src/config/ 下配置,便于迁移与定制

模板详细介绍

ulBo Astro Theme 是一个面向个人博客的 Astro 主题模板,仓库以 GitHub Template 形式提供,可直接创建为自己的博客项目。主题覆盖首页、归档、标签、About 与文章详情等页面,并内置明暗主题、响应式布局和基于 Astro View Transitions 的页面动效。

写作与阅读方面,模板支持 Markdown / MDX 文章,提供严格 Frontmatter 校验、草稿隔离、固定目录、字数与阅读时长、代码复制、KaTeX 公式、Mermaid 图表、图片灯箱以及适合打印的 PDF 导出。内容发现依赖 Fuse.js 模糊搜索与 Cmd/Ctrl + K 快捷入口,并配有归档、标签筛选和分页。

发布与工程方面,模板生成 RSS、Sitemap、Canonical、Open Graph、Twitter Card 和 JSON-LD 结构化数据,生产构建会排除草稿。站点、个人资料和 Hero 内容集中在 src/config/ 下配置,即使文章目录为空,核心页面也可正常构建。项目输出静态文件,仓库已包含 Cloudflare Workers Static Assets 配置,也可部署到 Vercel、Netlify 或 GitHub Pages。

使用限制:需要 Node.js 22.12.0 或更高版本、npm 9.6.5 或更高版本;图片优化需显式执行 npm run optimize:images,普通构建不会修改文章或图片;演示图片、字体、图标等第三方素材需按各自许可核对,域名、托管等外部服务可能另外收费。

Astro启动器

适合你的项目吗?

适用场景

  • 搭建个人技术博客并长期发布 Markdown / MDX 长文
  • 需要归档、标签筛选与模糊搜索来组织已有文章
  • 希望文章页面包含公式、图表、代码块和图片灯箱等阅读元素
  • 将静态站点部署到 Cloudflare Workers / Pages、Vercel、Netlify 或 GitHub Pages

适合人群

  • 希望长期维护个人内容的写作者、开发者和独立创作者
  • 偏好静态站点生成与 Markdown / MDX 写作流程的用户
  • 需要 SEO 元数据、RSS 与 Sitemap 等发布基础能力的博客项目
  • 使用 VS Code 并愿意搭配 ulBo Article Manager 插件管理文章的用户

上手与定制指南

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

  1. 1

    环境要求 Node.js 22.12.0 或更高版本、npm 9.6.5 或更高版本

  2. 2

    在 GitHub 仓库点击 Use this template 创建项目后运行 npm install 与 npm run dev,默认访问 http://localhost:4321

  3. 3

    通常只需修改 src/config/site.ts、src/config/profile.ts、src/config/hero.ts,并在 src/content/blog/ 写文章、public/image/ 放图片

  4. 4

    生产构建使用 npm run build,输出目录为 dist;图片优化需先运行 npm run optimize:images:dry-run 预览,再执行 npm run optimize:images

  5. 5

    仓库已包含 Cloudflare Workers Static Assets 配置,可运行 npm run build 与 npm run deploy;其他平台将构建命令设为 npm run build、输出目录设为 dist

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 使用本主题需 Node.js 22.12.0 或更高版本、npm 9.6.5 或更高版本,低于该版本的环境无法运行。
  • 图片优化不会随普通构建自动执行,必须手动运行 optimize:images 命令,否则不会生成 WebP 或更新文章引用。
  • 配套的 ulBo Article Manager 为可选 VS Code 插件,需从插件仓库安装本地 VSIX,不属于主题本体。
  • 部署需自行使用 Cloudflare、Vercel、Netlify 或 GitHub Pages 等外部托管服务,可能产生额外费用。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

环境要求: - Node.js 22.12.0 或更高版本 - npm 9.6.5 或更高版本

README 原文

需要优化图片时,先预览变更,再显式执行:

README 原文

当前版本可从插件仓库安装本地 VSIX

README 原文

项目输出为静态文件,可部署到 Cloudflare Workers / Pages、Vercel、Netlify 或 GitHub Pages。

README 原文
https://github.com/xxy1103/ulbo-astro-theme-template/blob/main/LICENSEhttps://github.com/xxy1103/ulbo-astro-theme-template/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

记录的仓库更新时间
2026-09-27
截图检查日期
2026-10-02

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 01a791ae32d7e5139c1ed3bc294d2c4e8c5def2e43769864f494172490297932

2026-10-02T18:47:00.326Z

来源文件 / 仓库
# ulBo Astro Theme

<p align="center">
  <strong>一个兼顾视觉表达、长文阅读与发布工程的 Astro 个人博客主题。</strong>
</p>

<p align="center">
  <a href="./README.md">中文</a> ·
  <a href="./README.en.md">English</a>
</p>

<p align="center">
  <a href="https://astro.build/"><img alt="Astro 6" src="https://img.shields.io/badge/Astro-6.4.8-BC52EE?logo=astro"></a>
  <a href="https://nodejs.org/"><img alt="Node.js 22+" src="https://img.shields.io/badge/Node.js-22%2B-339933?logo=nodedotjs&logoColor=white"></a>
  <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg"></a>
</p>

<p align="center">
  <a href="https://template.ulna520.top"><strong>在线预览</strong></a> ·
  <a href="https://blog.ulna520.top">真实博客</a> ·
  <a href="https://astro.build/themes/details/ulbo/">Astro 主题商城</a> ·
  <a href="https://github.com/xxy1103/ulbo_vscode">VS Code 文章管理工具</a>
</p>

![ulBo Astro Theme 总览](./docs/images/promo/ulbo-overview.png)

## 为什么选择 ulBo

ulBo 面向希望长期维护个人内容的写作者、开发者和独立创作者。它不只提供一套博客页面,还把阅读体验、内容组织、搜索发现、SEO、图片优化和日常写作流程组合成一套完整方案。

| 方向 | 能力 |
| --- | --- |
| **视觉与动效** | 沉浸式 Hero、响应式布局、明暗主题,以及基于 Astro View Transitions 和 Material Design 3 曲线的页面动效。 |
| **长文阅读** | 固定目录、字数与阅读时长、代码复制、KaTeX 公式、Mermaid 图表、图片灯箱和适合打印的 PDF 导出。 |
| **内容发现** | Fuse.js 模糊搜索、`Cmd/Ctrl + K` 快捷入口、文章归档、标签筛选与分页。 |
| **发布质量** | 严格 Frontmatter、草稿隔离、RSS、Sitemap、Canonical、Open Graph、Twitter Card 和 JSON-LD。 |
| **配置与迁移** | 站点、个人资料和 Hero 内容集中在 `src/config/`;支持 Markdown / MDX 与 Hexo 风格图片路径。 |
| **性能工程** | 图片懒加载、异步解码、按需 KaTeX、延迟搜索索引、预取策略,以及可预览的 WebP 优化流程。 |

## 主题预览

<table>
  <tr>
    <td width="50%"><img src="./docs/images/promo/ulbo-light-dark.png" alt="ulBo 明暗主题"></td>
    <td width="50%"><img src="./docs/images/promo/ulbo-longform.png" alt="ulBo 长文阅读"></td>
  </tr>
  <tr>
    <td align="center"><strong>一致的明暗主题体验</strong></td>
    <td align="center"><strong>为技术长文准备的阅读工具</strong></td>
  </tr>
</table>

![ulBo 搜索、标签、归档与 About 页面](./docs/images/promo/ulbo-content.png)

## 快速开始

点击 GitHub 仓库中的 **Use this template** 创建自己的博客,然后运行:

```bash
npm install
npm run dev
```

默认访问地址为 `http://localhost:4321`。

环境要求:

- Node.js 22.12.0 或更高版本
- npm 9.6.5 或更高版本

## 配置博客

通常只需要修改以下位置:

| 文件 | 用途 |
| --- | --- |
| `src/config/site.ts` | 网站地址、标题、描述、语言和仓库链接 |
| `src/config/profile.ts` | 头像、身份介绍、联系方式和社交链接 |
| `src/config/hero.ts` | 首页、归档、标签、About 和文章默认 Hero |
| `src/content/blog/` | Markdown / MDX 文章 |
| `public/image/` | 文章与页面图片 |

即使 `src/content/blog/` 还是空目录,首页、归档、标签和 About 等核心页面也可以正常构建,适合先完成个性化配置,再开始发布内容。

## 写一篇文章

在 `src/content/blog/` 中新建 `.md` 或 `.mdx` 文件:

```md
---
title: "我的第一篇文章"
date: "2026-08-03T10:00:00+08:00"
description: "介绍如何使用 ulBo 搭建个人博客,包括主题配置、文章写作、本地预览、图片优化与部署流程。"
draft: false
categories:
  - "记录"
tags:
  - "astro"
  - "blog"
---

正文从这里开始。
```

完整字段与校验规则见 [Frontmatter 标准](./standard/frontmatter.md)。

生产构建会统一排除草稿,覆盖首页、归档、详情页、标签、搜索索引和 RSS;开发环境仍可通过草稿标识查看和校对内容。

## 推荐搭配 ulBo Article Manager

[ulBo Article Manager](https://github.com/xxy1103/ulbo_vscode) 是为本主题开发的可选 VS Code 写作工具。它让你在熟悉的 Markdown 编辑器旁完成:

- 新建草稿,搜索、筛选和打开文章;
- 可视化编辑标题、日期、描述、分类、标签和草稿状态;
- 使用 VS Code 语言模型生成文章描述,不可用时回退到本地提取;
- 启动 Astro 开发服务并直接预览当前文章;
- 发布前校验 Frontmatter、标签和正文引用图片;
- 将文章与关联图片精确暂存到 Git;
- 将删除的文章移入系统回收站,保留恢复能力。

主题负责展示与构建,插件负责写作和文章管理。插件不会自动执行 commit、push 或部署,最终发布仍由你控制。

当前版本可从插件仓库安装本地 VSIX,详细说明见 [ulBo Article Manager README](https://github.com/xxy1103/ulbo_vscode#readme)。

## SEO 与性能

当前代码已经实现:

- Canonical、robots、Open Graph、Twitter Card 和 JSON-LD;
- 首页 `WebSite`、About 页 `Person`、文章页 `BlogPosting` 结构化数据;
- RSS、Sitemap,以及归档分页的 `noindex,follow` 与 `rel=prev/next`;
- Markdown 图片懒加载和异步解码;
- 文章 Hero 预加载、KaTeX 样式按需加载;
- 搜索索引首次打开时再获取;
- 防止明暗主题首屏闪烁;
- 独立于普通构建的 WebP 图片优化工具。

`npm run build` 只负责构建,不会修改文章或图片。需要优化图片时,先预览变更,再显式执行:

```bash
npm run optimize:images:dry-run
npm run optimize:images
```

更完整的实现边界和代码位置见 [英文 README](./README.en.md#seo-optimizations-code-aligned)。

## 常用命令

| 命令 | 说明 |
| --- | --- |
| `npm run dev` | 启动开发服务器 |
| `npm run build` | 构建生产版本,不修改文章或图片 |
| `npm run preview` | 预览生产构建结果 |
| `npm run check` | 检查 Astro 与 TypeScript |
| `npm test` | 运行测试 |
| `npm run frontmatter:check` | 只读检查文章 Frontmatter |
| `npm run frontmatter:fix` | 规范化 Frontmatter,并验证正文未被改动 |
| `npm run optimize:images:dry-run` | 预览图片优化结果 |
| `npm run optimize:images` | 生成 WebP 并更新文章引用 |

## 部署

项目输出为静态文件,可部署到 Cloudflare Workers / Pages、Vercel、Netlify 或 GitHub Pages。

仓库已包含 Cloudflare Workers Static Assets 配置:

```bash
npm run build
npm run deploy
```

使用其他平台时,将构建命令设为 `npm run build`,输出目录设为 `dist`。

## 项目结构

```text
src/
├─ components/       页面组件
├─ config/           站点、个人资料与 Hero 配置
├─ content/blog/     Markdown / MDX 文章
├─ layouts/          通用页面与文章布局
├─ lib/              内容、搜索和资料处理逻辑
├─ pages/            首页、归档、标签、About、RSS 等路由
├─ plugins/          Markdown / HTML 处理插件
└─ scripts/          搜索、目录、Mermaid、灯箱与页面交互
```

前端模块关系见 [架构地图](./docs/frontend-architecture-map.md)。

## 相关项目

- [ulBo Article Manager](https://github.com/xxy1103/ulbo_vscode):配套的 VS Code 文章管理工具。
- [xxy1103.github.io](https://github.com/xxy1103/xxy1103.github.io):使用 ulBo 搭建的真实个人博客。

## 参与贡献

欢迎提交 Issue 和 Pull Request。开始前请阅读 [贡献指南](./CONTRIBUTING.md)、[行为准则](./CODE_OF_CONDUCT.md) 与 [安全策略](./SECURITY.md)。

## 许可证

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

看看同类模板

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