Astro-based blog template with content written in Markdown or MDX
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.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Primarily intended for deployment on Cloudflare Workers Static Assets, with wrangler.jsonc already configuring dist/ as the static assets directory
Built-in Pagefind search and responsive layout
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
Comments support Waline or Twikoo, selected and configured in commentConfig.ts
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/.
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
Requires Node.js 22 or higher; pnpm version is specified in package.json
- 2
Use pnpm install and pnpm dev for local development; use pnpm build for production builds
- 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
Before official release, search for and replace placeholder content such as example.com, Demo Author, and [email protected]
- 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
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis 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
https://github.com/John10240/bluesy-astro-theme/blob/main/LICENSEhttps://github.com/John10240/bluesy-astro-theme/blob/main/README.md替换 `public/assets/images/` 中的示例头像和封面。
Original README
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)。上游项目的代码仍遵循各自的许可证和版权声明。
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog

astro-paper
AstroPaper is a minimal, responsive, accessible, and SEO-friendly Astro blog theme. Articles are stored as Markdown/MDX in src/content/posts/, with subdirectories affecting URLs.
Astro · Blog

fuwari
Fuwari is a static blog template built with Astro and Tailwind CSS for personal blogs. It manages posts as Markdown files in src/content/posts/, with frontmatter for title, date, description, cover, tags, categories, draft status, and language.
Astro · Blog

Firefly
Firefly is a clean personal blog theme forked from Astro and Fuwari, offering four background modes, single/double sidebar and list/grid layouts, Pagefind client-side full-text search, and a six-language UI.
Astro · Blog

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio
