Skip to content

Commit 94938f8

Browse files
CopilotKatze719
andauthored
Add doxygen-awesome theme for documentation (#7)
* Initial plan * Add doxygen-awesome theme integration Co-authored-by: Katze719 <38188106+Katze719@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Katze719 <38188106+Katze719@users.noreply.github.com>
1 parent 4b58e1d commit 94938f8

File tree

3 files changed

+110
-0
lines changed

3 files changed

+110
-0
lines changed

.github/workflows/doxygen.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
paths:
77
- 'include/**'
88
- 'Doxyfile'
9+
- 'docs/doxygen-theme/**'
910
- '.github/workflows/doxygen.yml'
1011
- 'README.md'
1112

@@ -35,6 +36,17 @@ jobs:
3536
sudo apt-get update
3637
sudo apt-get install -y graphviz
3738
39+
- name: Download Doxygen Awesome theme
40+
run: |
41+
THEME_DIR=docs/doxygen-theme
42+
DOXYGEN_AWESOME_URL=https://raw.githubusercontent.com/jothepro/doxygen-awesome-css/v2.4.1
43+
wget -q -O $THEME_DIR/doxygen-awesome.css $DOXYGEN_AWESOME_URL/doxygen-awesome.css
44+
wget -q -O $THEME_DIR/doxygen-awesome-darkmode-toggle.js $DOXYGEN_AWESOME_URL/doxygen-awesome-darkmode-toggle.js
45+
wget -q -O $THEME_DIR/doxygen-awesome-fragment-copy-button.js $DOXYGEN_AWESOME_URL/doxygen-awesome-fragment-copy-button.js
46+
wget -q -O $THEME_DIR/doxygen-awesome-paragraph-link.js $DOXYGEN_AWESOME_URL/doxygen-awesome-paragraph-link.js
47+
wget -q -O $THEME_DIR/doxygen-awesome-interactive-toc.js $DOXYGEN_AWESOME_URL/doxygen-awesome-interactive-toc.js
48+
wget -q -O $THEME_DIR/doxygen-awesome-tabs.js $DOXYGEN_AWESOME_URL/doxygen-awesome-tabs.js
49+
3850
- name: Generate documentation
3951
run: |
4052
doxygen Doxyfile

Doxyfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ HTML_OUTPUT = .
4444
GENERATE_LATEX = NO
4545
GENERATE_XML = NO
4646

47+
# Doxygen Awesome theme integration
48+
HTML_HEADER = docs/doxygen-theme/header.html
49+
HTML_EXTRA_STYLESHEET = docs/doxygen-theme/doxygen-awesome.css
50+
HTML_EXTRA_FILES = docs/doxygen-theme/doxygen-awesome-darkmode-toggle.js \
51+
docs/doxygen-theme/doxygen-awesome-fragment-copy-button.js \
52+
docs/doxygen-theme/doxygen-awesome-paragraph-link.js \
53+
docs/doxygen-theme/doxygen-awesome-interactive-toc.js \
54+
docs/doxygen-theme/doxygen-awesome-tabs.js
55+
4756
HTML_COLORSTYLE = LIGHT
4857
HTML_COPY_CLIPBOARD = NO
4958
PAGE_OUTLINE_PANEL = NO

docs/doxygen-theme/header.html

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<!-- HTML header for doxygen 1.14.0-->
2+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3+
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6+
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
7+
<meta name="generator" content="Doxygen $doxygenversion"/>
8+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
9+
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
10+
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
11+
<!--BEGIN PROJECT_ICON-->
12+
<link rel="icon" href="$relpath^$projecticon" type="image/x-icon" />
13+
<!--END PROJECT_ICON-->
14+
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
15+
<!--BEGIN FULL_SIDEBAR-->
16+
<script type="text/javascript">var page_layout=1;</script>
17+
<!--END FULL_SIDEBAR-->
18+
<script type="text/javascript" src="$relpath^jquery.js"></script>
19+
<script type="text/javascript" src="$relpath^dynsections.js"></script>
20+
<!--BEGIN COPY_CLIPBOARD-->
21+
<script type="text/javascript" src="$relpath^clipboard.js"></script>
22+
<!--END COPY_CLIPBOARD-->
23+
$treeview
24+
$search
25+
$mathjax
26+
$darkmode
27+
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
28+
$extrastylesheet
29+
<!-- Doxygen Awesome CSS extensions -->
30+
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
31+
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
32+
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script>
33+
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
34+
<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>
35+
<script type="text/javascript">
36+
DoxygenAwesomeDarkModeToggle.init()
37+
DoxygenAwesomeFragmentCopyButton.init()
38+
DoxygenAwesomeParagraphLink.init()
39+
DoxygenAwesomeInteractiveToc.init()
40+
DoxygenAwesomeTabs.init()
41+
</script>
42+
</head>
43+
<body>
44+
<!--BEGIN FULL_SIDEBAR-->
45+
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
46+
<!--END FULL_SIDEBAR-->
47+
48+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
49+
50+
<!--BEGIN TITLEAREA-->
51+
<div id="titlearea">
52+
<table cellspacing="0" cellpadding="0">
53+
<tbody>
54+
<tr id="projectrow">
55+
<!--BEGIN PROJECT_LOGO-->
56+
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"$logosize/></td>
57+
<!--END PROJECT_LOGO-->
58+
<!--BEGIN PROJECT_NAME-->
59+
<td id="projectalign">
60+
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber">&#160;$projectnumber</span><!--END PROJECT_NUMBER-->
61+
</div>
62+
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
63+
</td>
64+
<!--END PROJECT_NAME-->
65+
<!--BEGIN !PROJECT_NAME-->
66+
<!--BEGIN PROJECT_BRIEF-->
67+
<td>
68+
<div id="projectbrief">$projectbrief</div>
69+
</td>
70+
<!--END PROJECT_BRIEF-->
71+
<!--END !PROJECT_NAME-->
72+
<!--BEGIN DISABLE_INDEX-->
73+
<!--BEGIN SEARCHENGINE-->
74+
<!--BEGIN !FULL_SIDEBAR-->
75+
<td>$searchbox</td>
76+
<!--END !FULL_SIDEBAR-->
77+
<!--END SEARCHENGINE-->
78+
<!--END DISABLE_INDEX-->
79+
</tr>
80+
<!--BEGIN SEARCHENGINE-->
81+
<!--BEGIN FULL_SIDEBAR-->
82+
<tr><td colspan="2">$searchbox</td></tr>
83+
<!--END FULL_SIDEBAR-->
84+
<!--END SEARCHENGINE-->
85+
</tbody>
86+
</table>
87+
</div>
88+
<!--END TITLEAREA-->
89+
<!-- end header part -->

0 commit comments

Comments
 (0)