Describe simplified setup, optional server catalogs, independent connection tests, safe instance deletion, and per-terminal operation notifications. Add reproducible publication builders, refresh the source archive and listings, and record the remaining website and screenshot update steps.
Статьи «Разрабатываем менеджер терминалов»
Документация приложения описывает актуальный код. Здесь хранятся материалы отдельных частей цикла, включая прежние версии интерфейса и решения, которые позднее менялись.
| Часть | Текст | Состояние и источник |
|---|---|---|
| 1. Постановка задачи | article.md | Опубликована, № 19804; загружена с сайта |
| 2. Запуск нескольких экземпляров | article.md | Опубликована, № 19852; загружена с сайта |
| 3. Информация о счёте и конфигурация | article.md | Опубликована, № 19946; загружена с сайта |
| 4. Сервис для получения информации о терминалах | article.md | Подготовленный текст части № 20150, материалы публикации сохранены локально |
| 5. Создание экземпляров и настройка счетов | draft.md | Текст приведён к текущему коду, ветка article-23709; редакция на MQL5 пока содержит прежние формы и требует обновления |
У первых трёх частей есть 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 -m pip install Markdown
python docs/articles/part-05/publish/build_archive.py
python docs/articles/part-05/publish/build_article_html.py
Пакет Markdown нужен только для подготовки публикации, приложению он не требуется.
Первый собирает архив текущего приложения по явному списку файлов и обновляет
таблицу архива в черновике из того же списка. Личный config.json не читается:
в архиве он создаётся из config.example.json. Второй подготавливает HTML,
отдельные листинги, описание и манифест иллюстраций. После переноса через мастера
редактора HTML сохранённой страницы можно хранить в part-05/publish/article5-site.html.
Блоки кода и изображения в заготовке HTML обозначены маркерами, которые следует
заменить через инструменты «Код» и «Картинка» на сайте.
Для повторного импорта первых трёх опубликованных частей:
python docs/articles/import_published.py
Скрипт использует стандартную библиотеку Python и перезаписывает локальные копии этих трёх частей, включая изображения. Если в них появились собственные правки, сначала сохраните их в Git. Импорт не публикует изменения на сайте.
Связь с документацией
Вместе с кодом новой части обновляем руководства в родительской папке docs
и при необходимости быстрый старт в README. Опубликованные тексты не переписываем
под каждое изменение приложения: они фиксируют соответствующий этап разработки.
Перед публикацией сверяем листинги, снимки, версии файлов в таблице архива и
проверяем ссылки после переносов.