summaryrefslogtreecommitdiff
path: root/vendor/github.com/go-swagger/go-swagger/generator/templates/markdown/docs.gotmpl
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-swagger/go-swagger/generator/templates/markdown/docs.gotmpl')
-rw-r--r--vendor/github.com/go-swagger/go-swagger/generator/templates/markdown/docs.gotmpl527
1 files changed, 527 insertions, 0 deletions
diff --git a/vendor/github.com/go-swagger/go-swagger/generator/templates/markdown/docs.gotmpl b/vendor/github.com/go-swagger/go-swagger/generator/templates/markdown/docs.gotmpl
new file mode 100644
index 000000000..8b7c6b3dd
--- /dev/null
+++ b/vendor/github.com/go-swagger/go-swagger/generator/templates/markdown/docs.gotmpl
@@ -0,0 +1,527 @@
+{{- define "externalDoc" }}{{/* renders external documentation */}}
+ {{- with .ExternalDocs }}
+ {{- if .URL }}
+ {{- if .Description }}
+> [{{ trimSpace .Description }}]({{ .URL }})
+ {{- else }}
+> [Read more]({{ .URL }})
+ {{- end }}
+ {{- else }}
+> {{ trimSpace .Description }}
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- define "docParam" }}{{/* renders a parameter with simple schema */}}
+| {{ .Name }} | `{{ .Location }}` | {{ paramDocType . }} | `{{ .GoType }}` | {{ if .CollectionFormat }}`{{ docCollectionFormat .CollectionFormat .Child }}`{{ end }} | {{ if .Required }}✓{{ end }} | {{ if .Default }}`{{ json .Default }}`{{ end }} | {{ trimSpace .Description }} |
+{{- end }}
+
+{{- define "docModelSchema" }}{{/* renders a schema */}}
+ {{- if .IsArray }}
+ {{- if .IsAliased }}
+ [{{- dropPackage .GoType }}](#{{ dasherize (dropPackage .GoType) -}})
+ {{- else if .Items }}
+ {{- if and .Items.IsPrimitive (not .Items.IsAliased) -}}
+ {{- schemaDocType . -}}
+ {{- else -}}
+ [][{{- dropPackage .Items.GoType }}](#{{ dasherize (dropPackage .Items.GoType) -}})
+ {{- end -}}
+ {{- else -}}
+ []any{{ printf " " -}}
+ {{- end -}}
+ {{- else if and .IsMap (not .IsAdditionalProperties) -}}
+ {{- if .IsAliased -}}
+ [{{- dropPackage .GoType }}](#{{ dasherize (dropPackage .GoType) -}})
+ {{- else if .ElemType }}
+ {{- if and .ElemType.IsPrimitive (not .ElemType.IsAliased) (not .ElemType.IsInterface) -}}
+ {{ schemaDocMapType . -}}
+ {{- else if .ElemType.IsInterface -}}
+ map of any{{ printf " " -}}
+ {{- else -}}
+ map of [{{- dropPackage .ElemType.GoType }}](#{{ dasherize (dropPackage .ElemType.GoType) -}})
+ {{- end -}}
+ {{- else -}}
+ map of any{{ printf " " -}}
+ {{- end -}}
+ {{- else if and .IsAliased .IsPrimitive (not .IsSuperAlias) -}}
+| Name | Type | Go type | Default | Description | Example |
+|------|------|---------| ------- |-------------|---------|
+| {{ .Name }} | {{ schemaDocType . }}| {{ .AliasedType }} | {{ if .Default }}`{{ json .Default }}`{{ end }}| {{ trimSpace .Description }} | {{ if .Example }}`{{ .Example }}`{{ end }} |
+{{ printf "\n" }}
+ {{- else if or (and .IsAliased (not (.IsAdditionalProperties))) (and .IsComplexObject (not .Properties) (not .AllOf)) -}}
+[{{- dropPackage .GoType }}](#{{ dasherize (dropPackage .GoType) -}})
+ {{- else if and .IsInterface (not .IsAliased) (not .IsMap) -}}
+any
+ {{- else -}}
+ {{- range .AllOf }}
+ {{- if .IsAnonymous }}
+* inlined member (*{{ .Name }}*)
+
+{{ template "docModelSchema" . }}
+ {{- else if or .IsComplexObject .IsPrimitive }}
+* composed type [{{- dropPackage .GoType }}](#{{ dasherize (dropPackage .GoType) -}})
+ {{- else }}
+* {{ template "docModelSchema" . }}
+ {{- end }}
+ {{- end }}
+ {{- if .Properties }}
+
+**{{ if .IsTuple }}Tuple members{{ else }}Properties{{ end }}**
+
+| Name | Type | Go type | Required | Default | Description | Example |
+|------|------|---------|:--------:| ------- |-------------|---------|
+ {{- range .Properties }}
+| {{ .Name }} | {{ template "docSchemaSimple" . }}| `{{ .GoType }}` | {{ if .Required }}✓{{ end }} | {{ if .Default }}`{{ json .Default }}`{{ end }}| {{ trimSpace .Description }} | {{ if .Example }}`{{ .Example }}`{{ end }} |
+ {{- end }}
+{{ printf "\n" }}
+ {{- end }}
+ {{- if .HasAdditionalProperties }}
+
+**Additional Properties**
+ {{- with .AdditionalProperties }}
+ {{- if .IsInterface }}
+
+any
+ {{- else if .IsPrimitive }}
+
+| Type | Go type | Default | Description | Example |
+|------|---------| ------- |-------------|---------|
+| {{ template "docSchemaSimple" . }} | `{{ .GoType }}` |{{ if .Default }}`{{ json .Default }}`{{ end }}| {{ trimSpace .Description }} | {{ if .Example }}`{{ .Example }}`{{ end }} |
+ {{- else }}
+
+{{ template "docModelSchema" . }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- if and .IsTuple .HasAdditionalItems }}
+ {{- with .AdditionalItems }}
+
+**Additional Items**
+ {{- if .IsInterface }}
+
+any
+ {{- else if .IsPrimitive }}
+
+| Type | Go type | Default | Description | Example |
+|------|---------| ------- |-------------|---------|
+| {{ template "docSchemaSimple" . }} | `{{ .GoType }}` |{{ if .Default }}`{{ json .Default }}`{{ end }}| {{ trimSpace .Description }} | {{ if .Example }}`{{ .Example }}`{{ end }} |
+ {{- else }}
+
+{{ template "docModelSchema" . }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end -}}
+{{- end }}
+
+{{- define "docModel" }}{{/* renders a definition */}}
+ {{- with .Description }}
+> {{ .}}
+ {{- end }}
+ {{- if .ExternalDocs }}
+{{ template "externalDoc" . }}
+ {{- end }}
+ {{ if or .Description .ExternalDocs }}
+{{ printf "\n" }}
+ {{- end }}
+
+{{ template "docModelSchema" .}}
+{{- end }}
+
+{{- define "docSchemaSimple" }}{{/* renders a simple property */}}
+ {{- if .IsAliased -}}
+ [{{- dropPackage .GoType }}](#{{ dasherize (dropPackage .GoType) -}})
+ {{- else if .IsArray }}
+ {{- if .Items }}
+ {{- if and .Items.IsPrimitive (not .Items.IsAliased) -}}
+ {{- schemaDocType . -}}
+ {{- else -}}
+ [][{{- dropPackage .Items.GoType }}](#{{ dasherize (dropPackage .Items.GoType) -}})
+ {{- end -}}
+ {{- else -}}
+ []any{{ printf " " -}}
+ {{- end -}}
+ {{- else if .IsMap -}}
+ {{- if .ElemType }}
+ {{- if and .ElemType.IsPrimitive (not .ElemType.IsAliased) (not .ElemType.IsInterface) -}}
+ {{ schemaDocMapType . -}}
+ {{- else if .ElemType.IsInterface -}}
+ map of any{{ printf " " -}}
+ {{- else -}}
+ map of [{{- dropPackage .ElemType.GoType }}](#{{ dasherize (dropPackage .ElemType.GoType) -}})
+ {{- end -}}
+ {{- else -}}
+ map of any{{ printf " " -}}
+ {{- end -}}
+ {{- else if .IsPrimitive -}}
+ {{- schemaDocType . -}}
+ {{- else -}}
+ [{{- dropPackage .GoType }}](#{{ dasherize (dropPackage .GoType) -}})
+ {{- end -}}
+{{- end }}
+
+{{- define "docModelBodyParam" }}{{/* layout for body param schema */}}
+| {{ .Name }} | `body` | {{ template "docSchemaSimple" .Schema }} | `{{ .Schema.GoType }}` | | {{ if .Required }}✓{{ end }} | {{ if .Default }}`{{ json .Default }}`{{ end }}| {{ trimSpace .Description }} |
+{{- end }}
+
+{{- define "docHeaders" }}{{/* renders response headers */}}
+ {{- if .Headers }}
+| Name | Type | Go type | Separator | Default | Description |
+|------|------|---------|-----------|---------|-------------|
+ {{- range .Headers }}
+| {{ .Name }} | {{ headerDocType . }} | `{{ .GoType }}` | {{ if .CollectionFormat }}`{{ docCollectionFormat .CollectionFormat .Child }}`{{ end }} | {{ if .Default }}`{{ json .Default }}`{{ end }} | {{ trimSpace .Description }} |
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{/* spec top-level information block */}}
+{{- if .Info }}
+ {{- with .Info.Title }}
+# {{ . }}
+ {{- end }}
+
+ {{- with .Info.Description }}
+{{ . }}
+ {{- end }}
+ {{ template "externalDoc" . }}
+
+ {{- if or .Info.Version .Info.License .Info.Contact .Info.TermsOfService }}
+
+## Informations
+ {{- end }}
+
+ {{- with .Info.Version }}
+
+### Version
+
+{{ . }}
+ {{- end }}
+
+ {{- with .Info.License }}
+
+### License
+
+{{ if .Name }}[{{ .Name }}]({{ end}}{{ .URL }}{{ if .Name }}){{ end }}
+ {{- end }}
+
+ {{- with .Info.Contact }}
+
+### Contact
+
+{{ .Name }} {{ .Email }} {{ .URL }}
+ {{- end }}
+
+ {{- with .Info.TermsOfService }}
+
+### Terms Of Service
+
+{{ . }}
+ {{- end }}
+{{- else }}
+ {{ template "externalDoc" . }}
+{{- end }}
+
+{{- if .Tags }}
+
+## Tags
+ {{- range .Tags }}
+
+ ### <span id="tag-{{ dasherize .Name }}"></span>{{ if .ExternalDocs }}[{{ .Name }}]({{ .ExternalDocs.URL }}{{ if .ExternalDocs.Description }} {{ printf "%q" .ExternalDocs.Description }}{{ end }}){{ else }}{{ .Name }}{{ end }}
+ {{- if .Description }}
+
+{{ .Description }}
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- if or .Schemes .Consumes .Produces }}
+
+## Content negotiation
+{{- end }}
+{{- if .Schemes }}
+
+### URI Schemes
+ {{- range .Schemes }}
+ * {{ . }}
+ {{- end }}
+ {{- range .ExtraSchemes }}
+ * {{ . }}
+ {{- end }}
+{{- end }}
+
+{{- if .Consumes }}
+
+### Consumes
+ {{- range .Consumes }}
+ {{- range .AllSerializers }}
+ * {{ .MediaType }}
+ {{- end }}
+ {{- end }}
+{{- end }}{{/* end .Schemes */}}
+
+{{- if .Produces }}
+
+### Produces
+ {{- range .Produces }}
+ {{- range .AllSerializers }}
+ * {{ .MediaType }}
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- if or .SecurityDefinitions .SecurityRequirements }}
+
+## Access control
+{{- end }}
+{{- if .SecurityDefinitions }}
+
+### Security Schemes
+ {{- range .SecurityDefinitions }}
+
+#### {{ .ID }}{{ if .Source }} ({{ .Source }}{{ with .Name }}: {{ . }}{{ end }}){{ end }}
+
+{{ .Description }}
+
+ {{- with .Type }}
+
+> **Type**: {{ . }}
+ {{- end }}
+ {{- if .IsOAuth2}}
+ {{- with .Flow }}
+>
+> **Flow**: {{ . }}
+ {{- end }}
+ {{- with .AuthorizationURL }}
+>
+> **Authorization URL**: {{ . }}
+ {{- end }}
+ {{- with .TokenURL }}
+>
+> **Token URL**: {{ . }}
+ {{- end }}
+ {{ if .ScopesDesc }}
+
+##### Scopes
+
+Name | Description
+-----|-------------
+ {{- range .ScopesDesc }}
+{{ .Name }} | {{ .Description }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}{{/* end .SecurityDefinitions */}}
+
+{{- if .SecurityRequirements }}
+
+### Security Requirements
+
+ {{- range .SecurityRequirements }}
+ * {{ .Name }}{{ if .Scopes }}: {{ range $idx, $scope := .Scopes }}{{ if gt $idx 0 }}, {{ end }}{{ $scope }}{{ end }}
+ {{- end }}
+ {{- end }}
+{{- end }}{{/* end .SecurityRequirements */}}
+
+## All endpoints{{/* an index of all API endpoints */}}
+
+{{- $alltags := .Tags }}
+{{- range .OperationGroups }}
+
+### {{ .PackageAlias }}
+ {{- $pkg := .PackageAlias }}
+ {{- range $alltags }}
+ {{- if eq .Name $pkg }}
+
+ {{ template "externalDoc" . }}
+ {{- end }}
+ {{- end }}
+
+| Method | URI | Name | Summary |
+|---------|---------|--------|---------|
+ {{- range .Operations }}
+| {{ upper .Method }} | {{ joinPath .BasePath .Path }} | [{{ humanize .Name }}](#{{ dasherize .Name }}) | {{ .Summary }} |
+ {{- end }}
+ {{ printf "\n" }}
+{{- end }}
+
+## Paths{{/* all paths to operations */}}
+
+{{- range .Operations }}
+ {{- $opname := .Name }}
+
+### <span id="{{ dasherize .Name }}"></span> {{ if .Summary }}{{ trimSpace .Summary }}{{ else }}{{ humanize .Name }}{{ end }} (*{{ .Name }}*)
+
+```
+{{ upper .Method }} {{ joinPath .BasePath .Path }}
+```
+ {{- with .Description }}
+
+{{ . }}
+ {{- end }}
+
+ {{- with .ExternalDocs }}
+
+> {{ if .URL }}[Read more]({{ .URL }} "{{ .Description }}"){{ end }}
+ {{- end }}
+
+ {{- if or (gt (len .SchemeOverrides) 0) (gt (len .ExtraSchemeOverrides) 0) }}
+
+#### URI Schemes
+
+ {{- range .SchemeOverrides }}
+ * {{ . }}
+ {{- end }}
+ {{- range .ExtraSchemeOverrides }}
+ * {{ . }}
+ {{- end }}
+ {{- end }}
+
+ {{- if .Consumes }}
+
+#### Consumes
+
+ {{- range .Consumes }}
+ * {{ . }}
+ {{- end }}
+ {{- end }}
+
+ {{- if .Produces }}
+
+#### Produces
+
+ {{- range .Produces }}
+ * {{ . }}
+ {{- end }}
+ {{- end }}
+
+ {{- if .SecurityRequirements }}
+
+#### Security Requirements
+ {{- range .SecurityRequirements }}
+ * {{ .Name }}{{ if .Scopes }}: {{ range $idx, $scope := .Scopes }}{{ if gt $idx 0 }}, {{ end }}{{ $scope }}{{ end }}{{ end }}
+ {{- end }}
+ {{- end }}
+
+ {{- if .Params }}
+
+#### Parameters
+
+| Name | Source | Type | Go type | Separator | Required | Default | Description |
+|------|--------|------|---------|-----------| :------: |---------|-------------|
+{{- range .PathParams }}{{ template "docParam" . }}{{ end }}
+{{- range .HeaderParams }}{{ template "docParam" . }}{{ end }}
+{{- range .QueryParams }}{{ template "docParam" . }}{{ end }}
+{{- range .FormParams }}{{ template "docParam" . }}{{ end }}
+{{- range .Params }}
+{{- if .IsBodyParam }}
+{{- template "docModelBodyParam" . }}
+ {{- end }}
+{{- end }}
+{{- end }}{{/* end .Params */}}
+
+#### All responses
+| Code | Status | Description | Has headers | Schema |
+|------|--------|-------------|:-----------:|--------|
+{{- range .Responses }}
+| [{{.Code}}](#{{ dasherize $opname }}-{{ .Code }}) | {{ httpStatus .Code }} | {{ trimSpace .Description }} | {{ if .Headers }}✓{{ end }} | [schema](#{{ dasherize $opname }}-{{ .Code }}-schema) |
+{{- end }}
+{{- with .DefaultResponse }}
+| [default](#{{ dasherize $opname }}-default) | | {{ trimSpace .Description }} | {{ if .Headers }}✓{{ end }} | [schema](#{{ dasherize $opname }}-default-schema) |
+{{- end }}
+
+#### Responses
+{{ range .Responses }}
+
+##### <span id="{{ dasherize $opname }}-{{ .Code }}"></span> {{.Code}}{{ if .Description }} - {{ trimSpace .Description }}{{ end }}
+Status: {{ httpStatus .Code }}
+
+###### <span id="{{ dasherize $opname }}-{{ .Code }}-schema"></span> Schema
+ {{- if .Schema }}
+ {{ template "docModel" .Schema }}
+ {{- end }}
+
+ {{- if .Examples }}
+
+###### Examples
+ {{ range .Examples }}
+**{{ .MediaType }}**
+```json
+{{ prettyjson .Example }}
+```
+ {{- end }}
+ {{- end }}
+
+ {{- if .Headers }}
+
+###### Response headers
+{{ template "docHeaders" . }}
+ {{- end }}
+{{- end }}
+
+{{- with .DefaultResponse }}
+
+##### <span id="{{ dasherize $opname }}-default"></span> Default Response
+{{ trimSpace .Description }}
+
+###### <span id="{{ dasherize $opname }}-default-schema"></span> Schema
+ {{- if .Schema }}
+{{ template "docModel" .Schema }}
+ {{- else }}
+empty schema
+ {{- end }}
+
+ {{- if .Examples }}
+
+###### Examples
+ {{ range .Examples }}
+**{{ .MediaType }}**
+```json
+{{ .Example }}
+```
+ {{- end }}
+ {{- end }}
+
+ {{- if .Headers }}
+
+###### Response headers
+{{ template "docHeaders" . }}
+ {{- end }}
+{{- end }}
+
+ {{- if .ExtraSchemas }}
+
+###### Inlined models
+ {{- range .ExtraSchemas }}
+ {{- if ne .Name "" }}
+
+**<span id="{{ dasherize .Name }}"></span> {{ .Name }}**
+
+{{ template "docModel" . }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+
+{{- end }}{{/* end .Operations */}}
+
+## Models
+
+{{- range .Models }}
+
+### <span id="{{ dasherize .Name }}"></span> {{ .Name }}
+
+{{ template "docModel" . }}
+
+ {{- if .ExtraSchemas }}
+
+#### Inlined models
+ {{- range .ExtraSchemas }}
+ {{- if ne .Name "" }}
+
+**<span id="{{ dasherize .Name }}"></span> {{ .Name }}**
+
+{{ template "docModel" . }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}