# Firefly
> Свежий и красивый шаблон темы блога Astro
>
> 



>
> [](https://github.com/CuteLeaf/Firefly/stargazers)
[](https://github.com/CuteLeaf/Firefly/network/members)
[](https://github.com/CuteLeaf/Firefly/issues)
>
> [](https://ko-fi.com/Z8Z41NQALY)
>
> 
[](https://deepwiki.com/CuteLeaf/Firefly)
[](https://afdian.com/a/cuteleaf)
---
📖 README:
**[简体中文](../README.zh.md)** | **[繁體中文](README.zh-TW.md)** | **[English](../README.md)** | **[日本語](README.ja.md)** | **[Русский](README.ru.md)**
🚀 Быстрое руководство:
[**🖥️Демо**](https://firefly.cuteleaf.cn/) /
[**📝Документация**](https://docs-firefly.cuteleaf.cn/) /
[**🍀Мой блог**](https://blog.cuteleaf.cn)
⚡ Генерация статического сайта: Сверхбыстрая загрузка и SEO-оптимизация на основе Astro
🎨 Современный дизайн: Чистый и красивый интерфейс с настраиваемыми цветами темы
📱 Мобильная адаптация: Идеальный адаптивный опыт с оптимизацией для мобильных устройств
🔧 Высокая настраиваемость: Большинство функций можно настроить через конфигурационные файлы
>[!TIP]
>Firefly — это свежая и красивая тема для персонального блога на основе фреймворка Astro и шаблона Fuwari, разработанная для энтузиастов технологий и создателей контента. Эта тема интегрирует современные веб-технологические стеки, предоставляет богатые функциональные модули и высококастомизируемые интерфейсы, позволяя легко создать профессиональный и красивый веб-сайт персонального блога.
>
>В важных макетах Firefly инновационно добавляет двойные боковые панели, сеточный макет статей (многоколонный), макет Masonry, включает статистику сайта, календарный компонент, оглавление статей и другие виджеты для обогащения боковой панели, при этом сохраняется система макетов fuwari, свободно переключаемая в конфигурационном файле.
>
>**Подробнее о настройках макета и демонстрациях см.: [Детали системы макетов Firefly](https://firefly.cuteleaf.cn/posts/firefly-layout-system/)**
>
>Firefly поддерживает переключение языков i18n, но кроме упрощенного китайского, другие языки переведены с помощью ИИ. Если есть ошибки, пожалуйста, отправьте [Pull Request](https://github.com/CuteLeaf/Firefly/pulls) для исправления.
## ✨ Возможности
### Основные функции
- [x] **Astro + Tailwind CSS** - Сверхбыстрая генерация статических сайтов на основе современного технологического стека
- [x] **Плавная анимация** - Анимация переходов между страницами Swup для шелковисто-плавного просмотра
- [x] **Адаптивный дизайн** - Идеальная адаптация для настольных компьютеров, планшетов и мобильных устройств
- [x] **Многоязычная поддержка** - Интернационализация i18n, поддержка упрощенного китайского, традиционного китайского, английского, японского, русского
- [x] **Полнотекстовый поиск** - Клиентский поиск на основе Pagefind, поддержка индексации содержимого статей.
### Персонализация
- [x] **Динамическая боковая панель** - Поддержка одиночной и двойной боковой панели
- [x] **Макет статей** - Поддержка списка (один столбец) и сетки (многоколонный/Masonry)
- [x] **Управление шрифтами** - Поддержка пользовательских шрифтов с богатым выбором шрифтов
- [x] **Настройка подвала** - Внедрение HTML-контента, полная настраиваемость
- [x] **Режим света и тьмы** - Поддержка светлого/темного/системного режимов
- [x] **Настройка навигации** - Логотип, заголовок, ссылки полностью настраиваются
- [x] **Переключение режимов обоев** - Баннерные обои, полноэкранные обои, однотонный фон
- [x] **Настройка цвета темы** - Регулировка оттенка на 360°
### Компоненты страницы
- [x] **Гостевая книга** - Поддержка страницы гостевой книги
- [x] **Панель объявлений** - Поддержка уведомлений с объявлениями на боковой панели
- [x] **Маскот** - Поддержка двух анимационных движков: Spine и Live2D
- [x] **Статистика сайта** - Отображение количества статей, категорий, тегов, общего количества слов и других данных
- [x] **Календарь сайта** - Отображение календаря текущего месяца и опубликованных статей за месяц
- [x] **Страница спонсоров** - Переход по ссылке спонсора, отображение QR-кода оплаты, список спонсоров, кнопка спонсорства в статьях
- [x] **Постер для публикации** - Поддержка создания красивых постеров для публикации статей
- [x] **Эффект сакуры** - Поддержка эффекта сакуры, полноэкранная анимация сакуры
- [x] **Дружественные ссылки** - Красивая страница отображения дружественных ссылок
- [x] **Рекламный компонент** - Поддержка пользовательского рекламного контента на боковой панели
- [x] **Bangumi** - Отображение отслеживания аниме и игр на основе Bangumi API
- [x] **Система комментариев** - Интеграция систем комментариев Twikoo, Waline, Giscus, Disqus, Artalk
- [x] **Счетчик посещений** - Поддержка вызова встроенного отслеживания посещений Waline, Twikoo
- [x] **Музыкальный плеер** - Музыкальный плеер в стиле Material Design 3
### Улучшение контента
- [x] **Лайтбокс изображений** - Функция предварительного просмотра изображений Fancybox
- [x] **Плавающее оглавление** - Динамическое отображение оглавления статьи, поддержка якорных переходов, показывается при скрытии оглавления боковой панели
- [x] **Защита электронной почты** - Предотвращает сбор адресов электронной почты автоматическими сканерами во избежание спама
- [x] **Оглавление боковой панели** - Динамическое отображение оглавления статьи, поддержка якорных переходов
- [x] **Улучшенные блоки кода** - На основе Expressive Code, поддержка сворачивания кода, номеров строк, идентификации языка
- [x] **Поддержка математических формул** - Движок рендеринга KaTeX, поддержка встроенных и блочных формул
- [x] **Случайные обложки статей** - Поддержка получения случайных обложек через API
- [x] **Расширения Markdown** - Поддержка дополнительных синтаксисов Markdown
### SEO
- [x] **SEO-оптимизация** - Полные мета-теги и структурированные данные
- [x] **RSS-лента** - Автоматическая генерация RSS-ленты
- [x] **Карта сайта** - Автоматическая генерация XML-карты сайта с настройкой фильтрации страниц
- [x] **Аналитика** - Интеграция Google Analytics, Microsoft Clarity
Если у вас есть полезные функции и оптимизации, пожалуйста, отправьте [Pull Request](https://github.com/CuteLeaf/Firefly/pulls)
## 🚀 Быстрый старт
### Требования
- Node.js ≤ 22
- pnpm ≤ 9
### Локальная разработка
1. **Клонировать репозиторий:**
```bash
git clone https://github.com/Cuteleaf/Firefly.git
cd Firefly
```
**Сначала создайте [Fork](https://github.com/CuteLeaf/Firefly/fork) в свой репозиторий, затем клонируйте (рекомендуется). Не забудьте нажать Star перед Fork!**
```bash
git clone https://github.com/you-github-name/Firefly.git
cd Firefly
```
3. **Установить зависимости:**
```bash
# Установите pnpm, если еще не установлен
npm install -g pnpm
# Установить зависимости проекта
pnpm install
```
4. **Настроить блог:**
- Отредактируйте конфигурационные файлы в каталоге `src/config/` для настройки блога
5. **Запустить сервер разработки:**
```bash
pnpm dev
```
Блог будет доступен по адресу `http://localhost:4321`
### Развертывание на платформе хостинга
- **См. [официальное руководство](https://docs.astro.build/ru/guides/deploy/) для развертывания блога на Vercel, Netlify, GitHub Pages, Cloudflare Pages, EdgeOne Pages и т.д.**
Пресет фреймворка: `Astro`
Корневой каталог: `./`
Каталог вывода: `dist`
Команда сборки: `pnpm run build`
Команда установки: `pnpm install`
## 📖 Настройка
> 📚 **Подробная документация по настройке**: См. [документацию Firefly](https://docs-firefly.cuteleaf.cn/) для полного руководства по настройке
### Установка языка сайта
Чтобы установить язык по умолчанию для вашего блога, отредактируйте файл `src/config/siteConfig.ts`:
```typescript
// Определить язык сайта
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 # Конфигурация дружественных ссылок
│ ├── sponsorConfig.ts # Конфигурация спонсоров
│ └── coverImageConfig.ts # Конфигурация обложек статей
```
## ⚙️ Frontmatter статьи
```yaml
---
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
Помимо поддержки [GitHub Flavored Markdown](https://github.github.com/gfm/) по умолчанию в Astro, есть несколько дополнительных функций Markdown:
- Предупреждающие блоки (Admonitions) - Поддержка тем GitHub, Obsidian и VitePress ([Предпросмотр и использование](https://firefly.cuteleaf.cn/posts/markdown-extended/))
- Карточки репозиториев GitHub ([Предпросмотр и использование](https://firefly.cuteleaf.cn/posts/markdown-extended/))
- Улучшенные блоки кода на основе Expressive Code ([Предпросмотр](http://firefly.cuteleaf.cn/posts/code-examples/) / [Документация](https://expressive-code.com/))
## 🧞 Команды
Все команды должны выполняться в корневом каталоге проекта:
| Команда | Действие |
|:---------------------------|:----------------------------------------------------|
| `pnpm install` | Установить зависимости |
| `pnpm dev` | Запустить локальный сервер разработки на `localhost:4321` |
| `pnpm build` | Собрать сайт в `./dist/` |
| `pnpm preview` | Локальный предварительный просмотр собранного сайта |
| `pnpm check` | Проверить код на наличие ошибок |
| `pnpm format` | Отформатировать код с помощью Biome |
| `pnpm new-post ` | Создать новую статью |
| `pnpm astro ...` | Выполнить `astro add`, `astro check` и другие команды |
| `pnpm astro --help` | Показать справку Astro CLI |
## 🙏 Благодарности
- Особенная благодарность [saicaca](https://github.com/saicaca) за разработку шаблона [fuwari](https://github.com/saicaca/fuwari), на котором основан Firefly
- Использованы решения [Bangumi Collection Display](https://kasuha.com/posts/fuwari-enhance-ep2/) и [Email Protection/Image Title](https://kasuha.com/posts/fuwari-enhance-ep1/), которыми поделился блогер [霞葉](https://kasuha.com)
- За основу взяты решения [Mizuki](https://github.com/matsuzaka-yuki/Mizuki) для заголовка баннера, многоуровневой панели навигации меню, эффекта сакуры, KaTeX и Fancybox
- Построено с использованием [Astro](https://astro.build) и [Tailwind CSS](https://tailwindcss.com)
- Использует модель маскота в стиле Чиби `Firefly` spine, предоставленную создателем Bilibili [公公的日常](https://space.bilibili.com/3546750017080050)
- Иконки от [Iconify](https://iconify.design/)
- Авторские права на изображения Firefly принадлежат компании [miHoYo](https://www.mihoyo.com/), разработчику игры ["Honkai: Star Rail"](https://sr.mihoyo.com/).
## 📝 Лицензия
Этот проект распространяется под лицензией [MIT license](https://mit-license.org/), подробности см. в файле [LICENSE](../LICENSE).
Первоначально ветвлено из [saicaca/fuwari](https://github.com/saicaca/fuwari). Благодарим автора оригинального проекта за вклад. Оригинальный проект лицензирован по [MIT License](https://mit-license.org/)
**Уведомление об авторских правах:**
- Copyright (c) 2024 [saicaca](https://github.com/saicaca) - [fuwari](https://github.com/saicaca/fuwari)
- Copyright (c) 2025 [CuteLeaf](https://github.com/CuteLeaf) - [Firefly](https://github.com/CuteLeaf/Firefly)
В соответствии с лицензией MIT вы можете свободно использовать, изменять и распространять код, но обязаны сохранять вышеуказанное уведомление об авторских правах.
## 🍀 Участники
Спасибо следующим участникам за их вклад в этот проект. Если у вас есть вопросы или предложения, пожалуйста, отправьте [Issue](https://github.com/CuteLeaf/Firefly/issues) или [Pull Request](https://github.com/CuteLeaf/Firefly/pulls).
>
>
>
Спасибо следующим участникам за их вклад в исходный проект [fuwari](https://github.com/saicaca/fuwari), который заложил основу для этого проекта.
>
>
>
## ⭐ История звезд
[](https://star-history.com/#CuteLeaf/Firefly&Date)