From 0f82e08e815bf07946c8f57c79b1028f8c4cede9 Mon Sep 17 00:00:00 2001 From: Naeel Date: Sat, 18 Jul 2026 10:39:23 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D1=81=D0=BA=D1=80=D1=8B=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D1=83=D1=81=D1=82=D1=8B=D0=B5=20=D1=81?= =?UTF-8?q?=D0=B5=D0=BA=D1=86=D0=B8=D0=B8,=20=E2=98=85=20=D0=BA=D1=80?= =?UTF-8?q?=D0=B0=D1=81=D0=BD=D1=8B=D0=B9/=D0=B7=D0=B5=D0=BB=D1=91=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../internal/writers/writers.go | 20 ++++--- docs/30_registry/assets/extra.css | 52 ++++++++++++------- 2 files changed, 46 insertions(+), 26 deletions(-) diff --git a/TOOLS/docs-generator/internal/writers/writers.go b/TOOLS/docs-generator/internal/writers/writers.go index 4d891fd..f4c52a7 100644 --- a/TOOLS/docs-generator/internal/writers/writers.go +++ b/TOOLS/docs-generator/internal/writers/writers.go @@ -249,16 +249,20 @@ func buildCreateParamsPage(spec types.ServiceSpec, nav string) string { createParams := FindParams(spec.Operations, "create") requiredParams, defaultParams := SplitParams(createParams) - b.WriteString("**Обязательные параметры (вводимые пользователем)**\n\n") - b.WriteString(renderParamTable(requiredParams, true, true)) - for _, p := range requiredParams { - b.WriteString(renderNestedParams(p)) + if len(requiredParams) > 0 { + b.WriteString("**Обязательные параметры (вводимые пользователем)**\n\n") + b.WriteString(renderParamTable(requiredParams, true, true)) + for _, p := range requiredParams { + b.WriteString(renderNestedParams(p)) + } } - b.WriteString("\n**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте**\n") - b.WriteString(renderParamTable(defaultParams, false, false)) - for _, p := range defaultParams { - b.WriteString(renderNestedParams(p)) + if len(defaultParams) > 0 { + b.WriteString("\n**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте**\n") + b.WriteString(renderParamTable(defaultParams, false, false)) + for _, p := range defaultParams { + b.WriteString(renderNestedParams(p)) + } } lifecycle := spec.Lifecycle diff --git a/docs/30_registry/assets/extra.css b/docs/30_registry/assets/extra.css index 2ab0a93..9e5a219 100644 --- a/docs/30_registry/assets/extra.css +++ b/docs/30_registry/assets/extra.css @@ -104,6 +104,19 @@ font-weight: 700; font-size: 0.82rem; } + +/* ★ — main required table (no defaults, MUST enter) */ +.md-typeset .resource-table-required td:nth-child(2) code::before { + content: "★ "; + color: #e74c3c; +} + +/* ★ — main default table (has defaults, can skip) */ +.md-typeset .resource-table:not(.resource-table-required):not(.resource-table-nested) td:nth-child(2) code::before { + content: "★ "; + color: #27ae60; +} + .md-typeset .resource-table:not(.resource-table-nested) { table-layout: fixed; } @@ -129,12 +142,6 @@ font-size: 0.63rem; color: #777; } -.md-typeset .resource-table:not(.resource-table-nested):not(:has(th:nth-child(6))) td:nth-child(4) { - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} .md-typeset .resource-table:not(.resource-table-nested):not(:has(th:nth-child(6))) th:nth-child(5), .md-typeset .resource-table:not(.resource-table-nested):not(:has(th:nth-child(6))) td:nth-child(5) { width: 27%; @@ -172,12 +179,6 @@ font-size: 0.63rem; color: #777; } -.md-typeset .resource-table:not(.resource-table-nested):has(th:nth-child(6)) td:nth-child(5) { - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} .md-typeset .resource-table:not(.resource-table-nested):has(th:nth-child(6)) th:nth-child(6), .md-typeset .resource-table:not(.resource-table-nested):has(th:nth-child(6)) td:nth-child(6) { width: 25%; @@ -214,22 +215,41 @@ .md-typeset .resource-table-nested th:nth-child(4), .md-typeset .resource-table-nested td:nth-child(4) { - width: 3%; + width: 4%; text-align: center; white-space: nowrap; } +/* Header: "Req" instead of "Required" */ +.md-typeset .resource-table-nested th:nth-child(4) { + font-size: 0; +} +.md-typeset .resource-table-nested th:nth-child(4)::before { + content: "Req"; + font-size: 0.63rem; +} + +/* Hide "**yes**" text, show ★ */ .md-typeset .resource-table-nested td:nth-child(4):not(:empty) { font-size: 0; } -.md-typeset .resource-table-nested td:nth-child(4):not(:empty)::before { +/* ★ RED — required, NO default (must enter) */ +.md-typeset .resource-table-nested tr:has(td:nth-child(4):not(:empty)):has(td:nth-child(5):empty) td:nth-child(4)::before { content: "★"; color: #e74c3c; font-weight: 700; font-size: 0.8rem; } +/* ★ GREEN — required, HAS default (can skip) */ +.md-typeset .resource-table-nested tr:has(td:nth-child(4):not(:empty)):not(:has(td:nth-child(5):empty)) td:nth-child(4)::before { + content: "★"; + color: #27ae60; + font-weight: 700; + font-size: 0.8rem; +} + .md-typeset .resource-table-nested th:nth-child(3), .md-typeset .resource-table-nested td:nth-child(3) { width: 5%; @@ -254,10 +274,6 @@ word-break: break-word; } .md-typeset .resource-table-nested td:nth-child(6) { - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; } .md-typeset .resource-table-nested th:nth-child(7),