ETPGRF Site — Онлайн-типограф
Официальный сайт проекта etpgrf — единой типографики для веба. Сайт предоставляет удобный интерфейс для типографирования текстов, а также содержит документацию, блог и новости проекта.
🌐 Живое демо: typograph.cube2.ru
Зеркала репозитория:
Особенности
Онлайн-типограф
- Построен на базе библиотеки etpgrf (см.: GitHub, GitVerse, Сube2 и PyPI).
- Поддержка русского и английского языков.
- Гибкие настройки (кавычки, тире, неразрывные пробелы, висячая пунктуация).
- Мгновенное копирование результата.
- Подсветка спецсимволов (неразрывные пробелы, мягкие переносы и тому подобное) в редакторе.
Блог и контент
- Встроенный движок блога и статических страниц.
- Поддержка HTML в контенте.
- Автоматическая генерация
sitemap.xml. - Полноценная SEO-оптимизация (Open Graph, Twitter Cards, Schema.org JSON-LD).
- RSS-лента (в планах).
Технический стек
- Backend: Python 3.13, Django 6.0.
- Frontend: Bootstrap 5, Alpine.js, HTMX, CodeMirror 6.
- Infrastructure: Docker, Docker Compose, Nginx, Gunicorn.
- CI/CD: Gitea Actions (сборка и деплой).
Установка и запуск
Предварительные требования
- Docker и Docker Compose
- Git
Быстрый старт (Docker)
-
Клонируйте репозиторий:
git clone https://github.com/erjemin/etpgrf-site.git cd etpgrf-site -
Создайте файл
.env: Скопируйте пример и отредактируйте его:cp .env.example .envОбязательно задайте
SECRET_KEYиADMIN_URL. -
Запустите контейнеры:
docker compose up -d --build -
Откройте сайт: Перейдите по адресу http://localhost:8000.
Локальная разработка (без Docker)
-
Установите зависимости (через Poetry):
poetry install -
Создайте файл
.env: Скопируйте пример и отредактируйте его (если еще не сделали):cp .env.example .envПримечание: Убедитесь, что ваш способ запуска (IDE или терминал) подхватывает переменные из
.env. -
Активируйте виртуальное окружение:
poetry shell -
Примените миграции:
python etpgrf_site/manage.py migrate -
Запустите сервер разработки:
python etpgrf_site/manage.py runserver 8008 -
Откройте сайт: Перейдите по адресу http://localhost:8008.
Структура проекта
etpgrf_site/— Основной код Django-проекта.typograph/— Приложение типографа (главная страница, обработка текста).blog/— Приложение блога (посты, страницы, sitemap).
data/— Директория для хранения данных (SQLite) будет создан автоматически при запуске.config/— Конфигурационные файлы (Nginx).public/static/— Статические файлы (стили, скрипты, изображения), которые отдаются напрямую Nginx внутри Docker-контейнера.media/— Медиа-файлы (загружаемые пользователем), которые отдаются напрямую внешним Nginx (или внутренним в dev-режиме).docker-compose.yml— Конфигурация для разработки (по умолчанию).docker-compose.prod.yml— Конфигурация для продакшена (переименуйте вdocker-compose.ymlдля использования)..env— Файл с переменными окружения (не хранится в репозитории, нужно создать самостоятельно на основе.env.example).
Лицензия
Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
Автор
Sergei Erjemin
- GitHub: @erjemin
- Gitea: git.cube2.ru