From a90bcf89e08b24f450cdbde0f0096577c790db53 Mon Sep 17 00:00:00 2001 From: erjemin Date: Wed, 11 Feb 2026 17:21:56 +0300 Subject: [PATCH] mod: ReadMe --- README.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 120 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c1c07e2..dd96594 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,121 @@ -# Сайт etpgrf -- единая типографика для веба / Site etpgrf -- effortless typography for web +# ETPGRF Site — Онлайн-типограф +![Version](https://img.shields.io/badge/version-0.2.4-blue) +![License](https://img.shields.io/badge/license-MIT-green) +![Python](https://img.shields.io/badge/python-3.13-yellow) +![Django](https://img.shields.io/badge/django-6.0-green) + +Официальный сайт проекта **etpgrf** — единой типографики для веба. +Сайт предоставляет удобный интерфейс для типографирования текстов, а также содержит документацию, блог и новости проекта. + +🌐 **Живое демо:** [typograph.cube2.ru](https://typograph.cube2.ru) + +Зеркала репозитория: +* [GitHub](https://github.com/erjemin/etpgrf-site) +* [GitVerse](https://gitverse.ru/erjemin/etpgrf-site) +* [Cube2](https://git.cube2.ru/erjemin/etpgrf-site) Gitea + +## Особенности + +### Онлайн-типограф +* Построен на базе библиотеки etpgrf (см.: [GitHub](https://github.com/erjemin/etpgrf), [GitVerse](https://gitverse.ru/erjemin/etpgrf), [Сube2](https://git.cube2.ru/erjemin/2025-etpgrf) и [PyPI](https://pypi.org/project/etpgrf/)). +* Поддержка русского и английского языков. +* Гибкие настройки (кавычки, тире, неразрывные пробелы, висячая пунктуация). +* Мгновенное копирование результата. +* Подсветка спецсимволов (неразрывные пробелы, мягкие переносы и тому подобное) в редакторе. + +### Блог и контент +* Встроенный движок блога и статических страниц. +* Поддержка 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) + +1. **Клонируйте репозиторий:** + ```bash + git clone https://github.com/erjemin/etpgrf-site.git + cd etpgrf-site + ``` + +2. **Создайте файл `.env`:** + Скопируйте пример и отредактируйте его: + ```bash + cp .env.example .env + ``` + Обязательно задайте `SECRET_KEY` и `ADMIN_URL`. + +3. **Запустите контейнеры:** + ```bash + docker compose up -d --build + ``` + +4. **Откройте сайт:** + Перейдите по адресу [http://localhost:8000](http://localhost:8000). + +### Локальная разработка (без Docker) + +1. **Установите зависимости (через Poetry):** + ```bash + poetry install + ``` + +2. **Создайте файл `.env`:** + Скопируйте пример и отредактируйте его (если еще не сделали): + ```bash + cp .env.example .env + ``` + *Примечание: Убедитесь, что ваш способ запуска (IDE или терминал) подхватывает переменные из `.env`.* + +3. **Активируйте виртуальное окружение:** + ```bash + poetry shell + ``` + +4. **Примените миграции:** + ```bash + python etpgrf_site/manage.py migrate + ``` + +5. **Запустите сервер разработки:** + ```bash + python etpgrf_site/manage.py runserver 8008 + ``` +6. **Откройте сайт:** + Перейдите по адресу [http://localhost: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](LICENSE). + +## Автор + +**Sergei Erjemin** +* GitHub: [@erjemin](https://github.com/erjemin) +* Gitea: [git.cube2.ru](https://git.cube2.ru)