Feature: Auto generate API object linkts
Problem Statement
The Hazaar API documentation generator currently outputs plain text names for classes, namespaces, traits, and interfaces in the generated documentation. This can make navigation and cross-referencing within the documentation cumbersome. Adding a post-processor filter to the Smarty renderer to automatically convert these names into Markdown links would improve readability and usability.
Who will benefit?
- Developers using Hazaar API documentation who require easier navigation and cross-referencing.
- Teams looking to improve documentation usability by providing direct links between related entities.
- New users who benefit from a more interactive and navigable documentation structure.
Benefits and risks
Benefits
- Enhances documentation navigation by converting entity names into clickable Markdown links.
- Improves overall readability and usability of the API documentation.
- Streamlines cross-referencing, reducing the need for manual link creation in documentation maintenance.
Risks
- The post-processor filter must accurately identify and convert names without false positives, which may require complex pattern matching.
- Extensive testing is required to ensure that the filter does not interfere with existing content or other formatting.
- Implementation might introduce additional processing overhead during documentation generation.
Proposed solution
- Implement a post-processor filter for the Smarty renderer within the Hazaar API documentation generator.
- The filter will search for class, namespace, trait, and interface names in the generated Markdown content.
- Convert identified names into Markdown links that point to the appropriate documentation pages.
- Provide configuration options to enable, disable, or customize the link generation behavior.
- Thoroughly test the filter to ensure accuracy and prevent interference with other content.
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)