diff --git a/.github/workflows/process.yml b/.github/workflows/process.yml index 334dd275..6b028df9 100644 --- a/.github/workflows/process.yml +++ b/.github/workflows/process.yml @@ -4,97 +4,97 @@ name: PROCESS main/develop testing on: push permissions: - contents: read - pages: write - id-token: write + contents: read + pages: write + id-token: write jobs: - docker: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Check for changed files affecting the container - uses: dorny/paths-filter@v2 - id: changes - with: - filters: | - build_container: - - 'docker/ci/Dockerfile' - - 'requirements.txt' - - name: Login to GitHub Container Registry - if: steps.changes.outputs.build_container == 'true' && github.ref == 'refs/heads/main' - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: timothy-nunn - password: ${{ secrets.PROCESS_CI_PAT }} - - name: Build the PROCESS Docker image - if: steps.changes.outputs.build_container == 'true' && github.ref == 'refs/heads/main' - run: | - cp requirements.txt docker/ci/ - cd docker/ci - docker build . -t ghcr.io/timothy-nunn/process-ci:latest - docker push ghcr.io/timothy-nunn/process-ci:latest + docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Check for changed files affecting the container + uses: dorny/paths-filter@v2 + id: changes + with: + filters: | + build_container: + - 'docker/ci/Dockerfile' + - 'requirements.txt' + - name: Login to GitHub Container Registry + if: steps.changes.outputs.build_container == 'true' && github.ref == 'refs/heads/main' + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: timothy-nunn + password: ${{ secrets.PROCESS_CI_PAT }} + - name: Build the PROCESS Docker image + if: steps.changes.outputs.build_container == 'true' && github.ref == 'refs/heads/main' + run: | + cp requirements.txt docker/ci/ + cd docker/ci + docker build . -t ghcr.io/timothy-nunn/process-ci:latest + docker push ghcr.io/timothy-nunn/process-ci:latest - make-py38: - runs-on: ubuntu-latest - needs: docker - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Build PROCESS - run: | - git config --global --add safe.directory '*' - cmake -S. -Bbuild - cmake --build build - - name: Archive build artifacts in process - uses: actions/upload-artifact@v3 - with: - name: process-build-artifacts - path: | - process/**/*.so - process/io/python_fortran_dicts.json - - name: Archive coverage data - uses: actions/upload-artifact@v3 - with: - name: coverage-artifacts - path: | - build/CMakeFiles/process.dir/source/fortran/*.gcno - lcov_results - - name: Archive ford artifacts - uses: actions/upload-artifact@v3 - with: - name: ford-artifact - path: build/ford_project.pickle + make-py38: + runs-on: ubuntu-latest + needs: docker + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Build PROCESS + run: | + git config --global --add safe.directory '*' + cmake -S. -Bbuild + cmake --build build + - name: Archive build artifacts in process + uses: actions/upload-artifact@v3 + with: + name: process-build-artifacts + path: | + process/**/*.so + process/io/python_fortran_dicts.json + - name: Archive coverage data + uses: actions/upload-artifact@v3 + with: + name: coverage-artifacts + path: | + build/CMakeFiles/process.dir/source/fortran/*.gcno + lcov_results + - name: Archive ford artifacts + uses: actions/upload-artifact@v3 + with: + name: ford-artifact + path: build/ford_project.pickle - unit-py38: - runs-on: ubuntu-latest - needs: make-py38 - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Download build artifacts - uses: actions/download-artifact@v3 - with: - name: process-build-artifacts - path: process/ - - name: Install PROCESS - run: pip install . - - name: Run unit tests - run: pytest --cov=process tests/unit -v - - name: Archive unit test coverage data - uses: actions/upload-artifact@v3 - with: - name: unit-coverage-artifacts - path: .coverage + unit-py38: + runs-on: ubuntu-latest + needs: make-py38 + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Download build artifacts + uses: actions/download-artifact@v3 + with: + name: process-build-artifacts + path: process/ + - name: Install PROCESS + run: pip install . + - name: Run unit tests + run: pytest --cov=process tests/unit -v + - name: Archive unit test coverage data + uses: actions/upload-artifact@v3 + with: + name: unit-coverage-artifacts + path: .coverage # integration-py38: # runs-on: ubuntu-latest @@ -116,194 +116,194 @@ jobs: # - name: Run integration tests # run: pytest tests/integration/ -n auto -v - regression-py38: - runs-on: ubuntu-latest - needs: make-py38 - continue-on-error: true - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Download build artifacts - uses: actions/download-artifact@v3 - with: - name: process-build-artifacts - path: process/ - - name: Install PROCESS - run: pip install . - - name: Run regression tests - run: pytest tests/regression -v --reg-tolerance=0 + regression-py38: + runs-on: ubuntu-latest + needs: make-py38 + continue-on-error: true + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Download build artifacts + uses: actions/download-artifact@v3 + with: + name: process-build-artifacts + path: process/ + - name: Install PROCESS + run: pip install . + - name: Run regression tests + run: pytest tests/regression -v --reg-tolerance=0 - regression-5-percent-py38: - runs-on: ubuntu-latest - needs: make-py38 - continue-on-error: true - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Download build artifacts - uses: actions/download-artifact@v3 - with: - name: process-build-artifacts - path: process/ - - name: Install PROCESS - run: pip install . - - name: Run regression tests - run: pytest tests/regression + regression-5-percent-py38: + runs-on: ubuntu-latest + needs: make-py38 + continue-on-error: true + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Download build artifacts + uses: actions/download-artifact@v3 + with: + name: process-build-artifacts + path: process/ + - name: Install PROCESS + run: pip install . + - name: Run regression tests + run: pytest tests/regression - large-tokamak-py38: - runs-on: ubuntu-latest - needs: make-py38 - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - if: github.ref == 'refs/heads/main' - steps: - - uses: actions/checkout@v3 - - name: Download build artifacts - uses: actions/download-artifact@v3 - with: - name: process-build-artifacts - path: process/ - - name: Install PROCESS - run: pip install . - - name: Run large tokamak - run: | - process -i tests/regression/scenarios/large-tokamak/IN.DAT - mv tests/regression/scenarios/large-tokamak/MFILE.DAT tracking/large_tokamak_MFILE.DAT - - name: Archive large-tokamak MFILE - uses: actions/upload-artifact@v3 - with: - name: large-tokamak-mfile - path: tracking/large_tokamak_MFILE.DAT + large-tokamak-py38: + runs-on: ubuntu-latest + needs: make-py38 + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + if: github.ref == 'refs/heads/main' + steps: + - uses: actions/checkout@v3 + - name: Download build artifacts + uses: actions/download-artifact@v3 + with: + name: process-build-artifacts + path: process/ + - name: Install PROCESS + run: pip install . + - name: Run large tokamak + run: | + process -i tests/regression/scenarios/large-tokamak/IN.DAT + mv tests/regression/scenarios/large-tokamak/MFILE.DAT tracking/large_tokamak_MFILE.DAT + - name: Archive large-tokamak MFILE + uses: actions/upload-artifact@v3 + with: + name: large-tokamak-mfile + path: tracking/large_tokamak_MFILE.DAT - flake8: - runs-on: ubuntu-latest - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Run Flake8 linter - run: python -m flake8 --tee . + flake8: + runs-on: ubuntu-latest + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Run Flake8 linter + run: python -m flake8 --tee . - black: - runs-on: ubuntu-latest - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Run Black - run: python -m black --check . + black: + runs-on: ubuntu-latest + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Run Black + run: python -m black --check . - tracking: - concurrency: - group: tracking-jobs - cancel-in-progress: false - runs-on: ubuntu-latest - needs: large-tokamak-py38 - if: github.ref == 'refs/heads/main' - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Download build artifacts - uses: actions/download-artifact@v3 - with: - name: process-build-artifacts - path: process/ - - name: Install PROCESS - run: pip install . - - name: Setup SSH identity - uses: webfactory/ssh-agent@v0.7.0 - with: - ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - - name: Download tracking data - run: git clone git@github.com:timothy-nunn/process-tracking-data.git process-tracking-data - - name: Download large tokamak MFILE - uses: actions/download-artifact@v3 - with: - name: large-tokamak-mfile - path: tracking/ - - name: Create new tracking entries - run: | - python tracking/tracking_data.py track process-tracking-data --mfile tracking/large_tokamak_MFILE.DAT --hash ${{ github.sha }} --commit '${{ github.event.head_commit.message }}' - - name: Create the tracking dashboard - run: python tracking/tracking_data.py plot process-tracking-data --out tracking.html - - name: Archive tracking dashboard - uses: actions/upload-artifact@v3 - with: - name: tracking-html - path: tracking.html - - name: Setup Git identity - run: | - git config --global user.email "${{ github.triggering_actor }}@github.runner" - git config --global user.name "${{ github.job }}" - - name: Commit and push tracking data - run: | - cd process-tracking-data - git add . - git commit -m "${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}" - git push + tracking: + concurrency: + group: tracking-jobs + cancel-in-progress: false + runs-on: ubuntu-latest + needs: large-tokamak-py38 + if: github.ref == 'refs/heads/main' + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Download build artifacts + uses: actions/download-artifact@v3 + with: + name: process-build-artifacts + path: process/ + - name: Install PROCESS + run: pip install . + - name: Setup SSH identity + uses: webfactory/ssh-agent@v0.7.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Download tracking data + run: git clone git@github.com:timothy-nunn/process-tracking-data.git process-tracking-data + - name: Download large tokamak MFILE + uses: actions/download-artifact@v3 + with: + name: large-tokamak-mfile + path: tracking/ + - name: Create new tracking entries + run: | + python tracking/tracking_data.py track process-tracking-data --mfile tracking/large_tokamak_MFILE.DAT --hash ${{ github.sha }} --commit '${{ github.event.head_commit.message }}' + - name: Create the tracking dashboard + run: python tracking/tracking_data.py plot process-tracking-data --out tracking.html + - name: Archive tracking dashboard + uses: actions/upload-artifact@v3 + with: + name: tracking-html + path: tracking.html + - name: Setup Git identity + run: | + git config --global user.email "${{ github.triggering_actor }}@github.runner" + git config --global user.name "${{ github.job }}" + - name: Commit and push tracking data + run: | + cd process-tracking-data + git add . + git commit -m "${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}" + git push - docs: - concurrency: - group: docs-jobs - cancel-in-progress: false - runs-on: ubuntu-latest - needs: tracking - if: github.ref == 'refs/heads/main' - container: - image: ghcr.io/timothy-nunn/process-ci:latest - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - name: Download build artifacts - uses: actions/download-artifact@v3 - with: - name: process-build-artifacts - path: process/ - - name: Install PROCESS - run: pip install -e . - - run: ford documentation/ford/index.md - - name: Download ford project - uses: actions/download-artifact@v3 - with: - name: ford-artifact - path: build/ - - run: python scripts/document_fortran_interface.py - - run: python scripts/vardes.py - - run: git config --global --add safe.directory '*' - - run: mkdocs build - - run: mv ford_site site - - name: Download tracking html - uses: actions/download-artifact@v3 - with: - name: tracking-html - - run: mv tracking.html site || cp site/404.html site/tracking.html - - name: Upload documentation page - uses: actions/upload-pages-artifact@v1 - with: - path: site/ - - name: Deploy GitHub pages - id: deployment - uses: actions/deploy-pages@v2 + docs: + concurrency: + group: docs-jobs + cancel-in-progress: false + runs-on: ubuntu-latest + needs: tracking + if: github.ref == 'refs/heads/main' + container: + image: ghcr.io/timothy-nunn/process-ci:latest + credentials: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + - name: Download build artifacts + uses: actions/download-artifact@v3 + with: + name: process-build-artifacts + path: process/ + - name: Install PROCESS + run: pip install -e . + - run: ford documentation/ford/index.md + - name: Download ford project + uses: actions/download-artifact@v3 + with: + name: ford-artifact + path: build/ + - run: python scripts/document_fortran_interface.py + - run: python scripts/vardes.py + - run: git config --global --add safe.directory '*' + - run: mkdocs build + - run: mv ford_site site + - name: Download tracking html + uses: actions/download-artifact@v3 + with: + name: tracking-html + - run: mv tracking.html site || cp site/404.html site/tracking.html + - name: Upload documentation page + uses: actions/upload-pages-artifact@v1 + with: + path: site/ + - name: Deploy GitHub pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2d458f47..b9d702a4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,23 +1,24 @@ --- exclude: ^.*.DAT|.*.dat|.*.tex|.*.PPF|.*.FLD|.*.ps|ref_dicts.json|.*.md$ repos: - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.2.0 - hooks: - - id: end-of-file-fixer - - id: trailing-whitespace - - id: check-docstring-first - - id: check-merge-conflict - - id: debug-statements - - repo: https://github.com/psf/black - rev: 22.3.0 - hooks: - - id: black - - repo: https://github.com/PyCQA/flake8 - rev: 4.0.1 - hooks: - - id: flake8 - - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt - rev: 0.1.1 - hooks: - - id: yamlfmt + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.2.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace + - id: check-docstring-first + - id: check-merge-conflict + - id: debug-statements + - repo: https://github.com/psf/black + rev: 22.3.0 + hooks: + - id: black + - repo: https://github.com/PyCQA/flake8 + rev: 4.0.1 + hooks: + - id: flake8 + - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt + rev: 0.2.3 + hooks: + - id: yamlfmt + args: [--mapping, '2', --sequence, '4', --offset, '2'] diff --git a/mkdocs.yml b/mkdocs.yml index 150ecddb..182062db 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,82 +2,81 @@ site_name: PROCESS docs_dir: documentation/proc-pages/ nav: - - - Home: - - About: index.md - - Installation: - - Introduction: installation/introduction.md - - Installation on Ubuntu/WSL: installation/installation-ubuntu.md - - Installation using Docker: installation/installation-docker.md - - Installation using Singularity: installation/installation-singularity.md - - Visual Studio Code: installation/vs-code.md - - Usage: - - Running PROCESS: usage/running-process.md - - Examples: usage/examples.md - - Troubleshooting: usage/troubleshooting.md - - Plotting: usage/plotting.md - - Tracking: tracking.html - - I/O: - - Input: io/input-guide.md - - Output: io/output-guide.md - - Python Libraries: io/python-lib-guide.md - - Utilities: io/utilities.md - - Variable Descriptions: vardes.md - - Development: - - Git: - - Usage: development/git-usage.md - - Pre-commit: development/pre-commit.md - - Continuous Integration: development/ci-guide.md - - Maintenance: - - Testing: development/testing.md - - Debugging: development/debugging.md - - Tools: development/tools.md - - Code modification: - - Adding Variables & Constraints: development/add-vars.md - - Adding Physics and Engineering Variables to Python: development/annotated-variable.md - - Python Optimisation and Numba: development/numba.md - - Style: - - Standards: development/standards.md - - F2Py Standards: development/f2py-standards.md - # - Versioning: development/versioning.md - - Reference: - - Physics Models: - - Plasma: physics-models/plasma.md - - Pulsed Plant Operation: physics-models/pulsed-plant.md - - Engineering Models: - - Machine Build: eng-models/machine-build.md - - Structural Components: eng-models/structural-components.md - - Buildings: eng-models/buildings.md - - First Wall/Blanket: eng-models/fw-blanket.md - - TF Coil: eng-models/tf-coil.md - - PF Coil: eng-models/pf-coil.md - - Central Solenoid: eng-models/central-solenoid.md - - Shield: eng-models/shield.md - - Divertor: eng-models/divertor.md - - Heat transport: eng-models/power-conversion-and-heat-dissipation-systems.md - - Auxiliary Power Systems: eng-models/heating-and-current-drive.md - - Cryostat and vacuum system: eng-models/cryostat-and-vacuum-system.md - - Plant Availability: eng-models/plant.md - - Power Requirements: eng-models/power-requirements.md - - Unique Models: - - Water Use: unique-models/water_use.md - - Power Plant Building Sizes: unique-models/buildings_sizes.md - - Cost Models: cost-models/cost-models.md - - Solver: - - Solver Guide: solver/solver-guide.md - - VMCON Optimisation Solver Explained: solver/optsolverdoc.md - - Equation Solvers: solver/equation-solver.md - - Fusion Devices: - - Spherical Tokamak: fusion-devices/spherical-tokamak.md - - Stellarator Model: fusion-devices/stellarator.md - - Inertial Fusion Energy Model: fusion-devices/inertial.md - - Publications: publications.md - - Source Documentation: - - FORD Documentation: ford_site - - process: python/process.md - - process.io: python/process.io.md - - process.utilities: python/process.utilities.md - - process.fortran: python/process.fortran.md + - Home: + - About: index.md + - Installation: + - Introduction: installation/introduction.md + - Installation on Ubuntu/WSL: installation/installation-ubuntu.md + - Installation using Docker: installation/installation-docker.md + - Installation using Singularity: installation/installation-singularity.md + - Visual Studio Code: installation/vs-code.md + - Usage: + - Running PROCESS: usage/running-process.md + - Examples: usage/examples.md + - Troubleshooting: usage/troubleshooting.md + - Plotting: usage/plotting.md + - Tracking: tracking.html + - I/O: + - Input: io/input-guide.md + - Output: io/output-guide.md + - Python Libraries: io/python-lib-guide.md + - Utilities: io/utilities.md + - Variable Descriptions: vardes.md + - Development: + - Git: + - Usage: development/git-usage.md + - Pre-commit: development/pre-commit.md + - Continuous Integration: development/ci-guide.md + - Maintenance: + - Testing: development/testing.md + - Debugging: development/debugging.md + - Tools: development/tools.md + - Code modification: + - Adding Variables & Constraints: development/add-vars.md + - Adding Physics and Engineering Variables to Python: development/annotated-variable.md + - Python Optimisation and Numba: development/numba.md + - Style: + - Standards: development/standards.md + - F2Py Standards: development/f2py-standards.md + # - Versioning: development/versioning.md + - Reference: + - Physics Models: + - Plasma: physics-models/plasma.md + - Pulsed Plant Operation: physics-models/pulsed-plant.md + - Engineering Models: + - Machine Build: eng-models/machine-build.md + - Structural Components: eng-models/structural-components.md + - Buildings: eng-models/buildings.md + - First Wall/Blanket: eng-models/fw-blanket.md + - TF Coil: eng-models/tf-coil.md + - PF Coil: eng-models/pf-coil.md + - Central Solenoid: eng-models/central-solenoid.md + - Shield: eng-models/shield.md + - Divertor: eng-models/divertor.md + - Heat transport: eng-models/power-conversion-and-heat-dissipation-systems.md + - Auxiliary Power Systems: eng-models/heating-and-current-drive.md + - Cryostat and vacuum system: eng-models/cryostat-and-vacuum-system.md + - Plant Availability: eng-models/plant.md + - Power Requirements: eng-models/power-requirements.md + - Unique Models: + - Water Use: unique-models/water_use.md + - Power Plant Building Sizes: unique-models/buildings_sizes.md + - Cost Models: cost-models/cost-models.md + - Solver: + - Solver Guide: solver/solver-guide.md + - VMCON Optimisation Solver Explained: solver/optsolverdoc.md + - Equation Solvers: solver/equation-solver.md + - Fusion Devices: + - Spherical Tokamak: fusion-devices/spherical-tokamak.md + - Stellarator Model: fusion-devices/stellarator.md + - Inertial Fusion Energy Model: fusion-devices/inertial.md + - Publications: publications.md + - Source Documentation: + - FORD Documentation: ford_site + - process: python/process.md + - process.io: python/process.io.md + - process.utilities: python/process.utilities.md + - process.fortran: python/process.fortran.md # repo_url: https://git.ccfe.ac.uk/process/process.git @@ -87,78 +86,77 @@ repo_name: UKAEA/PROCESS copyright: Copyright © 2023 United Kingdom Atomic Energy Authority theme: - # name: readthedocs - name: material - font: - text: Roboto - features: - - navigation.tabs - - navigation.footer - - navigation.top - # - navigation.sections - - search.suggest - - search.highlight - - navigation.instant - - navigation.indexes - palette: - primary: indigo - accent: indigo - - icon: - repo: fontawesome/brands/git-alt - admonition: - note: octicons/tag-16 - abstract: octicons/checklist-16 - info: octicons/info-16 - tip: octicons/squirrel-16 - success: octicons/check-16 - question: octicons/question-16 - warning: octicons/alert-16 - failure: octicons/x-circle-16 - danger: octicons/zap-16 - bug: octicons/bug-16 - example: octicons/beaker-16 - quote: octicons/quote-16 + # name: readthedocs + name: material + font: + text: Roboto + features: + - navigation.tabs + - navigation.footer + - navigation.top + # - navigation.sections + - search.suggest + - search.highlight + - navigation.instant + - navigation.indexes + palette: + primary: indigo + accent: indigo + icon: + repo: fontawesome/brands/git-alt + admonition: + note: octicons/tag-16 + abstract: octicons/checklist-16 + info: octicons/info-16 + tip: octicons/squirrel-16 + success: octicons/check-16 + question: octicons/question-16 + warning: octicons/alert-16 + failure: octicons/x-circle-16 + danger: octicons/zap-16 + bug: octicons/bug-16 + example: octicons/beaker-16 + quote: octicons/quote-16 extra_javascript: - - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML + - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML markdown_extensions: - - footnotes - - admonition - - codehilite - - pymdownx.arithmatex - - pymdownx.betterem: - smart_enable: all - - pymdownx.caret - - pymdownx.critic - - pymdownx.details - - pymdownx.inlinehilite - - pymdownx.magiclink - - pymdownx.mark - - pymdownx.smartsymbols - - pymdownx.superfences - - pymdownx.tabbed: - alternate_style: true - - pymdownx.tasklist: - custom_checkbox: true - - pymdownx.tilde - - attr_list - - pymdownx.emoji: - - md_in_html + - footnotes + - admonition + - codehilite + - pymdownx.arithmatex + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.critic + - pymdownx.details + - pymdownx.inlinehilite + - pymdownx.magiclink + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde + - attr_list + - pymdownx.emoji: + - md_in_html plugins: - - autorefs - - search - - glightbox: - touchNavigation: true - effect: zoom - zoomable: true - auto_caption: true - caption_position: bottom - - git-revision-date-localized: - enable_creation_date: true + - autorefs + - search + - glightbox: + touchNavigation: true + effect: zoom + zoomable: true + auto_caption: true + caption_position: bottom + - git-revision-date-localized: + enable_creation_date: true # - mkdocstrings: # handlers: # python: