Skip to content

Doxygen documentation update (O2-525)#1813

Merged
dberzano merged 8 commits into
AliceO2Group:devfrom
ihrivnac:doxygen-update
Apr 16, 2019
Merged

Doxygen documentation update (O2-525)#1813
dberzano merged 8 commits into
AliceO2Group:devfrom
ihrivnac:doxygen-update

Conversation

@ihrivnac
Copy link
Copy Markdown
Contributor

Introduced structuring of documentation pages:

  • Added README.md to all top directories
  • Added \page definitions in all existing .md files
  • Added doc/DoxygenInstruction.md

@dberzano
Copy link
Copy Markdown
Contributor

Hi @ihrivnac, thank you very much for your PR! I have two questions:

  • Can you please generate the webpages and have them published to your web space, so that we can see them (and discuss tomorrow at WP3?)
  • Does this PR solve the problem of Doxygen tags being mixed up with Markdown?

Thanks for your efforts!

@dberzano dberzano changed the title Doxygen documentation update Doxygen documentation update (O2-525) Mar 20, 2019
Comment thread doc/doxyfile.in Outdated
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?

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.

This was my temporary change to make doxygen generation faster, now reverted

@ihrivnac
Copy link
Copy Markdown
Contributor Author

Hi @dberzano ,

The new generated documentation is available at:
http://ivana.home.cern.ch/ivana/o2_html3/index.html

The PR does not solve the problem of Doxygen tags being mixed up with Markdown; the problem is that Markdown processing precedes Doxygen and so if we comment out the Doxygen keywords for Markdown, they are not seen by Doxygen.

A reasonable compromise is to have the top README.md page free of Doxygen keywords, but use them in the bottom pages. Otherwise we would need to think about implementing some filtering procedure which would be triggered from CMake when generating documentation. But I don't think that it is worth the effort.

@ktf
Copy link
Copy Markdown
Member

ktf commented Mar 22, 2019 via email

@ihrivnac
Copy link
Copy Markdown
Contributor Author

Not necessarily, but with using these we make get clearer documentation when referring to this page from other place: eg. see more in Module XXX, instead of see more in XXX.
And the second reason for this that it makes non-structured bottom pages (if someones add a new page without the Doxygen keywords) better apparent in the list on the left.

@ktf
Copy link
Copy Markdown
Member

ktf commented Mar 22, 2019 via email

@ihrivnac
Copy link
Copy Markdown
Contributor Author

Yes for the first reason; but not for the second one. Actually in the re-generated documentation there is a newly added page "O2 Framework Foundation" which pollutes the global "namespace". Once the "Module " is removed this would get hidden in the list of the top directories.
But if you are really bothered with this naming, I have no problem with removing it.

@aphecetche
Copy link
Copy Markdown
Collaborator

Thanks Ivana for the updated doc.

The markdown thingy is still bothering me. There is one more problem : the code samples. They are not colorized in doxygen (and the language hint of the markdown does appear as well in the doxygen generated page).

In fact, the issue is a bit more general for me : I much prefer the rendering of GitHub markdown than the Doxygen one : I find it easier to read. So, am I challenging the need for Doxygen altogether ? Well, maybe ...

Capture d’écran 2019-03-22 à 11 20 50

@ihrivnac
Copy link
Copy Markdown
Contributor Author

This is because you are using Markdown syntax for code highlighting; when replacing
-```c++
+\code{.cpp}
you get the code highlighted in Doxygen documentation:
Doxygen_code_cpp

To get both, we would need again to implement some filtering to get rid off the other tool keywords in the representation.

@ktf
Copy link
Copy Markdown
Member

ktf commented Mar 25, 2019 via email

@dberzano
Copy link
Copy Markdown
Contributor

I fully agree with @ktf. Code must render properly here on GitHub using standard Markdown.

  • Note it's possible to preprocess code in Doxygen using an input filter: we can have it working properly here on GH, and stripped out of all the things Doxygen does not like thanks to the filter
  • AFAIK Doxygen can already correctly interpret the Markdown syntax for code blocks, and you can mix Doxygen and Markdown if you want. What am I missing here?

@ihrivnac
Copy link
Copy Markdown
Contributor Author

Yes, Doxygen can render ok Markdown but Markdown does not understand Doxygen keywords which we need to create a structure of documentation pages. So we need to make these keywords invisible for Markdown, but then filter-out the Markdown comments to get the keywords seen by Doxygen,

There is now updated the README in Utilities, see:
https://github.com/ihrivnac/AliceO2/tree/doxygen-update/Utilities

and its source:
https://raw.githubusercontent.com/ihrivnac/AliceO2/doxygen-update/Utilities/README.md

The filtering command, which should be applied for processing with doxygen should be:

cat source/README.md | sed '/<!-- For Doxygen/d' | sed '/---- end Doxygen -->/d' > destination/README..md

If you find this way ok, I will take a look how to introduce the command above in the Doxygen filter. Or if you know how to do it, let me know.

@ihrivnac
Copy link
Copy Markdown
Contributor Author

I added the filtering in the Doxygen configuration file; this uses a new script filter_for_doxygen.sh added in doc/scripts. If this approach is ok for you, I will update the other README files as done for Utilities, plus the documentation page.

@ihrivnac
Copy link
Copy Markdown
Contributor Author

Hi @ktf @dberzano,
Could you, please, comment on the proposal above?
Thanks,
.

ihrivnac added 7 commits April 2, 2019 10:20
- Added README.md to all top directories
- Added \page definitions in all existing .md files
- Removed update for investigation of coexistence Markdown/Doxygen pages
- Changed Package to Module in the documentation pages
@sawenzel
Copy link
Copy Markdown
Collaborator

sawenzel commented Apr 9, 2019

Discussion seems to have stalled here. We should address this in the next WP3 meeting (@dberzano).

@dberzano
Copy link
Copy Markdown
Contributor

@ihrivnac as discussed at the last WP3: this one is good to be merged, except for one very minor thing. We now have:

<!-- For Doxygen
\page refUtilities Module 'Utilities'
---- end Doxygen -->

We believe we can have it much shorter:

<!-- doxy
\page refUtilities Module 'Utilities'
/doxy -->

This means that the script can simply do:

sed -e 's|<!-- doxy||; s|/doxy -->||' "$1"

With this one modification we're good to go. I took care of it so I am merging it.

Thanks @ihrivnac for making it happen!

@dberzano dberzano merged commit 268e5f2 into AliceO2Group:dev Apr 16, 2019
EmilGorm pushed a commit to EmilGorm/AliceO2 that referenced this pull request Apr 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants