🏗️ Проект StaticFlow

В этом разделе мы рассмотрим основные концепции и структуру проекта StaticFlow.

📁 Структура проекта

Типичный проект StaticFlow имеет следующую структуру:

text
project/├── content/ # Исходные файлы контента├── templates/ # HTML шаблоны├── static/ # Статические файлы (CSS, JS, изображения)├── output/ # Сгенерированный сайт├── media/ # Медиафайлы└── config.toml # Конфигурация проекта

🧠 Основные концепции

📝 Контент

Контент в StaticFlow хранится в виде Markdown файлов в директории content/. Каждый файл может содержать метаданные в формате front matter:

yaml
---title:Заголовок страницыdate:2024-03-20author:авторtags:[тег1,тег2]format:markdowntemplate:page.html---

🎨 Шаблоны

Шаблоны определяют внешний вид страниц. Они используют Jinja2 как движок шаблонов и могут включать: - 🏠 Базовые шаблоны - 🧩 Частичные шаблоны (partials) - 🔧 Макросы - 🧬 Наследование шаблонов

📦 Статические файлы

Директория static/ содержит все статические файлы, которые копируются в output/ без изменений: - 🎨 CSS стили - ⚡ JavaScript файлы - 🖼️ Изображения - 📁 Другие медиафайлы

⚙️ Конфигурация

Файл config.toml определяет основные настройки проекта: - 🏷️ Имя сайта - 🌐 Базовый URL - 🌍 Языки - 🔗 URL паттерны - 🔌 Плагины - ⚙️ Другие настройки

📂 Организация контента

📁 Категории

StaticFlow поддерживает иерархическую организацию контента через категории: - 📂 Категории могут быть вложенными

🏷️ Теги

Теги позволяют группировать контент по темам: - 🔤 Нечувствительны к регистру

👥 Авторы

Система авторов позволяет: - 👤 Привязывать контент к авторам

🔌 Плагины

StaticFlow имеет систему плагинов, которая позволяет: - 🔧 Расширять функциональность - 📄 Добавлять новые форматы контента - 🔗 Интегрировать внешние сервисы - ⚙️ Кастомизировать процесс сборки