- Poker - Recording Games
- Poker - Tracking cards
- Poker - Table top
- Poker - Chip
- Poker - API
- Poker - Stats
- Poker - App
- Poker - Docs
- Poker - Hud
As with everything I do, I add documentation. The first thing I like to do is generate the API documentation for any code I've written. With the Arduino code (C++) I'm using Doxygen
Download the required version you need:
Run the following terminal command to check it installed correctly.
doxygen -v
1.9.8
I also the install location to my PATH
.
Generate a config file with:
doxygen -g
Update the necessary settings.
PROJECT_NAME = "..."
PROJECT_NUMBER = "0.0.1"
PROJECT_BRIEF = "..."
PROJECT_LOGO = "icon.png"
EXTENSION_MAPPING = ino=C++
EXTRACT_ALL = YES
INPUT = "<filename>.ino"
FILE_PATTERNS = ...
*.ino
GENERATE_LATEX = NO
I also added docs/comments to my .ino
file. If you are familiar to javadoc this should be fine.
Generate the header file to update and add a favicon.
doxygen -w html headerFile
error: option "-w html" does not have enough arguments
Ran this instead and just deleted the footerFile
styleSheetFile
.
doxygen -w html headerFile footerFile styleSheetFile
doxygen -w html headerFile footerFile styleSheetFile [configFile]
Updated the headerFile
with:
<link rel="icon" href="$relpath^favicon.ico" type="image/x-icon" />
Update the config file with
HTML_HEADER = headerFile
HTML_EXTRA_FILES += favicon.ico
Not sure I like these files in the root, may need to move them, everything can be relative paths.
Finally I updated some parts of the code so it didn't output my secrets.
#ifndef DOXYGEN_SHOULD_SKIP_THIS
<SECRETS>
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
Updated the config:
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
I tried adding it to the EXCLUDE
but it still pulled in the macros and displayed the variables.
EXCLUDE = "secrets.h"
Finally run
doxygen
A number of things will output in the terminal and hopefully it should end with:
finished...
You should then have a folder called "html" with the full output, including your icon.png
and favicon.ico
.
Open the index.html
to view the generated webpage.
You may wish to add that folder to your .gitignore
.
Now to get GitHub to build and deploy the docs.
I used doxygen-action from @mattnotmitt.