Ported from the Astro version of Firefly to Hexo, using the EJS template engine and modular component architecture
hexo-theme-firefly — Astro Blog Template
By LKDenchin
Firefly is a Hexo blog theme ported from the Astro version of Firefly. It uses the EJS template engine and provides a dual-sidebar layout, dark mode, dynamic hue, responsive layout, and live2d integration. It is currently in developer preview.
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.
Supports dual-sidebar layout, dark mode toggle, and dynamic hue adjustment
Multi-device responsive adaptation, with Spine / Live2D live2d integration
Built-in system pages such as home, archive, category, tag, and post detail
Provides custom subpages such as dynamics, friends, gallery, anime list, and message board, along with corresponding data source configuration
Template Details
Firefly is a personal blog theme running on the Hexo blog framework, ported from the Astro version of Firefly and secondarily developed based on Fuwari. The theme uses the EJS template engine and a modular component architecture, offering a dual-sidebar layout, dark mode toggle, dynamic hue adjustment, multi-device responsive adaptation, and support for Spine / Live2D live2d.
The theme includes built-in system pages such as home, archive, category, tag, and post detail, and also provides custom subpages for categories, tags, about, dynamics/moments, friends, sponsorship, gallery, anime list, and message board. The dynamics page is automatically generated by scripts/generators/dynamic.js, with data sourced from Markdown files under source/_dynamics/; friend links data can be placed in source/_data/friends.yml; gallery and sponsorship content are configured in the corresponding nodes of the theme _config.yml. Posts support front-matter fields such as cover, sticky, TOC, comments, copyright notice, and password protection.
The theme is currently in developer preview. The README explicitly states that configuration items and component interfaces may be slightly adjusted with version updates. Installation involves cloning the repository into themes/firefly and setting theme: firefly in the Hexo root _config.yml; the hexo-generator-search and hexo-wordcount plugins also need to be installed. Note that the theme_config field in the Hexo root _config.yml overrides the theme's main configuration file, so it is recommended to configure directly in themes/firefly/_config.yml.
Is it right for your project?
Use Cases
- Building a personal blog with Hexo and wanting a fresh visual style with a dual-sidebar layout
- Needing appearance capabilities such as dark mode, dynamic hue, and responsive adaptation
- Wanting to maintain dynamics/moments content via Markdown files and automatically generate pages
- Needing extended pages such as friends, gallery, anime list, and message board to organize blog content
Suitable For
- Blog authors using Hexo and familiar with EJS templates and YAML configuration
- Users who accept the developer preview stage and can keep up with configuration and interface adjustments
- Sites needing post features such as categories, tags, archives, TOC, comments, and password protection
- Personal blogs wanting to integrate Spine / Live2D live2d
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
In the Hexo blog root directory, run git clone https://github.com/LKDenchin/hexo-theme-firefly.git themes/firefly
- 2
Set theme: firefly in the Hexo root _config.yml, and note that the theme_config field overrides the theme's main configuration file
- 3
Install dependency plugins: npm install hexo-generator-search hexo-wordcount --save
- 4
Use npx hexo clean, npx hexo generate, npx hexo server for local build and preview
- 5
Custom subpages need to be created via hexo new page and specify type or layout in Front-matter
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 the code of this version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- 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
- The theme is in developer preview; configuration items and component interfaces may be slightly adjusted with version updates, so compatibility changes should be noted during upgrades.
- Two Hexo plugin dependencies, hexo-generator-search and hexo-wordcount, must be installed separately; otherwise features such as search and word count will not be available.
- If the theme_config field is used in the Hexo root _config.yml, it overrides the theme's main configuration; it is recommended to configure directly in themes/firefly/_config.yml.
- The dynamics/moments page is automatically generated by a script and cannot be manually created via hexo new page; data must be placed in Markdown files under the source/_dynamics/ directory.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; they 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
Firefly 主题目前处于 _开发者预览_ 阶段,正在持续优化迭代。**配置项与组件接口可能随版本更新微调。**
Original README
npm install hexo-generator-search hexo-wordcount --save
Original README
Hexo 根目录 `_config.yml` 中的 `theme_config:` 字段会覆盖主题主配置文件。建议将相关配置直接在 `themes/firefly/_config.yml` 中完成。
Original README
https://github.com/LKDenchin/hexo-theme-firefly/blob/master/LICENSEhttps://github.com/LKDenchin/hexo-theme-firefly/blob/master/README.md由 `scripts/generators/dynamic.js` 脚本**自动生成**,无需手动执行 `hexo new page`。
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. 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 · 92 / 100
- Technologies
- Astro · Hexo
- 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-08-30
- Screenshot last checked
- 2026-10-01
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.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 766c048e9aadf10cd2ee2a1aad65d703847fb28a8a4912bf2236b5c388f74785
2026-10-01T03:11:31.833Z
Source file / repository# Firefly (Hexo Theme) [English](README.en.md) | 中文 Firefly 是一款基于 [Hexo](https://hexo.io/) 博客框架的个人博客主题,从 [Astro 版 Firefly](https://github.com/CuteLeaf/Firefly) 迁移而来。 它采用模块化的组件架构与 EJS 模板引擎,支持双侧边栏布局、暗黑模式切换、动态色相调节、多端响应式适配及 Spine / Live2D 看板娘集成。 ## 开发者预览 Firefly 主题目前处于 _开发者预览_ 阶段,正在持续优化迭代。**配置项与组件接口可能随版本更新微调。** ## 运行与安装 ### 通过 Git 安装 在 Hexo 博客根目录下克隆主题仓库至 `themes/firefly` 目录: ```sh git clone https://github.com/LKDenchin/hexo-theme-firefly.git themes/firefly ``` ### 配置启用 修改 Hexo 博客根目录下的 `_config.yml` 文件: ```yaml theme: firefly ``` > **注意**:Hexo 根目录 `_config.yml` 中的 `theme_config:` 字段会覆盖主题主配置文件。建议将相关配置直接在 `themes/firefly/_config.yml` 中完成。 ### 安装依赖插件 ```sh npm install hexo-generator-search hexo-wordcount --save ``` ### 本地编译与运行 ```sh # 清除构建缓存 npx hexo clean # 编译静态文件 npx hexo generate # 启动本地服务 (默认地址 http://127.0.0.1:4000) npx hexo server ``` --- ## 页面路由与分页面指南 Firefly 支持多种系统页面与自定义分页面,详细路由及配置要求如下: ### 1. 系统核心页面 | 页面名称 | 路由路径 | 模板文件 | 说明 | |:---|:---|:---|:---| | **首页** | `/` | `layout/index.ejs` | 显示文章列表(支持 List 与 Grid 视图)及首页 Banner | | **归档页** | `/archives/` | `layout/archive.ejs` | 按年份与月份归档展示所有文章 | | **分类汇总页** | `/categories/` | `layout/categories.ejs` | 聚合全站文章分类 | | **分类详情页** | `/categories/:name/` | `layout/category.ejs` | 展示指定分类下的文章列表 | | **标签汇总页** | `/tags/` | `layout/tags.ejs` | 聚合全站标签云 | | **标签详情页** | `/tags/:name/` | `layout/tag.ejs` | 展示指定标签下的文章列表 | | **文章详情页** | `/:year/:month/:day/:title/` | `layout/post.ejs` | 文章正文、TOC 浮动目录、版权信息与评论区 | ### 2. 自定义功能分页面 需通过 `hexo new page <name>` 创建,并在其 Front-matter 中显式指定 `type` 或 `layout` 属性: #### 分类页 (`/categories/`) 命令:`hexo new page categories` 文件路径:`source/categories/index.md` Front-matter 配置: ```yaml --- title: 分类 type: categories --- ``` #### 标签页 (`/tags/`) 命令:`hexo new page tags` 文件路径:`source/tags/index.md` Front-matter 配置: ```yaml --- title: 标签 type: tags --- ``` #### 关于页 (`/about/`) 命令:`hexo new page about` 文件路径:`source/about/index.md` Front-matter 配置: ```yaml --- title: 关于 layout: about --- ``` #### 动态 / 说说页 (`/dynamic/`) 由 `scripts/generators/dynamic.js` 脚本**自动生成**,无需手动执行 `hexo new page`。 数据源:在博客根目录的 `source/_dynamics/` 目录下创建 Markdown 文件(如 `source/_dynamics/status-01.md`): ```yaml --- title: 今日随想 date: 2026-01-01 12:00:00 author: Firefly location: 上海 sticky: true images: - /img/cover.avif --- 动态正文内容,支持 Markdown 渲染。 ``` #### 友链页 (`/friends/`) 命令:`hexo new page friends` 文件路径:`source/friends/index.md` Front-matter 配置: ```yaml --- title: 友链 type: friends --- ``` 数据源:可选择在 `source/_data/friends.yml` 文件中配置友链数据列表。 #### 赞助页 (`/sponsor/`) 命令:`hexo new page sponsor` 文件路径:`source/sponsor/index.md` Front-matter 配置: ```yaml --- title: 赞助 type: sponsor --- ``` 配置文件:在 `_config.yml` 的 `sponsor:` 节点下配置二维码图片与赞助列表。 #### 相册页 (`/gallery/`) 命令:`hexo new page gallery` 文件路径:`source/gallery/index.md` Front-matter 配置: ```yaml --- title: 相册 type: gallery --- ``` 配置文件:在 `_config.yml` 的 `gallery:` 节点下配置图片瀑布流列宽与相册项目。 #### 追番 / 番组页 (`/bangumi/`) 命令:`hexo new page bangumi` 文件路径:`source/bangumi/index.md` Front-matter 配置: ```yaml --- title: 追番 type: bangumi --- ``` #### 留言板页 (`/guestbook/`) 命令:`hexo new page guestbook` 文件路径:`source/guestbook/index.md` Front-matter 配置: ```yaml --- title: 留言板 type: guestbook --- ``` --- ## 文章 Front-matter 配置规范 在 Markdown 文章头部通过 Front-matter 配置参数: ```yaml --- title: 文章标题 date: 2026-01-01 12:00:00 updated: 2026-01-02 18:00:00 categories: [技术] tags: [Hexo, 前端] description: 文章简短描述 cover: /img/cover.jpg # 文章封面图 top: true # 置顶文章 toc: true # 显示浮动目录 comments: true # 允许评论 copyright: true # 显示版权声明 password: "" # 加密密码(留空不加密) --- ``` --- ## 参与贡献 参见 [CONTRIBUTING.md](CONTRIBUTING.md)。 欢迎通过 [GitHub Issues](https://github.com/LKDenchin/hexo-theme-firefly/issues) 提交 Bug 反馈或 Pull Request。 --- ## 致谢 - 博客框架:[Hexo](https://hexo.io/) - 模板引擎:[EJS](https://ejs.co/) - 视觉与概念设计:[Firefly (Astro 版)](https://github.com/CuteLeaf/Firefly) by CuteLeaf / [fuwari](https://github.com/saicaca/fuwari) by saicaca --- ## 许可证 [MIT 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
