Managing the Documentation¶
This guide explains how to manage and maintain the PBPKO documentation using MkDocs.
Documentation Structure¶
File Organization¶
docs/
├── index.md # Home page
├── about.md # About PBPKO
├── team.md # Team information
├── contributing.md # Contribution guide
├── robot_templates.md # ROBOT templates guide
├── build_process.md # Build process
├── manage_documentation.md # This file
├── continuous_integration.md
├── manage_automated_tests.md
├── pbpko_release.md
├── pbpko_editor_sop.md
├── onboarding.md
├── id_management.md
├── publications.md
├── related_resources.md
├── user_documentation.md
├── editors_documentation.md
├── design_patterns.md
└── pbpko_build_pipeline.md
MkDocs Configuration¶
mkdocs.yml contains: - Site configuration - Navigation structure - Theme settings - Plugin configuration
Adding New Pages¶
1. Create the File¶
Create a new .md file in the docs/ directory:
2. Add Navigation¶
Update mkdocs.yml to include the new page:
3. Write Content¶
Use Markdown syntax with MkDocs extensions:
# Page Title
## Section
Content here...
!!! note "Note"
Important information
```mermaid
graph TB
A[Start] --> B[Process]
B --> C[End]
## Content Guidelines
### Writing Style
- **Clear and concise** - Avoid jargon when possible
- **Consistent tone** - Professional but approachable
- **Structured** - Use headings and lists effectively
- **Examples** - Include practical examples
### Markdown Features
**Admonitions:**
```markdown
!!! note "Note"
Important information
!!! warning "Warning"
Be careful
!!! tip "Tip"
Helpful suggestion
Code blocks:
Links:
Mermaid Diagrams¶
Supported Diagram Types¶
- Flowcharts - Process flows
- Sequence diagrams - Interactions
- Class diagrams - Ontology structure
- Git graphs - Version control
Example Usage¶
```mermaid
graph TB
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
## Local Development
### Setup
1. **Install MkDocs:**
```bash
pip install mkdocs mkdocs-material
```
2. **Install plugins:**
```bash
pip install pymdown-extensions
```
### Preview Changes
**Start development server:**
```bash
mkdocs serve
View at: http://127.0.0.1:8000
Auto-reload: Changes automatically refresh
Build Site¶
Build static site:
Output: site/ directory
Deployment¶
GitHub Pages¶
Deploy to GitHub Pages:
Automatic deployment with GitHub Actions:
name: Deploy Docs
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Install dependencies
run: pip install mkdocs mkdocs-material
- name: Deploy
run: mkdocs gh-deploy --force
Content Management¶
Regular Updates¶
- Keep information current - Update outdated content
- Add new features - Document new functionality
- Improve clarity - Refine existing content
- Fix errors - Correct mistakes and typos
Version Control¶
- Commit frequently - Small, focused commits
- Use descriptive messages - Clear commit descriptions
- Review changes - Check content before merging
Collaboration¶
- Use pull requests - For documentation changes
- Request reviews - Get feedback from team
- Discuss changes - Use GitHub issues for planning
Quality Assurance¶
Content Review¶
- Accuracy - Verify technical accuracy
- Completeness - Ensure all necessary information
- Clarity - Check for clear explanations
- Consistency - Maintain style and format
Technical Checks¶
- Link validation - Check all links work
- Image optimization - Compress images
- Mobile responsiveness - Test on mobile devices
- Accessibility - Ensure accessibility standards
Maintenance Tasks¶
Monthly¶
- [ ] Review and update content
- [ ] Check for broken links
- [ ] Update version information
- [ ] Review user feedback
Quarterly¶
- [ ] Major content reorganization
- [ ] Update navigation structure
- [ ] Review and update guidelines
- [ ] Performance optimization
Annually¶
- [ ] Complete documentation audit
- [ ] Update technology stack
- [ ] Review and update policies
- [ ] Plan major improvements
Troubleshooting¶
Common Issues¶
Build errors: - Check YAML syntax in mkdocs.yml - Verify file paths - Check Markdown syntax
Deployment issues: - Verify GitHub Pages settings - Check repository permissions - Review deployment logs
Content issues: - Validate Markdown syntax - Check image paths - Verify link URLs
Getting Help¶
- Check MkDocs documentation
- Review GitHub issues
- Contact maintainers
- Ask community for help