1
1
name : Generate Doxygen Documentation
2
-
3
2
on :
4
3
push :
5
4
branches : [master]
6
5
workflow_dispatch :
7
-
8
6
permissions :
9
7
contents : write
10
8
pages : write
11
9
id-token : write
12
-
13
10
jobs :
14
11
generate-docs :
15
12
runs-on : ubuntu-latest
16
-
17
13
steps :
18
14
- name : Checkout Repository
19
15
uses : actions/checkout@v4
20
-
16
+
21
17
- name : Install Doxygen and Graphviz
22
18
run : |
23
19
sudo apt-get update
24
20
sudo apt-get install -y doxygen graphviz
25
-
21
+
22
+ - name : Prepare Doxygen Awesome CSS and JS
23
+ run : |
24
+ mkdir -p docs/css docs/js
25
+ wget https://cdn.jsdelivr.net/gh/jothepro/doxygen-awesome-css@v2.3.4/doxygen-awesome.css -O docs/css/doxygen-awesome.css
26
+ wget https://cdn.jsdelivr.net/gh/jothepro/doxygen-awesome-css@v2.3.4/doxygen-awesome-darkmode-toggle.js -O docs/js/doxygen-awesome-darkmode-toggle.js
27
+
26
28
- name : Create and Configure Doxyfile
27
29
run : |
28
30
doxygen -g
29
31
30
- # Update Doxyfile to apply the Doxygen Awesome theme
32
+ # Update Doxyfile configuration
31
33
echo "PROJECT_NAME = fbgl" >> Doxyfile
32
34
echo "PROJECT_NUMBER = 0.1.0" >> Doxyfile
33
35
echo "OUTPUT_DIRECTORY = docs" >> Doxyfile
34
36
echo "INPUT = fbgl.h README.md" >> Doxyfile
35
37
echo "HTML_OUTPUT = html" >> Doxyfile
36
38
echo "USE_MDFILE_AS_MAINPAGE = README.md" >> Doxyfile
39
+
40
+ # Doxygen Awesome theme configurations
37
41
echo "GENERATE_TREEVIEW = YES" >> Doxyfile
38
42
echo "FULL_SIDEBAR = NO" >> Doxyfile
39
43
echo "HTML_COLORSTYLE = LIGHT" >> Doxyfile
40
-
41
- echo "HTML_EXTRA_STYLESHEET = https://cdn.jsdelivr.net/gh/jothepro/doxygen-awesome-css@v2.3.4/doxygen-awesome.css https://cdn.jsdelivr.net/gh/jothepro/doxygen-awesome-css@v2.3.4/doxygen-awesome-darkmode-toggle.js" >> Doxyfile
42
44
echo "DISABLE_INDEX = NO" >> Doxyfile
43
45
echo "HTML_DYNAMIC_SECTIONS = YES" >> Doxyfile
44
-
46
+
47
+ # Local CSS and JS paths
48
+ echo "HTML_EXTRA_STYLESHEET = docs/css/doxygen-awesome.css" >> Doxyfile
49
+ echo "HTML_EXTRA_FILES = docs/js/doxygen-awesome-darkmode-toggle.js" >> Doxyfile
50
+
45
51
- name : Generate Documentation
46
52
run : doxygen Doxyfile
47
-
53
+
48
54
- name : Deploy to GitHub Pages
49
55
uses : peaceiris/actions-gh-pages@v3
50
56
with :
51
57
github_token : ${{ secrets.GITHUB_TOKEN }}
52
58
publish_branch : gh-pages
53
59
publish_dir : docs/html
54
- force_orphan : true
60
+ force_orphan : true
0 commit comments