1
1
_ Table of Contents_
2
2
3
- - [ Documentation at source{d}] ( #documentation-at-sourced )
3
+ - [ Documentation At source{d}] ( #documentation-at-sourced )
4
4
- [ General Best Practices] ( #general-best-practices )
5
- - [ State a clear goal] ( #state-a-clear-goal )
6
- - [ Define a scope] ( #define-a-scope )
7
- - [ Keep it simple] ( #keep-it-simple )
8
- - [ Don't alienate the reader] ( #dont-alienate-the-reader )
9
- - [ Take accessibility in mind] ( #take-accessibility-in-mind )
5
+ - [ State A Clear Goal] ( #state-a-clear-goal )
6
+ - [ Define A Scope] ( #define-a-scope )
7
+ - [ Keep It Simple] ( #keep-it-simple )
8
+ - [ Don't Alienate The Reader] ( #dont-alienate-the-reader )
9
+ - [ Keep Accessibility In Mind] ( #keep-accessibility-in-mind )
10
+ - [ Arbitrary Choices And Consistency] ( #arbitrary-choices-and-consistency )
10
11
- [ Documentation Artifacts] ( #documentation-artifacts )
11
12
- [ README.md] ( #readmemd )
12
13
- [ CONTRIBUTING.md] ( #contributingmd )
13
- - [ Reference material ] ( #reference-material )
14
+ - [ Reference Material ] ( #reference-material )
14
15
- [ Release Notes] ( #release-notes )
15
16
- [ Guides/Tutorials] ( #guidestutorials )
16
17
- [ Code of Conduct] ( #code-of-conduct )
17
- - [ Issue templates ] ( #issue-templates )
18
- - [ Other pieces documentation ] ( #other-pieces-documentation )
18
+ - [ Issue Templates ] ( #issue-templates )
19
+ - [ Other Pieces Of Documentation ] ( #other-pieces-of -documentation )
19
20
- [ Resources] ( #resources )
20
21
21
- # Documentation at source{d}
22
+ # Documentation At source{d}
22
23
23
24
Our company has been a big believer in Open Source from very early on.
24
25
Most of our repositories are visible to anyone in the world.
@@ -62,7 +63,7 @@ I do not wish to alienate any of them, so I need to be careful with the words I
62
63
63
64
All of these concrete examples can be boiled down to the following best practices.
64
65
65
- ### State a clear goal
66
+ ### State A Clear Goal
66
67
67
68
A piece of documentation has a clearly stated goal and audience.
68
69
@@ -73,7 +74,7 @@ should cover what contributors care about.
73
74
Do not make a first time visitor read through how to contribute a project before
74
75
they understand what the project is about.
75
76
76
- ### Define a scope
77
+ ### Define A Scope
77
78
78
79
As Carl Sagan [ famously said] ( https://www.youtube.com/watch?v=7s664NsLeFM )
79
80
"If you wish to make an apple pie from scratch, you must first invent the universe".
@@ -87,7 +88,7 @@ For instance, if a project uses Go and gRPC feel free to link to the homepages
87
88
of those projects. Do not use more than one short sentence to explain what Go
88
89
or gRPC are.
89
90
90
- ### Keep it simple
91
+ ### Keep It Simple
91
92
92
93
Short sentences win. Avoid having overly complex sentences.
93
94
It might seem weird at first. You might find the resulting text immature.
@@ -97,7 +98,7 @@ Following the same logic, avoid overly complicated words.
97
98
98
99
As a rule of thumb, sentences longer than a printed line are probably too long.
99
100
100
- ### Don't alienate the reader
101
+ ### Don't Alienate The Reader
101
102
102
103
Avoid gendered pronouns. "He or she" should be rewritten as "they".
103
104
There is no reason for your document to make assumptions on the reader's identity.
@@ -113,7 +114,7 @@ More on ableist language [here](https://www.copyediting.com/disabling-ableist-la
113
114
In general, if someone would find what you wrote offensive it's time to change it.
114
115
There's no excuse to offend anyone in a technical document.
115
116
116
- ### Take accessibility in mind
117
+ ### Keep Accessibility In Mind
117
118
118
119
It is probably impossible to write documentation that is fully accessible to every single person in the world.
119
120
This doesn't mean we should not strive for documentation that is as accessible as possible.
@@ -126,6 +127,18 @@ For more extreme cases the user will not be able to see the image at all.
126
127
Take that into account and try to add captions explaining the image where possible.
127
128
At least make usage of the ` alt ` attributes on HTML and markdown.
128
129
130
+ ### Arbitrary Choices And Consistency
131
+
132
+ Last but not least, there's a list of choices that have been made with consisteny in mind.
133
+
134
+ - Use American English spelling (e.g. color instead of colour).
135
+ - Use the [ Oxford comma] ( https://en.wikipedia.org/wiki/Serial_comma ) .
136
+ - Capitalize Each Word In Titles And Section Headers.
137
+ - Do not capitalize ` source{d} ` , no matter if it's at the beginning of a sentence, or part of a title.
138
+
139
+ There's probably more arbitrary choices we've made and haven't documented yet.
140
+ When updating a document respect the style of the document, prioritizing consistency over correctness.
141
+
129
142
## Documentation Artifacts
130
143
131
144
Now that we've covered how to write, let's talk about what to write.
@@ -183,7 +196,7 @@ TL;DR:
183
196
- Template: [ CONTRIBUTING.md] ( documents/CONTRIBUTING.md )
184
197
- Example: https://github.com/angular/angular.js/blob/master/README.md
185
198
186
- ### Reference material
199
+ ### Reference Material
187
200
188
201
This is the documentation that users will reguarly consult while using your project.
189
202
The actual form depends on whether the project is a library or a tool.
@@ -250,7 +263,7 @@ TL;DR:
250
263
- Content: Rules governing the contributor community and their interactions with each other.
251
264
- Example: https://www.contributor-covenant.org/
252
265
253
- ### Issue templates
266
+ ### Issue Templates
254
267
255
268
Following the same philosophy of good documentation, good issue templates help users and
256
269
contributors interact more efficiently.
@@ -261,7 +274,7 @@ of it named either `.github` or `docs`.
261
274
262
275
Consider using [ this template] ( documents/ISSUE_TEMPLATE.md ) .
263
276
264
- ### Other pieces documentation
277
+ ### Other Pieces Of Documentation
265
278
266
279
Many other pieces of documentation are possible: from design documents to workflow descriptions
267
280
or UML diagrams. Whenever you're working on one of these pieces keep in mind your audience
0 commit comments