Skip to content

Conversation

@pasabanov
Copy link
Member

Types of changes

  • Feature
  • Documentation
  • Configuration (documentation)

Related: #19 #22 #25

Description

  1. Added Doxygen version 1.13.2 configuration in docs/doxygen/Doxyfile:

    • Configured SVG usage everywhere.
    • Set up local MathJax scripts (downloaded in helper.py).
    • Other configurations.
  2. Added Doxygen generation support in helper.py with --doxygen flag:

    • MathJax files tex-svg.js and input/tex/extensions/physics.js are downloaded from https://raw.githubusercontent.com/mathjax/MathJax/refs/tags/3.2.2/es5/... to a local folder. This removes the CDN dependency for the documentation site client, improving privacy.
    • The graphviz dependency needed for Doxygen was added to the dependencies list.
  3. Added build and deploy documentation on GitHub Pages workflow file: .github/workflows/doxygen.yml.

    • Runs only with manual trigger (on: workflow_dispatch:).

Future improvements

Implement documentation for all entities in the library.

- Updated `Doxyfile` to use local MathJax copy for privacy.
  - Local copy is downloaded from CDN in `helper.py`.
- New option `--doxygen` in helper.py`:
  - Downloads MathJax files from CDN before build.
  - Builds documentation using `docs/doxygen/Doxyfile`.
- Added `local`, `remote` and `files` variables for readability.
- Switched MathJax source from jsDelivr to GitHub for privacy.
- Added `-Z` option to `curl` for parallel download.
- Disabled `INLINE_SOURCES`:
  - Internal implementation is not very important.
  - Some functions are too large.
- Disabled `HTML_COPY_CLIPBOARD`:
  - It's not very useful.
  - Documentation is for reading, not copying.
The `examples` folder should not be added to `INPUT`.
The examples will be added to the documentation later, when they are referenced.
@pasabanov pasabanov added config Configuring the project docs Improvements or additions to documentation feature New feature or request labels Feb 5, 2025
@pasabanov pasabanov added this to the First Release Version milestone Feb 5, 2025
@pasabanov pasabanov self-assigned this Feb 5, 2025
@pasabanov pasabanov merged commit 5de1c76 into main Feb 5, 2025
5 checks passed
@pasabanov pasabanov deleted the docs-doxygen branch February 5, 2025 11:02
@pasabanov pasabanov changed the title Configured version 1.9.8 Doxygen Configured Doxygen Feb 5, 2025
pasabanov added a commit that referenced this pull request Feb 5, 2025
* Configured version 1.9.8 Doxygen

* Updated Doxygen from 1.9.8 to 1.13.2

* Serve MathJax locally instead of CDN for Doxygen

- Updated `Doxyfile` to use local MathJax copy for privacy.
  - Local copy is downloaded from CDN in `helper.py`.
- New option `--doxygen` in helper.py`:
  - Downloads MathJax files from CDN before build.
  - Builds documentation using `docs/doxygen/Doxyfile`.

* Added `doxygen.yml` to build and deploy documentation

* Added `graphviz` dependency for Doxygen

* Fixed `SITEMAP_URL` as GitHub Pages URLs are case-sensitive

* Refactored and changed source of MathJax download

- Added `local`, `remote` and `files` variables for readability.
- Switched MathJax source from jsDelivr to GitHub for privacy.
- Added `-Z` option to `curl` for parallel download.

* Configured sources in documentation

- Disabled `INLINE_SOURCES`:
  - Internal implementation is not very important.
  - Some functions are too large.
- Disabled `HTML_COPY_CLIPBOARD`:
  - It's not very useful.
  - Documentation is for reading, not copying.

* Removed `examples` from `INPUT` in `Doxyfile`

The `examples` folder should not be added to `INPUT`.
The examples will be added to the documentation later, when they are referenced.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuring the project docs Improvements or additions to documentation feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants