| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .. | ||
| part-01 | ||
| part-02 | ||
| part-03 | ||
| part-04 | ||
| part-05 | ||
| future-notes.md | ||
| import_published.py | ||
| README.md | ||
| style-notes.md | ||
Статьи «Разрабатываем менеджер терминалов»
Документация приложения описывает актуальный код. Здесь хранятся материалы отдельных частей цикла, включая прежние версии интерфейса и решения, которые позднее менялись.
| Часть | Текст | Состояние и источник |
|---|---|---|
| 1. Постановка задачи | article.md | Опубликована, № 19804; загружена с сайта |
| 2. Запуск нескольких экземпляров | article.md | Опубликована, № 19852; загружена с сайта |
| 3. Информация о счёте и конфигурация | article.md | Опубликована, № 19946; загружена с сайта |
| 4. Сервис для получения информации о терминалах | article.md | Подготовленный текст части № 20150, материалы публикации сохранены локально |
| 5. Создание экземпляров и настройка счетов | draft.md | Рабочий черновик, ветка article-23709 |
У первых трёх частей есть source.md с адресом, датой загрузки и сведениями
об импорте, publish/article.html с телом опубликованной статьи и локальные
изображения. Код сохранён блоками в Markdown. Таблицы оставлены в HTML, чтобы
сохранить их структуру. Это копии публикаций, а не новые редакции текстов.
Папка каждой части
part-NN/
draft.md рабочий текст до завершения редакции
article.md завершённый текст или импорт опубликованной статьи
notes.md заметки и результаты экспериментов, если нужны
source.md источник и дата, если текст загружен с сайта
images/ изображения только этой статьи
publish/ HTML, описание и отдельные листинги для публикации
Необязательно создавать все файлы заранее. Пока текст в работе, используем
draft.md; после завершения редакции переименовываем его в article.md и
обновляем ссылку в этом каталоге. Дополнительную копию того же текста хранить
не требуется: предыдущие редакции остаются в Git. Подготовленные файлы публикации
храним отдельно от Markdown. Оглавление статьи составляется вручную.
Изображения подключаются относительно текста: images/имя-файла.png.
У каждой части свой набор, поэтому обновление пятой статьи не меняет снимки
опубликованной четвёртой. После переименования файлов нужно проверять также
скрипты подготовки HTML и ссылки из документации.
Общие материалы:
Подготовка и импорт
HTML четвёртой части собирается отдельным скриптом, рассчитанным на её разделы и адрес статьи:
python -m pip install Markdown
python docs/articles/part-04/publish/build_article_html.py
Он обновляет part-04/publish/article4.html и publish/code/*.txt. Эти листинги
в редактор MQL5 нужно вставлять через инструмент «Код», а изображения загружать
отдельно. Markdown — основной редактируемый текст; HTML нужен для переноса на сайт.
part-04/publish/article4-site.html — сохранённая копия тела статьи с сайта после
исправлений модератора, включая подсветку, выполненную мастером «Код».
Её не перезаписывает сборщик Markdown.
Архив к четвёртой части собирается отдельно:
python docs/articles/part-04/publish/build_archive.py
Результат — part-04/publish/MQL5.zip с папкой MQL5 и путями установки проекта.
Скрипт берёт код из тега p4, добавляет оформленный исходник сервиса из рабочего
дерева только при совпадении логики с p4 и подставляет пример конфигурации
без реквизитов. Новые возможности пятой части и исполняемые EX5 туда не попадают.
Для повторного импорта первых трёх опубликованных частей:
python docs/articles/import_published.py
Скрипт использует стандартную библиотеку Python и перезаписывает локальные копии этих трёх частей, включая изображения. Если в них появились собственные правки, сначала сохраните их в Git. Импорт не публикует изменения на сайте.
Связь с документацией
Вместе с кодом новой части обновляем руководства в родительской папке docs
и при необходимости быстрый старт в README. Опубликованные тексты не переписываем
под каждое изменение приложения: они фиксируют соответствующий этап разработки.
Перед публикацией сверяем листинги, снимки, версии файлов в таблице архива и
проверяем ссылки после переносов.