Современный редактор Markdown с поддержкой LaTeX формул, синтаксической подсветкой и темной темой.
Markdown Editor - это полнофункциональный редактор для создания и редактирования Markdown документов с возможностью предварительного просмотра в реальном времени. Приложение построено на PyQt5 и предоставляет удобный интерфейс для работы с текстом в формате Markdown.
- Редактор с номерами строк - удобная навигация по документу
- Моноширинный шрифт Consolas - четкое отображение текста как в блокноте
- Подсветка текущей строки - визуальное выделение активной строки
- Стандартные горячие клавиши - Ctrl+C, Ctrl+V, Ctrl+Z, Ctrl+Y и др.
- Живой предварительный просмотр - обновление в реальном времени
- Синхронизация прокрутки - пропорциональная прокрутка между редактором и превью
- Поддержка изображений - отображение локальных и веб-изображений
- Адаптивный дизайн - контент занимает всю ширину окна
- Inline формулы:
$формула$и\(формула\) - Display формулы:
$$формула$$и\[формула\] - Одиночные LaTeX команды:
\text{текст},\frac{a}{b},\vec{a}и др. - Расширенные пакеты: ams, color, cancel, mhchem и другие
- MathJax 3 - современная библиотека для рендеринга математики
- Светлая тема - классический белый фон
- Темная тема - современный темный интерфейс
- Автоматическое переключение стилей для всех элементов
- Сохранение настроек между сессиями
- Автоматическое определение кодировки файла
- Поддержка кириллицы: UTF-8, Windows-1251, KOI8-R
- Ручное переключение кодировки через меню
- Безопасное чтение файлов с некорректной кодировкой
- Автоматическое определение языка программирования
- Поддержка популярных языков: Python, JavaScript, C++, Rust, Go и др.
- Цветовые схемы: Visual Studio (светлая), VS Code Dark+ (темная)
- Pygments для качественной подсветки
markdown-editor/
├── main.py # Точка входа в приложение
├── editor.py # Основной класс редактора
├── highlighter.py # Подсветка синтаксиса Markdown
├── widgets.py # Пользовательские виджеты
├── __init__.py # Инициализация пакета
├── HISTORY.txt # История изменений
├── LICENSE # Лицензия GPL v3
└── README.md # Документация проекта
- Точка входа в приложение
- Инициализация QApplication
- Создание и запуск главного окна
Основной класс приложения, содержащий:
- Создание интерфейса (меню, панели, сплиттер)
- Обработка файловых операций
- Конвертация Markdown в HTML
- Обработка LaTeX формул
- Управление темами и кодировками
- Синхронизация прокрутки
Расширенный текстовый редактор:
- Отображение номеров строк
- Подсветка текущей строки
- Адаптация под темы оформления
- Обработка событий прокрутки и изменения размера
Подсветка синтаксиса Markdown:
- Заголовки, жирный текст, курсив
- Блоки кода и inline код
- Ссылки, цитаты, списки
- Поддержка светлой и темной тем
- Python 3.7+
- PyQt5
- PyQtWebEngine
- markdown
- chardet
- Pygments
# Установка пакетов
pip install PyQt5 PyQtWebEngine markdown chardet Pygmentspython main.py- Создать новый файл:
Ctrl+N - Открыть файл:
Ctrl+O - Сохранить:
Ctrl+S - Сохранить как:
Ctrl+Shift+S - Переключить превью:
F11 - Темная тема:
Ctrl+D
Поддерживаются различные способы записи формул:
Формула в тексте: $E = mc^2$ или \(F = ma\)Отдельная формула:
$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$
или
\[
\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
\]Текст с \text{обычным текстом} в формуле
Дробь: \frac{a}{b}
Вектор: \vec{a}
Стрелка: \implies- Заголовки (
# ## ###) - Жирный текст (
**текст**) - Курсив (
*текст*) Inline код(`код`)- Блоки кода (``` или отступ 4 пробела)
- Ссылки
-
Цитаты
- Списки (маркированные и нумерованные)
- Таблицы
- Изображения
Приложение сохраняет настройки в системном реестре:
- Тема оформления (светлая/темная)
- Кодировка по умолчанию
- Размер и положение окна
- Модульная архитектура
- Номера строк и подсветка текущей строки
- Улучшенная поддержка LaTeX
- Поддержка локальных изображений
- Адаптивная ширина контента
- Улучшенное отображение изображений
- CSS стили для подсветки синтаксиса
- Поддержка популярных языков программирования
- Цветовые схемы для обеих тем
- Синхронизация прокрутки между панелями
- Номера строк в редакторе
- Улучшенная стилизация тем
Полная история изменений доступна в файле HISTORY.txt.
Проект распространяется под лицензией GPL v3. Вы можете:
- Использовать код в своих проектах
- Модифицировать и улучшать функциональность
- Распространять изменения под той же лицензией
alexsevas
- Email: a1exsevas@yandex.ru
Этот проект лицензирован под GNU General Public License v3.0 - подробности в файле LICENSE.
Markdown Editor - современный инструмент для работы с документацией, заметками и техническими текстами с поддержкой математических формул.