{"id":17832398,"url":"https://github.com/lawmurray/doxide","last_synced_at":"2025-03-31T10:01:59.254Z","repository":{"id":170205701,"uuid":"639259830","full_name":"lawmurray/doxide","owner":"lawmurray","description":"Modern documentation for modern C++. Configure with YAML, output Markdown, post-process with Material for MkDocs.","archived":false,"fork":false,"pushed_at":"2025-02-01T01:39:57.000Z","size":10115,"stargazers_count":89,"open_issues_count":13,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-24T09:03:38.338Z","etag":null,"topics":["c-plus-plus","cplusplus","cpp","docs","documentation","documentation-generator","documentation-tool","doxygen","javadoc","material-for-mkdocs","mkdocs","mkdocs-material","modern-cpp"],"latest_commit_sha":null,"homepage":"https://doxide.org","language":"C++","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/lawmurray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":".github/FUNDING.yml","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},"funding":{"github":["lawmurray"]}},"created_at":"2023-05-11T05:23:05.000Z","updated_at":"2025-03-23T13:26:41.000Z","dependencies_parsed_at":"2023-10-26T02:35:02.134Z","dependency_job_id":"9dd36dae-f62d-4c80-886d-ce7ba3a83cee","html_url":"https://github.com/lawmurray/doxide","commit_stats":null,"previous_names":["lawmurray/doxide"],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fdoxide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fdoxide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fdoxide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawmurray%2Fdoxide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lawmurray","download_url":"https://codeload.github.com/lawmurray/doxide/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246450408,"owners_count":20779406,"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":["c-plus-plus","cplusplus","cpp","docs","documentation","documentation-generator","documentation-tool","doxygen","javadoc","material-for-mkdocs","mkdocs","mkdocs-material","modern-cpp"],"created_at":"2024-10-27T19:56:01.062Z","updated_at":"2025-03-31T10:01:59.214Z","avatar_url":"https://github.com/lawmurray.png","language":"C++","readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"docs/assets/title.svg\" width=\"256\" height=\"384\" alt=\"Doxide: Modern documentation for modern C++\"\u003e\n\u003c/p\u003e\n\nDoxide is a documentation generator for C++.\n\n* It is configured with YAML, generates Markdown, and publishes HTML with a modern look and responsive design for desktop and mobile devices.\n* It is open source under an Apache 2.0 license, and runs on Linux, Mac, and Windows.\n* It is written in C++ so that its primary users, C++ developers, can readily contribute.\n* C++ source code is documented with `/** comments */` containing `@commands`, as with the classic tool [Doxygen](https://doxygen.nl/). Many commands from Doxygen are already supported.\n* C++ source code is parsed with [Tree-sitter](https://tree-sitter.github.io), the same parser used by many syntax highlighters.\n\n\nBy generating Markdown, Doxide opens C++ documentation to the whole wide world of static site generation tools and themes. There is particular support for [MkDocs](https://www.mkdocs.org/) and the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme, as on the Doxide website. A little extra effort enables alternatives such as [Jekyll](https://jekyllrb.com/) and [Hugo](https://gohugo.io/). Other formats such as PDF are possible too, via [Pandoc](https://pandoc.org/).\n\nInstructions for installing from source are provided here. See the [website](https://doxide.org/installation) for packages for Linux, Mac, and Windows that are easier to install.\n\n\n## License\n\nDoxide is open source software. It is licensed under the Apache License,\nVersion 2.0 (the \"License\"); you may not use it except in compliance with the\nLicense. You may obtain a copy of the License at\n\u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e.\n\n\n## Requirements\n\n* A C++ toolchain for building.\n* [CMake](https://cmake.org) for building.\n* [LibYAML](https://pyyaml.org/wiki/LibYAML).\n* Possibly [ICU](https://icu.unicode.org/), depending on your platform.\n\nOn Debian-based Linux systems, install these with:\n```\nsudo apt install cmake libyaml-dev libicu-dev\n```\nOn RPM-based Linux systems, install these with (replace `dnf` for Fedora with `zypper` for openSUSE, or otherwise for your distribution):\n```\ndnf install cmake libyaml-devel libicu-devel\n```\nOn Mac systems using Homebrew, use:\n```\nbrew install cmake libyaml\n```\nOn Windows, build and install LibYAML separately from the `contrib/libyaml` directory.\n\nThere are further dependencies that do not need to be installed separately. They are included as submodules in the `contrib/` subdirectory either because they are not universally available in package managers or specific versions are required. The Doxide build handles these for you, but for reference:\n\n* [CLI11](https://cliutils.github.io/CLI11/book/)\n* [Tree-sitter](https://tree-sitter.github.io/tree-sitter/)\n* [Tree-sitter C++ language support](https://github.com/tree-sitter/tree-sitter-cpp)\n* [Tree-sitter CUDA C++ language support](https://github.com/tree-sitter-grammars/tree-sitter-cuda)\n* [glob](https://github.com/p-ranav/glob)\n\n\n## Installation\n\nTo install from source, clone the Doxide repo with:\n```\ngit clone https://github.com/lawmurray/doxide --recurse-submodules\n```\nThe `--recurse-submodules` is necessary to bring in some dependencies that are not universally available in package managers.\n\nBuild and install with:\n```\ncd doxide\ncmake .\ncmake --build .\ncmake --install .\n```\nThe last command may need `sudo`. Alternatively, provide a prefix to install\nsomewhere local:\n```\ncmake --install . --prefix $HOME/.local\n```\n\n[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) is\nrecommended for publishing your documentation. It is distributed as a Python\npackage. Install it with:\n``` \npip install mkdocs-material\n```\n\n\n## Quick start\n\nRun, from within your source code directory:\n```\ndoxide init\n```\nThis will create a `doxide.yaml` configuration file, as well as some\nadditional files for publishing with Material for MkDocs. To start, it is not\nnecessary to modify any of these.\n\nBuild the Markdown:\n```\ndoxide build\n```\nThis will populate the output directory (default: `docs`).\n\nBuild the HTML:\n```\nmkdocs build\n```\nThis will populate the `site` directory.\n\nServe the HTML:\n```\nmkdocs serve\n```\nand point your browser to `localhost:8000`.\n\n\n## Further information\n\nFor further information, see [doxide.org](https://doxide.org).\n","funding_links":["https://github.com/sponsors/lawmurray"],"categories":["Documentation"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flawmurray%2Fdoxide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flawmurray%2Fdoxide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flawmurray%2Fdoxide/lists"}