mod: ReadMe
This commit is contained in:
121
README.md
121
README.md
@@ -1,2 +1,121 @@
|
||||
# Сайт etpgrf -- единая типографика для веба / Site etpgrf -- effortless typography for web
|
||||
# ETPGRF Site — Онлайн-типограф
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
Официальный сайт проекта **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)
|
||||
|
||||
Reference in New Issue
Block a user