cli, docs: Add a docs command for doc generation

This took a lot longer than it looks to get right. It's not perfect, but
it now reliably generates documentation which we can put into gohugo.
This commit is contained in:
James Shubin
2024-11-22 14:20:16 -05:00
parent 7b45f94bb0
commit a600e11100
27 changed files with 1379 additions and 41 deletions

View File

@@ -52,9 +52,15 @@ type MsgRes struct {
init *engine.Init
Body string `lang:"body" yaml:"body"`
Priority string `lang:"priority" yaml:"priority"`
Fields map[string]string `lang:"fields" yaml:"fields"`
// Body is the body of the message to send.
Body string `lang:"body" yaml:"body"`
// Priority is the priority of the message. Currently this is one of:
// Emerg, Alert, Crit, Err, Warning, Notice, Info, Debug.
Priority string `lang:"priority" yaml:"priority"`
// Fields are the key/value pairs set in the journal if we are using it.
Fields map[string]string `lang:"fields" yaml:"fields"`
// Journal should be true to enable systemd journaled (journald) output.
Journal bool `lang:"journal" yaml:"journal"`

View File

@@ -49,7 +49,8 @@ type NoopRes struct {
init *engine.Init
Comment string `lang:"comment" yaml:"comment"` // extra field for example purposes
// Comment is a useless comment field that you can use however you like.
Comment string `lang:"comment" yaml:"comment"`
}
// Default returns some sensible defaults for this resource.

View File

@@ -52,7 +52,9 @@ type PrintRes struct {
init *engine.Init
Msg string `lang:"msg" yaml:"msg"` // the message to display
// Msg is the message to display.
Msg string `lang:"msg" yaml:"msg"`
// RefreshOnly is an option that causes the message to be printed only
// when notified by another resource. When set to true, this resource
// cannot be autogrouped.

View File

@@ -70,6 +70,7 @@ type TestRes struct {
Uint64 uint64 `lang:"uint64" yaml:"uint64"`
//Uintptr uintptr `lang:"uintptr" yaml:"uintptr"`
Byte byte `lang:"byte" yaml:"byte"` // alias for uint8
Rune rune `lang:"rune" yaml:"rune"` // alias for int32, represents a Unicode code point
@@ -84,7 +85,7 @@ type TestRes struct {
Int8Ptr *int8 `lang:"int8ptr" yaml:"int8ptr"`
Uint8Ptr *uint8 `lang:"uint8ptr" yaml:"uint8ptr"`
// probably makes no sense, but is legal
// Int8PtrPtrPtr probably makes no sense, but is legal.
Int8PtrPtrPtr ***int8 `lang:"int8ptrptrptr" yaml:"int8ptrptrptr"`
SliceString []string `lang:"slicestring" yaml:"slicestring"`