From 6dfa45ef5f15c2aea2f734c5aef76195921386e6 Mon Sep 17 00:00:00 2001 From: Raul Sanchez-Mateos Date: Wed, 2 Jul 2025 09:38:42 +0200 Subject: [PATCH 1/3] Apply furo theme script Signed-off-by: Raul Sanchez-Mateos --- source/Releases/Release-Lyrical-Luth.rst | 4 - .../Reading-From-A-Bag-File-Python.rst | 26 ++-- .../Security/Introducing-ros2-security.rst | 22 +-- .../Filtered-Topic-Keys-Tutorial.rst | 78 +++++----- .../Topic-Keys/Topic-Keys-Tutorial.rst | 136 ++++++++++-------- .../Tutorials/Demos/Action-Introspection.rst | 4 - .../Monitoring-For-Parameter-Changes-CPP.rst | 11 +- ...onitoring-For-Parameter-Changes-Python.rst | 11 +- .../Publishing-Messages-Using-YAML-Files.rst | 4 - ...d-Datatypes-With-Tf2-Ros-MessageFilter.rst | 8 +- 10 files changed, 167 insertions(+), 137 deletions(-) diff --git a/source/Releases/Release-Lyrical-Luth.rst b/source/Releases/Release-Lyrical-Luth.rst index 86f04c358e2..9c6532b3142 100644 --- a/source/Releases/Release-Lyrical-Luth.rst +++ b/source/Releases/Release-Lyrical-Luth.rst @@ -5,10 +5,6 @@ Lyrical Luth (codename 'lyrical'; May, 2026) ============================================ -.. contents:: Table of Contents - :depth: 2 - :local: - *Lyrical Luth* is the twelfth release of ROS 2. What follows is highlights of the important changes and features in Lyrical Luth since the last release. diff --git a/source/Tutorials/Advanced/Reading-From-A-Bag-File-Python.rst b/source/Tutorials/Advanced/Reading-From-A-Bag-File-Python.rst index a0a9ecc4e45..3d9ce769873 100644 --- a/source/Tutorials/Advanced/Reading-From-A-Bag-File-Python.rst +++ b/source/Tutorials/Advanced/Reading-From-A-Bag-File-Python.rst @@ -7,10 +7,6 @@ Reading from a bag file (Python) **Time:** 10 minutes -.. contents:: Contents - :depth: 2 - :local: - Background ---------- @@ -193,21 +189,24 @@ Open the ``setup.py`` file in the ``bag_reader_node_py`` package and add an entr Navigate back to the root of your workspace, ``ros2_ws``, and build your new package. -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console $ colcon build --packages-select bag_reader_node_py - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ colcon build --packages-select bag_reader_node_py - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -215,21 +214,24 @@ Navigate back to the root of your workspace, ``ros2_ws``, and build your new pac Open a new terminal, navigate to ``ros2_ws``, and source the setup files. -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console $ source install/setup.bash - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ source install/setup.bash - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console diff --git a/source/Tutorials/Advanced/Security/Introducing-ros2-security.rst b/source/Tutorials/Advanced/Security/Introducing-ros2-security.rst index 0ad217173ba..b9898409b55 100644 --- a/source/Tutorials/Advanced/Security/Introducing-ros2-security.rst +++ b/source/Tutorials/Advanced/Security/Introducing-ros2-security.rst @@ -188,21 +188,24 @@ This command uses the ``create_enclave`` feature which is covered in more detail If the selected RMW implementation is Zenoh, then the Zenoh router also requires its own keys and certificates: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: bash ros2 security create_enclave demo_keystore /zenohd - .. group-tab:: MacOS + .. tab-item:: MacOS + :sync: MacOS .. code-block:: bash ros2 security create_enclave demo_keystore /zenohd - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: bat @@ -280,23 +283,26 @@ The environment variables in this terminal must be properly set as described in If the RMW implementation is ``rmw_zenoh_cpp``, in another terminal: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: bash export ZENOH_ROUTER_CONFIG_URI=~/sros2_demo/zenohd ros2 run rmw_zenoh_cpp zenohd - .. group-tab:: MacOS + .. tab-item:: MacOS + :sync: MacOS .. code-block:: bash export ZENOH_ROUTER_CONFIG_URI= ros2 run rmw_zenoh_cpp zenohd - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: bat diff --git a/source/Tutorials/Advanced/Topic-Keys/Filtered-Topic-Keys-Tutorial.rst b/source/Tutorials/Advanced/Topic-Keys/Filtered-Topic-Keys-Tutorial.rst index 8d677bf2dab..f2ee988862d 100644 --- a/source/Tutorials/Advanced/Topic-Keys/Filtered-Topic-Keys-Tutorial.rst +++ b/source/Tutorials/Advanced/Topic-Keys/Filtered-Topic-Keys-Tutorial.rst @@ -5,11 +5,6 @@ Topic Keys Subscription Filtering Tutorial This tutorial aims to demonstrate how to receive data only from certain topic instances by combining the use of topic keys and topic content filtering. -.. contents:: - :depth: 2 - :local: - :backlinks: none - Background ---------- @@ -71,9 +66,10 @@ For this, there are two possible options: Source the following file to setup the ROS 2 environment: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console @@ -82,13 +78,15 @@ Source the following file to setup the ROS 2 environment: Replace ``.bash`` with your shell if you're not using bash. Possible values are: ``setup.bash``, ``setup.sh``, ``setup.zsh``. - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ . ~/ros2_install/ros2-osx/setup.bash - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -100,9 +98,10 @@ Retrieving the sources Create a new workspace and download the demo package sources as indicated below: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console @@ -122,7 +121,8 @@ Create a new workspace and download the demo package sources as indicated below: $ wget -O src/filtered_keyed_controller.cpp https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Filtered/src/filtered_keyed_controller.cpp $ wget -O launch/keyed_sensors_launch.py https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Filtered/launch/keyed_sensors_launch.py - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console @@ -142,7 +142,8 @@ Create a new workspace and download the demo package sources as indicated below: $ wget -O src/filtered_keyed_controller.cpp https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Filtered/src/filtered_keyed_controller.cpp $ wget -O launch/keyed_sensors_launch.py https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Filtered/launch/keyed_sensors_launch.py - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -227,9 +228,10 @@ Generating the IDL files Generate the corresponding IDL definition from the provided ``KeyedSensorDataMsg.msg`` file, using the ``msg2idl.py`` script from the ``rosidl_adapter`` package. -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console @@ -237,7 +239,8 @@ Generate the corresponding IDL definition from the provided ``KeyedSensorDataMsg $ ros2 run rosidl_adapter msg2idl.py KeyedSensorDataMsg.msg $ rm KeyedSensorDataMsg.msg - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console @@ -245,7 +248,8 @@ Generate the corresponding IDL definition from the provided ``KeyedSensorDataMsg $ ros2 run rosidl_adapter msg2idl.py KeyedSensorDataMsg.msg $ rm KeyedSensorDataMsg.msg - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -275,23 +279,26 @@ Building the demo package Once the environment has been setup and the demo package sources are available, the demo package can be built. Get into the root of the workspace and build it with the following commands: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console $ cd ~/tutorial_ws $ colcon build - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ cd ~/tutorial_ws $ colcon build - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -315,56 +322,59 @@ Run the demo by executing the following commands in separate terminals: If a docker deployment was preferred, it would be necessary to attach the other two terminals to the running docker container before executing the above commands. This can be done by running ``docker exec -it /bin/bash``. -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_filtering_cpp keyed_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 run demo_keys_filtering_cpp filtered_keyed_controller - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_filtering_cpp keyed_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 run demo_keys_filtering_cpp filtered_keyed_controller - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ call C:\tutorial_ws\install\setup.bat $ ros2 launch demo_keys_filtering_cpp keyed_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console diff --git a/source/Tutorials/Advanced/Topic-Keys/Topic-Keys-Tutorial.rst b/source/Tutorials/Advanced/Topic-Keys/Topic-Keys-Tutorial.rst index 7a61fd542f2..006f4864383 100644 --- a/source/Tutorials/Advanced/Topic-Keys/Topic-Keys-Tutorial.rst +++ b/source/Tutorials/Advanced/Topic-Keys/Topic-Keys-Tutorial.rst @@ -5,11 +5,6 @@ Topic Keys Tutorial This tutorial aims to demonstrate the use of topic keys by simulating a scenario in which multiple sensors are transmitting their readings to a controller that processes them. -.. contents:: - :depth: 2 - :local: - :backlinks: none - Background ---------- @@ -112,9 +107,10 @@ For this, there are two possible options: Source the following file to setup the ROS 2 environment: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console @@ -123,13 +119,15 @@ Source the following file to setup the ROS 2 environment: Replace ``.bash`` with your shell if you're not using bash. Possible values are: ``setup.bash``, ``setup.sh``, ``setup.zsh``. - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ . ~/ros2_install/ros2-osx/setup.bash - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -141,9 +139,10 @@ Retrieving the sources In order to retrieve the example demo code, create a new workspace and download the demo package sources as indicated below: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console @@ -170,7 +169,8 @@ In order to retrieve the example demo code, create a new workspace and download $ wget -O launch/single_topic_sensors_launch.py https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Basic/launch/single_topic_sensors_launch.py $ wget -O launch/keyed_sensors_launch.py https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Basic/launch/keyed_sensors_launch.py - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console @@ -197,7 +197,8 @@ In order to retrieve the example demo code, create a new workspace and download $ wget -O launch/single_topic_sensors_launch.py https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Basic/launch/single_topic_sensors_launch.py $ wget -O launch/keyed_sensors_launch.py https://raw.githubusercontent.com/ros2/ros2_documentation/{DISTRO}/source/Tutorials/Advanced/Topic-Keys/resources/Basic/launch/keyed_sensors_launch.py - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -260,9 +261,10 @@ Generating the IDL files Starting from the provided ``.msg`` files, generate the corresponding IDL files using the ``msg2idl.py`` script from the ``rosidl_adapter`` package. -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console @@ -271,7 +273,8 @@ Starting from the provided ``.msg`` files, generate the corresponding IDL files $ ros2 run rosidl_adapter msg2idl.py KeyedSensorDataMsg.msg $ rm SensorDataMsg.msg KeyedSensorDataMsg.msg - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console @@ -280,7 +283,8 @@ Starting from the provided ``.msg`` files, generate the corresponding IDL files $ ros2 run rosidl_adapter msg2idl.py KeyedSensorDataMsg.msg $ rm SensorDataMsg.msg KeyedSensorDataMsg.msg - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -311,23 +315,26 @@ Building the demo package Once the environment has been setup and the demo package sources are available, we are ready to build the workspace. Get into the root of the workspace and build it with the following commands: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console $ cd ~/tutorial_ws $ colcon build - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ cd ~/tutorial_ws $ colcon build - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console @@ -366,56 +373,59 @@ Run the demo by executing the following commands in separate terminals: If a docker deployment was preferred, it would be necessary to attach the other two terminals to the running docker container before executing the above commands. This can be done by running ``docker exec -it /bin/bash``. -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_cpp multiple_topic_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 run demo_keys_cpp multiple_topic_controller - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_cpp multiple_topic_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 run demo_keys_cpp multiple_topic_controller - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ call C:\tutorial_ws\install\setup.bat $ ros2 launch demo_keys_cpp multiple_topic_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console @@ -436,20 +446,21 @@ Lets go a step further. In this second approach a single topic is used in which all the sensors will publish their data (without using a keyed topic). Run the demo by executing the following commands in separate terminals: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_cpp single_topic_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console @@ -457,18 +468,19 @@ Run the demo by executing the following commands in separate terminals: #Wait until sensor[10] publishes the first data (10 secs) $ ros2 run demo_keys_cpp single_topic_controller - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_cpp single_topic_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console @@ -476,18 +488,19 @@ Run the demo by executing the following commands in separate terminals: #Wait until sensor[10] publishes the first data (10 secs) $ ros2 run demo_keys_cpp single_topic_controller - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ call C:\tutorial_ws\install\setup.bat $ ros2 launch demo_keys_cpp single_topic_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console @@ -510,20 +523,21 @@ These are severe problems that should be avoided. Now, lets move on to the third approach for addressing the problem. Start, or reuse previous opened terminals and run the following commands: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_cpp keyed_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console @@ -531,18 +545,19 @@ Start, or reuse previous opened terminals and run the following commands: #Wait until sensor[10] publishes the first data (10 secs) $ ros2 run demo_keys_cpp keyed_controller - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ source ~/tutorial_ws/install/setup.bash $ ros2 launch demo_keys_cpp keyed_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console @@ -550,18 +565,19 @@ Start, or reuse previous opened terminals and run the following commands: #Wait until sensor[10] publishes the first data (10 secs) $ ros2 run demo_keys_cpp keyed_controller - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows - .. tabs:: + .. tab-set:: - .. tab:: Shell 1 (Sensors) + .. tab-item:: Shell 1 (Sensors) .. code-block:: console $ call C:\tutorial_ws\install\setup.bat $ ros2 launch demo_keys_cpp keyed_sensors_launch.py - .. tab:: Shell 2 (Controller) + .. tab-item:: Shell 2 (Controller) .. code-block:: console diff --git a/source/Tutorials/Demos/Action-Introspection.rst b/source/Tutorials/Demos/Action-Introspection.rst index aac51c3d9d4..96028164b9b 100644 --- a/source/Tutorials/Demos/Action-Introspection.rst +++ b/source/Tutorials/Demos/Action-Introspection.rst @@ -7,10 +7,6 @@ Configure action introspection **Time:** 15 minutes -.. contents:: Table of Contents - :depth: 1 - :local: - Overview -------- diff --git a/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-CPP.rst b/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-CPP.rst index a4ddfc68b1f..a49487100d5 100644 --- a/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-CPP.rst +++ b/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-CPP.rst @@ -399,21 +399,24 @@ Navigate back to the root of your workspace, ``ros2_ws``, and rebuild your updat Then source the setup files: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console $ . install/setup.bash - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ . install/setup.bash - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console diff --git a/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-Python.rst b/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-Python.rst index 3408a45edcf..29e7588b6b7 100644 --- a/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-Python.rst +++ b/source/Tutorials/Intermediate/Monitoring-For-Parameter-Changes-Python.rst @@ -386,21 +386,24 @@ Navigate back to the root of your workspace, ``ros2_ws``, and rebuild your updat Then source the setup files: -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console $ . install/setup.bash - .. group-tab:: macOS + .. tab-item:: macOS + :sync: macOS .. code-block:: console $ . install/setup.bash - .. group-tab:: Windows + .. tab-item:: Windows + :sync: Windows .. code-block:: console diff --git a/source/Tutorials/Intermediate/Publishing-Messages-Using-YAML-Files.rst b/source/Tutorials/Intermediate/Publishing-Messages-Using-YAML-Files.rst index 2cba9b8a6cc..281d8231f6b 100644 --- a/source/Tutorials/Intermediate/Publishing-Messages-Using-YAML-Files.rst +++ b/source/Tutorials/Intermediate/Publishing-Messages-Using-YAML-Files.rst @@ -7,10 +7,6 @@ Publishing messages using YAML files **Time:** 5 minutes -.. contents:: Table of Contents - :depth: 2 - :local: - Overview -------- diff --git a/source/Tutorials/Intermediate/Tf2/Using-Stamped-Datatypes-With-Tf2-Ros-MessageFilter.rst b/source/Tutorials/Intermediate/Tf2/Using-Stamped-Datatypes-With-Tf2-Ros-MessageFilter.rst index 4a05edc7f2c..2833c49d306 100644 --- a/source/Tutorials/Intermediate/Tf2/Using-Stamped-Datatypes-With-Tf2-Ros-MessageFilter.rst +++ b/source/Tutorials/Intermediate/Tf2/Using-Stamped-Datatypes-With-Tf2-Ros-MessageFilter.rst @@ -36,15 +36,17 @@ Prerequisites This tutorial expects you to have ``turtle_tf2_py`` package installed. -.. tabs:: +.. tab-set:: - .. group-tab:: Linux + .. tab-item:: Linux + :sync: Linux .. code-block:: console $ sudo apt install ros-{DISTRO}-turtle-tf2-py - .. group-tab:: From Source + .. tab-item:: From Source + :sync: From Source .. code-block:: console From 835aa95cbfb2910981db3677e26d6c82aef71d64 Mon Sep 17 00:00:00 2001 From: Raul Sanchez-Mateos Date: Wed, 2 Jul 2025 10:01:21 +0200 Subject: [PATCH 2/3] Add sphinx_design to sphinx extensions Signed-off-by: Raul Sanchez-Mateos --- conf.py | 1 + requirements.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/conf.py b/conf.py index 1754ea079e9..dec4da0c63c 100644 --- a/conf.py +++ b/conf.py @@ -87,6 +87,7 @@ 'sphinx_rtd_theme', 'sphinx_sitemap_ros', 'sphinxcontrib.mermaid', + 'sphinx_design', ] # Intersphinx mapping diff --git a/requirements.txt b/requirements.txt index f9e4d129f85..8e9311228d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,3 +11,4 @@ sphinx-rtd-theme sphinx-tabs sphinxcontrib-mermaid sphinx-tamer +sphinx-design From e744bc977f4b0bcae17e86cc0519795af362c384 Mon Sep 17 00:00:00 2001 From: Raul Sanchez-Mateos Date: Fri, 12 Sep 2025 12:49:55 +0200 Subject: [PATCH 3/3] Fix internal link Signed-off-by: Raul Sanchez-Mateos --- source/Releases.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/Releases.rst b/source/Releases.rst index 50fe554f14a..670228de92b 100644 --- a/source/Releases.rst +++ b/source/Releases.rst @@ -212,7 +212,7 @@ As the name implies, Rolling is continuously updated and **can have in-place upd We recommend that most people use the most recent stable distribution instead (see :ref:`list_of_distributions`). Packages released into the Rolling distribution will be automatically released into future stable distributions of ROS 2. -:doc:`Releasing a ROS 2 package <../How-To-Guides/Releasing/Releasing-a-Package>` into the Rolling distribution follows the same procedures as all other ROS 2 distributions. +:doc:`Releasing a ROS 2 package <./How-To-Guides/Releasing/Releasing-a-Package>` into the Rolling distribution follows the same procedures as all other ROS 2 distributions. Cross-Distribution Communications ---------------------------------