Files
soft/README.md
T
2026-08-18 00:52:00 +03:00

85 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Каталог программ Siemens
Дистрибутивы хранятся в `catalog`, формат метаданных описан в
`schema/index.schema.json`. Названия и описания — на русском языке.
## Структура
```text
catalog/
├── index.yaml
└── category/
├── index.yaml
└── program/
├── index.yaml
├── files/
└── img/
```
Каждая категория и программа имеет один `index.yaml`. Дочерние элементы
определяются по папкам и не перечисляются в YAML. Все версии программы находятся
в одном индексном файле.
## Категория
```yaml
format: 1
type: category
name: Название категории
order: -10
description: Описание категории.
```
`order` необязателен; меньшее значение выводится раньше.
## Программа
```yaml
format: 1
type: program
name: Название программы
summary: Короткое назначение программы для списка категории.
description: |-
Полное описание в Markdown.
homepage: https://example.org
source: https://github.com/example/project
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
size: 123456
sha256: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
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/`.
`size` содержит размер в байтах. Архивы хранятся через Git LFS.
## Команды
```shell
pnpm install
pnpm fill-metadata
pnpm fill-metadata:check
pnpm tree
pnpm typecheck
```
`fill-metadata` заполняет `size` и `sha256`. Команда принимает путь к программе,
категории или `index.yaml`. `tree` принимает путь и флаги `--paths`,
`--versions`.