A static blog theme built on Astro, inspired by hexo-theme-butterfly and HsuBlog
astro-astrofly — Astro Starter Template
By mocusez
An Astro blog theme inspired by hexo-theme-butterfly, supporting Chinese and English, Pagefind full-text search, PWA, and Waline comments.
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.
Built-in Chinese and English content with language-specific routing
Uses Pagefind for static full-text search, supporting multiple languages and mobile
Supports PWA installation and offline access, with automatic cache version updates at build time
Integrates the Waline comment system, including page view statistics and dark mode
Uses Tailwind CSS with light/dark theme switching and automatically generates a sitemap
Template Details
Astrofly is an Astro-based blog theme whose author states it was inspired by hexo-theme-butterfly and HsuBlog. The repository is released under the MIT license; this version of the code may be used, modified, used commercially, and distributed for free, provided the copyright and license notice are retained when distributing.
The theme targets multilingual blogs: it includes built-in Chinese (zh-CN) and English content with language-specific routing, search is provided by Pagefind and supports multiple languages, and comments are integrated with Waline with page view statistics and dark mode. It also includes PWA support (installable, offline access, automatic cache versioning at build time), Shiki syntax highlighting (including custom MLIR/LLVM syntax), Tailwind CSS styling with light/dark theme switching, automatic sitemap generation, and a mobile-responsive layout.
There are two ways to use it: clone the repository and install dependencies, or create a project using this repository as a template via pnpm create astro; both approaches require moving the example_content directory to content as the content directory. The repository also provides scripts such as npm run newpage to generate articles and npm run sync to publish the site, and accepts translation contributions via Weblate.
Limitations: the free scope refers only to this version of the code; third-party assets such as demo images, fonts, and icons must be checked against their respective licenses; external services such as domains and hosting may incur separate charges. The Astro version number mentioned in the README was not verified in the dependency manifest and is not repeated here.
Is it right for your project?
Use Cases
- Building a Chinese-English bilingual personal blog or technical notes site
- Blogs that need static full-text search without relying on a backend search service
- Sites where readers can install and read offline via PWA
- Blogs using Waline as the comment and page view statistics solution
Suitable For
- Developers familiar with Astro and command-line build workflows
- Bloggers who need Chinese-English bilingual content and language routing
- Users who want to use and modify the theme code for free under the MIT license
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run pnpm install and pnpm approve-builds, and move example_content to content
- 2
You can also create a project from the template with pnpm create astro@latest -- --template mocusez/astro-astrofly
- 3
The development server runs at localhost:4321 by default, and the build output goes to ./dist/
- 4
External dependencies such as comments and search must be configured separately according to their documentation, and third-party assets must have their licenses checked
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is this version of the code and does not mean external services or third-party assets are free.
Must comply with when using
- This version of the code may be used, modified, used commercially, and distributed for free.
- 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
- 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 domains, hosting, databases, payments, or AI may incur separate charges.
- The comment feature depends on the third-party Waline service; you must deploy or connect to a Waline server yourself and configure the corresponding address. This is an external service dependency, not included with the theme code.
- Full-text search is provided by the third-party Pagefind; the Pagefind indexing step must be run at build time, and search capability depends on this external tool.
- Translation collaboration is conducted through the third-party platform Weblate; participating in translation requires registering and using an account on that external service.
- After installation, you must run pnpm approve-builds to approve dependency build scripts; otherwise some dependencies may not build properly.
- The example_content directory must be moved to content to be used as the content directory; otherwise the site content will be missing.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
- **Waline Comments** — Integrated [Waline](https://waline.js.org/) comment system with pageview counting and dark mode support
Original README
- **Full-Text Search** — Lightning-fast static search powered by [Pagefind](https://pagefind.app/), with multilingual support and mobile optimization
Original README
We welcome translation contributions via Weblate!
Original README
pnpm approve-builds
Original README
https://github.com/mocusez/astro-astrofly/blob/master/LICENSEhttps://github.com/mocusez/astro-astrofly/blob/master/README.mdmv example_content content # Use example content as your content directory
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-04. 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
- Astro Themes
- Documentation and maintenance reference score
- More documented · 88 / 100
- Technologies
- Astro · Hexo
- Website type
- Starter
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-09-15
- Screenshot last checked
- 2026-10-04
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: f5de2922ef6c321838bff86586812f386c1128a41e5e0a44cc20575659bb95e5
2026-10-04T07:34:58.377Z
Source file / repository# Astrofly [](https://astro.build) English | [简体中文](./README_zh-CN.md) Inspire by the [hexo-theme-butterfly](https://github.com/jerryc127/hexo-theme-butterfly) and [HsuBlog](https://github.com/KraHsu/HsuBlog)  ## Features - **Astro v6** — Built on the latest Astro for fast, static-first performance - **Bilingual Support** — Chinese (zh-CN) and English content with language-specific routing - **Full-Text Search** — Lightning-fast static search powered by [Pagefind](https://pagefind.app/), with multilingual support and mobile optimization - **PWA Support** — Installable as a Progressive Web App with offline access, auto cache versioning on build - **Waline Comments** — Integrated [Waline](https://waline.js.org/) comment system with pageview counting and dark mode support - **Expressive Code** — Syntax highlighting powered by Shiki, with custom MLIR/LLVM grammar support - **Tailwind CSS** — Utility-first styling with dark/light theme toggle - **Sitemap** — Auto-generated sitemap for SEO - **Responsive Design** — Mobile-friendly layout with adaptive navigation ## 💻 Installation - Git ``` git clone https://github.com/mocusez/astro-astrofly.git blog cd blog pnpm install pnpm approve-builds mv example_content content # Use example content as your content directory ``` ### Use as template ``` pnpm create astro@latest -- --template mocusez/astro-astrofly mv example_content content # Use example content as your content directory ``` ## 🧞 Commands All commands are run from the root of the project, from a terminal: | 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 astro ...` | Run CLI commands like `astro add`, `astro check` | | `npm run astro -- --help` | Get help using the Astro CLI | | `npm run newpage` | Generate new post base on template | | `npm run sync` | Publish the site by system script | ## 🌍 Translation We welcome translation contributions via Weblate! [](https://hosted.weblate.org/projects/astro-astrofly/astro-astrofly/) Visit [Weblate](https://hosted.weblate.org/projects/astro-astrofly/astro-astrofly/) to help translate Astrofly into your language.
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
accessible-astro-starter
An accessibility-focused Astro 6 starter template with WCAG 2.2 AA practices, Tailwind CSS 4, TypeScript, Prettier, ESLint, form validation, blog and portfolio examples, and preference toggles for dark mode, high contrast, and reduced motion.
Astro · Blog

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio

astro-shopify
A lightweight Shopify headless ecommerce starter template built with Astro and Svelte, integrating the Shopify Storefront API for product and inventory data, with built-in cart state management and basic add-to-cart and checkout flow.
Astro · E-commerce

brutal
Brutal is a neobrutalism Astro starter theme from ElianCodes, derived from the author's personal site and generalized. It includes a Markdown blog collection, build-time RSS and sitemap, image optimization, Tailwind CSS styling, and Biome checks, with no JavaScript by default.
Astro · Starter

qwind
Qwind is a free and open-source website template built on Qwik and Tailwind CSS, featuring directory-based routing via QwikCity, a Markdown blog, dark mode, and static deployment configuration.
Astro · Tool Site
