AstroBlog

bluesy-astro-theme — Astro Blog Template

By John10240

bluesy-astro-theme is an Astro-based blog template primarily intended for deployment on Cloudflare Workers Static Assets, supporting Markdown/MDX content, Pagefind search, and a responsive layout.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

Astro-based blog template with content written in Markdown or MDX

02

Primarily intended for deployment on Cloudflare Workers Static Assets, with wrangler.jsonc already configuring dist/ as the static assets directory

03

Built-in Pagefind search and responsive layout

04

Third-party features such as comments, analytics, sponsorship, ads, music, anime tracking, and live2d mascot are disabled by default and can be enabled as needed

05

Comments support Waline or Twikoo, selected and configured in commentConfig.ts

06

MIT license, permitting free use, modification, commercial use, and distribution of this version's code

Template Details

This is an Astro blog template intended for deployment on Cloudflare Workers Static Assets, maintained by John10240. The template is modified from CuteLeaf's Firefly, which in turn is a secondary development based on saicaca's fuwari, and is released under the MIT license.

For content, articles are placed in the src/content/posts/ directory as Markdown or MDX, with frontmatter fields defined in src/content.config.ts, supporting title, publication time, summary, tags, categories, and draft status. The site name, domain, and page toggles are configured in src/config/siteConfig.ts, and author profile information is configured in src/config/profileConfig.ts.

Functionally, the template includes Pagefind search and a responsive layout; third-party features such as comments, analytics, sponsorship, ads, music, anime tracking, and a live2d mascot are disabled by default and require your own configuration to enable. For comments, Waline or Twikoo is recommended; fill in the configuration in src/config/commentConfig.ts and change type to the corresponding value.

Deployment primarily targets Cloudflare Workers: wrangler.jsonc has already configured Astro's build directory dist/ as the static assets directory and enabled nodejs_compat, using the generated 404 page when resources are not found. The repository also retains example configurations for GitHub Pages and Vercel, but Cloudflare Workers is the prioritized and verified method.

Before use, you need to modify the site identity placeholders, including example.com, Demo Author, and [email protected], and replace the sample avatar and cover images in public/assets/images/.

AstroBlog

Is it right for your project?

Use Cases

  • Building a personal blog hosted on Cloudflare Workers
  • Writing and managing articles in Markdown or MDX with tags, categories, and draft status
  • Wanting a blog with built-in Pagefind search and responsive layout
  • Needing to optionally integrate third-party services such as Waline or Twikoo comments
  • Customizing further from templates derived from Firefly or fuwari

Suitable For

  • Developers familiar with Astro and pnpm workflows who plan to deploy to Cloudflare Workers
  • Bloggers who want to maintain content in Markdown/MDX and configure site information themselves
  • Users who need optional third-party features such as comments and analytics, disabled by default
  • Users who accept replacing placeholder content such as the sample site identity, avatar, and cover images before use

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires Node.js 22 or higher; pnpm version is specified in package.json

  2. 2

    Use pnpm install and pnpm dev for local development; use pnpm build for production builds

  3. 3

    Before use, modify src/config/siteConfig.ts, src/config/profileConfig.ts, and wrangler.jsonc, and replace the sample images in public/assets/images/

  4. 4

    Before official release, search for and replace placeholder content such as example.com, Demo Author, and [email protected]

  5. 5

    Before deploying to Cloudflare Workers, run pnpm build to generate dist/, then run npx wrangler deploy; the sitemap is generated only during production builds

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version available in the public repository under the MIT license; the free scope is limited to this version's code and does not imply that external services or third-party assets are free.

Must comply with when using

  • Permits free use, modification, commercial use, and distribution of this version's code.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Third-party features such as comments, analytics, sponsorship, ads, music, anime tracking, and live2d mascot are disabled by default and require your own configuration to enable; they may involve external service accounts or fees.
  • Using third-party services such as comments, analytics, and sponsorship requires you to provide your own configuration and may require registering accounts or applying for API keys.
  • Enabling comments requires deploying or configuring Waline/Twikoo services yourself, which are external dependencies.
  • Deploying to Cloudflare Workers requires logging into a Cloudflare account, which is an external service requirement.
  • Before publishing, you must run pnpm build to generate dist/, otherwise Wrangler cannot publish the static assets.
  • Before official release, you must replace placeholder content such as example.com, Demo Author, and [email protected].
  • You need to replace the sample avatar and cover images in public/assets/images/; the sample images may be subject to separate licensing.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

评论、统计、赞助、广告、音乐、追番和看板娘等第三方功能默认关闭,可按需填写自己的配置后启用。

Original README

如需评论、统计、赞助或其他第三方服务,请填写自己的配置后再启用。

Original README

在 `src/config/commentConfig.ts` 中填写对应服务配置,并将 `type` 改为 `"waline"` 或 `"twikoo"` 后即可启用。

Original README

首次使用前登录 Cloudflare,并确认当前账号:

Original README

必须先执行 `pnpm build` 生成 `dist/`,Wrangler 才能发布静态资源。

Original README

模板中的站点身份均为占位内容。正式发布前,请搜索并替换 `example.com`、`Demo Author` 和 `[email protected]`。

Original README

替换 `public/assets/images/` 中的示例头像和封面。

Original README
https://github.com/John10240/bluesy-astro-theme/blob/main/LICENSEhttps://github.com/John10240/bluesy-astro-theme/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 80 / 100
Technologies
Astro
Website type
Blog
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-10-02
Screenshot last checked
2026-10-03

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: [email protected] · 2026-10-04

Inspect the recorded source material

SHA-256: 5b3b46fc5b87afb6f4103102a423fe6d045213f2685c136b7bcee82dbc89b33d

2026-10-03T13:51:15.915Z

Source file / repository
# bluesy-astro-theme

这是一个面向 **Cloudflare Workers Static Assets** 部署的 Astro 博客模板,使用 Astro 7、Svelte 5、Tailwind CSS 4 和 pnpm 构建,支持 Markdown/MDX 内容、Pagefind 搜索、响应式布局及多种可选扩展。

- 在线预览:<https://bluesy-astro-theme.qiui.workers.dev>
- GitHub 仓库:<https://github.com/John10240/bluesy-astro-theme>

评论、统计、赞助、广告、音乐、追番和看板娘等第三方功能默认关闭,可按需填写自己的配置后启用。

## 项目来源

