docs: скриншоты UI (светлая/тёмная тема) в app/docs и README
- app/docs/screenshots.md и каталог app/docs/images/*.png - раздача /static/docs-images/* из FastAPI; documentation.js переписывает src картинок - стили .markdown-body img; строка в api_routes.md; превью в README
@@ -28,6 +28,7 @@
|
||||
| `GET /documentation` | HTML-оболочка; **`documentation.js`**: без `path` — **`GET /api/v1/docs/readme`**, с `?path=app/docs/…` — **`GET /api/v1/docs/file`**; разбор Markdown из **`/static/js/vendor/`** (marked, DOMPurify). Полноэкранный спиннер при первой загрузке и при **каждом** переходе по внутренним ссылкам / **popstate**. Каждая секция по **H2** — **одна карточка** (заголовок h2 и содержимое до следующего h2 вместе). Заголовок вкладки браузера: **«Документация — …»** + текст **первого H1** документа + имя приложения (`KIND_K8S_APP_TITLE` на `body`). В шапке на этой странице активна только **Документация**; **Панель** как обычная пилюля (на дашборде активна **Панель**). Путь к README: `KIND_K8S_README_PATH` или `README.md` рядом с `app/`; в образе — `/opt/kind-k8s/README.md`. |
|
||||
| `GET /ui` | Редирект **307** на `/` (удобный ярлык). |
|
||||
| `GET /static/…` | CSS (`style.css`), скрипты панели (`js/dashboard.js`) и документации (`js/documentation.js`); базовый URL API задаётся атрибутом `data-api-base` на `<body>` (по умолчанию `/api/v1`). |
|
||||
| `GET /static/docs-images/…` | PNG из **`app/docs/images/`** для страницы **`/documentation`** (в Markdown пути вида `images/*.png` в **`documentation.js`** переписываются на этот префикс; см. **`app/docs/screenshots.md`**). |
|
||||
|
||||
Шаблоны: `app/templates/base.html` (шапка, навигация; **меню «гамбургер»** при узком viewport — `nav-mobile.js`), `app/templates/dashboard.html` (панель), `app/templates/clusters.html` (список кластеров и донаты узлов), `app/templates/cluster_create.html` (создание кластера и последние задания), `app/templates/cluster_detail.html` (страница кластера), `app/templates/cluster_edit.html` (редактирование конфигурации), `app/templates/cluster_addons.html` (Helm-аддоны), `app/templates/journal.html` (журнал заданий), `app/templates/documentation.html` (README и `app/docs/*.md`).
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 257 KiB |
|
After Width: | Height: | Size: 259 KiB |
|
After Width: | Height: | Size: 226 KiB |
|
After Width: | Height: | Size: 326 KiB |
|
After Width: | Height: | Size: 287 KiB |
|
After Width: | Height: | Size: 226 KiB |
|
After Width: | Height: | Size: 522 KiB |
|
After Width: | Height: | Size: 485 KiB |
|
After Width: | Height: | Size: 302 KiB |
|
After Width: | Height: | Size: 268 KiB |
@@ -0,0 +1,63 @@
|
||||
# Скриншоты интерфейса
|
||||
|
||||
Снимки экрана в **светлой** и **тёмной** теме (переключатель темы в шапке). Исходные файлы лежат в каталоге **`app/docs/images/`** (в репозитории рядом с этим файлом).
|
||||
|
||||
Открыть в веб-приложении: страница **«Документация»** → путь **`app/docs/screenshots.md`**.
|
||||
|
||||
---
|
||||
|
||||
## Главная панель
|
||||
|
||||
**Светлая тема**
|
||||
|
||||

|
||||
|
||||
**Тёмная тема**
|
||||
|
||||

|
||||
|
||||
## Страница «Кластеры»
|
||||
|
||||
Снимок в тёмной теме (отдельный скрин светлой темы не добавлялся).
|
||||
|
||||

|
||||
|
||||
## Создание кластера
|
||||
|
||||
Снимок в светлой теме.
|
||||
|
||||

|
||||
|
||||
## Аддоны (Helm)
|
||||
|
||||
**Светлая тема**
|
||||
|
||||

|
||||
|
||||
**Тёмная тема**
|
||||
|
||||

|
||||
|
||||
## Встроенная документация (Markdown)
|
||||
|
||||
**Светлая тема**
|
||||
|
||||

|
||||
|
||||
**Тёмная тема**
|
||||
|
||||

|
||||
|
||||
## Журнал
|
||||
|
||||
**Светлая тема**
|
||||
|
||||

|
||||
|
||||
**Тёмная тема**
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
*Автор: Сергей Антропов — https://devops.org.ru*
|
||||