You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: aip/general/0008/aip.md
+7-11Lines changed: 7 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,11 +22,11 @@ printed pages.
22
22
23
23
### File structure
24
24
25
-
AIPs **must** be written in Markdown, and **must** be named using their
26
-
four-digit number (example: `0008.md`). AIPs that serve a specific scope
25
+
AIPs **must** be written in Markdown, and **must** be placed in corresponding directory using their
26
+
four-digit number (example: `0008/aip.md`). AIPs that serve a specific scope
27
27
**must** be in the subdirectory for that scope.
28
28
29
-
AIPs **must** have appropriate front matter.
29
+
AIPs **must** have appropriate front matter that lives in the `aip.yaml` file.
30
30
31
31
```yaml
32
32
---
@@ -35,10 +35,6 @@ aip:
35
35
state: reviewing
36
36
created: 2019-05-28
37
37
permalink: /8
38
-
redirect_from:
39
-
- /08
40
-
- /008
41
-
- /0008
42
38
---
43
39
44
40
```
@@ -57,7 +53,7 @@ Front matter for AIPs **must** include:
57
53
that scope. Required for AIPs with IDs >= 1000, prohibited otherwise.
58
54
- The `permalink` key (required): This **must** be set to
59
55
`/{aip.scope}/{aip.id}`. If there is no scope, use `/{aip.id}` instead.
60
-
- The `redirect_from` key: This should include a list of any `/{aip.id}`
56
+
- The `redirect_from` key: This should include a ist of any `/{aip.id}`
61
57
permutations that a reader would be likely to enter, including:
62
58
-`/{aip.id}` (for AIPs where the permalink includes the scope)
63
59
- AIP IDs with zero-padding, for each level of zero-padding up to four digits
@@ -82,10 +78,10 @@ of the following after the guidance, in the following order:
82
78
- "Changelog" is a bulleted list of changes made to the AIP since the first
83
79
writing.
84
80
85
-
The guidance section **may** include subsections that elaborate further on
81
+
The guidance section **should** include subsections that elaborate further on
86
82
details. Subsections will automatically create an entry in the table of
87
83
contents, and an anchor for citations.
88
-
The guidance section **may** include abstract descriptions of structures and wherever possible these should use Typescript syntax. Typescript is easy to follow for anyone familiar with either dynamic languages (like JavaScript or Python) or static languages (like Java or C++). These descriptions are intended as pseudo-code and are not intended to represent the actual implementation of the API in a TypeScript library.
84
+
The guidance section **may** include abstract descriptions of structures and wherever possible these should use TypeScript syntax. TypeScript is easy to follow for anyone familiar with either dynamic languages (like JavaScript or Python) or static languages (like Java or C++). These descriptions are intended as pseudo-code and are not intended to represent the actual implementation of the API in a TypeScript library.
89
85
90
86
Below is an example AIP shell that uses each major section:
91
87
@@ -151,7 +147,7 @@ terms **must not** be used).
151
147
152
148
### Code examples
153
149
154
-
API design examples in AIPs **should** use both [OpenAPI]{} and [protocol buffers][]. Examples
150
+
API design examples in AIPs **should** use both [OpenAPI]{} and [protocol buffers][] in tabs. Examples
155
151
**should** cover only enough syntax to explain the concept. When using RPCs in
156
152
examples, a `google.api.http` annotation **should** be included.
0 commit comments