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 |
---|