本模板基于 **CuteLeaf** 维护的 [Firefly](https://github.com/CuteLeaf/Firefly) 修改而来;Firefly 则基于 **saicaca** 的 [fuwari](https://github.com/saicaca/fuwari) 二次开发。

感谢 CuteLeaf 和 saicaca 的开源工作。各项目的版权归属以其原仓库和许可证为准。

## 环境要求

- Node.js 22 或更高版本
- pnpm 11(准确版本见 `package.json`)

## 本地运行

```bash
pnpm install
pnpm dev
```

生产构建:

```bash
pnpm build
```

## 使用前修改

1. 在 `src/config/siteConfig.ts` 中修改站点名称、域名和页面开关。
2. 在 `src/config/profileConfig.ts` 中修改作者资料。
3. 在 `src/content/posts/` 中添加 Markdown 或 MDX 文章。
4. 替换 `public/assets/images/` 中的示例头像和封面。
5. 在 `wrangler.jsonc` 中修改 Cloudflare Worker 名称。
6. 如需评论、统计、赞助或其他第三方服务,请填写自己的配置后再启用。

模板中的站点身份均为占位内容。正式发布前,请搜索并替换 `example.com`、`Demo Author` 和 `[email protected]`。

## 评论方案

本模板的评论功能默认关闭,推荐按需选择 [Waline](https://waline.js.org/) 或 [Twikoo](https://twikoo.js.org/)。在 `src/config/commentConfig.ts` 中填写对应服务配置,并将 `type` 改为 `"waline"` 或 `"twikoo"` 后即可启用。

## 文章示例

```yaml
---
title: "文章标题"
published: 2026-08-07T18:52:14+08:00
description: "文章摘要"
tags: ["示例"]
category: "随笔"
draft: false
---
```

完整的 frontmatter 字段定义见 `src/content.config.ts`。

## 部署到 Cloudflare Workers

本模板的主要部署目标是 **Cloudflare Workers Static Assets**。`wrangler.jsonc` 已将 Astro 的构建目录 `dist/` 配置为静态资源目录,并启用了 `nodejs_compat`;找不到资源时会使用构建生成的 404 页面。

### 方法一:Fork 后连接 Cloudflare(推荐)

1. 在 GitHub 上 Fork 本仓库到自己的账户,仓库地址应类似 `https://github.com/<GITHUB_USERNAME>/bluesy-astro-theme`。
2. 在自己的 Fork 中修改 `src/config/siteConfig.ts`、`src/config/profileConfig.ts` 和 `wrangler.jsonc` 等必要配置并提交。
3. 在 Cloudflare 控制台创建 Worker,选择导入或连接 Git 仓库,并授权访问自己的 Fork,不要选择原模板仓库。
4. 将构建命令设为 `pnpm build`,部署命令设为 `npx wrangler deploy`,然后保存并部署。

Workers Builds 会安装依赖、生成 `dist/`,再把静态资源发布到 Cloudflare Workers。连接自己的 Fork 后,生产分支的新提交可以继续触发自动构建和部署。

### 方法二:使用 Wrangler CLI

克隆并安装依赖:

```bash
git clone https://github.com/<GITHUB_USERNAME>/bluesy-astro-theme.git
cd bluesy-astro-theme
pnpm install --frozen-lockfile
```

首次使用前登录 Cloudflare,并确认当前账号:

```bash
pnpm exec wrangler login
pnpm exec wrangler whoami
```

生成生产构建:

```bash
pnpm build
```

使用 Cloudflare Workers 在本地预览:

```bash
pnpm exec wrangler dev
```

发布到 Cloudflare Workers:

```bash
pnpm exec wrangler deploy
```

必须先执行 `pnpm build` 生成 `dist/`,Wrangler 才能发布静态资源。部署前还应修改:

- `src/config/siteConfig.ts` 中的 `site_url`
- `wrangler.jsonc` 中的 Worker `name`
- Cloudflare 控制台中的自定义域名和路由(如需要)

当构建环境设置了 `CF_WORKERS` 环境变量时,`astro.config.mjs` 会启用 `@astrojs/cloudflare` 适配器。仓库目前提供的是 Wrangler CLI 部署入口,没有内置需要 Cloudflare Token 的自动部署工作流。

仓库同时保留 GitHub Pages 和 Vercel 的示例配置,但 Cloudflare Workers 是本模板优先说明和验证的部署方式。

部署后可通过 Cloudflare 分配的 `https://<WORKER_NAME>.<ACCOUNT_SUBDOMAIN>.workers.dev` 地址访问。当前模板使用 <https://bluesy-astro-theme.qiui.workers.dev> 作为在线预览地址;它是已部署站点地址,不是 Cloudflare 的版本 Preview URL。

### Cloudflare 官方文档

- [Deploy to Cloudflare 按钮](https://developers.cloudflare.com/workers/platform/deploy-buttons/)
- [在 Cloudflare Workers 上部署 Astro](https://developers.cloudflare.com/workers/framework-guides/web-apps/astro/)
- [Workers Static Assets](https://developers.cloudflare.com/workers/static-assets/)
- [Wrangler 命令参考](https://developers.cloudflare.com/workers/wrangler/commands/)
- [`workers.dev` 路由](https://developers.cloudflare.com/workers/configuration/routing/workers-dev/)

## Sitemap 验证

`@astrojs/sitemap` 只在生产构建时生成 Sitemap,因此使用 `pnpm dev` 时访问 `/sitemap-index.xml` 返回 404 属于正常现象,开发模式下页脚也会隐藏该链接。

本地验证:

```bash
pnpm build
pnpm preview
```

然后访问 `http://localhost:4321/sitemap-index.xml`。索引还会引用 `/sitemap-0.xml` 等文件,也应一并确认。构建后也可以直接检查 `dist/sitemap-index.xml`。

不要在 `public/` 中手动添加 Sitemap,否则可能与 `@astrojs/sitemap` 的生成结果重复或冲突。

## 许可证

本模板采用 MIT License,详见 [LICENSE](./LICENSE)。上游项目的代码仍遵循各自的许可证和版权声明。
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.