Modify sig docs generator to handle multiple meetings

This commit is contained in:
Christoph Blecker 2018-01-24 12:07:28 -08:00
parent 9baebba197
commit 0686661aed
No known key found for this signature in database
GPG Key ID: B34A59A9D39F838B
4 changed files with 35 additions and 34 deletions

View File

@ -58,10 +58,14 @@ type Lead struct {
// Meeting represents a regular meeting for a group. // Meeting represents a regular meeting for a group.
type Meeting struct { type Meeting struct {
Day string Description string
Time string Day string
TZ string `yaml:"tz"` Time string
Frequency string TZ string
Frequency string
URL string
ArchiveURL string `yaml:"archive_url"`
RecordingsURL string `yaml:"recordings_url"`
} }
// Contact represents the various contact points for a group. // Contact represents the various contact points for a group.
@ -79,16 +83,13 @@ type GithubTeams struct {
// Group represents either a Special Interest Group (SIG) or a Working Group (WG) // Group represents either a Special Interest Group (SIG) or a Working Group (WG)
type Group struct { type Group struct {
Name string Name string
Dir string Dir string
MissionStatement string `yaml:"mission_statement"` MissionStatement string `yaml:"mission_statement"`
Label string Label string
Leads []Lead Leads []Lead
Meetings []Meeting Meetings []Meeting
MeetingURL string `yaml:"meeting_url"` Contact Contact
MeetingArchiveURL string `yaml:"meeting_archive_url"`
MeetingRecordingsURL string `yaml:"meeting_recordings_url"`
Contact Contact
} }
// DirName returns the directory that a group's documentation will be // DirName returns the directory that a group's documentation will be

View File

@ -16,7 +16,7 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
| Name | Label | Leads | Contact | Meetings | | Name | Label | Leads | Contact | Meetings |
|------|--------|-------|---------|----------| |------|--------|-------|---------|----------|
{{- range .Sigs}} {{- range .Sigs}}
|[{{.Name}}]({{.Dir}}/README.md)|{{.Label}}|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{ $save := . }}{{range .Meetings}}* [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{$save.MeetingURL}})<br>{{end}} |[{{.Name}}]({{.Dir}}/README.md)|{{.Label}}|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{ $save := . }}{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}}
{{- end }} {{- end }}
### Master Working Group List ### Master Working Group List
@ -24,5 +24,5 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
| Name | Organizers | Contact | Meetings | | Name | Organizers | Contact | Meetings |
|------|------------|---------|----------| |------|------------|---------|----------|
{{- range .WorkingGroups}} {{- range .WorkingGroups}}
|[{{.Name}}]({{.Dir}}/README.md)|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{ $save := . }}{{range .Meetings}}* [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{$save.MeetingURL}})<br>{{end}} |[{{.Name}}]({{.Dir}}/README.md)|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{ $save := . }}{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}}
{{- end }} {{- end }}

View File

@ -2,18 +2,18 @@
# {{.Name}} SIG # {{.Name}} SIG
{{ .MissionStatement }} {{ .MissionStatement }}
## Meetings {{ if .Meetings }}## Meetings
{{- range .Meetings }} {{- range .Meetings }}
* [{{.Day}}s at {{.Time}} {{.TZ}}]({{$.MeetingURL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}). * {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}}]({{.URL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}).
{{- end }} {{- if .ArchiveURL }}
* [Meeting notes and Agenda]({{.ArchiveURL}}).
{{ if .MeetingArchiveURL -}} {{- end }}
Meeting notes and Agenda can be found [here]({{.MeetingArchiveURL}}). {{- if .RecordingsURL }}
{{- end }} * [Meeting recordings]({{.RecordingsURL}}).
{{ if .MeetingRecordingsURL -}} {{- end }}
Meeting recordings can be found [here]({{.MeetingRecordingsURL}}).
{{- end }} {{- end }}
{{ end -}}
## Leads ## Leads
{{- range .Leads }} {{- range .Leads }}
* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}} * {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}

View File

@ -2,18 +2,18 @@
# {{.Name}} Working Group # {{.Name}} Working Group
{{ .MissionStatement }} {{ .MissionStatement }}
## Meetings {{ if .Meetings }}## Meetings
{{- range .Meetings }} {{- range .Meetings }}
* [{{.Day}}s at {{.Time}} {{.TZ}}]({{$.MeetingURL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}). * {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}}]({{.URL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}).
{{- end }} {{- if .ArchiveURL }}
* [Meeting notes and Agenda]({{.ArchiveURL}}).
{{ if .MeetingArchiveURL -}} {{- end }}
Meeting notes and Agenda can be found [here]({{.MeetingArchiveURL}}). {{- if .RecordingsURL }}
{{- end }} * [Meeting recordings]({{.RecordingsURL}}).
{{ if .MeetingRecordingsURL -}} {{- end }}
Meeting recordings can be found [here]({{.MeetingRecordingsURL}}).
{{- end }} {{- end }}
{{ end -}}
## Organizers ## Organizers
{{- range .Leads }} {{- range .Leads }}
* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}} * {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}