Feature: Vuepress sidebar generator
Problem Statement
The current PHP API documentation generator lacks direct support for generating documentation compatible with VuePress. Additionally, there is no automated process for creating a sidebar configuration file, which is necessary for organizing navigation by namespaces in VuePress. This manual setup process is inefficient and error-prone.
Who will benefit?
- Developers who want to document their PHP APIs using VuePress.
- Teams that require organized and namespace-driven navigation in their API documentation.
- Projects aiming to integrate API documentation into VuePress seamlessly.
Benefits and risks
Benefits
- Automates the process of generating VuePress-compatible documentation, saving time and reducing errors.
- Creates a well-structured sidebar configuration, improving navigation and usability for documentation users.
- Promotes better organization by grouping documentation logically under namespaces.
Risks
- The generator may require updates or adjustments to handle edge cases in namespace structures.
- Incorrect or incomplete handling of sidebar configurations could result in broken navigation.
Proposed solution
Enhance the PHP API documentation generator to produce documentation that is directly compatible with VuePress. This includes:
- Generating Markdown files for each class, method, and namespace.
- Automatically creating a sidebar configuration file (
.vuepress/sidebar.js
) based on the parsed namespaces, organizing navigation hierarchically by namespaces and sub-namespaces. - Including options to customize the namespace grouping and file structure for flexibility.
Examples
- Docusaurus offers similar functionality for automatically generating sidebars based on file structure.
- VuePress ecosystem tools provide examples of sidebar configuration generation.
Priority/Severity
-
High (This will bring a huge increase in performance/productivity/usability/legislative cover) -
Medium (This will bring a good increase in performance/productivity/usability) -
Low (anything else e.g., trivial, minor improvements)
Edited by Jamie Carl