Move catalog indexes to Markdown front matter

This commit is contained in:
2026-08-22 12:42:11 +03:00
parent 188d9f2b18
commit aa8deee35a
65 changed files with 819 additions and 707 deletions
+20 -14
View File
@@ -7,41 +7,44 @@
```text
catalog/
├── index.yaml
├── index.md
├── files.yaml
└── category/
├── index.yaml
├── index.md
└── program/
├── index.yaml
├── index.md
├── files/
└── img/
```
Каждая категория и программа имеет один `index.yaml`. Дочерние элементы
определяются по папкам и не перечисляются в YAML. Все версии программы находятся
в одном индексном файле.
Каждая категория и программа имеет один `index.md`. YAML Front Matter содержит
метаданные, тело файла — описание в Markdown. Дочерние элементы определяются по
папкам и не перечисляются в метаданных. Все версии программы находятся в одном
индексном файле.
## Категория
```yaml
```md
---
format: 1
type: category
name: Название категории
order: -10
description: Описание категории.
---
Описание категории.
```
`order` необязателен; меньшее значение выводится раньше.
## Программа
```yaml
```md
---
format: 1
type: program
name: Название программы
summary: Короткое назначение программы для списка категории.
description: |-
Полное описание в Markdown.
homepage: https://example.org
source: https://github.com/example/project
forum: https://example.org/forum/topic
@@ -59,11 +62,14 @@ versions:
additional_files:
- path: files/manual.pdf
description: Руководство пользователя
---
Полное описание программы в Markdown.
```
Обязательные поля программы: `format`, `type`, `name`, `summary`, `description`,
`screenshots`, `versions`. Значения `platform`: `win32`, `win64`, `dos`, `java`,
`j2me`. Значения `status`: `current`, `archived`.
Обязательные поля программы: `format`, `type`, `name`, `summary`, `screenshots`,
`versions`. Тело Markdown также обязательно. Значения `platform`: `win32`,
`win64`, `dos`, `java`, `j2me`. Значения `status`: `current`, `archived`.
Файлы версий указываются в `versions[].files`, общие файлы — в
`additional_files`. Пути файлов начинаются с `files/`, скриншотов — с `img/`.