diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..f8d7b49624 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,74 @@ +name: docs + +on: + push: + paths: + - 'doc/**' + + pull_request: + paths: + - 'doc/**' + + workflow_dispatch: + +permissions: + contents: read +jobs: + + test-build-makefile: + if: ${{ always() }} + name: Test building documentation with makefile + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + lfs: true + - name: Install python 3.x + uses: actions/setup-python@v2 + with: + python-version: '3.x' + # https://github.com/actions/cache/blob/main/examples.md#python---pip + - name: Cache pip + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('doc/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + - name: Install dependencies + run: | + pip install -r doc/requirements.txt + # Build documentation under ${PWD}/_build + - name: Build Sphinx docs with makefile + run: | + make SPHINXOPTS="-W --keep-going" BUILDDIR=${PWD}/_build -C doc/ html + + test-doc-builder: + if: ${{ always() }} + name: Test building documentation with doc-builder + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + lfs: true + - name: Install python 3.x + uses: actions/setup-python@v2 + with: + python-version: '3.x' + # https://github.com/actions/cache/blob/main/examples.md#python---pip + - name: Cache pip + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('doc/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + - name: Install dependencies + run: | + pip install -r doc/requirements.txt + # Build documentation under ${PWD}/_build + - name: Build Sphinx docs with doc-builder + run: | + cd doc && ./build_docs -b ${PWD}/_build -c diff --git a/doc/requirements.txt b/doc/requirements.txt new file mode 100644 index 0000000000..f282ec48e4 --- /dev/null +++ b/doc/requirements.txt @@ -0,0 +1,4 @@ +esbonio == 0.16.4 +sphinx == 7.2.6 +sphinx-mdinclude == 0.6.2 +sphinx_rtd_theme == 2.0.0 diff --git a/doc/source/_static/pop_ver.js b/doc/source/_static/pop_ver.js deleted file mode 100644 index b8c58658a8..0000000000 --- a/doc/source/_static/pop_ver.js +++ /dev/null @@ -1,37 +0,0 @@ -$(document).ready(function() { - /* For a URL that looks like - https://blah.github.io/versions/VERSIONFOO/html/bar/index.html, set cur_version_dir to - 'VERSIONFOO' (i.e., the portion of the path following 'versions'). - */ - var proj_end = document.baseURI.indexOf("versions") + 9; - var end = document.baseURI.indexOf("/", proj_end); - var cur_version_dir = document.baseURI.substring(proj_end, end); - var mylist = $("#version-list"); - mylist.empty(); - $.getJSON(version_json_loc, function(data) { - if (data.hasOwnProperty(cur_version_dir)) { - /* First add the current version so that it appears first in the drop-down - menu and starts as the selected element of the menu. If you click on the - current version, you should stay at the current page. - - The conditional around this block should generally be true, but we check it - just in case the current version is missing from the versions.json file for - some reason. - */ - cur_version_name = data[cur_version_dir]; - mylist.append($("