Files
soft/README.md
T

3.1 KiB
Raw Blame History

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

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

Структура

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

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

Категория

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

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

Программа

format: 1
type: program
name: Название программы
summary: Короткое назначение программы для списка категории.
description: |-
  Полное описание в Markdown.
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: Руководство пользователя

Обязательные поля программы: format, type, name, summary, description, screenshots, versions. Значения 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 fill-metadata
pnpm fill-metadata:check
pnpm repack-archive path/to/archive.rar
pnpm tree
pnpm typecheck

fill-metadata пересобирает catalog/files.yaml. tree принимает путь и флаги --paths, --versions. repack-archive создаёт совместимый с Windows XP ZIP и проверяет содержимое и timestamps; флаг --replace удаляет исходник только после успешной проверки.