aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/docs_proto_markdown.tmpl
blob: 87a94ce8c4ec1d087449952011a24a21fd27b156 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Protocol Documentation
<a name="top"></a>

## Table of Contents
{{range .Files}}
{{$file_name := .Name}}- [{{.Name}}](#{{.Name | anchor}})
  {{- if .Messages }}
  {{range .Messages}}  - [{{.LongName}}](#{{.FullName | anchor}})
  {{end}}
  {{- end -}}
  {{- if .Enums }}
  {{range .Enums}}  - [{{.LongName}}](#{{.FullName | anchor}})
  {{end}}
  {{- end -}}
  {{- if .Extensions }}
  {{range .Extensions}}  - [File-level Extensions](#{{$file_name | anchor}}-extensions)
  {{end}}
  {{- end -}}
  {{- if .Services }}
  {{range .Services}}  - [{{.Name}}](#{{.FullName | anchor}})
  {{end}}
  {{- end -}}
{{end}}
- [Scalar Value Types](#scalar-value-types)

{{range .Files}}
{{$file_name := .Name}}
<a name="{{.Name | anchor}}"></a>
<p align="right"><a href="#top">Top</a></p>

## {{.Name}} {{ .Name | anchor}}
{{.Description}}

{{range .Messages}}
<a name="{{.FullName | anchor}}"></a>

### {{.LongName}} {{"{#"}}{{ .FullName | anchor}}{{"}"}}
{{.Description}}

{{if .HasFields}}
#|
|| *Field* | *Type* | *Label* | *Description* ||
{{range .Fields -}}
  || {{.Name}} | [{{.LongType}}](#{{.FullType | anchor}}) | {{.Label}} | {{if (index .Options "deprecated"|default false)}}**Deprecated.** {{end}}{{nobr .Description}}{{if .DefaultValue}} Default: {{.DefaultValue}}{{end}} ||
{{end}}
|#
{{end}}

{{if .HasExtensions}}
#{
|| *Extension* | *Type* | *Base* | *Number* | *Description* ||
{{range .Extensions -}}
  || {{.Name}} | {{.LongType}} | {{.ContainingLongType}} | {{.Number}} | {{nobr .Description}}{{if .DefaultValue}} Default: {{.DefaultValue}}{{end}} ||
{{end}}
|#
{{end}}

{{end}} <!-- end messages -->

{{range .Enums}}
<a name="{{.FullName | anchor}}"></a>

### {{.LongName}}
{{.Description}}

#|
|| *Name* | *Number* | *Description* ||
{{range .Values -}}
  || {{.Name}} | {{.Number}} | {{nobr .Description}} ||
{{end}}
|#

{{end}} <!-- end enums -->

{{if .HasExtensions}}
<a name="{{$file_name | anchor}}-extensions"></a>

### File-level Extensions

#|
|| *Extension* | *Type* | *Base* | *Number* | *Description* ||
{{range .Extensions -}}
  || {{.Name}} | {{.LongType}} | {{.ContainingLongType}} | {{.Number}} | {{nobr .Description}}{{if .DefaultValue}} Default: `{{.DefaultValue}}`{{end}} ||
{{end}}
|#
{{end}} <!-- end HasExtensions -->

{{range .Services}}
<a name="{{.FullName | anchor}}"></a>

### {{.Name}}
{{.Description}}

#|
|| *Method Name* | *Request Type* | *Response Type* | *Description* ||
{{range .Methods -}}
  || {{.Name}} | [{{.RequestLongType}}](#{{.RequestFullType | anchor}}){{if .RequestStreaming}} stream{{end}} | [{{.ResponseLongType}}](#{{.ResponseFullType | anchor}}){{if .ResponseStreaming}} stream{{end}} | {{nobr .Description }}  ||
{{end}}
|#

{{end}} <!-- end services -->

{{end}}

## Scalar Value Types

#|
|| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby ||
{{range .Scalars -}}
  || <a name="{{.ProtoType | anchor}}" /> {{.ProtoType}} | {{.Notes}} | {{.CppType}} | {{.JavaType}} | {{.PythonType}} | {{.GoType}} | {{.CSharp}} | {{.PhpType}} | {{.RubyType}} ||
{{end}}
|#