Getting Started
Pharox generates static HTML API documentation from your C++ inline doxygen comments in headers and sources, with optional plugins (diagrams, CSS) and full control over layout, SEO and branding.
Prerequisites
| Tool | Role |
|---|---|
| Universal Ctags | Extracts symbols from C++ headers. |
| Pandoc | Converts Markdown to HTML for every page. |
Graphviz dot |
Required for diagram plugins such as inheritance-diagram. |
C++
Pharox is focused on support for documenting C++ code, by recognizing class structures, inheritence, member variables etc. Pharox is regex-driven and focuses on explicitly documented elements within comments, avoiding the excessive and often unnecessary information generated by tools like Doxygen.
Pharox is aiming to provide future support for languages like C, Python, PHP, Java.
Sitemap
As part of the build process, Pharox generates a sitemap that indexes all documentation pages, making it easier for search engines to discover and rank the content.
Diagrams
Pharox is able to create visual representations of class hierarchies diagrams, making it easier to understand the relationships among classes.
Cross Links
Pharox supports cross-referencing by generating hyperlinks to recognized classes that have their own documentation pages, allowing users to navigate directly to their corresponding reference sections.
Configuration
Pharox includes a configuration file that allows users to customize the documentation generation process, including settings such as the output directory and file inclusion or exclusion. A scaffolding setup is also available (see section below) to help quickly initialize and structure your project.
Layout Template
The layout of generated pages is fully customizable through an HTML template. During parsing and generation, predefined placeholders (e.g. %TITLE%, %NAVBAR%, %PAGE%) are replaced with dynamically generated content. This allows you to modify the structure, styling, and overall layout by editing the template directly, giving you full control over how the documentation is rendered.
Scaffolding
A built-in terminal prompt helps you scaffold a new project in just a few steps, taking care of the initial structure and config. A GUI alternative is on the roadmap for user who prefer a more visual experience.