{{template "Navigation" .}}
{{template "Introduction" .}} {{template "ResourceGroups" .}}
{{define "Navigation"}}
Introduction
{{range $groupN, $group := .ResourceGroups}} {{if $group.Title}}
{{$group.Title}}
{{end}}
{{range $resourceN, $resource := $group.Resources}} {{if $resource.Transitions}}
{{if $resource.Title}} {{$resource.Title}} {{else}} {{$resource.Href.Path}} {{end}}
{{end}} {{end}}
{{end}} {{end}} {{define "Introduction"}}

{{.Title}}


{{.Description | markdownize}}
{{end}} {{define "ResourceGroups"}} {{range $groupN, $group := .ResourceGroups}}
{{$group.Title}}
{{$group.Description | markdownize}}
{{range $resourceN, $resource := $group.Resources}} {{if $resource.Transitions}}
{{if $resource.Title}}{{$resource.Title}}{{else}}{{$resource.Href.Path}}{{end}}
{{$resource.Description | markdownize}}
{{range $transitionN, $transition := $resource.Transitions}} {{template "Divider"}}

{{if $transition.Title}}{{$transition.Title}}{{else}}{{$transition.Method}}{{end}}

{{$transition.Description | markdownize}}
{{range $transactionN, $transaction := $transition.Transactions}}

REQUEST{{if $transaction.Request.Title}} {{$transaction.Request.Title}}{{end}}

{{$transaction.Request.Description | markdownize}}

{{$transaction.Request.Method}}

{{$transition.URL}}
{{if $transition.Href.Parameters}} {{template "Parameters" $transition.Href.Parameters}} {{end}} {{if $transaction.Request.Headers}} {{template "Headers" $transaction.Request.Headers}} {{end}} {{if ne $transaction.Request.Body.Body ""}}
{{$transaction.Request.Body.ContentType}}
                          {{$transaction.Request.Body.Body}}
                        
                          {{$transaction.Request.Schema.Body}}
                        
{{end}}

RESPONSE

{{$transaction.Response.Description | markdownize}}
{{template "Headers" $transaction.Response.Headers}}
{{$transaction.Response.StatusCode}} {{$transaction.Response.Body.ContentType}}
                        {{$transaction.Response.Body.Body}}
                      
                        {{$transaction.Response.Schema.Body}}
                      
{{end}}
{{end}}
{{end}} {{end}} {{end}} {{end}} {{define "Headers"}} {{range $index, $header := .}} {{end}}
Headers
{{.Key}} {{.Value}}
{{end}} {{define "Parameters"}} {{range $index, $param := .}} {{end}}
Parameters
{{.Key}} {{.Kind}} {{if .Value}}{{.Value}}{{end}} {{if .Description}}{{.Description | markdownize}}{{else}}-{{end}}
{{end}} {{define "Divider"}}
{{end}}