Skip to content

[doc] Fixathon 2: documentation sprint#22289

Open
siliataider wants to merge 17 commits into
masterfrom
fixathon_docs
Open

[doc] Fixathon 2: documentation sprint#22289
siliataider wants to merge 17 commits into
masterfrom
fixathon_docs

Conversation

@siliataider
Copy link
Copy Markdown
Contributor

@siliataider siliataider commented May 13, 2026

Cleanup, refactoring, cheat sheets, etc.

Changes summary

General

  • Remove source files from doxygen groups (\file xxx \ingroup yyy). These clutter the overview without adding useful documentation.
  • Remove/reorder groups that are used infrequently.
  • Enable inlining of inherited functions into the overview list. This significantly simplifies viewing/searching the available interface of a class.

Python Interface

  • Updated the dedicated Python Interface top-level section in the Doxygen navigation, with a landing page covering installation, quickstart and a quick overview
  • Added a new structured RDataLoader page walking users through data preparation, loader configuration, batch iteration etc.
  • Revamped the UHI page with an updated intro and a new Serialization section
  • Added two cheat sheets (RDataLoader and UHI) as a proof of concept (one-page PDF references downloadable and embedded directly in the docs too)
    • TODO: update the UHi cheatsheet to make the plotting section more prominent
    • TODO: once enough cheat sheets exist, refactor them into a dedicated Cheat Sheets index page

Search Engine

  • No changes for the moment

Preview

See a preview of the doxygen page here:
https://root.cern/doc/hackathon/index.html

Note: This webpage does not contain the full doyxgen run. Macros embedded in the source code are not being run.

Copy link
Copy Markdown
Collaborator

@ferdymercury ferdymercury left a comment

Choose a reason for hiding this comment

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

Thanks a lot for this endeavor!

Two remarks

  • QHP generation shouldn't be disabled for main Doxyfile since it's used to publish qch file which is fundamental for qtcreator IDE
  • it would be a lot cleaner if you used, as ALICE O2, this approach: #17426 rather than having two huge Doxyfiles almost impossible to review and annoying to maintain with warnings depending on version, etc

Comment thread documentation/doxygen/Doxyfile Outdated
# This tag requires that the tag GENERATE_HTML is set to YES.

GENERATE_QHP = YES
GENERATE_QHP = NO
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
GENERATE_QHP = NO
GENERATE_QHP = YES

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

OK, we won't touch it. I thought nobody uses this. 😅

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

:) thanks
It's nice because it allows you press F1 in the IDE:
https://user-images.githubusercontent.com/10653970/154870916-28e4009d-eb70-46df-a52b-da81cfe3c97f.png
and that works also offline / no need to open web browser

Comment thread hist/hist/src/TH2.cxx Outdated
@hageboeck hageboeck added the clean build Ask CI to do non-incremental build on PR label May 15, 2026
@siliataider siliataider marked this pull request as ready for review May 15, 2026 14:19
Copy link
Copy Markdown
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

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

Thank you for all of this work! I have reviewed the Python part of the PR, here are some comments from my side.

Comment thread bindings/pyroot/pythonizations/doc/index.md
Comment thread bindings/pyroot/pythonizations/doc/index.md Outdated
Comment thread bindings/pyroot/pythonizations/doc/index.md Outdated
Comment thread bindings/pyroot/pythonizations/python/ROOT/_pythonization/dataloader.md Outdated
Comment thread bindings/pyroot/pythonizations/python/ROOT/_pythonization/dataloader.md Outdated
Comment thread bindings/pyroot/pythonizations/python/ROOT/_pythonization/dataloader.md Outdated
Comment thread bindings/pyroot/pythonizations/python/ROOT/_pythonization/dataloader.md Outdated
Comment thread bindings/pyroot/pythonizations/python/ROOT/_pythonization/dataloader.md Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 15, 2026

Test Results

    22 files      22 suites   3d 8h 41m 29s ⏱️
 3 852 tests  3 852 ✅ 0 💤 0 ❌
76 090 runs  76 090 ✅ 0 💤 0 ❌

Results for commit fae36de.

♻️ This comment has been updated with latest results.

Comment thread bindings/pyroot/pythonizations/doc/index.md Outdated
Comment thread bindings/pyroot/pythonizations/doc/interop.md Outdated
Comment thread bindings/pyroot/pythonizations/python/ROOT/_pythonization/dataloader.md Outdated
*************************************************************************/

/**
* \defgroup treeplayer TTreePlayer
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why this change? TTreePlayer is the correct name of the class.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Quoting @hageboeck, either is fine, it's the Treeplayer library or the class TTreePlayer.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Indeed, but why this change was done I don't know. 🙂

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I remember there was a discussion about the need to have the name of the doxygen group be the same name of the actual class so that it would show up properly on the left-bar. That discusion was in the context of the RDataLoader, so perhaps it doesn't apply here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I just reverted the change

hageboeck and others added 13 commits May 19, 2026 14:14
- Move the web widgets to the webdisplay group.
- Move webdisplay to GUI group.
- Put the parametric functions group under Math.
- Regroup I/O doxygen groups.
- Move doxygen GUI group to Graphics

Co-authored-by: martinfoell <m.foell.1999@gmail.com>
- Remove internal and detail classes from RDF group.
- Remove source files from RDF group.
- Expand docs of RDataFrame overview page.
- Structure documentation of RDataFrame API.
…xygen group.

Listing files on the doxygen page doesn't have a lot of benefit.
Instead, we will list the contained classes.
- Enable sorting of groups in the treeview
- Enable right-hand side scrolling site overview
- Add "make preview" for a fast preview mode without ROOT
  customisations, with MT processing, and without dot graphs
- Enable inlining of inherited members into the overview of class
  functions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants