diff options
Diffstat (limited to 'generator')
| -rw-r--r-- | generator/README.md | 2 | ||||
| -rw-r--r-- | generator/app.go | 10 | ||||
| -rw-r--r-- | generator/list.tmpl | 10 | ||||
| -rw-r--r-- | generator/ug_readme.tmpl | 49 |
4 files changed, 71 insertions, 0 deletions
diff --git a/generator/README.md b/generator/README.md index 31742492..2c5ef157 100644 --- a/generator/README.md +++ b/generator/README.md @@ -13,6 +13,7 @@ The documentation follows a template and uses the values from [`sigs.yaml`](/sig - List: [`list.tmpl`](list.tmpl) - SIG README: [`sig_readme.tmpl`](sig_readme.tmpl) - WG README: [`wg_readme.tmpl`](wg_readme.tmpl) +- UG README: [`ug_readme.tmpl`](ug_readme.tmpl) **Time Zone gotcha**: Time zones make everything complicated. @@ -28,6 +29,7 @@ accompanying documentation. This takes the format of three types of doc files: ``` sig-<sig-name>/README.md wg-<working-group-name>/README.md +ug-<user-group-name>/README.md sig-list.md ``` diff --git a/generator/app.go b/generator/app.go index da6b4a71..0b17b100 100644 --- a/generator/app.go +++ b/generator/app.go @@ -124,6 +124,7 @@ func (e *Group) DirName(prefix string) string { type Context struct { Sigs []Group WorkingGroups []Group + UserGroups []Group } func pathExists(path string) bool { @@ -305,6 +306,10 @@ func main() { return strings.ToLower(ctx.WorkingGroups[i].Name) <= strings.ToLower(ctx.WorkingGroups[j].Name) }) + sort.Slice(ctx.UserGroups, func(i, j int) bool { + return strings.ToLower(ctx.UserGroups[i].Name) <= strings.ToLower(ctx.UserGroups[j].Name) + }) + err = createGroupReadme(ctx.Sigs, "sig") if err != nil { log.Fatal(err) @@ -315,6 +320,11 @@ func main() { log.Fatal(err) } + err = createGroupReadme(ctx.UserGroups, "ug") + if err != nil { + log.Fatal(err) + } + fmt.Println("Generating sig-list.md") outputPath := filepath.Join(baseGeneratorDir, sigListOutput) err = writeTemplate(filepath.Join(baseGeneratorDir, templateDir, listTemplate), outputPath, "markdown", ctx) diff --git a/generator/list.tmpl b/generator/list.tmpl index f316f75d..1f7b2946 100644 --- a/generator/list.tmpl +++ b/generator/list.tmpl @@ -34,3 +34,13 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md) {{- range .WorkingGroups}} |[{{.Name}}]({{.Dir}}/README.md)|{{range .StakeholderSIGs}}* {{.}}<br>{{end }}|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}} {{- end }} +{{- /* TODO: remove the below condition when at least one user group has been added */}} +{{ if .UserGroups }} +### Master User Group List + +| Name | Organizers | Contact | Meetings | +|------|------------|---------|----------| +{{- range .UserGroups}} +|[{{.Name}}]({{.Dir}}/README.md)|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}} +{{- end }} +{{ end }}
\ No newline at end of file diff --git a/generator/ug_readme.tmpl b/generator/ug_readme.tmpl new file mode 100644 index 00000000..e665f0e8 --- /dev/null +++ b/generator/ug_readme.tmpl @@ -0,0 +1,49 @@ +{{- template "header" }} +# {{.Name}} User Group + +{{ .MissionStatement }} +{{- if .CharterLink }} +The [charter]({{.CharterLink}}) defines the scope and governance of the {{.Name}} User Group. +{{ end }} +{{ if .Meetings -}} +## Meetings +{{- range .Meetings }} +* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}}]({{.URL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}). +{{- if .ArchiveURL }} + * [Meeting notes and Agenda]({{.ArchiveURL}}). +{{- end }} +{{- if .RecordingsURL }} + * [Meeting recordings]({{.RecordingsURL}}). +{{- end }} +{{- end }} + +{{- end }} +{{- if .Leadership }} +{{- if .Leadership.Chairs }} + +## Organizers +{{ range .Leadership.Chairs }} +* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}} +{{- end }} +{{- end }} +{{- end }} + +## Contact +* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}}) +* [Mailing list]({{.Contact.MailingList}}) +{{- if .Label }} +* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/ug%2F{{.Label}}) +{{- end }} + +{{ if .Contact.GithubTeams }} +## GitHub Teams + +The below teams can be mentioned on issues and PRs in order to get attention from the right people. +Note that the links to display team membership will only work if you are a member of the org. + +| Team Name | Details | Description | +| --------- |:-------:| ----------- | +{{- range .Contact.GithubTeams }} +| @kubernetes/{{.Name}} | [link](https://github.com/orgs/kubernetes/teams/{{.Name}}) | {{.Description}} | +{{- end }} +{{ end }} |
