3.6 KiB
Tech Context
Technologies Used
-
phpDocumentor 3.7.1: The primary documentation generation tool that parses PHP source code and generates structured documentation.
-
GitHub Actions: CI/CD platform used to automate the documentation generation and deployment process.
-
GitHub Pages: Hosting platform for the generated documentation.
-
PHP: The primary programming language of the MainWP ecosystem being documented.
-
HTML/CSS/JavaScript: Used for the custom home page and additional developer resources.
-
Markdown: Used for supplementary documentation and README files.
-
XML: Used for phpDocumentor configuration files.
-
Git: Version control system for managing source code and documentation.
-
Pronamic WP Documentor: Tool used to extract WordPress hooks (actions and filters) from PHP source code.
-
Python: Used for the categorization script that organizes hooks into functional categories.
-
Bash Scripts: Used for automation of the documentation generation process.
Development Setup
-
Local Environment:
- PHP 7.4+ installed locally for testing phpDocumentor
- Git for version control
- Text editor or IDE (e.g., VSCode, PHPStorm)
- Python 3.6+ for running the hooks categorization script
- Composer for PHP dependencies
-
GitHub Repository:
- Repository for the MainWP.dev documentation project
- Access to the two MainWP source repositories
-
phpDocumentor Configuration:
- Configuration files for each source repository
- Custom templates if needed
-
GitHub Actions Configuration:
- Workflow files for automating documentation generation
- Secrets and permissions configured for repository access
-
Hooks Documentation Setup:
- Pronamic WP Documentor installed via Composer
- Python script for categorizing hooks
- Bash scripts for automating the hooks documentation process
Technical Constraints
-
phpDocumentor Limitations:
- Requires properly documented code with PHPDoc comments
- May have issues with certain PHP language features
- Performance considerations for large codebases
-
GitHub Pages Constraints:
- Limited to static content
- No server-side processing
- Size limitations for repositories
-
GitHub Actions Constraints:
- Limited execution time for workflows
- Limited storage for artifacts
- Rate limiting for API calls
-
Documentation Completeness:
- Dependent on the quality of source code documentation
- May require manual supplementation for poorly documented areas
-
Hooks Documentation Constraints:
- Dependent on consistent hook naming conventions in the source code
- Categorization accuracy depends on hook names and descriptions
- Markdown rendering limitations for complex documentation
- GitHub repository links require consistent repository structure and branch naming
Dependencies
-
External Services:
- GitHub (for repository hosting, GitHub Actions, and GitHub Pages)
-
Software Dependencies:
- phpDocumentor 3.7.1
- PHP 7.4+ (for running phpDocumentor)
- Git (for version control)
- Python 3.6+ (for hooks categorization script)
- Composer (for PHP package management)
- Pronamic WP Documentor (for hooks extraction)
-
Source Code Dependencies:
- Access to the two MainWP source repositories
- Properly documented source code with PHPDoc comments
- WordPress hooks in the source code (for hooks documentation)
-
Workflow Dependencies:
- GitHub Actions runners
- Repository permissions and secrets
- Hooks documentation generation workflow