You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 20, 2022. It is now read-only.
Added Class Hierarchy page (Correctly shows inheritance of classes and structs)
Added Class Member Functions page
Added Class Member Variables page
Added Class Member Typedefs page
Added Class Member Enumerations page
Added Namespace List page
Added Namespace Members page
Added Namespace Member Functions page
Added Namespace Member Variables page
Added Namespace Member Typedefs page
Added Namespace Member Enumerations page
Added Inherited member types and functions listings into the derived classes
Use title when listing groups in modules.md
Fix sometimes html sensitive characters (<>& etc.) not escaping properly
Fix if source file has markdown codeblock ``` it would mess up output file
Added "Implements" on member functions if they override a method from a base class
Fixed anchors in VuePress (e.g. #function-hello-world)
Fixed numbering of overloaded functions and their anchors
Replaced anchoring on GitBook to use VuePress style anchoring
Copy file name to clipboardExpand all lines: README.md
+80-41
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,9 @@
1
-
# doxybook
1
+
# DoxyBook
2
2
3
3
This python tool will take an xml output generated by the Doxygen and converts that into markdown to be used by GitBook or Vuepress.
4
4
5
+
Version v3.0.0 uses Jinja templates to generate Markdown files. The v3.0.0 is a massive overhaul of the XML processing and Markdown generation. **See the commit to see the changes.** The new v3.0.0 version has many bugfixes alongside with some additional namespace related files added into the output. If you are looking for old non templated version v2.1.6 then look into branch [doxybook/tree/v2.1.6](https://github.com/matusnovak/doxybook/tree/v2.1.6).
6
+
5
7
## Live Demo
6
8
7
9
See live demo here for [Gitbook here](https://matusnovak.github.io/doxybook/gitbook/api/classexample_1_1_animal.html) or [Vuepress here](https://matusnovak.github.io/doxybook/vuepress/api/classexample_1_1_animal.html).
@@ -10,7 +12,11 @@ Alternativelly, the markdown files are located in the `doxybook/example/gitbook/
10
12
11
13
## Requirements
12
14
13
-
You need to have **python 3.6 or newer**. No additional python packages necessary, only the ones included by default in python itself.
15
+
You need to have **python 3.6 or newer** and [Jinja2](http://jinja.pocoo.org/docs/2.10/intro/) package installed.
16
+
17
+
## Memory usage
18
+
19
+
Needs up to 100MiB of memory. Parsing super large projects can use up to 0.5GiB of memory. For example, a project consisting of 1000 Doxygen xml files can use 550MiB of memory, but I would be worried more about VuePress or GitBook memory usage while using that many files.
14
20
15
21
## Installation
16
22
@@ -83,15 +89,18 @@ This tool was designed to copy the file naming and structure of Doxygen html out
83
89
All classes, namespaces, structures, and interfaces are generated, including the following additional files:
* Markdown pages through doxygen, highly do not recommend using this! (e.g. `md_src_....md`)
92
+
* Files with source code + file documentation (e.g. `filename_8h.md`)
93
+
* Markdown pages processed through doxygen, highly do not recommend using this! (e.g. `md_src_....md`)
94
+
* Members (e.g. `class_xxx_yyy.md` or `namespace_xxx_yyy.md`)
88
95
* Class List (e.g. `annotated.md`)
89
96
* Class Index (e.g. `classes.md`)
90
-
* Variable Index (e.g. `variables.md`)
91
-
* Function Index (e.g. `functions.md`)
92
-
* Enumeration Index (e.g. `enumerations.md`)
97
+
* Class Members (e.g. `class_members.md`, `class_member_enums.md`, `class_member_functions.md`, `class_member_typedefs.md`, `class_member_variables.md`)
98
+
* Class Hierarchy (.e.g `hierarchy.md`)
99
+
* Namespace List (e.g. `namespaces.md`)
100
+
* Namespace Members (e.g. `namespace_members.md`, `namespace_member_enums.md`, `namespace_member_functions.md`, `namespace_member_typedefs.md`, `namespace_member_variables.md`)
93
101
* Modules/groups (e.g. `modules.md`)
94
-
* Index page (if any) (e.g. `indexpage.md`)
102
+
* Index page (if exists within Doxygen output as `indexpage.xml`) (e.g. `index.md`)
103
+
* Any additional pages generated by Doxygen such as bugs, todo, tests
95
104
96
105
See the example folder to see all files.
97
106
@@ -101,6 +110,7 @@ See the example folder to see all files.
Convert doxygen XML output into GitBook or Vuepress markdown output.
106
116
@@ -119,11 +129,13 @@ optional arguments:
119
129
false)
120
130
-d DEBUG, --debug DEBUG
121
131
Debug the class hierarchy (default: false)
122
-
--noindex NOINDEX If set to true, no search keywords will be generated
123
-
at the file headers (default: false)
124
132
--hints HINTS (Vuepress only) If set to true, hints will be
125
133
generated for the sections note, bug, and a warning
126
134
(default: true)
135
+
--ignoreerrors IGNOREERRORS
136
+
If set to true, will continue to generate Markdown
137
+
files even if an error has been detected (default:
138
+
false)
127
139
```
128
140
129
141
## Detailed usage Vuepress
@@ -146,6 +158,10 @@ optional arguments:
146
158
6. Run doxybook as: `doxybook -i temp/xml -o docs/api -s SUMMARY.md -t gitbook` (paths are relative) The `-s SUMMARY.md` is optional, if you provide a vaid path to the SUMMARY.md file then the doxybook will alter the contents with links to generated markdown files.
147
159
7. Then build your GitBook as: `gitbook build`, or serve it as `gitbook serve` and go to `http://localhost:4000`, or upload the contents of `_book` folder into gh-pages on GitHub.
148
160
161
+
## Having errors while generating markdown files?
162
+
163
+
Run doxybook as `doxybook --ignoreerrors true -i ... -o ... -t ...`. The files will be generated, but some things may be missing.
164
+
149
165
## How does the SUMMARY.md work here? (Gitbook only)
150
166
151
167
GitBook has a big fault that anything not listed in `SUMMARY.md` will get ignored. Therefore the doxybook needs to alter the `SUMMARY.md`. Yes, this is optional, in case GitBook will be fixed in the future.
@@ -168,36 +184,59 @@ After running doxybook, the summary will become this code below. Notice how `* [
0 commit comments