{"id":15600522,"url":"https://github.com/jason-fox/fox.jason.passthrough.doxygen","last_synced_at":"2026-02-02T11:48:13.781Z","repository":{"id":119826028,"uuid":"258789449","full_name":"jason-fox/fox.jason.passthrough.doxygen","owner":"jason-fox","description":"A DITA-OT Plug-in which creates DITA-based API documentation from Doxygen XML sources","archived":false,"fork":false,"pushed_at":"2024-02-18T08:25:22.000Z","size":617,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T12:26:48.221Z","etag":null,"topics":["dita-ot-plugin","doxygen-xml"],"latest_commit_sha":null,"homepage":"https://jason-fox.github.io/dita-ot-plugins/doxygen","language":"XSLT","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jason-fox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-25T14:00:51.000Z","updated_at":"2023-10-04T12:33:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"c2872f53-3bc3-43e0-989f-16fa7499a1b8","html_url":"https://github.com/jason-fox/fox.jason.passthrough.doxygen","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/jason-fox/fox.jason.passthrough.doxygen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-fox%2Ffox.jason.passthrough.doxygen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-fox%2Ffox.jason.passthrough.doxygen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-fox%2Ffox.jason.passthrough.doxygen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-fox%2Ffox.jason.passthrough.doxygen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jason-fox","download_url":"https://codeload.github.com/jason-fox/fox.jason.passthrough.doxygen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jason-fox%2Ffox.jason.passthrough.doxygen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262015344,"owners_count":23245318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dita-ot-plugin","doxygen-xml"],"created_at":"2024-10-03T02:04:01.666Z","updated_at":"2026-02-02T11:48:13.755Z","avatar_url":"https://github.com/jason-fox.png","language":"XSLT","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Doxygen Plugin for DITA-OT [\u003cimg src=\"https://jason-fox.github.io/fox.jason.passthrough.doxygen/doxygen.png\" align=\"right\" width=\"300\"\u003e](http://doxygendita-ot.rtfd.io/)\n\n[![license](https://img.shields.io/github/license/jason-fox/fox.jason.passthrough.doxygen.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n[![DITA-OT 4.2](https://img.shields.io/badge/DITA--OT-4.2-green.svg)](http://www.dita-ot.org/4.2)\n[![CI](https://github.com/jason-fox/fox.jason.passthrough.doxygen/workflows/CI/badge.svg)](https://github.com/jason-fox/fox.jason.passthrough.doxygen/actions?query=workflow%3ACI)\n[![Coverage Status](https://coveralls.io/repos/github/jason-fox/fox.jason.passthrough.doxygen/badge.svg?branch=master)](https://coveralls.io/github/jason-fox/fox.jason.passthrough.doxygen?branch=master)\n\nThis is a [DITA-OT Plug-in](https://www.dita-ot.org/plugins) used to auto-create valid DITA-based Doxygen documentation.\nThe initial source of the documentation can be generated directly using the\n[Doxygen XML](http://www.doxygen.nl/manual/customize.html#xmlgenerator). The XML file can be added to the source and\nprocessed as if it had been written in DITA.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eTable of Contents\u003c/strong\u003e\u003c/summary\u003e\n\n-   [Background](#background)\n-   [Install](#install)\n    -   [Installing DITA-OT](#installing-dita-ot)\n    -   [Installing the Plug-in](#installing-the-plug-in)\n-   [Usage](#usage)\n-   [License](#license)\n\n\u003c/details\u003e\n\n## Background\n\n[\u003cimg src=\"https://jason-fox.github.io/fox.jason.passthrough.doxygen/doxygen-logo.png\" align=\"right\" height=\"55\"\u003e](https://docs.oracle.com/javase/1.5.0/docs/guide/doxygen/index.html)\n\n[Doxygen](http://www.doxygen.nl/manual/) is a tool that parses the declarations and\ndocumentation comments in a set of source files and produces a set of HTML pages describing the classes, interfaces,\nconstructors, methods, and fields.\n\n\n#### Sample doxygen\n\n```c++\nnamespace transport\n{\n    /** Mountain bike implementation of a `Bicycle`.\n     *\n     * MountainBike is an implementation of a Bicycle\n     * providing a bike for cycling on rough terrain. Mountain bikes\n     * are pretty cool because they have stuff like **Suspension** (and\n     * you can even adjust it using SetSuspension). If you're looking\n     * for a bike for use on the road, you might be better off using a\n     * RacingBike though.\n     *\n     * @ingroup mountainbike\n     */\n\tclass MountainBike : public Bicycle\n\t{\n\tpublic:\n\t\t/** Set suspension stiffness.\n\t\t * @stiffness the suspension stiffness.\n\t\t *\n\t\t * SetSuspension changes the stiffness of the suspension\n\t\t * on the bike. The method will return false if the stiffness\n\t\t * could not be adjusted.\n\t\t *\n\t\t * @return true if the suspension was adjusted successfully,\n\t\t *         false otherwise.\n\t\t */\n\t\tbool SetSuspension(double stiffness);\n```\n\n#### Sample DITA Output\n\n\u003e ![](https://jason-fox.github.io/fox.jason.passthrough.doxygen/mountainbike.png)\n\n## Install\n\nThe DITA-OT doxygen plug-in has been tested against [DITA-OT 3.x](http://www.dita-ot.org/download). The plugin requires\nthe XSLT 3.0 support found in the [Saxon9.8HE](https://www.saxonica.com/html/download/java.html) library, so the mimimum\nDITA-OT version is therefore 3.3. It is recommended that you upgrade to the latest version.\n\n### Installing DITA-OT\n\n\u003ca href=\"https://www.dita-ot.org\"\u003e\u003cimg src=\"https://www.dita-ot.org/images/dita-ot-logo.svg\" align=\"right\" height=\"55\"\u003e\u003c/a\u003e\n\nThe DITA-OT doxygen plug-in is a file reader for the DITA Open Toolkit.\n\n-   Full installation instructions for downloading DITA-OT can be found\n    [here](https://www.dita-ot.org/4.0/topics/installing-client.html).\n\n    1.  Download the `dita-ot-4.2.zip` package from the project website at\n        [dita-ot.org/download](https://www.dita-ot.org/download)\n    2.  Extract the contents of the package to the directory where you want to install DITA-OT.\n    3.  **Optional**: Add the absolute path for the `bin` directory to the _PATH_ system variable.\n\n    This defines the necessary environment variable to run the `dita` command from the command line.\n\n```console\ncurl -LO https://github.com/dita-ot/dita-ot/releases/download/4.2/dita-ot-4.2.zip\nunzip -q dita-ot-4.2.zip\nrm dita-ot-4.2.zip\n```\n\n### Installing the Plug-in\n\n-   Run the plug-in installation commands:\n\n```console\ndita install https://github.com/jason-fox/fox.jason.passthrough.doxygen/archive/master.zip\n```\n\nThe `dita` command line tool requires no additional configuration.\n\n---\n\n## Usage\n\nTo do generate Doxygen XML set `GENERATE_XML` to `YES`.\n\nThe XML output consists of an index file named `index.xml` which lists all items extracted by doxygen with references to the other XML files for details. The structure of the index is described by a schema file `index.xsd`. The Doxygen source should be concatenated into one single XML file using the instructions found in the XSLT file `combine.xslt`.\n\nOnce the source XML has been created, add it to the `*.ditamap` and mark it for **doxygen** processing, by labelling it\nwith `format=\"doxygen\"` within the `*.ditamap` as shown:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003c!DOCTYPE bookmap PUBLIC \"-//OASIS//DTD DITA BookMap//EN\" \"bookmap.dtd\"\u003e\n\u003cbookmap\u003e\n    ...etc\n    \u003cappendices toc=\"yes\" print=\"yes\"\u003e\n      \u003ctopicmeta\u003e\n        \u003cnavtitle\u003eAppendices\u003c/navtitle\u003e\n      \u003c/topicmeta\u003e\n      \u003cappendix format=\"dita\" href=\"topic.dita\"\u003e\n        \u003ctopicref format=\"doxygen\" type=\"topic\" href=\"doxygen.xml\"/\u003e\n      \u003c/appendix\u003e\n   \u003c/appendices\u003e\n\u003c/bookmap\u003e\n```\n\nThe additional file will be converted to a `*.dita` file and will be added to the build job without further processing.\nUnless overridden, the `navtitle` of the included topic will be the same as root name of the file. Any underscores in\nthe filename will be replaced by spaces in title.\n\n## License\n\n[Apache 2.0](LICENSE) © 2020 - 2024 Jason Fox\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjason-fox%2Ffox.jason.passthrough.doxygen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjason-fox%2Ffox.jason.passthrough.doxygen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjason-fox%2Ffox.jason.passthrough.doxygen/lists"}