Files
soft/README.md
T

97 lines
3.3 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.md
├── files.yaml
└── category/
├── index.md
└── program/
├── index.md
├── files/
└── img/
```
Каждая категория и программа имеет один `index.md`. YAML Front Matter содержит
метаданные, тело файла — описание в Markdown. Дочерние элементы определяются по
папкам и не перечисляются в метаданных. Все версии программы находятся в одном
индексном файле.
## Категория
```md
---
format: 1
type: category
name: Название категории
order: -10
---
Описание категории.
```
`order` необязателен; меньшее значение выводится раньше.
## Программа
```md
---
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`, а не в индексах программ.
## Команды
```shell
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` удаляет исходник только
после успешной проверки.