---
title: "О проекте"
tags:
date: "2025.07.21 9:31"
order: "001_000"
id: 42259f253bafa002778f8975e4b46d61
---
Муха — _еще один_ генератор статических сайтов со своими фишками.
## Простота
- Не зависит от внешних инструментов, нужен только Node.js.
- Состоит из одного файла, при желании можно положить в репозиторий с сайтом.
## Инструменты блоггинга
- Теги. Страницы тегов генерируются автоматически и/или вручную.
- Интегрированный [полнотекстовый поиск](/+doc:search_ru).
- Исходные тексты страниц — в markdown с дополнениями (≈GFM).
- Произвольные метаданные страниц и инструменты для их использования.
## Переносимость
- Все ссылки внутри сайта — относительные. Сайт работает даже если просто открыть страничку в браузере, т. е. без сервера, включая поиск.
- [Java Script API](/+doc:jsapi_ru) позволяет использовать относительную адресацию в пользовательских скриптах.
- «Умные ссылки» — синтакис, позволяющий сформировать ссылку на страницу, которая не будет зависеть от ее расположения на сайте.
## Дизайн и разработка
- Предварительный просмотр с автообновлением в браузере, интеграция _вашего любимого_ редактора для быстрого редактирования/добавления страниц.
- Используется шаблонизатор Nunjucks, функции шаблонизатора можно использовать и в контенте страниц, например, для отображения данных (ниже).
- Разделение контента и оформления. Нет необходимости явным образом указывать шаблон для каждой страницы (и вообще это антипаттерн).
- [Генератор списков](/+doc:lister_ru) позволяет в большинстве случаев обойтись без явного редактирования навигационных элементов.
- Многостраничные списки, генератор виджета пагинации.
- Муха легко интегрируется с (почти) любыми инструментами разработки.
## Данные
- Данные — полноправный контент. Все файлы данных, размещенные в директории data доступны во время генерации.
- Базовые функции обработки для табличных данных — агрегация, удаление столбцов, генерация слагов и т. д.
- Данные можно использовать в шаблонах и в контенте.
- Из данных можно генерировать страницы при помощи простого, [декларативного синтаксиса](/+doc:generation_col_ru).
- Java Script API позволяет «прикреплять» данные к сайту для дальнейшего использования в пользовательских скриптах.
## Особенности
- Структура сайта в основном определяется структурой директорий с исходными файлами.
- На данный момент нет функций для обработки изображений, изображения копируются на сайт, как есть.
- API для плагинов — на ранних стадиях разработки.