| # Статьи «Разрабатываем менеджер терминалов»
|
|
|
| [Документация приложения](../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), материалы публикации сохранены локально |
|
| | 5. Создание экземпляров и настройка счетов | [draft.md](part-05/draft.md) | Рабочий черновик, ветка `article-23709` |
|
|
|
| У первых трёх частей есть `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 нужен для переноса на сайт.
|
|
|
| `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 туда не попадают.
|
|
|
| Для повторного импорта первых трёх опубликованных частей:
|
|
|
| ```powershell
|
| python docs/articles/import_published.py
|
| ```
|
|
|
| Скрипт использует стандартную библиотеку Python и перезаписывает локальные копии
|
| этих трёх частей, включая изображения. Если в них появились собственные правки,
|
| сначала сохраните их в Git. Импорт не публикует изменения на сайте.
|
|
|
| ## Связь с документацией
|
|
|
| Вместе с кодом новой части обновляем руководства в родительской папке `docs`
|
| и при необходимости быстрый старт в README. Опубликованные тексты не переписываем
|
| под каждое изменение приложения: они фиксируют соответствующий этап разработки.
|
| Перед публикацией сверяем листинги, снимки, версии файлов в таблице архива и
|
| проверяем ссылки после переносов.
|