Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Doxygen/docs links and expand documentation index page #1052

Merged
merged 2 commits into from
Nov 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions blog/_posts/2022-03-01-code-horsepower-f1.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ You can not only check the documentation with <kbd>F1</kbd>, but fully open the

Alternatively, you can also open the *Help Books* and search them using [Qt Assistant](https://doc.qt.io/qt-5/assistant-details.html). Linux *apt* packages are `qt4-dev-tools` or `qt5-assistant`, and the executables are `assistant-qt4` and `assistant`, respectively. (`qt6` version is not yet in the package manager.) You will have to add the `.qch` file to its database by going to "Edit", "Preferences", "Documentation", "Add".

And if you already use other IDEs or operating systems ? In addition to [inline HTML searching](https://www.doxygen.nl/manual/searching.html), the building of the (*ROOT*) doxygen documentation can be configured to output a format that is compatible with *MacOS* - [Xcode](https://www.doxygen.nl/manual/config.html#cfg_generate_docset), *Windows* - [VSstudio](https://www.doxygen.nl/manual/config.html#cfg_generate_htmlhelp), or [Eclipse](https://www.doxygen.nl/manual/config.html#cfg_generate_eclipsehelp). *ROOT* [only provides for download](https://root.cern/reference/) the *Qt* help files (`.qch`) for the moment, but you can [build the documentation yourself](https://root.cern/for_developers/doxygen/) adapting those flags in the *Doxyfile*.
And if you already use other IDEs or operating systems ? In addition to [inline HTML searching](https://www.doxygen.nl/manual/searching.html), the building of the (*ROOT*) doxygen documentation can be configured to output a format that is compatible with *MacOS* - [Xcode](https://www.doxygen.nl/manual/config.html#cfg_generate_docset), *Windows* - [VSstudio](https://www.doxygen.nl/manual/config.html#cfg_generate_htmlhelp), or [Eclipse](https://www.doxygen.nl/manual/config.html#cfg_generate_eclipsehelp). *ROOT* [only provides for download](https://root.cern/reference/) the *Qt* help files (`.qch`) for the moment, but you can [build the documentation yourself](https://root.cern/for_developers/docs/) adapting those flags in the *Doxyfile*.

### The Power of Clang

Expand Down Expand Up @@ -145,7 +145,7 @@ Beware:

QtCreator lets you not only find compilation errors, but also documentation errors, by interfacing with the warnings issued by *doxygen*. This metawarning function can prove extremely useful for detecting outdated or incorrect documentation and going to the right spot in the source code in just one click, rather than diving through [thousands of lines of output](https://lcgapp-services.cern.ch/root-jenkins/view/ROOT/job/root-makedoc-master/lastBuild/consoleText) and tracing it manually.

To give it a try, take a look at building the [ROOT documentation project](https://root.cern/for_developers/doxygen/). Follow these steps:
To give it a try, take a look at building the [ROOT documentation project](https://root.cern/for_developers/docs/). Follow these steps:

- Call first `source /path/to/ROOT/bin/thisroot.sh` in the terminal and launch `qtcreator` from there. Alternatively, you can manually specify all the variables in the "Build" environment.
- Import the *Makefile* located in `root/documentation/doxygen` into *QtCreator*, as explained [above](#open-a-c-cmake-project)
Expand Down
2 changes: 1 addition & 1 deletion contribute/coding_conventions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ In ROOT 5 all classes are in the `ROOT` namespace. Some packages will be in a su
## Using comments
ROOT chose [Doxygen](https://www.doxygen.nl){:target="_blank"} for its code documentation:
please refer to
[this page]({{'for_developers/doxygen' | relative_url}}) for all the details.
[this page]({{'for_developers/docs' | relative_url}}) for all the details.

## Source file layout

Expand Down
3 changes: 1 addition & 2 deletions for_developers/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ sidebar:
---

The ROOT team has adopted [Doxygen](https://www.doxygen.nl){:target="_blank"} for generating
the [Reference Guide](https://root.cern/doc/master/){:target="_blank"}. In this section, you will find a number of conventions
and tips to be used in source code to generate proper documentation.
the [Reference Guide](https://root.cern/doc/master/){:target="_blank"}. In this section, you will find [our documentation guidelines]({{'for_developers/docs/guidelines' | relative_url}}), how to [run Doxygen locally]({{'for_developers/docs/local_doxygen' | relative_url}}), how to add [documentation for ROOT's pythonizations]({{'for_developers/docs/pythonizations' | relative_url}}) and a number of [useful tips formatting tips]({{'for_developers/docs/useful_tips' | relative_url}}).
2 changes: 1 addition & 1 deletion for_developers/docs/pythonizations.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebar:
nav: "for_developers"
---

Some ROOT classes have *pythonizations* that require additional documentation. These can be added as special boxes to the rendered Doxygen page of their corresponding C++ class. As an example, see the Python-specific [RDataFrame](https://root.cern/doc/master/classROOT_1_1RDataFrame.html#python) docs. This documentation is written in the pythonization files corresponding to the original C++ class, which can be found in `<root_sources>/bindings/pyroot/pythonizations/python/ROOT/_pythonization`. Documentation is added as a module-level docstring, which should following the template below, replacing `{CLASS_NAME}` with the corresponding C++ class name, `{BLOCK_TITLE}` with the title of the documentation block (in most cases, "PyROOT" is used) and `{DOCUMENTATION_BODY}` with the documentation body, which supports the usual Doxygen tags and other formatting methods (see also the [documentation formatting tips](../useful_tips)).
Some ROOT classes have *pythonizations* that require additional documentation. These can be added as special boxes to the rendered Doxygen page of their corresponding C++ class. As an example, see the Python-specific [RDataFrame](https://root.cern/doc/master/classROOT_1_1RDataFrame.html#python) docs. This documentation is written in the pythonization files corresponding to the original C++ class, which can be found in `<root_sources>/bindings/pyroot/pythonizations/python/ROOT/_pythonization`. Documentation is added as a module-level docstring, which should following the template below, replacing `{CLASS_NAME}` with the corresponding C++ class name, `{BLOCK_TITLE}` with the title of the documentation block (in most cases, "PyROOT" is used) and `{DOCUMENTATION_BODY}` with the documentation body, which supports the usual Doxygen tags and other formatting methods (see also the [documentation formatting tips]({{'for_developers/docs/useful_tips' | relative_url}})).

```
r"""
Expand Down
2 changes: 1 addition & 1 deletion for_developers/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ ROOT externals coming from the central installations in AFS or CVMFS.
- [Jenkins Service](https://lcgapp-services.cern.ch/root-jenkins/)
- [Bug Reports](https://github.com/root-project/root/issues/new)

### [Doxygen in ROOT]({{'/for_developers/doxygen' | relative_url}})
### [Documentation in ROOT]({{'/for_developers/docs' | relative_url}})
[Doxygen](https://www.doxygen.nl/){:target="_blank"} is used for generating
the [Reference Guide](https://root.cern/doc/master/){:target="_blank"}.

Expand Down
Loading