Файл products.yml#
Список карточек на главной задаётся YAML-файлом data/portal/data/products.yml. Пример структуры:
- name: "Мой продукт"
slug: "my-product"
description: "Краткое описание"
docs:
- title: "Руководство"
url: "/docs/my-product/guide/"
- title: "API"
url: "/docs/my-product/api/"Поле url должно совпадать с реальным путём статики под data/<slug>/... и префиксом /docs/ в браузере.
Поиск#
На портале поиск фильтрует карточки по названию продукта (клиентский JavaScript, без сервера).
Тема и статика#
Стили и скрипты портала — в data/portal/static/. Внешние CDN в поставке не используются.
Публикация из CI#
Процесс publish-api в контейнере с Caddy принимает ZIP статики, обновляет products.yml и пересобирает портал Hugo. Примеры pipeline — ci-templates/gitlab-ci.yml и ci-templates/github-actions-product-docs.yml.