From 5a718a3ec26eda985edef0b290efa985f784e0ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 10 Aug 2026 19:25:58 +0400 Subject: [PATCH] =?UTF-8?q?feat:=20curated=20examples=20in=20sidebar=20nav?= =?UTF-8?q?=20via=20WriteNavFragment=20=E2=80=94=20PG+user+DB=20example?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../internal/writers/writers.go | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/TOOLS/docs-generator/internal/writers/writers.go b/TOOLS/docs-generator/internal/writers/writers.go index 09d2f27..d854b0d 100644 --- a/TOOLS/docs-generator/internal/writers/writers.go +++ b/TOOLS/docs-generator/internal/writers/writers.go @@ -77,6 +77,16 @@ func IndexMD(docsDir string, specs []types.ServiceSpec) { catMap[cat] = append(catMap[cat], s) } + // Check which services have curated examples + hasCurated := map[string]bool{} + if entries, err := os.ReadDir("docs/curated"); err == nil { + for _, e := range entries { + if e.IsDir() { + hasCurated[e.Name()] = true + } + } + } + var b bytes.Buffer b.WriteString("# Ресурсы провайдера\n\n") @@ -1119,6 +1129,16 @@ func WriteNavFragment(docsDir string, specs []types.ServiceSpec) { catMap[cat] = append(catMap[cat], s) } + // Check which services have curated examples + hasCurated := map[string]bool{} + if entries, err := os.ReadDir("docs/curated"); err == nil { + for _, e := range entries { + if e.IsDir() { + hasCurated[e.Name()] = true + } + } + } + var b bytes.Buffer b.WriteString("# auto-generated by docs-generator — DO NOT EDIT\n") b.WriteString("resources_nav:\n") @@ -1142,6 +1162,9 @@ func WriteNavFragment(docsDir string, specs []types.ServiceSpec) { b.WriteString(fmt.Sprintf(" - Выходные данные: %s_outputs.md\n", s.Name)) b.WriteString(fmt.Sprintf(" - Операции: %s_ops.md\n", s.Name)) b.WriteString(fmt.Sprintf(" - Пример: %s_example.md\n", s.Name)) +if hasCurated[s.Name] { +b.WriteString(fmt.Sprintf(" - 💡 Примеры из практики: curated/%s/pg_user_db.md\n", s.Name)) +} } }