🏗️ Проект StaticFlow
В этом разделе мы рассмотрим основные концепции и структуру проекта StaticFlow.
📁 Структура проекта
Типичный проект StaticFlow имеет следующую структуру:
project/
├── content/ # Исходные файлы контента├── templates/ # HTML шаблоны├── static/ # Статические файлы (CSS, JS, изображения)├── output/ # Сгенерированный сайт├── media/ # Медиафайлы└── config.toml # Конфигурация проекта
🧠 Основные концепции
📝 Контент
Контент в StaticFlow хранится в виде Markdown файлов в директории content/
. Каждый файл может содержать метаданные в формате front matter:
---
title:Заголовок страницыdate:2024-03-20author:авторtags:[тег1,тег2]format:markdowntemplate:page.html---
🎨 Шаблоны
Шаблоны определяют внешний вид страниц. Они используют Jinja2 как движок шаблонов и могут включать: - 🏠 Базовые шаблоны - 🧩 Частичные шаблоны (partials) - 🔧 Макросы - 🧬 Наследование шаблонов
📦 Статические файлы
Директория static/
содержит все статические файлы, которые копируются в output/
без изменений:
- 🎨 CSS стили
- ⚡ JavaScript файлы
- 🖼️ Изображения
- 📁 Другие медиафайлы
⚙️ Конфигурация
Файл config.toml
определяет основные настройки проекта:
- 🏷️ Имя сайта
- 🌐 Базовый URL
- 🌍 Языки
- 🔗 URL паттерны
- 🔌 Плагины
- ⚙️ Другие настройки
📂 Организация контента
📁 Категории
StaticFlow поддерживает иерархическую организацию контента через категории: - 📂 Категории могут быть вложенными
🔢 Максимальная глубина вложенности настраивается
📄 Каждая категория может иметь свою страницу
🏷️ Теги
Теги позволяют группировать контент по темам: - 🔤 Нечувствительны к регистру
📊 Ограничение на количество тегов
🔄 Автоматическая генерация страниц тегов
👥 Авторы
Система авторов позволяет: - 👤 Привязывать контент к авторам
📋 Создавать профили авторов
📄 Генерировать страницы авторов
🔌 Плагины
StaticFlow имеет систему плагинов, которая позволяет: - 🔧 Расширять функциональность - 📄 Добавлять новые форматы контента - 🔗 Интегрировать внешние сервисы - ⚙️ Кастомизировать процесс сборки