|
| 1 | +#!/usr/bin/env bash |
| 2 | +set -e |
| 3 | + |
| 4 | +function setup_conda_env { |
| 5 | + echo "Setting up conda environment" |
| 6 | + local environment_file="third-party/doxyconfig/environment.yml" |
| 7 | + |
| 8 | + if [ "${DOXYCONFIG_DIR}" == "." ]; then |
| 9 | + mkdir -p third-party/doxyconfig |
| 10 | + cp environment.yml $environment_file |
| 11 | + cp -r doxygen-awesome-css third-party/doxyconfig/ |
| 12 | + fi |
| 13 | + |
| 14 | + echo "cat $environment_file" |
| 15 | + cat $environment_file |
| 16 | + |
| 17 | + echo "conda env create --quiet --name ${READTHEDOCS_VERSION} --file $environment_file" |
| 18 | + conda env create --quiet --name "${READTHEDOCS_VERSION}" --file "$environment_file" |
| 19 | +} |
| 20 | + |
| 21 | +function install_icons { |
| 22 | + echo "Downloading LizardByte graphics" |
| 23 | + wget "https://raw.githubusercontent.com/LizardByte/.github/master/branding/logos/favicon.ico" \ |
| 24 | + -O "${READTHEDOCS_OUTPUT}lizardbyte.ico" |
| 25 | + wget "https://raw.githubusercontent.com/LizardByte/.github/master/branding/logos/logo-128x128.png" \ |
| 26 | + -O "${READTHEDOCS_OUTPUT}lizardbyte.png" |
| 27 | +} |
| 28 | + |
| 29 | +function install_node_modules { |
| 30 | + echo "Creating output directories" |
| 31 | + mkdir -p "${READTHEDOCS_OUTPUT}html/assets/fontawesome/css" |
| 32 | + mkdir -p "${READTHEDOCS_OUTPUT}html/assets/fontawesome/js" |
| 33 | + |
| 34 | + echo "Installing node modules" |
| 35 | + pushd "${DOXYCONFIG_DIR}" |
| 36 | + npm install |
| 37 | + popd |
| 38 | + |
| 39 | + echo "Copying FontAwesome files" |
| 40 | + cp "${DOXYCONFIG_DIR}/node_modules/@fortawesome/fontawesome-free/css/all.min.css" \ |
| 41 | + "${READTHEDOCS_OUTPUT}html/assets/fontawesome/css" |
| 42 | + cp "${DOXYCONFIG_DIR}/node_modules/@fortawesome/fontawesome-free/js/all.min.js" \ |
| 43 | + "${READTHEDOCS_OUTPUT}html/assets/fontawesome/js" |
| 44 | + cp -r "${DOXYCONFIG_DIR}/node_modules/@fortawesome/fontawesome-free/webfonts" \ |
| 45 | + "${READTHEDOCS_OUTPUT}html/assets/fontawesome/" |
| 46 | +} |
| 47 | + |
| 48 | +function merge_doxyconfigs { |
| 49 | + echo "Merging doxygen configs" |
| 50 | + cp "${DOXYCONFIG_DIR}/Doxyfile" "./docs/Doxyfile-doxyconfig" |
| 51 | + cp "${DOXYCONFIG_DIR}/header.html" "./docs/header-doxyconfig.html" |
| 52 | + cat "./docs/Doxyfile" >> "./docs/Doxyfile-doxyconfig" |
| 53 | +} |
| 54 | + |
| 55 | +function build_docs { |
| 56 | + echo "Building docs" |
| 57 | + pushd docs |
| 58 | + doxygen Doxyfile-doxyconfig |
| 59 | + popd |
| 60 | +} |
| 61 | + |
| 62 | +setup_conda_env |
| 63 | +install_node_modules |
| 64 | +install_icons |
| 65 | +merge_doxyconfigs |
| 66 | +build_docs |
0 commit comments