|
61 | 61 | "together with the signature, into a web page.\n",
|
62 | 62 | "\n",
|
63 | 63 | "The most popular is [Doxygen](http://www.doxygen.nl/).\n",
|
64 |
| - "[Have a look at an example of some Doxygen output](\n", |
65 |
| - "http://www.bempp.org/cppref/2.0/group__abstract__boundary__operators.html).\n", |
66 | 64 | "\n",
|
67 |
| - "[Sphinx](http://sphinx-doc.org/) is nice for Python, and works with C++ as well.\n", |
68 |
| - "Here's some [Sphinx-generated output](http://www.bempp.org/pythonref/2.0/bempp_visualization.html)\n", |
69 |
| - "and the [corresponding source code](https://bitbucket.org/bemppsolutions/bempp/src/8f10af0b0b4a94bc36c6236eb9ddb2a34cde1756/python/bempp/visualization.py?at=v2.0.2&fileviewer=file-view-default).\n", |
70 |
| - "[Breathe](https://breathe.readthedocs.io/en/latest/) can be used to make Sphinx and Doxygen work together.\n", |
| 65 | + "Here are some other documentation tools used in different languages, have a look at the generated and source examples:\n", |
71 | 66 | "\n",
|
72 |
| - "[Roxygen](https://cran.r-project.org/web/packages/roxygen2/vignettes/roxygen2.html) is good for R.\n" |
| 67 | + "\n", |
| 68 | + "| Language | Name | Output example | source |\n", |
| 69 | + "| --- | --- | --- | --- |\n", |
| 70 | + "| Multiple | [Doxygen](http://www.doxygen.nl/) | [`Array` docs](https://eigen.tuxfamily.org/dox/classEigen_1_1Array.html) | [`Array` docstring source](https://gitlab.com/libeigen/eigen/-/blob/55e3ae02ac1f13fbcc7a83f5e37a39fd2b142db1/Eigen/src/Core/Array.h#L26-L45) |\n", |
| 71 | + "| Python | [Sphinx](http://sphinx-doc.org/) | [`numpy.ones` docs](https://numpy.org/doc/1.21/reference/generated/numpy.ones.html) | [`numpy.ones` docstring source](https://github.com/numpy/numpy/blob/v1.21.0/numpy/core/numeric.py#L149-L206) |\n", |
| 72 | + "| R | [Roxygen](https://cran.r-project.org/web/packages/roxygen2/vignettes/roxygen2.html) | | |\n", |
| 73 | + "| Julia | [Documnenter.jl](https://juliadocs.github.io/Documenter.jl/stable/) | [`ones` docs](https://docs.julialang.org/en/v1/base/arrays/#Base.ones) | [`ones` docstring source](https://github.com/JuliaLang/julia/blob/ae8452a9e0b973991c30f27beb2201db1b0ea0d3/base/array.jl#L475-L493) |\n", |
| 74 | + "| Fortan | [FORD](https://github.com/Fortran-FOSS-Programmers/ford) | [`arange` docs](https://stdlib.fortran-lang.org/interface/arange.html) | [`arange` docstring source](https://github.com/fortran-lang/stdlib/blob/d14fca8e7cc36ed5f6f84d2bf576c91c2e54eb07/src/stdlib_math.fypp#L276-L290) |\n", |
| 75 | + "| Rust | [rustdoc](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html) | [`Matrix` docs](https://docs.rs/nalgebra/0.18.0/nalgebra/base/struct.Matrix.html) | [`Matrix` docstring source](https://github.com/dimforge/nalgebra/blob/8ea8ac70d5ad4bae865e6246a48455bf0b3fa3d2/src/base/matrix.rs#L59-L157) |\n", |
| 76 | + "\n", |
| 77 | + "[Breathe](https://breathe.readthedocs.io/en/latest/) can be used to make Sphinx and Doxygen work together (good to keep documentation, for example, of a c++ project that includes python bindings).\n", |
| 78 | + "\n" |
73 | 79 | ]
|
74 | 80 | },
|
75 | 81 | {
|
|
95 | 101 | "There are various conventions for how to write docstrings, but the native Sphinx one doesn't look nice when used with\n",
|
96 | 102 | "the built in `help` system.\n",
|
97 | 103 | "\n",
|
98 |
| - "In writing Greeter, we used the docstring conventions from NumPy.\n", |
99 |
| - "So we use the [numpydoc](https://numpydoc.readthedocs.io/en/latest/) sphinx extension to \n", |
| 104 | + "In writing Greeter, we used the [docstring conventions from NumPy](https://numpy.org/doc/stable/docs/howto_document.html).\n", |
| 105 | + "So we use the [`numpydoc`](https://numpydoc.readthedocs.io/en/latest/) sphinx extension to\n", |
100 | 106 | "support these (Note: you will need to install this extension for the later examples to work)."
|
101 | 107 | ]
|
102 | 108 | },
|
|
0 commit comments