Skip to content

Commit b5cc5e8

Browse files
kilianvolmercharlie0614HenrZu
authored
1478 Switch to Doxysphinx (#1504)
- generate the C++ documentation using doxysphinx - replaced the inline namespace documentations on model pages by links - enabled Build on Pull Request Co-authored-by: Carlotta Gerstein <[email protected]> Co-authored-by: Henrik Zunker <[email protected]>
1 parent 1bb1c1e commit b5cc5e8

33 files changed

Lines changed: 366 additions & 133 deletions

.github/pull_request_template.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,19 @@ Please check our [git workflow](https://memilio.readthedocs.io/en/latest/develop
1818

1919
### Checks by code author
2020

21-
- [ ] Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
22-
- [ ] New code adheres to [coding guidelines](https://memilio.readthedocs.io/en/latest/development.html#coding-guidelines)
23-
- [ ] No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
24-
- [ ] Tests are added for new functionality and a local test run was successful (with and without OpenMP)
25-
- [ ] Appropriate **documentation within the code** (Doxygen) for new functionality has been added in the code
26-
- [ ] Appropriate **external documentation** (ReadTheDocs) for new functionality has been added to the online documentation
27-
- [ ] Proper attention to licenses, especially no new third-party software with conflicting license has been added
21+
- [ ] Every addressed issue is linked (use the "Closes #ISSUE" keyword below).
22+
- [ ] New code adheres to [coding guidelines](https://memilio.readthedocs.io/en/latest/development.html#coding-guidelines).
23+
- [ ] No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.).
24+
- [ ] Tests are added for new functionality and a local test run was successful (with and without OpenMP).
25+
- [ ] Appropriate **documentation within the code** (Doxygen) for new functionality has been added in the code.
26+
- [ ] Appropriate **external documentation** (ReadTheDocs) for new functionality has been added to the online documentation and checked in the preview.
27+
- [ ] Proper attention to licenses, especially no new third-party software with conflicting license has been added.
2828
- [ ] (For ABM development) Checked [benchmark results](https://memilio.readthedocs.io/en/latest/development.html#agent-based-model-development) and ran and posted a local test above from before and after development to ensure performance is monitored.
2929

3030
### Checks by code reviewer(s)
3131

32-
- [ ] Corresponding issue(s) is/are linked and addressed
33-
- [ ] Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
34-
- [ ] Appropriate **unit tests** have been added, CI passes, code coverage and performance is acceptable (did not decrease)
35-
- [ ] No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
32+
- [ ] Corresponding issue(s) is/are linked and addressed.
33+
- [ ] Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.).
34+
- [ ] Appropriate **unit tests** have been added, CI passes, code coverage and performance is acceptable (did not decrease).
35+
- [ ] No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.).
3636
- [ ] On merge, add 2-5 lines with the changes (main added features, changed items, or corrected bugs) to the merge-commit-message. This can be taken from the **briefly-list-the-changes** above (best case) or the separate commit messages (worst case).

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ docs/html
282282
docs/xml
283283
docs/source/api
284284
docs/source/generated
285+
docs/source/cppapi
285286

286287
# VS Code
287288
.vscode/

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "docs/doxygen-awesome-css"]
2+
path = docs/doxygen-awesome-css
3+
url = https://github.com/jothepro/doxygen-awesome-css.git

docs/Doxyfile

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ DOXYFILE_ENCODING = UTF-8
4242
# title of most generated pages and in a few other places.
4343
# The default value is: My Project.
4444

45-
PROJECT_NAME = MEmilio
45+
PROJECT_NAME = "CPP API"
4646

4747
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 0.7
51+
PROJECT_NUMBER =
5252

5353
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5454
# for a project that appears at the top of each page and should give viewer a
@@ -68,7 +68,7 @@ PROJECT_LOGO =
6868
# entered, it will be relative to the location where doxygen was started. If
6969
# left blank the current directory will be used.
7070

71-
OUTPUT_DIRECTORY =
71+
OUTPUT_DIRECTORY = source/cppapi
7272

7373
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
7474
# sub-directories (in 2 levels) under the output directory of each output format
@@ -289,7 +289,7 @@ OPTIMIZE_OUTPUT_FOR_C = NO
289289
# qualified scopes will look different, etc.
290290
# The default value is: NO.
291291

292-
OPTIMIZE_OUTPUT_JAVA = YES
292+
OPTIMIZE_OUTPUT_JAVA = NO
293293

294294
# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
295295
# sources. Doxygen will then generate output that is tailored for Fortran.
@@ -767,7 +767,7 @@ MAX_INITIALIZER_LINES = 30
767767
# list will mention the files that were used to generate the documentation.
768768
# The default value is: YES.
769769

770-
SHOW_USED_FILES = YES
770+
SHOW_USED_FILES = NO
771771

772772
# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
773773
# will remove the Files entry from the Quick Index and from the Folder Tree View
@@ -805,7 +805,7 @@ FILE_VERSION_FILTER =
805805
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
806806
# tag is left empty.
807807

808-
LAYOUT_FILE =
808+
LAYOUT_FILE = DoxygenLayout.xml
809809

810810
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
811811
# the reference definitions. This must be a list of .bib files. The .bib
@@ -933,7 +933,7 @@ WARN_LOGFILE =
933933
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
934934
# Note: If this tag is empty the current directory is searched.
935935

936-
INPUT = ../cpp/models ../cpp/memilio ../cpp/sbml_model_generation
936+
INPUT = ../cpp/models ../cpp/memilio ../cpp/sbml_model_generation ../docs/doxygen_main_page.md
937937

938938
# This tag can be used to specify the character encoding of the source files
939939
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1004,7 +1004,7 @@ EXCLUDE_SYMLINKS = NO
10041004
# Note that the wildcards are matched against the file with absolute path, so to
10051005
# exclude all test directories for example use the pattern */test/*
10061006

1007-
EXCLUDE_PATTERNS =
1007+
EXCLUDE_PATTERNS =
10081008

10091009
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
10101010
# (namespaces, classes, functions, etc.) that should be excluded from the
@@ -1099,7 +1099,7 @@ FILTER_SOURCE_PATTERNS =
10991099
# (index.html). This can be useful if you have a project on for instance GitHub
11001100
# and want to reuse the introduction page also for the doxygen output.
11011101

1102-
USE_MDFILE_AS_MAINPAGE = ../README.md
1102+
USE_MDFILE_AS_MAINPAGE = ../docs/doxygen_main_page.md
11031103

11041104
# The Fortran standard specifies that for fixed formatted Fortran code all
11051105
# characters from position 72 are to be considered as comment. A common
@@ -1338,7 +1338,7 @@ HTML_STYLESHEET =
13381338
# documentation.
13391339
# This tag requires that the tag GENERATE_HTML is set to YES.
13401340

1341-
HTML_EXTRA_STYLESHEET =
1341+
HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css
13421342

13431343
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
13441344
# other source files which should be copied to the HTML output directory. Note
@@ -1402,7 +1402,7 @@ HTML_COLORSTYLE_GAMMA = 80
14021402
# The default value is: YES.
14031403
# This tag requires that the tag GENERATE_HTML is set to YES.
14041404

1405-
HTML_DYNAMIC_MENUS = YES
1405+
HTML_DYNAMIC_MENUS = NO
14061406

14071407
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
14081408
# documentation will contain sections that can be hidden and shown after the
@@ -1833,7 +1833,7 @@ MATHJAX_CODEFILE =
18331833
# The default value is: YES.
18341834
# This tag requires that the tag GENERATE_HTML is set to YES.
18351835

1836-
SEARCHENGINE = YES
1836+
SEARCHENGINE = NO
18371837

18381838
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
18391839
# implemented using a web server instead of a web client using JavaScript. There
@@ -2193,7 +2193,7 @@ MAN_LINKS = NO
21932193
# captures the structure of the code including all documentation.
21942194
# The default value is: NO.
21952195

2196-
GENERATE_XML = YES
2196+
GENERATE_XML = NO
21972197

21982198
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
21992199
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -2415,7 +2415,7 @@ TAGFILES =
24152415
# tag file that is based on the input files it reads. See section "Linking to
24162416
# external documentation" for more information about the usage of tag files.
24172417

2418-
GENERATE_TAGFILE =
2418+
GENERATE_TAGFILE = source/cppapi/html/tagfile.xml
24192419

24202420
# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces
24212421
# will be listed in the class and namespace index. If set to NO, only the
@@ -2455,7 +2455,7 @@ HIDE_UNDOC_RELATIONS = YES
24552455
# set to NO
24562456
# The default value is: YES.
24572457

2458-
HAVE_DOT = NO
2458+
HAVE_DOT = YES
24592459

24602460
# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
24612461
# to run in parallel. When set to 0 doxygen will base this on the number of
@@ -2677,7 +2677,7 @@ DIR_GRAPH_MAX_DEPTH = 1
26772677
# The default value is: png.
26782678
# This tag requires that the tag HAVE_DOT is set to YES.
26792679

2680-
DOT_IMAGE_FORMAT = png
2680+
DOT_IMAGE_FORMAT = svg
26812681

26822682
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
26832683
# enable generation of interactive SVG images that allow zooming and panning.
@@ -2689,7 +2689,7 @@ DOT_IMAGE_FORMAT = png
26892689
# The default value is: NO.
26902690
# This tag requires that the tag HAVE_DOT is set to YES.
26912691

2692-
INTERACTIVE_SVG = NO
2692+
INTERACTIVE_SVG = YES
26932693

26942694
# The DOT_PATH tag can be used to specify the path where the dot tool can be
26952695
# found. If left blank, it is assumed the dot tool can be found in the path.

0 commit comments

Comments
 (0)