This document provides an overview of the comprehensive documentation system created for ChemographyKit, following the structure and best practices of the SynPlanner project.
The documentation is built using Sphinx with the Read the Docs theme and includes:
docs/
βββ conf.py # Sphinx configuration
βββ index.rst # Main documentation index
βββ installation.rst # Installation guide
βββ quickstart.rst # Quick start tutorial
βββ contributing.rst # Contribution guidelines
βββ changelog.rst # Version history
βββ license.rst # License information
βββ requirements.txt # Documentation dependencies
docs/api/
βββ gtm.rst # Core GTM module documentation
βββ metrics.rst # Metrics and RP fingerprints
βββ utils.rst # Utility modules (classification, regression, density, molecules)
βββ plots.rst # Visualization modules (Plotly and Altair)
docs/tutorials/
βββ index.rst # Tutorial overview
βββ basic_gtm_training.rst # Comprehensive GTM training tutorial
βββ [planned additional tutorials]
docs/examples/
βββ index.rst # Examples gallery overview
βββ [planned example files]
docs/_static/
βββ custom.css # Custom CSS styling
βββ [images and other assets]
docs/
βββ Makefile # Unix build commands
βββ make.bat # Windows build commands
βββ build.py # Python build script with advanced features
- Sphinx-based: Industry-standard documentation system
- Read the Docs theme: Professional, responsive design
- Auto-generated API docs: Using autodoc for up-to-date API reference
- Cross-references: Automatic linking between sections
- Search functionality: Built-in documentation search
- Code examples: Syntax-highlighted code blocks
- Mathematical notation: LaTeX math support via MathJax
- Interactive elements: Support for Jupyter notebooks
- Multiple formats: HTML, PDF, and ePub output
- GitHub Actions: Automated documentation building and deployment
- Read the Docs: Integration for hosted documentation
- Live reload: Development server with auto-refresh
- Link checking: Automated broken link detection
- Progressive complexity: From quick start to advanced topics
- Real-world examples: Practical use cases and applications
- Comprehensive tutorials: Step-by-step guides
- API reference: Complete function and class documentation
-
Install dependencies:
pdm install --dev
-
Build HTML documentation:
cd docs/ python build.py build -
Serve locally:
python build.py serve
-
Live reload during development:
python build.py livehtml
- Clean build:
python build.py clean - Check links:
python build.py linkcheck - PDF output:
python build.py build --builder pdf - Custom port:
python build.py serve --port 8080
- Configuration:
.readthedocs.yaml - Automatic builds from Git commits
- Multiple format support (HTML, PDF, ePub)
- Version management
- Custom domain support
- GitHub Actions workflow:
.github/workflows/docs.yml - Automatic deployment on push to main branch
- Free hosting for public repositories
- Build locally or in CI/CD
- Deploy to any web server
- Full control over hosting environment
- Clear and concise: Easy to understand explanations
- Code examples: Working code snippets for all features
- Progressive disclosure: Basic to advanced information flow
- Consistent formatting: Standardized structure across sections
- NumPy docstring style: Consistent parameter and return documentation
- Type hints: Full type information for all functions
- Examples: Usage examples for all public functions
- Cross-references: Links between related functions and classes
- Overview: What the tutorial covers
- Prerequisites: Required knowledge and setup
- Step-by-step instructions: Clear, actionable steps
- Code examples: Complete, runnable examples
- Visualization: Plots and outputs where relevant
- Best practices: Recommendations and tips
- Next steps: Links to related tutorials
- API changes: Update documentation when code changes
- New features: Add tutorials and examples for new functionality
- Bug fixes: Update examples that may be affected
- Dependencies: Keep documentation dependencies current
- Link checking: Regular verification of external links
- Example testing: Ensure all code examples work
- Spelling and grammar: Regular proofreading
- User feedback: Incorporate feedback from users
- Create new
.rstfile indocs/tutorials/ - Follow the established structure and style
- Add to
docs/tutorials/index.rsttable of contents - Include working code examples
- Test the tutorial thoroughly
- Create example in
docs/examples/ - Include complete, self-contained code
- Provide clear explanations
- Add to examples index
- Consider creating Jupyter notebook version
- Modify
docs/_static/custom.cssfor styling changes - Update
docs/conf.pyfor configuration changes - Add images to
docs/_static/directory - Customize theme options in
conf.py
The documentation follows SynPlanner's successful patterns:
- Complete API reference with examples
- Progressive tutorials from basic to advanced
- Real-world application examples
- Clear installation and setup instructions
- Clean, modern design with Read the Docs theme
- Consistent formatting and structure
- Professional badge integration
- Clear navigation and organization
- Contributing guidelines and development setup
- Code quality standards and tools
- Automated testing and deployment
- Version control integration
- Clear communication channels
- Issue templates and support information
- Academic citation information
- License and attribution details
- Interactive tutorials: Jupyter notebook integration
- Video content: Screencasts for complex workflows
- API changelog: Detailed API change tracking
- Performance benchmarks: Documented performance characteristics
- Troubleshooting guide: Common issues and solutions
- Example gallery: User-contributed examples
- Use case studies: Real-world application stories
- Translation support: Multi-language documentation
- Plugin ecosystem: Documentation for extensions
This comprehensive documentation system provides a solid foundation for ChemographyKit users and contributors, following the proven patterns established by successful scientific software projects like SynPlanner.