# Сырой текст задания → плоская карточка ## Описание проекта Проект реализует конвертацию «сырого» текста задания (например, из формата Markdown или простого текста) в **плоскую карточку** – компактный формат, пригодный для отображения в чат‑ботах, веб‑страницах и мобильных приложениях. Основные возможности: - Парсинг исходного текста с выделением заголовков, списков, цитат и т.д. - Генерация упрощённой карточки без лишних разметок. - Поддержка нескольких языков (английский/русский) через простую локализацию. ## Структура проекта ``` project/ ├── src/ │ ├── parser.py # Парсер исходного текста │ ├── card_generator.py # Генератор карточки │ └── utils.py # Вспомогательные функции ├── tests/ # Тесты (необязательно) ├── requirements.txt # Зависимости └── README.md # Это файл ``` ## Установка зависимостей ```bash # Создайте виртуальное окружение (рекомендовано) python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # Установите зависимости из requirements.txt pip install -r requirements.txt ``` `requirements.txt` содержит только стандартные библиотеки, но если понадобится парсинг Markdown – добавьте `markdown`. ## Запуск каждого файла ### 1. Парсер (`parser.py`) Парсер читает сырой текст и возвращает структуру данных (словарь/список). ```bash python src/parser.py ``` Пример: ```bash python src/parser.py data/raw_task.txt ``` Вывод в консоль будет выглядеть так: ```json { "title": "Задача №1", "body": [ {"type":"paragraph","text":"Выполните ..."}, {"type":"list","items":["Пункт 1", "Пункт 2"]}, ... ] } ``` ### 2. Генератор карточки (`card_generator.py`) Генерирует плоскую карточку из структуры, полученной парсером. ```bash python src/card_generator.py ``` Пример: ```bash python src/card_generator.py data/parsed.json data/card.txt ``` ### 3. Полный скрипт (`main.py`) Если в проекте есть `main.py`, он объединяет оба шага. ```bash python src/main.py ``` Пример: ```bash python src/main.py data/raw_task.txt data/card.txt ``` ## Пример использования 1. **Соберите сырой текст задания** в файл `raw_task.txt`: ``` # Задача 1 Напишите программу, которая выводит сумму двух чисел. ## Требования - Ввод: два целых числа - Вывод: их сумма ``` 2. **Запустите конвертацию**: ```bash python src/main.py raw_task.txt card.txt ``` 3. **Результат (`card.txt`)**: ``` Задача 1 Напишите программу, которая выводит сумму двух чисел. Требования: - Ввод: два целых числа - Вывод: их сумма ``` ## Тесты (необязательно) Если в проекте есть папка `tests`, запустите: ```bash pytest tests/ ``` ## Лицензия MIT License – см. файл `LICENSE`. --- **Важно:** - Все пути указываются относительно корня проекта. - При работе с большими файлами используйте потоковую обработку (`open(..., 'r', encoding='utf-8')`). Если возникнут вопросы – откройте issue в репозитории!