Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cmd = &command.Command{ Name: _CmdName, Cobra: &cobra.Command{ Use: _CmdName, Short: "Generates and install " + buildtime.PROGNAME + " markdown pages", Long: `Generate Markdown documentation for the ` + buildtime.PROGNAME + ` (one Markdown file per command`, PreRunE: func(cmd *cobra.Command, args []string) error { return nil }, RunE: func(cmd *cobra.Command, args []string) error { mdDir := viper.GetString(config.KeyDocMarkdownDir) if _, err := os.Stat(mdDir); os.IsNotExist(err) { if err := os.MkdirAll(mdDir, 0777); err != nil { return errors.Wrapf(err, "unable to make mddir %q", mdDir) } } log.Info().Str(config.KeyDocMarkdownDir, mdDir).Msg("Installing markdown documentation") now, err := time.Parse(time.RFC3339, buildtime.DocsDate) if err != nil { log.Warn().Err(err).Msg("unable to parse docsdate") now = time.Now() } docDate := now.UTC().Format(time.RFC3339) prefix := viper.GetString(config.KeyDocMarkdownURLPrefix) prepender := func(filename string) string { name := filepath.Base(filename) base := strings.TrimSuffix(name, path.Ext(name)) url := prefix + path.Join("/", strings.ToLower(base), "/") return fmt.Sprintf(template, docDate, strings.Replace(base, "_", " ", -1), base, url) } linkHandler := func(name string) string { base := strings.TrimSuffix(name, path.Ext(name)) return prefix + path.Join("/", strings.ToLower(base), "/") } doc.GenMarkdownTreeCustom(cmd.Root(), mdDir, prepender, linkHandler) log.Info().Msg("Installation completed successfully.") return nil }, }, Setup: func(self *command.Command) error { { const ( key = config.KeyDocMarkdownDir longName = "dir" shortName = "d" description = "Specify the directory for generated Markdown files" defaultValue = config.DefaultMarkdownDir ) flags := self.Cobra.Flags() flags.StringP(longName, shortName, defaultValue, description) viper.BindPFlag(key, flags.Lookup(longName)) viper.SetDefault(key, defaultValue) } { const ( key = config.KeyDocMarkdownURLPrefix longName = "url-prefix" shortName = "p" description = "Specify the prefix for links generated by Markdown" defaultValue = config.DefaultMarkdownURLPrefix ) flags := self.Cobra.Flags() flags.String(longName, defaultValue, description) viper.BindPFlag(key, flags.Lookup(longName)) viper.SetDefault(key, defaultValue) } return nil }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.