2026-10-29 14:39:39 +03:00
# Статьи «Разрабатываем менеджер терминалов»
[Документация приложения ](../README.md ) описывает актуальный код. Здесь хранятся
материалы отдельных частей цикла, включая прежние версии интерфейса и решения,
которые позднее менялись.
| Часть | Текст | Состояние и источник |
|---|---|---|
| 1. Постановка задачи | [article.md ](part-01/article.md ) | [Опубликована, № 19804 ](https://www.mql5.com/ru/articles/19804 ); загружена с сайта |
| 2. Запуск нескольких экземпляров | [article.md ](part-02/article.md ) | [Опубликована, № 19852 ](https://www.mql5.com/ru/articles/19852 ); загружена с сайта |
| 3. Информация о счёте и конфигурация | [article.md ](part-03/article.md ) | [Опубликована, № 19946 ](https://www.mql5.com/ru/articles/19946 ); загружена с сайта |
| 4. Сервис для получения информации о терминалах | [article.md ](part-04/article.md ) | Подготовленный текст [части № 20150 ](https://www.mql5.com/ru/articles/20150 ), материалы публикации сохранены локально |
2026-11-01 22:40:20 +03:00
| 5. Создание экземпляров и настройка счетов | [draft.md ](part-05/draft.md ) | Текст приведён к текущему коду, ветка `article-23709` ; [редакция на MQL5 ](https://www.mql5.com/ru/articles/23709/278690#!tab=article ) пока содержит прежние формы и требует обновления |
2026-10-29 14:39:39 +03:00
У первых трёх частей есть `source.md` с адресом, датой загрузки и сведениями
об импорте, `publish/article.html` с телом опубликованной статьи и локальные
изображения. Код сохранён блоками в Markdown. Таблицы оставлены в HTML, чтобы
сохранить их структуру. Это копии публикаций, а не новые редакции текстов.
## Папка каждой части
``` text
part-NN/
draft.md рабочий текст до завершения редакции
article.md завершённый текст или импорт опубликованной статьи
notes.md заметки и результаты экспериментов, если нужны
source.md источник и дата, если текст загружен с сайта
images/ изображения только этой статьи
publish/ HTML, описание и отдельные листинги для публикации
```
Необязательно создавать все файлы заранее. Пока текст в работе, используем
`draft.md` ; после завершения редакции переименовываем его в `article.md` и
обновляем ссылку в этом каталоге. Дополнительную копию того же текста хранить
не требуется: предыдущие редакции остаются в Git. Подготовленные файлы публикации
храним отдельно от Markdown. Оглавление статьи составляется вручную.
Изображения подключаются относительно текста: `images/имя-файла.png` .
У каждой части свой набор, поэтому обновление пятой статьи не меняет снимки
опубликованной четвёртой. После переименования файлов нужно проверять также
скрипты подготовки HTML и ссылки из документации.
Общие материалы:
- [Памятка по стилю ](style-notes.md ).
- [Идеи и ссылки для следующих частей ](future-notes.md ).
- [Исторические заметки к четвёртой части ](part-04/notes.md ).
## Подготовка и импорт
HTML четвёртой части собирается отдельным скриптом, рассчитанным на её разделы
и адрес статьи:
``` powershell
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 нужен для переноса на сайт.
2026-10-29 22:07:36 +03:00
`part-04/publish/article4-site.html` — сохранённая копия тела статьи с сайта после
исправлений модератора, включая подсветку, выполненную мастером «Код».
Её не перезаписывает сборщик Markdown.
Архив к четвёртой части собирается отдельно:
``` powershell
python docs / articles / part - 04 / publish / build_archive . py
```
Результат — `part-04/publish/MQL5.zip` с папкой `MQL5` и путями установки проекта.
Скрипт берёт код из тега `p4` , добавляет оформленный исходник сервиса из рабочего
дерева только при совпадении логики с `p4` и подставляет пример конфигурации
без реквизитов. Новые возможности пятой части и исполняемые EX5 туда не попадают.
2026-11-01 22:40:20 +03:00
Для пятой части доступны собственные сборщики:
``` powershell
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 обозначены маркерами, которые следует
заменить через инструменты «Код» и «Картинка» на сайте.
2026-10-29 14:39:39 +03:00
Для повторного импорта первых трёх опубликованных частей:
``` powershell
python docs / articles / import_published . py
```
Скрипт использует стандартную библиотеку Python и перезаписывает локальные копии
этих трёх частей, включая изображения. Если в них появились собственные правки,
сначала сохраните их в Git. Импорт не публикует изменения на сайте.
## Связь с документацией
Вместе с кодом новой части обновляем руководства в родительской папке `docs`
и при необходимости быстрый старт в README. Опубликованные тексты не переписываем
под каждое изменение приложения: они фиксируют соответствующий этап разработки.
Перед публикацией сверяем листинги, снимки, версии файлов в таблице архива и
проверяем ссылки после переносов.