Skip to content

Conversation

MarcelKoch
Copy link
Member

This PR splits the documentation into a part that is generated by sphinx and one that is generated by doxygen.
The doxygen part will cover only the reference API documentation, and anything else will be left to sphinx. The full separation is not done in this PR.

Changes:

  • adds sphinx configuration
  • make doxygen available for sphinx
  • simplify doxygen setup
    • only the usr doc is available, the dev doc is removed. IMO there is no need for a dev doc, since we can expect developers to look into the Ginkgo source code and discover the documentation there.
  • fix some existing documentation (grouping, markdown files)
  • use read-the-docs instead of GH pages to deploy documentation

TODO:

  • finalize the read-the-docs namespace

@MarcelKoch MarcelKoch self-assigned this Sep 12, 2024
@ginkgo-bot ginkgo-bot added reg:build This is related to the build system. reg:documentation This is related to documentation. mod:core This is related to the core module. type:solver This is related to the solvers type:preconditioner This is related to the preconditioners type:matrix-format This is related to the Matrix formats type:factorization This is related to the Factorizations labels Sep 12, 2024
@MarcelKoch
Copy link
Member Author

MarcelKoch commented Sep 12, 2024

Link to the documentation at RTD: https://ginkgo-test.readthedocs.io/doxysphinx/index.html

@MarcelKoch MarcelKoch force-pushed the read-the-docs branch 5 times, most recently from 251d914 to 02a4a81 Compare September 13, 2024 09:02
This does the following things:
- add sphinx to create non-reference/api documentation
- move doxygen stuff into a subdirectory of the sphinx configuration
- enable read-the-docs to host documentation
The linop group is often added with other groups. These other groups are mostly subgroups of linop, so there is no need to specify it twice.
@MarcelKoch MarcelKoch added the 1:ST:ready-for-review This PR is ready for review label Sep 16, 2024
@thoasm thoasm self-requested a review February 13, 2025 11:55
@thoasm thoasm closed this Feb 13, 2025
@thoasm thoasm reopened this Feb 13, 2025
@thoasm
Copy link
Member

thoasm commented Feb 13, 2025

Sorry, clicked the close PR button by mistake.

@thoasm
Copy link
Member

thoasm commented Feb 13, 2025

Link to the documentation at RTD: https://ginkgo-test.readthedocs.io/en/read-the-docs/

This link results in a 404 error. Could you regenerate it or update the link?

@MarcelKoch
Copy link
Member Author

This should work: https://ginkgo-test.readthedocs.io/doxysphinx/index.html
I think this contains some changes with are also in #1680

@thoasm
Copy link
Member

thoasm commented Feb 13, 2025

Thanks, that link works!

Copy link
Member

@thoasm thoasm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the changes, and the documentation looks excellent!
However, when trying out the new documentation, I encountered an issue: It seems to be possible to access the old doxygen documentation, which leads to all links on the page becoming broken.
The easiest way to go to the old page is by clicking one of the links on the doxysphinx tab (not sure if that is the right expression) on the bottom right:
Screenshot 2025-02-14 at 11-01-42 User Guide — Ginkgo v1 9 0
After clicking any of the links in there, I assume the old style is used, and all of the links on the Doxygen page don't work anymore.
Here is the Doxysphinx page (that you shared): https://ginkgo-test.readthedocs.io/doxysphinx/index.html
And here is the page with the broken links I got when clicking a link on the tab bottom right: https://ginkgo-test.readthedocs.io/user-guide/

Unfortunately, I don't know how to fix it (I don't know where this tab is coming from), but it must be addressed to improve the user experience (maybe by simply removing this tab altogether).

Comment on lines +17 to +32
- |
cmake -S . -B build \
-DGINKGO_BUILD_DOC=ON \
-DGINKGO_DOC_GENERATE_PDF=OFF \
-DGINKGO_BUILD_EXAMPLES=ON \
-DGINKGO_BUILD_TESTS=OFF \
-DGINKGO_BUILD_BENCHMARKS=OFF \
-DGINKGO_BUILD_REFERENCE=ON \
-DGINKGO_BUILD_OMP=OFF \
-DGINKGO_BUILD_CUDA=OFF \
-DGINKGO_BUILD_HIP=OFF \
-DGINKGO_BUILD_SYCL=OFF \
-DGINKGO_BUILD_MPI=OFF
cmake --build build -t doxygen -- -j
mkdir -p $READTHEDOCS_OUTPUT/html/
mv build/doc/html/_doxygen $READTHEDOCS_OUTPUT/html/_doxygen
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: This is different from our normal YAML style. I would prefer not to use the literal style (the |) of YAML and instead make the purpose clear through indentation:

Suggested change
- |
cmake -S . -B build \
-DGINKGO_BUILD_DOC=ON \
-DGINKGO_DOC_GENERATE_PDF=OFF \
-DGINKGO_BUILD_EXAMPLES=ON \
-DGINKGO_BUILD_TESTS=OFF \
-DGINKGO_BUILD_BENCHMARKS=OFF \
-DGINKGO_BUILD_REFERENCE=ON \
-DGINKGO_BUILD_OMP=OFF \
-DGINKGO_BUILD_CUDA=OFF \
-DGINKGO_BUILD_HIP=OFF \
-DGINKGO_BUILD_SYCL=OFF \
-DGINKGO_BUILD_MPI=OFF
cmake --build build -t doxygen -- -j
mkdir -p $READTHEDOCS_OUTPUT/html/
mv build/doc/html/_doxygen $READTHEDOCS_OUTPUT/html/_doxygen
- cmake -S . -B build
-DGINKGO_BUILD_DOC=ON
-DGINKGO_DOC_GENERATE_PDF=OFF
-DGINKGO_BUILD_EXAMPLES=ON
-DGINKGO_BUILD_TESTS=OFF
-DGINKGO_BUILD_BENCHMARKS=OFF
-DGINKGO_BUILD_REFERENCE=ON
-DGINKGO_BUILD_OMP=OFF
-DGINKGO_BUILD_CUDA=OFF
-DGINKGO_BUILD_HIP=OFF
-DGINKGO_BUILD_SYCL=OFF
-DGINKGO_BUILD_MPI=OFF
- cmake --build build -t doxygen -- -j
- mkdir -p $READTHEDOCS_OUTPUT/html/
- mv build/doc/html/_doxygen $READTHEDOCS_OUTPUT/html/_doxygen

*
* <tr valign="top">
* <td>@subpage kokkos_assembly</td>
* <td> Use Kokkos to assemble as simple linear system.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: typo

Suggested change
* <td> Use Kokkos to assemble as simple linear system.
* <td> Use Kokkos to assemble a simple linear system.

Comment on lines +25 to +31
Tutorial <https://github.com/ginkgo-project/ginkgo/wiki/Tutorial:-Building-a-Poisson-Solver>
Examples <_doxygen/html/Examples.html#https://>
Publications <publications>
contributing
Using Ginkgo <using-ginkgo>
API <_doxygen/html/index.html#https://>
::: No newline at end of file
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the list of items on the left of the page you linked (https://ginkgo-test.readthedocs.io/doxysphinx/index.html) ? If so, there is an additional About Licensing between Using Ginkgo and the API that I can't explain.

@MarcelKoch
Copy link
Member Author

closed in favor of #1813

@MarcelKoch MarcelKoch closed this Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1:ST:ready-for-review This PR is ready for review mod:core This is related to the core module. reg:build This is related to the build system. reg:documentation This is related to documentation. type:factorization This is related to the Factorizations type:matrix-format This is related to the Matrix formats type:preconditioner This is related to the preconditioners type:solver This is related to the solvers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants