Skip to content

Commit 5118a0b

Browse files
committed
Update README with authoring guidance/writing style
1 parent 6f4da2e commit 5118a0b

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,20 @@ Content can be authored in Markdown, in a `.md` or `.mdx` file. The Starlight do
3939
* [Authoring Content in Markdown](https://starlight.astro.build/guides/authoring-content/)
4040
* [Using Components](https://starlight.astro.build/components/using-components/) (only in `.mdx`)
4141

42+
Use a spell checker like [Grazie](https://www.jetbrains.com/grazie/) or [Grammarly](https://www.grammarly.com/) to check your content for spelling and grammar errors.
43+
WebStorm has Grazie as a built-in spell checker and grammar checker, and supports a good default writing style.
44+
45+
### Writing Style
46+
47+
* Use the active voice. For example, use "Enable" instead of "Enabled" or "Enabling".
48+
* Use the second person ("you" not "I" or "we"). "You" is the reader of the documentation. "We" is Duende Software.
49+
* Use sentence case in text. Titles use Title Case.
50+
* Use the Oxford comma.
51+
* Avoid words like "very", "simple", "easy", ...
52+
* "As well as" can be written as "and".
53+
* Avoid flowery language.
54+
* When using acronyms, use the full form with parentheses the first time you use it. For example, use "Multi-Factor Authentication (MFA)" instead of "MFA".
55+
4256
### Linking Rules
4357

4458
* Always prefer linking internally over linking externally. For example, when you talk about data protection, prefer an internal link over a link to external sites.
@@ -49,6 +63,31 @@ Content can be authored in Markdown, in a `.md` or `.mdx` file. The Starlight do
4963
* Link relevant text. Prefer `learn more about [improving the sign-in experience]` over `click [here] to learn more`.
5064
* Run `npm run linkchecker` to validate all links (note this will ignore links to GitHub because of rate limits in place).
5165

66+
### Code Block Style
67+
68+
* Use triple backticks to enclose code blocks.
69+
* Use a language identifier to specify the language (e.g. `csharp`, `bash`, `json`, `html`, `javascript`, `typescript`, `css`, `json`)
70+
* Add a title to the code block. You can do this adding the title as a comment in the first line of the code block (e.g. `// Program.cs`).
71+
* Use [expressive code features](https://starlight.astro.build/guides/authoring-content/#expressive-code-features).
72+
* Readers should not need to scroll horizontally to read a code example. Simplify and condense the code as much as possible.
73+
* If writing C#, use the latest syntax — including top-level statements, collection expressions, ...
74+
* Make sure examples are runnable and complete. The goal is "Copy-paste from docs". Include namespaces, a result, and other prerequisites that are not obvious to someone new to the code.
75+
* Inline comments can be used to explain essential parts of the code. Expressive code can highlight line numbers, show diffs, and more.
76+
* Mention NuGet packages as a `bash` code block showing how to install it (`dotnet add package ...`). Link to the NuGet Gallery.
77+
78+
### Frontmatter Rules
79+
80+
* Always have a `title` property to set the page title.
81+
* Always have a `description` property to set the page description.
82+
* Always have a `date` property to set the creation/significant update date for a page. Use the `YYYY-MM-DD` format.
83+
* Add the `sidebar` property and include the `label`. The `label` is used in the menu, and should typically be shorter than the more descriptive `title`. For example:
84+
```yaml
85+
title: "Using IdentityServer As A Federation Gateway"
86+
sidebar:
87+
label: "Federation"
88+
```
89+
* In the `sidebar` property, use `order` to re-order entries in the navigation bar.
90+
5291
## 🧞 Commands
5392

5493
All commands are run from the root of the project, from a terminal:

0 commit comments

Comments
 (0)