4.1 KiB
4.1 KiB
name, overview, todos, isProject
| name | overview | todos | isProject | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NewGUI technology stack | Отдельное Electron-приложение в desktop/. Существующие пакеты, GUI и сборка exe не меняются. Сейчас только каркас, на который потом сядут три редактора и Python. |
|
false |
База NewGUI
Новый код живёт только в desktop/. md2gost/, md2latex/, md2fodt/, word2md/, pyproject.toml, тесты и build-exe*.bat не меняются. Tkinter-окно остаётся текущим GUI. Макет NewGUI/code.html и токены NewGUI/DESIGN.md — только образец вёрстки.
Сборка DOCX, чекер, Word COM, Kroki и диалект (# *ВВЕДЕНИЕ, %id, ^ / >) в эту базу не входят. Их подключат отдельным шагом, когда каркас уже стоит.
flowchart LR
subgraph desktopApp [desktop]
shell[Shell]
session[DocumentSession]
codePane[CodeMirror]
obsidianPane[CodeMirror_live]
notionPane[TipTap]
bridge[HostApi_stub]
shell --> session
session --> codePane
session --> obsidianPane
session --> notionPane
shell --> bridge
end
md2gost[md2gost_unchanged]
bridge -.->|"позже"| md2gost
Что появляется
- Стек: Electron, Vite, React, TypeScript, Tailwind. Свой
package.jsonвнутриdesktop/. Установщик NSIS на этом шаге не собирается: приложение запускается черезnpm run dev. - Тема: цвета, шрифты, радиусы и отступы из
DESIGN.md. Space Grotesk, Inter, JetBrains Mono и Material Symbols лежат вdesktop/, без CDN. - Оболочка: шапка, сайдбар, центральная область и статус-бар по макету. Подписи и дерево — заглушки из макета, не чтение диска и не вызов
convert(). - Три ввода одной строки.
DocumentSessionдержит текст в памяти.- Код — CodeMirror 6, сырой текст, номера строк.
- Obsidian — тот же CodeMirror, режим live preview. Переключение с кода буфер не пересоздаёт.
- Notion — TipTap с обычным Markdown на вход и выход. Узлов ГОСТ нет: спецразделы, слияния ячеек и
%idпоявятся позже.
- Мост: в preload один объект
HostApiс методами-заглушками (open,save,check,build). Они возвращают «не подключено». Python-процесс не стартует.
Чего нет в этом шаге
- Правок пакетов Python и точки входа
python -m md2gost. - Сайдкара, PyInstaller и electron-builder.
- Окна спецификации диалекта, предпросмотра A4 и вставки сниппетов.
- Сериализации диалекта md2gost в TipTap.