mirror of
https://github.com/HendrikRauh/dmx-interface.git
synced 2026-04-07 10:22:21 +00:00
feat(docs): add Doxygen configuration and update .gitignore for documentation files
This commit is contained in:
parent
a2d51540b7
commit
fe6a1ab79b
4 changed files with 85 additions and 0 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -52,6 +52,9 @@ venv*/
|
||||||
*.tmp
|
*.tmp
|
||||||
*.bak
|
*.bak
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
docs/doxygen/*
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
*.local
|
*.local
|
||||||
|
|
||||||
|
|
|
||||||
61
Doxyfile
Normal file
61
Doxyfile
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
PROJECT_NAME = "DMX-Interface"
|
||||||
|
PROJECT_BRIEF = "ChaosDMX"
|
||||||
|
OUTPUT_DIRECTORY = docs/doxygen
|
||||||
|
|
||||||
|
# Input settings
|
||||||
|
|
||||||
|
INPUT = main \
|
||||||
|
components \
|
||||||
|
data \
|
||||||
|
README.md
|
||||||
|
FILE_PATTERNS = *.c *.h *.cpp *.hpp *.md *.py *.js *.css *.html
|
||||||
|
RECURSIVE = YES
|
||||||
|
EXCLUDE_PATTERNS = */build/* \
|
||||||
|
*/managed_components/*
|
||||||
|
USE_MDFILE_AS_MAINPAGE = README.md
|
||||||
|
|
||||||
|
# Documentation settings
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
|
||||||
|
# doxygen-awesome-css settings
|
||||||
|
HTML_EXTRA_STYLESHEET = docs/external/doxygen-awesome-css/doxygen-awesome.css \
|
||||||
|
docs/external/doxygen-awesome-css/doxygen-awesome-sidebar-only.css
|
||||||
|
|
||||||
|
HTML_EXTRA_FILES = docs/external/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js \
|
||||||
|
docs/external/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js \
|
||||||
|
docs/external/doxygen-awesome-css/doxygen-awesome-paragraph-link.js \
|
||||||
|
docs/external/doxygen-awesome-css/doxygen-awesome-interactive-toc.js \
|
||||||
|
docs/external/doxygen-awesome-css/doxygen-awesome-tabs.js
|
||||||
|
|
||||||
|
# Custom header for JS integration
|
||||||
|
|
||||||
|
# Better HTML output
|
||||||
|
HTML_COLORSTYLE = LIGHT
|
||||||
|
GENERATE_TREEVIEW = YES
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
FULL_SIDEBAR = NO
|
||||||
|
|
||||||
|
# Extraction settings
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
EXTRACT_PRIVATE = YES
|
||||||
|
EXTRACT_STATIC = YES
|
||||||
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
|
|
||||||
|
# Graphviz / Dot settings
|
||||||
|
HAVE_DOT = YES
|
||||||
|
DOT_IMAGE_FORMAT = svg
|
||||||
|
INTERACTIVE_SVG = YES
|
||||||
|
DOT_FONTNAME = Helvetica
|
||||||
|
DOT_FONTSIZE = 10
|
||||||
|
|
||||||
|
# Graphs to generate
|
||||||
|
CALL_GRAPH = YES
|
||||||
|
CALLER_GRAPH = YES
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
DIRECTORY_GRAPH = YES
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
GROUP_GRAPHS = YES
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
|
@ -30,6 +30,8 @@
|
||||||
pkgs.prettier
|
pkgs.prettier
|
||||||
|
|
||||||
pkgs.nixfmt
|
pkgs.nixfmt
|
||||||
|
pkgs.doxygen
|
||||||
|
pkgs.graphviz
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
19
tasks.py
19
tasks.py
|
|
@ -149,3 +149,22 @@ def format_check(c):
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
print("\n✅ All files are correctly formatted!")
|
print("\n✅ All files are correctly formatted!")
|
||||||
|
|
||||||
|
|
||||||
|
@task(help={"o": "Open documentation in the default browser after generation."})
|
||||||
|
def docs(c, o=False):
|
||||||
|
"""Generate Doxygen documentation."""
|
||||||
|
task_begin("docs", "Docs")
|
||||||
|
proc = subprocess.run("doxygen Doxyfile", shell=True)
|
||||||
|
if proc.returncode == 0:
|
||||||
|
task_end("docs", "done", "Docs generated")
|
||||||
|
path = "docs/doxygen/html/index.html"
|
||||||
|
console.print(
|
||||||
|
f"\n[bold green]✓ Documentation generated in {path}[/bold green]"
|
||||||
|
)
|
||||||
|
if o:
|
||||||
|
import webbrowser
|
||||||
|
webbrowser.open(f"file://{os.path.abspath(path)}")
|
||||||
|
return
|
||||||
|
task_end("docs", "failed", "Doxygen failed")
|
||||||
|
raise Exit(code=1)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue