Skip to content
Open
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
23 changes: 23 additions & 0 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,29 @@
'sphinxcontrib.mermaid',
]

# Linkcheck configuration
# Ignore patterns for links that return 403 (sites blocking automated requests)
# or have anchor format issues that aren't actually broken
linkcheck_ignore = [
r'https://www\.zazzle\.com/.*', # 403 - works in browser
r'https://www\.raspberrypi\.com/.*', # 403 - works in browser
r'https://www\.intel\.com/.*', # 403 - works in browser
r'https://www\.science\.org/.*', # 403 - works in browser
r'https://matrix\.to/.*', # Matrix links use fragment identifiers that aren't anchors
r'https://linux\.die\.net/.*', # 403 - works in browser
r'https://pyyaml\.docsforge\.com/.*', # SSL issues
r'https://www2\.cs\.sfu\.ca/.*', # SSL certificate issues
]

# Anchors to ignore (patterns that look like anchors but aren't standard HTML anchors)
linkcheck_anchors_ignore = [
r'^L\d+', # GitHub line number anchors (e.g., #L41, #L399-L401)
r'^/\+', # Matrix.to space identifiers
r'^/#', # Matrix.to room identifiers
r'^/!', # Matrix.to event identifiers
r'^t=', # Video timestamp anchors (e.g., #t=29m15s)
]

# Intersphinx mapping

intersphinx_mapping = {
Expand Down
2 changes: 1 addition & 1 deletion source/How-To-Guides/Ament-CMake-Documentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ In order to separate testing from building the library with colcon, wrap all cal
Linting
^^^^^^^

It's advised to use the combined call from `ament_lint_auto <https://github.com/ament/ament_lint/blob/{REPOS_FILE_BRANCH}/ament_lint_auto/doc/index.rst#ament_lint_auto>`_:
It's advised to use the combined call from `ament_lint_auto <https://github.com/ament/ament_lint/blob/{REPOS_FILE_BRANCH}/ament_lint_auto/doc/index.rst>`_:

.. code-block:: cmake

Expand Down
2 changes: 1 addition & 1 deletion source/Installation/Maintaining-a-Source-Checkout.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Maintain source checkout
.. note::

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>`__
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.

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:

html_baseurl = 'https://docs.ros.org/en'

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.


.. contents::
:depth: 2
Expand Down
2 changes: 1 addition & 1 deletion source/Releases/Release-Dashing-Diademata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ For more information about RMW implementations, compiler / interpreter versions,
Installation
------------

`Install Dashing Diademata <../../dashing/Installation.html>`__
`Install Dashing Diademata <https://docs.ros.org/en/dashing/Installation.html>`__

New features in this ROS 2 release
----------------------------------
Expand Down
4 changes: 2 additions & 2 deletions source/Releases/Release-Eloquent-Elusor.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ For more information about RMW implementations, compiler / interpreter versions,
Installation
------------

`Install Eloquent Elusor <../../eloquent/Installation.html>`__
`Install Eloquent Elusor <https://docs.ros.org/en/eloquent/Installation.html>`__

New features in this ROS 2 release
----------------------------------
Expand All @@ -44,7 +44,7 @@ A few features and improvements we would like to highlight:
* `Passing key-value parameters on CLI <https://github.com/ros2/design/pull/245>`__
* `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>`__
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 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?

* `Improved performance of sourcing setup files <https://github.com/ros2/ros2/issues/764>`__
* rviz: `interactive markers <https://github.com/ros2/rviz/pull/457>`__, `torque ring <https://github.com/ros2/rviz/pull/396>`__, `tf message filters <https://github.com/ros2/rviz/pull/375>`__
* rqt: `parameter plugin <https://github.com/ros-visualization/rqt_reconfigure/pull/31>`__, `tf tree plugin <https://github.com/ros-visualization/rqt_tf_tree/pull/13>`__, `robot steering plugin <https://github.com/ros-visualization/rqt_robot_steering/pull/7>`__ (also backported to Dashing)
Expand Down
2 changes: 1 addition & 1 deletion source/Releases/Release-Foxy-Fitzroy.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ For more information about RMW implementations, compiler / interpreter versions,
Installation
------------

`Install Foxy Fitzroy <../../foxy/Installation.html>`__
`Install Foxy Fitzroy <https://docs.ros.org/en/foxy/Installation.html>`__

New features in this ROS 2 release
----------------------------------
Expand Down
2 changes: 1 addition & 1 deletion source/Releases/Release-Galactic-Geochelone.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ For more information about RMW implementations, compiler / interpreter versions,
Installation
------------

`Install Galactic Geochelone <../../galactic/Installation.html>`__
`Install Galactic Geochelone <https://docs.ros.org/en/galactic/Installation.html>`__

New features in this ROS 2 release
----------------------------------
Expand Down
6 changes: 3 additions & 3 deletions source/Releases/Release-Humble-Hawksbill.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ For more information about RMW implementations, compiler / interpreter versions,
Installation
------------

`Install Humble Hawksbill <../../humble/Installation.html>`__
`Install Humble Hawksbill <https://docs.ros.org/en/humble/Installation.html>`__

Changes in Patch Release 1 (2022-11-23)
---------------------------------------
Expand All @@ -53,7 +53,7 @@ ros2topic
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
``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)
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.

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.

This behavior matches that of ROS 1's ``rostopic`` (https://wiki.ros.org/ROS/YAMLCommandLine)

Related PR: `ros2/ros2cli#751 <https://github.com/ros2/ros2cli/pull/751>`_

