🚀 Quick Guide: 🖥️Live Demo / 📝Documentation / 🍀My Blog
📖 README: 简体中文 | 繁體中文 | English | 日本語 | Русский
⚡ Static Site Generation: Ultra-fast loading speed and SEO optimization based on Astro
🎨 Modern Design: Clean and beautiful interface with customizable theme colors
📱 Mobile-Friendly: Perfect responsive experience with mobile-specific optimizations
🔧 Highly Configurable: Most features can be customized through configuration files
TIP
In important layouts, Firefly innovatively adds dual sidebars, article grid (multi-column) layout, masonry layout,
Includes site statistics, calendar component, table of contents and other widgets to enrich the sidebar,
While also retaining fuwari layout system, freely switchable in the configuration file.
For more layout configurations and demos, please see: Firefly Layout System Details
If you have useful features and optimizations, please submit a Pull Request
Clone the repository:
git clone https://github.com/Cuteleaf/Firefly.git
cd Firefly
First Fork to your own repository then clone (recommended)
git clone https://github.com/you-github-name/Firefly.git
cd Firefly
Install dependencies:
# Install pnpm if not installed
npm install -g pnpm
# Install project dependencies
pnpm install
Configure blog:
src/config/ directory to customize blog settingsStart development server:
pnpm dev
Blog will be available at http://localhost:4321
Refer to the official guide to deploy your blog to Vercel, Netlify, GitHub Pages, Cloudflare Pages, EdgeOne Pages, etc.
Framework Preset: Astro
Root Directory: ./
Output Directory: dist
Build Command: pnpm run build
Install Command: pnpm install
📚 Detailed Configuration Documentation: Check Firefly Documentation for complete configuration guide
To set the default language for your blog, edit the src/config/siteConfig.ts file:
// Define site language
const SITE_LANG = "zh_CN";
Supported language codes:
zh_CN - Simplified Chinesezh_TW - Traditional Chineseen - Englishja - Japaneseru - Russiansrc/ ├── config/ │ ├── index.ts # Configuration index file │ ├── siteConfig.ts # Site basic configuration │ ├── backgroundWallpaper.ts # Background wallpaper configuration │ ├── profileConfig.ts # User profile configuration │ ├── commentConfig.ts # Comment system configuration │ ├── announcementConfig.ts # Announcement configuration │ ├── licenseConfig.ts # License configuration │ ├── footerConfig.ts # Footer configuration │ ├── FooterConfig.html # Footer HTML content │ ├── expressiveCodeConfig.ts # Code highlighting configuration │ ├── sakuraConfig.ts # Sakura effect configuration │ ├── fontConfig.ts # Font configuration │ ├── sidebarConfig.ts # Sidebar layout configuration │ ├── navBarConfig.ts # Navbar configuration │ ├── musicConfig.ts # Music player configuration │ ├── pioConfig.ts # Mascot configuration │ ├── adConfig.ts # Ad configuration │ ├── friendsConfig.ts # Friend links configuration │ ├── sponsorConfig.ts # Sponsor configuration │ └── coverImageConfig.ts # Article cover image configuration
---
title: My First Blog Post
published: 2023-09-09
description: This is the first post of my new Astro blog.
image: ./cover.jpg # Or use "api" to enable random cover images
tags: [Foo, Bar]
category: Front-end
draft: false
lang: zh-CN # Only set when article language differs from site language in `siteConfig.ts`
pinned: false # Pin article
comment: true # Enable comments
---
All commands need to be executed in the project root directory:
| Command | Action |
|---|---|
pnpm install | Install dependencies |
pnpm dev | Start local development server at localhost:4321 |
pnpm build | Build site to ./dist/ |
pnpm preview | Preview built site locally |
pnpm check | Check for errors in code |
pnpm format | Format your code using Biome |
pnpm new-post <filename> | Create new article |
pnpm astro ... | Execute astro add, astro check and other commands |
pnpm astro --help | Display Astro CLI help |
Firefly mascot spine model provided by Bilibili creator 公公的日常This project is licensed under the MIT license. See the LICENSE file for details.
Copyright Notice:
Under the MIT license, you are free to use, modify, and distribute the code, but you must retain the above copyright notice.
Thanks to the following contributors for their contributions to this project. If you have any questions or suggestions, please submit an Issue or Pull Request.