Fix broken links reported in linkcheck#6176
Fix broken links reported in linkcheck#6176Shivam-Bhardwaj wants to merge 1 commit intoros2:rollingfrom
Conversation
- Add linkcheck_ignore patterns for sites returning 403 errors - Add linkcheck_anchors_ignore for GitHub line number anchors - Fix internal relative links to use absolute docs.ros.org URLs - Fix broken anchor links in various documentation files - Update deprecated/moved external URLs This is a partial fix for issue ros2#4209. Addresses the most impactful broken links in tutorials, how-to guides, and release notes.
|
|
||
| For instructions on maintaining a source checkout of the **latest development version** of ROS 2, refer to | ||
| `Maintaining a source checkout of ROS 2 Rolling <../../rolling/Installation/Maintaining-a-Source-Checkout.html>`__ | ||
| `Maintaining a source checkout of ROS 2 Rolling <https://docs.ros.org/en/rolling/Installation/Maintaining-a-Source-Checkout.html>`__ |
There was a problem hiding this comment.
Thanks for the PR!
Unfortunately, I don't think we should hardcode https://docs.ros.org/en here and everywhere else. This is a weird link that the link checker complains about because we link to a different version of the docs, but someone else may want to build the docs and host them somewhere else (not https://docs.ros.org/en/), which means they'd have to change all of these.
I'd propose we reuse the value from the configuration file:
Line 188 in 6eacc23
We could possibly do this with a new macro, like these ones: https://docs.ros.org/en/rolling/The-ROS2-Project/Contributing/Contributing-To-ROS-2-Documentation.html#macros. This could be done in a separate PR to keeps PRs simple.
| """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| ``ros2 topic pub`` now allows to set a ``builtin_interfaces.msg.Time`` message to the current time via the ``now`` keyword. | ||
| Similarly, a ``std_msg.msg.Header`` message will be automatically generated when passed the keyword ``auto``. | ||
| This behavior matches that of ROS 1's ``rostopic`` (http://wiki.ros.org/ROS/YAMLCommandLine#Headers.2Ftimestamps) |
There was a problem hiding this comment.
Changing to https is great, but I would prefer to keep #Headers.2Ftimestamps to directly link to the relevant section. Same for the removal of other anchor links.
As mentioned in #4209, anchor link checking is broken/unreliable. It would be preferable to simply disable anchor link checking instead of removing them, since a potentially-invalid anchor link is still more useful than a simple link to a page/not to a specific section. An invalid anchor link will simply go to the top of the page, so it's not that bad.
| ``rmw_fastrtps_cpp`` uses `Shared Memory Transport <https://fast-dds.docs.eprosima.com/en/latest/fastdds/transport/shared_memory/shared_memory.html>`_ by default to improve the performance in the transport layer when the endpoints are in the same host system. | ||
| Security enclaves are still applied, and data will be encrypted. | ||
| However, you cannot capture live network traffic since the data will not be on the network interface. | ||
| If you are using ``rmw_fastrtps_cpp``, you need to either go through this tutorial and use a different host system between the publisher and subscriber, or disable shared memory transport with `Enabling UDP Transport <https://fast-dds.docs.eprosima.com/en/latest/fastdds/transport/udp/udp.html#enabling-udp-transport>`_ and `How to set Fast-DDS XML configuration <https://github.com/ros2/rmw_fastrtps#full-qos-configuration>`_. |
There was a problem hiding this comment.
Here, I would keep #full-qos-configuration, but change it to explicitly link to the current distro using the {DISTRO} macro, e.g., https://github.com/ros2/rmw_fastrtps/blob/{DISTRO}/README.md.
This way, if #full-qos-configuration isn't valid for a future distro, we can just change it for that distro.
| * :doc:`turtlesim installation <../../Beginner-CLI-Tools/Introducing-Turtlesim/Introducing-Turtlesim>` | ||
| * Have :doc:`rosdep installed <../../Intermediate/Rosdep>` | ||
| * Understanding of basic terminal commands (`here's a guide for Linux <https://www2.cs.sfu.ca/~ggbaker/reference/unix/>`__) | ||
| * Understanding of basic terminal commands (`here's a guide for Linux <https://ubuntu.com/tutorials/command-line-for-beginners>`__) |
There was a problem hiding this comment.
Looks like there's a new version of that tutorials here: https://documentation.ubuntu.com/desktop/en/latest/tutorial/the-linux-command-line-for-beginners/
| * `Support stream logging macros <https://github.com/ros2/rclcpp/pull/926>`__ | ||
| * `Per-node logging <https://github.com/ros2/ros2/issues/789>`__ - All stdout/stderr output from nodes are logged in ~/.ros | ||
| * `ros2doctor <https://index.ros.org/doc/ros2/Tutorials/Getting-Started-With-Ros2doctor/>`__ | ||
| * `ros2doctor <https://docs.ros.org/en/rolling/Tutorials/Beginner-Client-Libraries/Getting-Started-With-Ros2doctor.html>`__ |
There was a problem hiding this comment.
I think I would leave this link as-is.
Eloquent is an old/end-of-life distribution, and we don't really maintain the documentation for EOL distros. However, since each version of the docs has all "release" pages, it means we carry them forward in the docs of all distros. Keeping these pages up-to-date/valid over time would create too much work for us.
I would probably ignore link checking for Releases/Release-$DISTRO.rst pages that are not the same as the current distro/version of the docs. Can we do this?
Summary
This PR addresses issue #4209 by fixing broken links found by
make linkcheck.Changes
conf.py: Added
linkcheck_ignoreandlinkcheck_anchors_ignorepatterns for:Release notes (8 files): Fixed internal relative links:
../../{distro}/Installation.htmlto absolutehttps://docs.ros.org/en/{distro}/Installation.htmlTutorial/Guide fixes:
Testing
make htmlbuilds successfullysphinx-lint sourcepassesdoc8 sourcepassesmake spellcheckpassesNotes
This is a partial fix for #4209. The full list of broken links is extensive (100+), and many are in historical release notes pointing to GitHub commits/PRs that have been deleted or moved. This PR focuses on the most impactful fixes for tutorials, how-to guides, and configuration.
Closes #4209