Documenting Software
The following pages define the minimum standard of developer documentation required within an Overture project, which include:
-
A
Readme.md
file. -
A
/docs
folder with the following basic structure:.
└── docs/
├── 01-Overview/
│ └── 01-Overview.md
├── 02-Setup.md
└── 03-Guides/
├── 01-Usage.md
├── 02-Development.md
└── 03-Deployment.mdtipTo ensure your folders and files are ordered correctly in the sidebar use the numbered naming convention seen above.
-
A
CONTRIBUTING.md
file -
A
code_of_conduct
file -
A
license.md
file
Markdown formatting
When adding and editing markdown files within the project repository there are a few considerations to be made to ensure your files get rendered correctly by docusaurus:
-
The top level heading (ex. # Top Title) will be used by docusaurus for the sidebar label
-
Docusaurus supports codeblocks, tabs, dropdowns and admonitions.
Using Codeblocks- Always reference the language being used
- When appropriate use the following syntax to reference the source:
-
markdown title="website/docs/04-standards/03-guides.md"
-
website/docs/04-standards/03-guides.md# The title value renders out the code block with the path provided
-
Include callouts for important information using these styles:
tipHelpful Tips Provide additional insights or shortcuts
cautionImportant Notes Highlight crucial considerations or potential pitfalls
infoAdditional Context Provide supplementary information that adds value
-
If your page shares the same name as a folder, you can use the DocsCardList component to automatically display card-style links to all files contained within that folder:
📄️ ReadMe
All Overture repositories have a README.md file stored in the root directory of the project.
🗃️ /docs
4 items
📄️ Code of Conduct
All Overture repositories have a codeofconduct.md file stored in the root directory of the project.
📄️ Contribution
All Overture project repositories contain a CONTRIBUTING.md saved in the root directory. This file outlines the guidelines and expectations for contributing to the Overture project.
📄️ License
The licence.md file is available below and sourced from GNUs Official website.
-
Use dropdowns to condense the page and hide optional or supplemental content
Click here for the markdown code used to write the above examples
## Markdown formatting
When adding and editing markdown files within the project repository there are a few considerations to be made to ensure your files get rendered correctly by docusaurus:
- The top level heading (ex. # Top Title) will be used by docusaurus for the sidebar label
- Docusaurus supports codeblocks, [tabs](https://docusaurus.io/docs/markdown-features/tabs), [dropdowns](https://docusaurus.io/docs/markdown-features#details) and [admonitions](https://docusaurus.io/docs/markdown-features/admonitions).
:::tip[Using Codeblocks]
- Always reference the language being used
- When appropriate use the following syntax to reference the source:
- `markdown title="website/docs/04-standards/03-guides.md"`
```markdown title="website/docs/04-standards/03-guides.md"
# The title value renders out the code block with the path provided
```
:::
- Include callouts for important information using these styles:
:::tip
**Helpful Tips**
Provide additional insights or shortcuts
:::
:::caution
**Important Notes**
Highlight crucial considerations or potential pitfalls
:::
:::info
**Additional Context**
Provide supplementary information that adds value
:::
- If your page shares the same name as a folder, you can use the DocsCardList component to automatically display card-style links to all files contained within that folder. This creates a dropdown-style navigation menu.
<DocsCardList />
<details>
<summary>**Click here for the markdown code used for the above examples**</summary>
[The content seen in this dropdown would go in here]
</details>
Images & Diagrams
Images and diagrams can be valuable, but they can take lots of time and require maintenance. When using images or diagrams, consider how beneficial the visualization will be and how frequently you need to update it.
- Both Docusaurus and GitHub supports rendering of Mermaid, feel free to use this for any diagrams. For more information, see the official GitHub Docs on creating Mermaid diagrams.
Writing Guidelines
Language
We use Canadian English (en-CA) as our standard language for all written and verbal communication.
Use an Active Voice
The active voice is concise and more accessible for readers to comprehend. Active voice is naturally used in conversation and therefore, readers understand and engage more with writing in the active voice.
👎 Disengaging | 👍 Engaging |
---|---|
The developer environment has been set up successfully. | We have successfully set up the developer environment. |
The necessary tools and dependencies are being installed. | We are installing the necessary tools and dependencies. |
Put Conditional Clauses First
Put conditional clauses up front in sentences. With conditional clauses upfront, readers can skim or skip information they do not require. If done consistently, this saves significant time reading irrelevant information.
👎 Slow | 👍 Skimmable |
---|---|
See How to Use the Score Client for more information | For more information, see How to Use the Score Client. |
Set the analysis state to published, this will enable the analysis to be indexed | To index the analysis, set the analysis state to published |
Write Accessibly
Take note of how you describe software behaviours or user actions. Each reader will have a unique background and familiarity with the content, so avoid using language that assumes knowledge.
👎 Sets expectations that can lead to frustration | 👍 No assumptions, made reader friendly |
---|---|
Start by simply entering the following command | Start by entering the following command |
To easily interact with our API see the Song Swagger UI | To interact with our API see the Song Swagger UI |
Whenever possible, also include descriptive links to prerequisite or contextual material. Our services benefit a variety of people and data; therefore, experience levels and fields of expertise can vary significantly from user to user.
Formatting & Punctuation
Headers
Use level 1 headers at the top of the page and divide your document using the lower level headers for subsections.
- Capitalize the first word of a title or subtitle, even if it is a little word like "The" or "A."
- Capitalize the first word after a colon and dash (ex., "Self-Report" instead of "Self-report").
- Capitalize words of four letters or more (e.g., "With," "Between," and "From").
- Except for the above rules, lowercase minor words that are three letters or fewer in a title or subtitle.
Numbered lists vs bulleted points
- Numbered lists for sequential items
- Bulleted points for all other lists
Commas
Use an Oxford comma for a list of three or more items.
Can lead to confusion | Clearer separatation |
---|---|
I had eggs, toast and orange juice for breakfast. | I had eggs, toast, and orange juice for breakfast. |
UI/Navigation Elements
When referencing UI elements, have them in Bold
- Click Documentation > Get Started.
- Select Pre-Configuration Setup.