Contributing to My Documentation¶
Thank you for your interest in improving the My documentation!
Documentation Structure¶
docs/
├── index.md # Home page
├── 01-authentication.md # Authentication guide
├── 02-organizations.md # Organizations guide
├── 03-users.md # Users management guide
├── 04-systems.md # Systems management guide
├── 05-system-registration.md # Registration workflow
├── 06-inventory-heartbeat.md # Monitoring guide
├── 07-impersonation.md # User impersonation guide
├── stylesheets/ # Custom CSS
├── javascripts/ # Custom JS
└── images/ # Images and diagrams
Writing Guidelines¶
Style Guide¶
- Tone: Clear, professional, helpful
- Audience: End users and administrators (non-technical)
- Language: Simple, avoiding jargon when possible
- Examples: Always include practical examples
Formatting¶
- Headers: Use
##for main sections,###for subsections - Code blocks: Always specify language (bash, json, python, etc.)
- Lists: Use
-for unordered lists,1.for ordered - Emphasis: Use bold for important terms, italic for emphasis
- Links: Use descriptive text, not "click here"
Example Structure¶
# Page Title
Brief introduction explaining what this page covers.
## Main Section
Detailed explanation with examples.
### Subsection
Specific details or procedures.
**Example:**
\`\`\`bash
command --flag value
\`\`\`
## Troubleshooting
Common problems and solutions.
## Related Documentation
- [Link to related page](other-page.md)
Building Locally¶
Prerequisites¶
Local Development¶
The documentation will automatically reload when you save changes.
Building¶
Making Changes¶
1. Edit Documentation¶
Edit the relevant .md file in the docs/ directory.
2. Preview Locally¶
Check your changes at http://localhost:8000
3. Check Links¶
Ensure all internal links work: - Relative links to other docs: [text](other-file.md) - Links to sections: [text](other-file.md#section-name) - External links: Full URL
4. Add Images¶
If adding images:
- Place image in
docs/images/ - Use relative path:
 - Optimize image size (max 1MB)
5. Test Build¶
Adding New Pages¶
1. Create File¶
Create new .md file in docs/ directory:
2. Add to Navigation¶
Edit mkdocs.yml and add to navigation:
3. Link from Other Pages¶
Add links from relevant pages:
MkDocs Features¶
Admonitions¶
!!! note "Title"
Content here
!!! warning
Warning content
!!! danger
Danger content
!!! tip
Tip content
Code Blocks with Highlighting¶
Tabs¶
Task Lists¶
Deployment¶
Documentation is automatically deployed when you push to main:
- GitHub Actions runs on push
- MkDocs builds the site
- Site is deployed to GitHub Pages
- Available at: https://nethesis.github.io/my/
You can also deploy manually:
Review Process¶
- Make your changes in a feature branch
- Test locally with
mkdocs serve - Ensure build passes:
mkdocs build --strict - Create Pull Request
- Documentation will be reviewed
- Once approved, merge to main
- Automatic deployment to GitHub Pages
Common Tasks¶
Update Home Page¶
Edit docs/index.md
Add FAQ Section¶
Create docs/faq.md and add to navigation in mkdocs.yml
Fix Broken Link¶
- Search for the link:
grep -r "broken-link" docs/ - Update all occurrences
- Test with
mkdocs serve
Add External Resource¶
Add to mkdocs.yml under extra:
Style and Conventions¶
Command Examples¶
Always show complete commands:
# Good
curl -X POST https://api.example.com/endpoint \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
# Bad
curl endpoint
File Paths¶
Use absolute paths from project root:
API Examples¶
Show both request and response:
# Request
curl -X GET https://api.example.com/resource
# Response (HTTP 200)
{
"code": 200,
"message": "success",
"data": {}
}
Getting Help¶
- Check existing documentation for examples
- Review MkDocs documentation
- Check Material theme docs
- Ask in project discussions
License¶
Documentation contributions are covered by the same license as the project (AGPL-3.0-or-later).