Skip to content

Commit aa7c172

Browse files
committed
Add markdown style guide to CONTRIBUTING
1 parent 08f92ad commit aa7c172

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

.markdownlint.yaml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Unordered list symbol
2+
MD004:
3+
style: asterisk
4+
5+
# Unordered list indentation
6+
MD007:
7+
indent: 2
8+
9+
MD012: false # allow blank lines
10+
11+
MD013:
12+
line_length: 800
13+
tables: false
14+
15+
MD024: false # duplicate headings
16+
MD033: false # inline HTML

CONTRIBUTING.md

+23-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,28 @@ Schemas are only changed _after_ the specification is changed. Changes are made
3535

3636
* Issue #3576: [What is our authoritative spec URL and how do people find it?](https://github.com/OAI/OpenAPI-Specification/issues/3576)
3737

38+
## Style Guide
39+
40+
Contributions to this repository should follow the style guide as described in this section.
41+
42+
### Markdown
43+
44+
Markdown files in this project should follow the style enforced by the [markdownlint tool][],
45+
as configured by the `.markdownlint.json` file in the root of the project.
46+
47+
The following additional rules should be followed but currently are not enforced by tooling:
48+
49+
1. The first mention of a normative reference or an OAS-defined Object in a (sub)*section is a link, additional mentions are not
50+
2. OAS-defined Foo Bar Objects are written in this style, and are not monospaced
51+
3. "example" instead of "sample" - this spec is not about statistics
52+
4. Use "OpenAPI Object" instead of "root"
53+
5. Fixed fields are monospaced
54+
6. Field values are monospaced in JSON notation: true, false, null, "header", ...
55+
7. A combination of fixed field name with example value uses JS notation: in: "header", combining rules 5 and 6
56+
8. An exception to 5-7 is colloquial use, for example "values of type array or object" - "type" is not monospaced, so the monospaced values aren't enclosed in double quotes.
57+
9. "attribute" is only used in the XML context and means "XML attribute"
58+
10. Use Oxford commas, avoid Shatner commas
59+
3860
## Release Process and Scope
3961

4062
* Issue #3528: [3.x.y patch release approach](https://github.com/OAI/OpenAPI-Specification/issues/3528)
@@ -95,7 +117,7 @@ The OpenAPI Initiative uses GitHub Projects to manage work _outside_ of the spec
95117

96118
### Discussions
97119

98-
We are beginning (as of mid-2024) to use GitHub [discussions](https://github.com/OAI/OpenAPI-Specification/discussions?discussions_q=is%3Aopen) for open-ended topics such as major enhancements.
120+
We are beginning (as of mid-2024) to use GitHub [discussions](https://github.com/OAI/OpenAPI-Specification/discussions?discussions_q=is%3Aopen) for open-ended topics such as major enhancements.
99121

100122
* Issue #3518: [Define criteria for filing/closing issues vs discussions](https://github.com/OAI/OpenAPI-Specification/issues/3518)
101123

0 commit comments

Comments
 (0)