etpgrf-site
Языки
- HTML47,2%
- Python29,9%
- JavaScript12,8%
- CSS6,9%
- Dockerfile2,5%
- Shell0,7%
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)
-
Клонируйте репозиторий:
-
Создайте файл
: Скопируйте пример и отредактируйте его:.envОбязательно задайте
иSECRET_KEY.ADMIN_URL -
Запустите контейнеры:
-
Откройте сайт: Перейдите по адресу http://localhost:8000.
Локальная разработка (без Docker)
-
Установите зависимости (через Poetry):
-
Создайте файл
: Скопируйте пример и отредактируйте его (если еще не сделали):.envПримечание: Убедитесь, что ваш способ запуска (IDE или терминал) подхватывает переменные из
..env -
Активируйте виртуальное окружение:
-
Примените миграции:
-
Запустите сервер разработки:
-
Откройте сайт: Перейдите по адресу http://localhost:8008.
Структура проекта
— Основной код Django-проекта.etpgrf_site/— Приложение типографа (главная страница, обработка текста).typograph/— Приложение блога (посты, страницы, sitemap).blog/
— Директория для хранения данных (SQLite) будет создан автоматически при запуске.data/— Конфигурационные файлы (Nginx).config/— Статические файлы (стили, скрипты, изображения), которые отдаются напрямую Nginx внутри Docker-контейнера.public/static/— Медиа-файлы (загружаемые пользователем), которые отдаются напрямую внешним Nginx (или внутренним в dev-режиме).media/— Конфигурация для разработки (по умолчанию).docker-compose.yml— Конфигурация для продакшена (переименуйте вdocker-compose.prod.ymlдля использования).docker-compose.yml— Файл с переменными окружения (не хранится в репозитории, нужно создать самостоятельно на основе.env)..env.example
Лицензия
Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
Автор
Sergei Erjemin
- GitHub: @erjemin
- Gitea: git.cube2.ru