流萤 / Firefly

🌟 项目概述

Firefly 是一款基于 Astro 框架和 Fuwari 模板开发的清新美观且现代化个人博客主题模板,专为技术爱好者和内容创作者设计。该主题融合了现代 Web 技术栈,提供了丰富的功能模块和高度可定制的界面,让您能够轻松打造出专业且美观的个人博客网站。

🖥️在线预览: Firefly - Demo site

🏠我的博客: https://blog.cuteleaf.cn

📝Firefly使用文档: https://docs-firefly.cuteleaf.cn

⭐Firefly开源地址:https://github.com/CuteLeaf/Firefly

在这里插入图片描述


✨ 功能特性

⚡ 静态站点生成: 基于Astro的超快加载速度和SEO优化

🎨 现代化设计: 简洁美观的界面,支持自定义主题色

📱 移动友好: 完美的响应式体验,移动端专项优化

🔧 高度可配置: 大部分功能模块均可通过配置文件自定义

核心功能

  • Astro + Tailwind CSS - 基于现代技术栈的超快静态站点生成
  • 流畅动画 - Swup 页面过渡动画,提供丝滑的浏览体验
  • 响应式设计 - 完美适配桌面端、平板和移动设备
  • 多语言支持 - i18n 国际化,支持简体中文、繁体中文、英文、日文、俄语
  • 全文搜索 - 基于 Pagefind 的客户端搜索,支持文章内容索引

个性化

  • 动态侧边栏 - 支持配置单侧边栏、双侧边栏
  • 文章布局 - 支持配置(单列)列表、网格(多列/瀑布流)布局
  • 字体管理 - 支持自定义字体,丰富的字体选择器
  • 页脚配置 - HTML 内容注入,完全自定义
  • 亮暗色模式 - 支持亮色/暗色/跟随系统三种模式
  • 导航栏自定义 - Logo、标题、链接全面自定义
  • 壁纸模式切换 - 横幅壁纸、全屏透明壁纸、纯色背景
  • 主题色自定义 - 360° 色相调节

如果你有好用的功能和优化,请提交 Pull Request

🚀 快速开始

环境要求

  • Node.js ≥ 22
  • pnpm ≥ 9

本地开发部署

  1. 克隆仓库:

    git clone https://github.com/Cuteleaf/Firefly.git
    cd Firefly
    

    Fork 到自己仓库在克隆(推荐),记得先点 Star 在 Fork 哦!

    git clone https://github.com/you-github-name/Firefly.git
    cd Firefly
    
  2. 安装依赖:

    # 如果没有安装 pnpm,先安装
    npm install -g pnpm
    
    # 安装项目依赖
    pnpm install
    
  3. 配置博客:

    • 编辑 src/config/ 目录下的配置文件自定义博客设置
  4. 启动开发服务器:

    pnpm dev
    

    博客将在 http://localhost:4321 可用

平台托管部署

  • 参考官方指南将博客部署至 Vercel, Netlify, Cloudflare Pages, EdgeOne Pages 等。

  • VercelNetlify 等主流平台自动部署,会根据环境自动选择适配器。

    框架预设: Astro

    根目录: ./

    输出目录: dist

    构建命令: pnpm run build

    安装命令: pnpm install

📖 配置说明

📚 详细配置文档: 查看 Firefly使用文档 获取完整的配置指南

设置网站语言

要设置博客的默认语言,请编辑 src/config/siteConfig.ts 文件:

// 定义站点语言
const SITE_LANG = "zh_CN";

支持的语言代码:

  • zh_CN - 简体中文
  • zh_TW - 繁体中文
  • en - 英文
  • ja - 日文
  • ru - 俄文

配置文件结构

src/
├── config/
│   ├── index.ts              # 配置索引文件
│   ├── siteConfig.ts         # 站点基础配置
│   ├── backgroundWallpaper.ts # 背景壁纸配置
│   ├── profileConfig.ts      # 用户资料配置
│   ├── commentConfig.ts      # 评论系统配置
│   ├── announcementConfig.ts # 公告配置
│   ├── licenseConfig.ts      # 许可证配置
│   ├── footerConfig.ts       # 页脚配置
│   ├── FooterConfig.html     # 页脚HTML内容
│   ├── expressiveCodeConfig.ts # 代码高亮配置
│   ├── sakuraConfig.ts       # 樱花特效配置
│   ├── fontConfig.ts         # 字体配置
│   ├── sidebarConfig.ts      # 侧边栏布局配置
│   ├── navBarConfig.ts       # 导航栏配置
│   ├── musicConfig.ts        # 音乐播放器配置
│   ├── pioConfig.ts          # 看板娘配置
│   ├── adConfig.ts           # 广告配置
│   ├── friendsConfig.ts      # 友链配置
│   ├── galleryConfig.ts      # 相册配置
│   ├── sponsorConfig.ts      # 赞助配置
│   └── coverImageConfig.ts  # 文章封面图配置

⚙️ 文章 Frontmatter

---
title: My First Blog Post
published: 2023-09-09
description: This is the first post of my new Astro blog.
image: ./cover.jpg  # 或使用 "api" 来启用随机封面图
tags: [Foo, Bar]
category: Front-end
draft: false
lang: zh-CN      # 仅当文章语言与 `siteConfig.ts` 中的网站语言不同时需要设置
pinned: false    # 置顶
comment: true    # 是否允许评论
---

🧩 Markdown 扩展语法

除了 Astro 默认支持的 GitHub Flavored Markdown 之外,还包含了一些额外的 Markdown 功能:

🧞 指令

下列指令均需要在项目根目录执行:

Command Action
pnpm install 安装依赖
pnpm dev localhost:4321 启动本地开发服务器
pnpm build 构建网站至 ./dist/
pnpm preview 本地预览已构建的网站
pnpm check 检查代码中的错误
pnpm format 使用Biome格式化您的代码
pnpm new-post <filename> 创建新文章
pnpm astro ... 执行 astro add, astro check 等指令
pnpm astro --help 显示 Astro CLI 帮助
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