Expand Down Expand Up @@ -949,7 +949,7 @@ These topics will no longer be automatically added to the bag.
Known Issues
------------

* When `installing ROS 2 on an Ubuntu 22.04 Jammy host <../../humble/Installation/Ubuntu-Install-Debians.html>`__ it is important to update your system before installing ROS 2 packages.
* When `installing ROS 2 on an Ubuntu 22.04 Jammy host <https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html>`__ it is important to update your system before installing ROS 2 packages.
It is *particularly* important to make sure that ``systemd`` and ``udev`` are updated to the latest available version otherwise installing ``ros-humble-desktop``, which depends on ``libudev1``, could cause the removal of system critical packages.
Details can be found in `ros2/ros2#1272 <https://github.com/ros2/ros2/issues/1272>`_ and `Launchpad #1974196 <https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1974196>`_

Expand Down
2 changes: 1 addition & 1 deletion source/Releases/Release-Iron-Irwini.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ For more information about RMW implementations, compiler / interpreter versions,
Installation
------------

`Install Iron Irwini <../../iron/Installation.html>`__
`Install Iron Irwini <https://docs.ros.org/en/iron/Installation.html>`__

New features in this ROS 2 release
----------------------------------
Expand Down
2 changes: 1 addition & 1 deletion source/Tutorials/Advanced/Security/Examine-Traffic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ In this tutorial we'll take a look at capturing live network traffic to show the
``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>`_.
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.

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.

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>`_.

Prerequisites
-------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ It is also possible to install it from sources.
Install UTM on your macOS machine.
The link can be found on the `official UTM website <https://mac.getutm.app/>`_.

Download the ``.iso`` image of `Ubuntu 22.04 <https://cdimage.ubuntu.com/jammy/daily-live/current/>`_ for Humble and Rolling or `Ubuntu 20.04 <https://cdimage.ubuntu.com/focal/daily-live/pending/>`_ for Foxy.
Download the ``.iso`` image of `Ubuntu 22.04 <https://cdimage.ubuntu.com/jammy/daily-live/current/>`_ for Humble and Rolling or `Ubuntu 20.04 <https://releases.ubuntu.com/focal/>`_ for Foxy.
Be sure to download the image corresponding to your CPU architecture.

In the UTM software:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ The ``SpawnNodeFromString`` type expects a ``data`` string as input and returns

From the given string, the Supervisor node is getting the name of the imported node and adding it to an intern list for potential later removal (see :ref:`Remove a Webots imported node`).

The node is imported using the ``importMFNodeFromString(nodeString)`` `API function <https://cyberbotics.com/doc/reference/supervisor?tab-language=python#wb_supervisor_field_import_mf_node_from_string>`_.
The node is imported using the ``importMFNodeFromString(nodeString)`` `API function <https://cyberbotics.com/doc/reference/supervisor?tab-language=python>`_.

Here is an example to import a simple Robot named ``imported_robot``:

Expand All @@ -107,7 +107,7 @@ Once a node has been imported with the ``/Ros2Supervisor/spawn_node_from_string`

This can be achieved by sending the name of the node to the topic named ``/Ros2Supervisor/remove_node`` of type ``std_msgs/msg/String``.

If the node is indeed in the imported list, it is removed with the ``remove()`` `API method <https://cyberbotics.com/doc/reference/supervisor?tab-language=python#wb_supervisor_node_remove>`_.
If the node is indeed in the imported list, it is removed with the ``remove()`` `API method <https://cyberbotics.com/doc/reference/supervisor?tab-language=python>`_.

Here is an example on how to remove the ``imported_robot`` Robot:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Prerequisites
* `git installation <https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>`__
* :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>`__)
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.

* Text editor of your choice

Tasks
Expand Down
2 changes: 1 addition & 1 deletion source/Tutorials/Intermediate/Rosdep.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ What if my library isn't in rosdistro?
If your library isn't in ``rosdistro``, you can experience the greatness that is open-source software development: you can add it yourself!
Pull requests for rosdistro are typically merged well within a week.

`Detailed instructions may be found here <https://github.com/ros/rosdistro/blob/master/CONTRIBUTING.md#rosdep-rules-contributions>`_ for how to contribute new rosdep keys.
`Detailed instructions may be found here <https://github.com/ros/rosdistro/blob/master/CONTRIBUTING.md>`_ for how to contribute new rosdep keys.
If for some reason these may not be contributed openly, it is possible to fork rosdistro and maintain a alternate index for use.

How do I use the rosdep tool?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ a) Creating the Cluster
^^^^^^^^^^^^^^^^^^^^^^^

Create a cluster using the Console.
The instructions are found `here <https://cloud.ibm.com/docs/containers?topic=containers-clusters#clusters_ui>`__.
The instructions are found `here <https://cloud.ibm.com/docs/containers?topic=containers-clusters>`__.
The settings used are detailed below.
These are merely suggestions and can be changed if you need to.
However, make sure you understand the implications of your choices:
Expand Down Expand Up @@ -526,7 +526,7 @@ b) Deploying your Docker Image *Finally!*
image: <region>.icr.io/<namespace>/<image>:<tag>

You should replace the tags shown between *"<" ">"* as described
`here <https://cloud.ibm.com/docs/containers?topic=containers-images#namespace>`__.
`here <https://cloud.ibm.com/docs/containers?topic=containers-images>`__.
The file in my case would look something like this:

.. code-block:: bash
Expand Down