This is a generic solution for doxygen
+ doxygen-awesome-css
, as well as support for bundling static assets into doxygen output.
Support GitHub README/Pages, GitLab README/Pages.
- name: Build docs
uses: SHIINASAMA/roxy@1.1
with:
DOXYFILE: 'docs/Doxyfile'
RESOURCE_FOLDER: 'static'
OUTPUT_FOLDER: 'build/html'
stages:
- deploy
pages:
stage: deploy
image: reg.mikumikumi.xyz/base/roxy
variables:
PROJECT_PATH: /builds/kaoru/roxy-example
DOXYFILE: docs/Doxyfile
RESOURCE_FOLDER: static
OUTPUT_FOLDER: build/docs
script:
- /usr/local/bin/entrypoint.sh
- mv build/docs public
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
when: always
docker build -t roxy .
docker run --rm -e DOXYFILE=docs/Doxyfile -e PROJECT_PATH=/project -e OUTPUT_FOLDER=build/html -e RESOURCE_FOLDER=static -v .:/project roxy
Note
The OUTPUT_FOLDER
must be the same as the html output location in the DOXYFILE
configuration file.
DOXYGEN_AWESOME_CSS_VERSION
: version of doxygen-awesome-css, defalut to v2.3.3PROJECT_PATH
: project pathDOXYGEN_CONTEXT_FOLDER
: Doxygen working dir in PROJECT_PATHDOXYFILE
: doxyfile file in PROJECT_PATHRESOURCE_FOLDER
: resource folder in PROJECT_PATHOUTPUT_FOLDER
: doxygen folder in PROJECT_PATH
Doxygen can not overwrite option via cli, You may set options by manually:
GENERATE_HTML=YES
MARKDOWN_SUPPORT=YES
GENERATE_TREEVIEW=YES
DISABLE_INDEX=NO
FULL_SIDEBAR=NO
HTML_COLORSTYLE=LIGHT
HTML_HEADER=/doxygen-awesome-css/doxygen-custom/header.html
HTML_EXTRA_STYLESHEET=/doxygen-awesome-css/doxygen-awesome.css,/doxygen-awesome-css/doxygen-awesome-sidebar-only.css,/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css,/doxygen-awesome-css/doxygen-custom/custom.css,/doxygen-awesome-css/doxygen-custom/custom-alternative.css
HTML_EXTRA_FILES=/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js,/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js,/doxygen-awesome-css/doxygen-awesome-interactive-toc.js,/doxygen-awesome-css/doxygen-awesome-paragraph-link.js,/doxygen-awesome-css/doxygen-awesome-tabs.js,/doxygen-awesome-css/doxygen-custom/toggle-alternative-theme.js