2026-08-25 18:34:27 +03:00
2026-08-25 18:34:27 +03:00
2026-08-25 14:55:38 +03:00
2026-08-25 14:55:38 +03:00
2026-08-25 14:55:38 +03:00
2026-08-17 22:07:35 +03:00
2026-08-25 14:55:38 +03:00
2026-08-25 14:55:38 +03:00
2026-08-25 14:55:38 +03:00
2026-08-17 22:07:35 +03:00
2026-08-25 14:55:38 +03:00
2026-08-25 14:55:38 +03:00

Каталог программ Siemens

Дистрибутивы хранятся в catalog, формат метаданных описан в schema/index.schema.json. Названия и описания — на русском языке.

Структура

catalog/
├── index.md
├── files.yaml
└── category/
    ├── index.md
    └── program/
        ├── index.md
        ├── files/
        └── img/

Каждая категория и программа имеет один index.md. YAML Front Matter содержит метаданные, тело файла — описание в Markdown. Дочерние элементы определяются по папкам и не перечисляются в метаданных. Все версии программы находятся в одном индексном файле.

Категория

---
format: 1
type: category
name: Название категории
order: -10
---

Описание категории.

order необязателен; меньшее значение выводится раньше.

Программа

---
format: 1
type: program
name: Название программы
summary: Короткое назначение программы для списка категории.
homepage: https://example.org
source: https://github.com/example/project
forum: https://example.org/forum/topic
author: Автор
screenshots:
  - img/screenshot.png
versions:
  - version: "1.2.0"
    status: current
    released: "2007-08-14"
    files:
      - path: files/program-1.2.0.zip
        description: Дистрибутив
        platform: win32
additional_files:
  - path: files/manual.pdf
    description: Руководство пользователя
---

Полное описание программы в Markdown.

Обязательные поля программы: format, type, name, summary, screenshots, versions. Тело Markdown также обязательно. Значения platform: win32, win64, dos, java, j2me. Значения status: current, archived.

Файлы версий указываются в versions[].files, общие файлы — в additional_files. Пути файлов начинаются с files/, скриншотов — с img/. Дистрибутивы хранятся в совместимых с Windows XP ZIP-архивах через Git LFS; отдельные EXE также упаковываются в ZIP.

Размеры и SHA-256 всех файлов находятся в автоматически создаваемом catalog/files.yaml, а не в индексах программ.

Команды

pnpm install
pnpm extract-archives /path/to/output
pnpm fill-metadata
pnpm fill-metadata:check
pnpm repack-archive path/to/archive.rar
pnpm screenshots --help
pnpm tree
pnpm typecheck

extract-archives рекурсивно распаковывает ZIP из catalog в заданный каталог, сохраняет структуру категорий и программ и не перезаписывает существующие пути. fill-metadata пересобирает catalog/files.yaml. tree принимает путь и флаги --paths, --versions. repack-archive принимает архив, EXE или папку, создаёт совместимый с Windows XP ZIP и проверяет содержимое и timestamps; флаг --replace удаляет исходный файл только после успешной проверки. Временный каталог задаётся через --temp-dir /tmp/codex/<task_name>. screenshots запускает программы на Windows-машине по SSH и снимает их окна.

S
Description
No description provided
Readme
1.8 GiB
Languages
JavaScript 59.1%
PowerShell 39.1%
TypeScript 1.8%