// Copyright 2023 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package cmd import ( "fmt" "os" "path/filepath" "github.com/urfave/cli/v2" ) // CmdDocs generates markdown for tea var CmdDocs = cli.Command{ Name: "docs", Hidden: true, Description: "Generate CLI docs", Action: runDocs, Flags: []cli.Flag{ &cli.StringFlag{ Name: "out", Usage: "Path to output docs to, otherwise prints to stdout", Aliases: []string{"o"}, }, }, } func runDocs(ctx *cli.Context) error { md, err := ctx.App.ToMarkdown() if err != nil { return err } outPath := ctx.String("out") if outPath == "" { fmt.Print(md) return nil } if err := os.MkdirAll(filepath.Dir(outPath), os.ModePerm); err != nil { return err } fi, err := os.Create(outPath) if err != nil { return err } defer fi.Close() if _, err := fi.WriteString(md); err != nil { return err } return nil }