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

Support external_doc_url option #153

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rkent
Copy link
Contributor

@rkent rkent commented Oct 30, 2024

Some of the larger projects have their own documentation that is built independently of rosdoc2. Rather than trying to duplicate their efforts, we should just allow the projects to add their own link in the 'documentation' area of rosdoc2.

This has the downside that the user leaves the rosdoc2 site, but I still think it is the better option for these projects.

When this PR is built, it should not show any changes since this is a new unused option, but you could see it in the tests. In my full runs, there are a number of sites with this applied (using the previous PR --yaml-extend): pinocchio, fastrtps, beluga, ign_rviz, grbl_ros, fields2cover, depthai-ros. So for example see https://rosdoc2.rosdabbler.com/humble/fields2cover/ and check the Documentation link. (These all also have additional options applied to suppress the local building of Doxygen, which is not part of the current PR).

@tfoote
Copy link
Member

tfoote commented Oct 31, 2024

One thought reading this quickly but not having time to fully review. We also have a documentation url in the package.xml we should make sure not to duplicate.

@rkent
Copy link
Contributor Author

rkent commented Oct 31, 2024

You've got a good point.

If you look at my use of this option, all of the use cases are combined with suppressing the API generation. So the concept that needs expressing is sort of "We have externally-generated extensive documentation, with our own Doxygen and/or Sphinx options that are properly executed. Don't try to guess what we want, just show our documentation."

The documentation link is more "Here's an external site that might also be helpful." They might point to the old Wiki, or just to their repo.

So there are in my mind two distinct sets of situations that need options.

@rkent rkent marked this pull request as draft November 2, 2024 13:26
@rkent
Copy link
Contributor Author

rkent commented Nov 2, 2024

@tfoote I thought about what you said, and I think the right thing to do is going to be to invert the meaning of this option, so the option instead disables the display of the "Documentation" link outside of the "Link" section. The usage is for large projects that have their own website that generates complete documentation using possibly the doc/ directory. Out display of that directory is then duplicative. They can the rely on the Links/Documentation exposure of their website. I'll leave the other (future PR) options of never_run_doxygen and never_run_sphinx_apidoc which disable our trying to parse their code. In most cases, those large sites already have documentation of their API in their external documentation, and our attempts to generate it can either cause very large runtimes, or crashes the whole program and causes their entire rosdoc2 entry to be lost.

@tfoote
Copy link
Member

tfoote commented Nov 8, 2024

Yeah, I like that idea to basically make this say there's external project documentation and it should link to that instead of building locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants