Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
5a8499a
Versioned Rolling branch (#907)
maryaB-osr Dec 3, 2020
bd88309
test label-based backport with mergify (#939)
maryaB-osr Dec 14, 2020
b746c0b
test page-based backport with mergify (#943)
maryaB-osr Dec 14, 2020
9050eda
XML launch files are still supported in ROS2 (#947) (#954)
mergify[bot] Dec 17, 2020
d282cd7
Fix a small typo in the Discovery Server documentation. (#937) (#955)
mergify[bot] Dec 17, 2020
427104a
Fix c++ example spelling (#951) (#969)
mergify[bot] Jan 4, 2021
7f949cd
Update the ROS 2 roadmap. (#964) (#972)
mergify[bot] Jan 4, 2021
3a68bf8
Adding ROS World links to ROSCon Content page (#952) (#962)
mergify[bot] Jan 4, 2021
f87dfe0
Update Writing-A-Simple-Cpp-Publisher-And-Subscriber.rst (#965) (#982)
mergify[bot] Jan 4, 2021
893694a
Switch from Travis -> Github actions. (#948) (#953)
mergify[bot] Jan 5, 2021
3fdaaa5
Add a section on becoming a core maintainer (#992) (#993)
mergify[bot] Jan 6, 2021
27f5079
Add EOL banner to eloquent (#990)
maryaB-osr Jan 12, 2021
06b45fc
give an idea to build the msg interface later (#979) (#997)
mergify[bot] Jan 12, 2021
9a25574
Update the tutorial to point to Cyclone DDS as the default.
clalancette Jan 11, 2021
47bc1cd
Add a release note about changing the default RMW to Cyclone DDS.
clalancette Jan 11, 2021
29bf5f3
Update Concepts document to point to Cyclone DDS as default.
clalancette Jan 11, 2021
f3deadd
Update Rolling installation instructions to mention Cyclone DDS.
clalancette Jan 11, 2021
3bc9cae
Fix conflicts.
clalancette Jan 12, 2021
d49451f
add links anywhere "previous tutorial" is mentioned (#1001) (#1005)
mergify[bot] Jan 12, 2021
d41fdc2
Sign up AWS RoboMaker for rosbag2 /clock roadmap item (#1011) (#1012)
mergify[bot] Jan 13, 2021
6c121ac
Add Rust Working Group (#893) (#1015)
mergify[bot] Jan 13, 2021
e5ed19a
Correct package names (#1024) (#1025)
mergify[bot] Jan 15, 2021
0bf17b7
added core content to concepts, renamed files to match (#1010) (#1029)
mergify[bot] Jan 19, 2021
926e0c6
Add iRobot and Sony. (#1034) (#1035)
mergify[bot] Jan 21, 2021
1d457fe
Add Galactic feature note for externally configuring QoS (#1033) (#1039)
mergify[bot] Jan 21, 2021
de08863
Remove Sony logo pending permission for use in this context (#1044) (…
mergify[bot] Jan 25, 2021
2d7b66e
Update Makefile and requirements.txt.
clalancette Jan 22, 2021
a2e04a7
Add in a Dockerfile to build the multiversion.
clalancette Dec 7, 2020
80e24f0
Small typo in Understanding-ROS2-Topics.rst (#1048) (#1049)
mergify[bot] Jan 27, 2021
ed58ce1
Add navigation and SLAM demos (in simulation) (#1022) (#1052)
mergify[bot] Jan 27, 2021
9efecb2
Update the roadmap with the current status. (#1043) (#1055)
mergify[bot] Jan 27, 2021
95e0064
Improve visual presentation of TSC member logos. (#1058) (#1059)
mergify[bot] Jan 28, 2021
269ec27
fixed glob command to correctly find launch files (#1042) (#1062)
mergify[bot] Jan 28, 2021
323f4f8
Add Sony logo (now with permission). (#1065) (#1067)
mergify[bot] Jan 29, 2021
5747757
Update Understanding-ROS2-Services.rst (#1073) (#1074)
mergify[bot] Feb 1, 2021
131b317
Updated Using-Parameters-In-A-Class-Python.rst (bp #1070) (#1077)
mergify[bot] Feb 4, 2021
9f7810a
Amend charter with 3 changes following TSC vote in Feb 2021 (#1086) (…
mergify[bot] Feb 8, 2021
652e820
Update the canonical URL to point to the correct place. (#1082)
clalancette Feb 9, 2021
618a58c
Add a redirect from the directory page to the latest index.html
clalancette Feb 10, 2021
7c16b44
Make sure to sort the branches properly for the sidebar.
clalancette Feb 10, 2021
bbc6199
Add in a banner for discussions, status, and Q&A.
clalancette Feb 10, 2021
653b656
Add in "Edit on Github" links.
clalancette Feb 10, 2021
56b3d43
Fix github workflow to use requirements.txt.
clalancette Feb 10, 2021
1317a98
Add documentation for using Python packages (#966) (#1106)
mergify[bot] Feb 17, 2021
f4f6484
Add ros2 param load documentation to the rolling branch. (#1105)
clalancette Feb 17, 2021
d24eaaa
add ros2-tsc-charter.rst
fujitatomoya Feb 16, 2021
9798f3b
fix nitpicks.
fujitatomoya Feb 16, 2021
b5cb912
fix bold.
fujitatomoya Feb 16, 2021
d67af3d
D005 No newline at end of file
fujitatomoya Feb 16, 2021
3a4aca8
fix typo
fujitatomoya Feb 17, 2021
2ead1e5
one sentence per line.
fujitatomoya Feb 17, 2021
9595497
Remove the PDF version, move links to the html version.
clalancette Feb 17, 2021
664aba3
Rename the charter file to ROS2-TSC-Charter.rst.
clalancette Feb 17, 2021
da627b6
Remove the executable bit from sony.png.
clalancette Feb 17, 2021
3cb66c5
Add the Governance to the toctree.
clalancette Feb 17, 2021
bc4ad68
Collapse the headings down into one.
clalancette Feb 17, 2021
323c2c4
Add crystal to the list of branches to be built by multiversion. (#1118)
clalancette Feb 18, 2021
6df5365
Fix URLs to ros2.repos files (#1119) (#1121)
mergify[bot] Feb 18, 2021
66a8cd9
Record Tier IV's decision to depart the TSC (#1127) (#1128)
mergify[bot] Feb 22, 2021
27a5c5b
Fix typo in Launch-files-migration-guide.rst (#1140) (#1141)
mergify[bot] Feb 25, 2021
01fdf6e
Add config and launch directories to recommended package layout (#113…
mergify[bot] Feb 25, 2021
a2e84b3
Remove installation landing page [rolling] (#1132)
maryaB-osr Feb 25, 2021
66d43eb
Update the README.md file to explain how to contribute. (#1147)
clalancette Mar 1, 2021
dcf869d
update Wind River logo (#1152)
razr Mar 1, 2021
87aba3a
Add the mergify rules to the 'rolling' branch. (#1155)
clalancette Mar 1, 2021
46df0e8
Update Real-time Leads (#1159)
razr Mar 2, 2021
b7c5c7c
Enable RTD theme. (#1150)
clalancette Mar 2, 2021
dfe19a7
Remove galactic note in logging tutorial (#1164)
christophebedard Mar 2, 2021
b29bf10
Add in distribution name to title. (#1163)
clalancette Mar 3, 2021
5d938b1
create guides page
maryaB-osr Feb 17, 2021
1719144
fix reference links
maryaB-osr Mar 1, 2021
db29835
fix reference link typos
maryaB-osr Mar 1, 2021
9deddbe
return deleted redirects
maryaB-osr Mar 1, 2021
c71a7a2
apply review comments
maryaB-osr Mar 3, 2021
5521949
Tutorial chapter about configuring FastDDS middleware with XML files
IkerLuengo Feb 8, 2021
4e27308
removing note about working only on rolling
IkerLuengo Mar 3, 2021
075165e
Review requests: explain code and concepts, correct typos
IkerLuengo Mar 23, 2021
29d264d
review requests: typos and CMakeLists examples
IkerLuengo Apr 9, 2021
446c8ea
Fix typo.
clalancette Apr 9, 2021
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
22 changes: 22 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Test

on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2

- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8

- name: Install dependencies with pip
run: |
pip install --no-warn-script-location --user --upgrade -r requirements.txt
pip install doc8

- run: make html
- run: doc8 --ignore D001 --ignore-path build
38 changes: 38 additions & 0 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
pull_request_rules:
- name: automatic backport of common pages
conditions:
- base=rolling
- "files~=Governance|Contact|index|Marketing|ROSCon-Content|Roadmap|Releases|Feature-Ideas"
actions:
backport:
branches:
- foxy
- dashing

- name: backport at reviewers discretion
conditions:
- base=rolling
- "label=backport-all"
actions:
backport:
branches:
- foxy
- dashing

- name: backport to foxy at reviewers discretion
conditions:
- base=rolling
- "label=backport-foxy"
actions:
backport:
branches:
- foxy

- name: backport to dashing at reviewers discretion
conditions:
- base=rolling
- "label=backport-dashing"
actions:
backport:
branches:
- dashing
18 changes: 0 additions & 18 deletions .travis.yml

This file was deleted.

23 changes: 0 additions & 23 deletions CONTRIBUTING.md

This file was deleted.

7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@ OPTS =-c .

help:
@$(BUILD) -M help "$(SOURCE)" "$(OUT)" $(OPTS)
@echo " multiversion to build documentation for all branches"

.PHONY: help Makefile
multiversion: Makefile
sphinx-multiversion $(OPTS) "$(SOURCE)" build/html
@echo "<html><head><meta http-equiv=\"refresh\" content=\"0; url='foxy/index.html'\" /></head></html>" > build/html/index.html

.PHONY: help Makefile multiversion
%: Makefile
@$(BUILD) -M $@ "$(SOURCE)" "$(OUT)" $(OPTS)
50 changes: 31 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,47 @@
ROS Documentation
=================
# ROS 2 Documentation

This repository contains the sources for the ROS 2 documentation that is hosted at [https://docs.ros.org/en](https://docs.ros.org/en).
The sources from this repository are built and uploaded to the site nightly by a [Jenkins job](https://build.ros.org/job/doc_ros2doc).

This is the ROS 2 documentation site.
## Contributing to the documentation

Contributions to this site are most welcome.
Please be sure to read the below sections carefully before contributing.

## Project structure
The site is built using [Sphinx](https://www.sphinx-doc.org/en/master/), and more particularly using [Sphinx multiversion](https://holzhaus.github.io/sphinx-multiversion/master/index.html).

Under /source are the source files for the site.
In the root directory are the files required to locally build the site for testing.
### Installing prerequisites

```
pip3 install --user --upgrade -r requirements.txt
```

## Build the site locally
### Branch structure

### Prerequisites
This repository is setup with one branch per ROS 2 distribution to handle differences between the distributions.
If a change is common to all ROS 2 distributions, it should be made to the `rolling` branch (and then will be backported as appropriate).
If a change is specific to a particular ROS 2 distribution, it should be made to the respective branch.

You must have sphinx and the sphinx-tabs extension installed, preferably using pip:
### Source structure

```
pip3 install sphinx sphinx-tabs
```
The source files for the site are all located under the `source` subdirectory.
Templates for various sphinx plugins are located under `source/_templates`.
The root directory contains configuration and files required to locally build the site for testing.

For other distributions please refer to http://www.sphinx-doc.org/en/master/usage/installation.html
### Building the site

To build the site for just this branch, type `make html` at the top-level of the repository.
This is the recommended way to test out local changes.

### Build the site
To build the site for all branches, type `make multiversion` from the `rolling` branch.
This has two drawbacks:

To build the site just execute:
1. The multiversion plugin doesn't understand how to do incremental builds, so it always rebuilds everything. This can be slow.
1. When typing `make multiversion`, it will always check out exactly the branches listed in the `conf.py` file. That means that local changes will not be shown.

```
make html
```
To show local changes in the multiversion output, you must first commit the changes to a local branch.
Then you must edit the [conf.py](./conf.py) file and change the `smv_branch_whitelist` variable to point to your branch.

## Contributing to ROS 2

The site will be generated in the build/html directory. The main page is index.html
To contribute to the ROS 2 source code project please refer to the [ROS 2 contributing guidelines](https://docs.ros.org/en/rolling/Contributing).
83 changes: 66 additions & 17 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,17 @@
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os

import itertools
import os
import sys
import time

from docutils.parsers.rst import Directive

sys.path.append(os.path.abspath('./sphinx-multiversion'))


# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
Expand All @@ -33,9 +40,9 @@
suppress_warnings = ['image.nonlocal_uri']

# General information about the project.
project = u'ros2 documentation'
copyright = u'2018, Open Robotics'
author = u'Open Robotics'
project = 'ROS 2 documentation'
author = 'Open Robotics'
copyright = '{}, {}'.format(time.strftime('%Y'), author)

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
Expand Down Expand Up @@ -66,26 +73,53 @@

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
extensions = ['sphinx.ext.intersphinx', 'sphinx_tabs.tabs']
extensions = ['sphinx.ext.intersphinx', 'sphinx_tabs.tabs', 'sphinx_multiversion', 'sphinx_rtd_theme']

# Intersphinx mapping

intersphinx_mapping = {
'catkin_pkg': ('http://docs.ros.org/independent/api/catkin_pkg/html', None),
'jenkins_tools': ('http://docs.ros.org/independent/api/jenkins_tools/html', None),
'rosdep': ('http://docs.ros.org/independent/api/rosdep/html', None),
'rosdistro': ('http://docs.ros.org/independent/api/rosdistro/html', None),
'rosinstall': ('http://docs.ros.org/independent/api/rosinstall/html', None),
'rospkg': ('http://docs.ros.org/independent/api/rospkg/html', None),
'vcstools': ('http://docs.ros.org/independent/api/vcstools/html', None)
'catkin_pkg': ('http://docs.ros.org/en/independent/api/catkin_pkg/html', None),
'jenkins_tools': ('http://docs.ros.org/en/independent/api/jenkins_tools/html', None),
'rosdep': ('http://docs.ros.org/en/independent/api/rosdep/html', None),
'rosdistro': ('http://docs.ros.org/en/independent/api/rosdistro/html', None),
'rosinstall': ('http://docs.ros.org/en/independent/api/rosinstall/html', None),
'rospkg': ('http://docs.ros.org/en/independent/api/rospkg/html', None),
'vcstools': ('http://docs.ros.org/en/independent/api/vcstools/html', None)
}

# -- Options for HTML output ----------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'
html_theme = 'sphinx_rtd_theme'
html_theme_options = {
'collapse_navigation': False,
'sticky_navigation': True,
'navigation_depth': -1,
}

html_context = {
'display_github': True,
'github_user': 'ros2',
'github_repo': 'ros2_documentation',
'github_version': 'rolling/source/', # Will be overridden when building multiversion
}

templates_path = [
"source/_templates",
]

# smv_tag_whitelist = None

smv_branch_whitelist = r'^(rolling|foxy|eloquent|dashing|crystal)$'


smv_released_pattern = r'^refs/(heads|remotes/[^/]+)/(foxy|eloquent|dashing|crystal).*$'
smv_remote_whitelist = r'^(origin)$'
smv_latest_version = 'foxy'



html_favicon = 'favicon.ico'

Expand All @@ -102,6 +136,7 @@
# Output file base name for HTML help builder.
htmlhelp_basename = 'ros2_docsdoc'

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

class RedirectFrom(Directive):

Expand All @@ -120,8 +155,9 @@ def generate(cls, app):
from sphinx.builders.html import StandaloneHTMLBuilder
if not isinstance(app.builder, StandaloneHTMLBuilder):
return

redirect_html_fragment = """
<link rel="canonical" href="{url}" />
<link rel="canonical" href="{base_url}/{url}" />
<meta http-equiv="refresh" content="0; url={url}" />
<script>
window.location.href = '{url}';
Expand Down Expand Up @@ -169,6 +205,7 @@ def generate(cls, app):
),
'title': os.path.basename(redirect_url),
'metatags': redirect_html_fragment.format(
base_url=app.config.html_baseurl,
url=app.builder.get_relative_uri(
redirect_url, canonical_url
)
Expand Down Expand Up @@ -203,9 +240,21 @@ def _missing_reference(app, env, node, contnode):
return newnode
return _missing_reference

def smv_rewrite_baseurl(app, config):
# When using Sphinx multiversion, there is no way at initial configuration time
# to determine the distribution we are currently targeting (conf.py is read before
# external defines are setup, and environment variables aren't passed through to
# conf.py). Instead, hook into the 'config-inited' event which is late enough
# to rewrite the html_baseurl with the current version.
if app.config.smv_current_version != '':
app.config.html_baseurl = app.config.html_baseurl + '/' + app.config.smv_current_version
app.config.project = 'ROS 2 Documentation: ' + app.config.smv_current_version.title()

def github_link_rewrite_branch(app, pagename, templatename, context, doctree):
if app.config.smv_current_version != '':
context['github_version'] = app.config.smv_current_version + '/source/'

def setup(app):
app.connect('config-inited', smv_rewrite_baseurl)
app.connect('html-page-context', github_link_rewrite_branch)
RedirectFrom.register(app)
app.connect('missing-reference', make_router(
'Installation', 'Installation/Eloquent'
))
27 changes: 27 additions & 0 deletions docker/image/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This dockerfile is expecting to be run with the following build command
# (from the root of the git repository):
#
# docker build -f docker/image/Dockerfile .

FROM ubuntu:focal

ARG user=rosindex
ARG uid=1000

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && \
apt-get install --no-install-recommends -y \
git-all \
make \
python3-pip && \
rm -rf /var/lib/apt/lists/*

RUN useradd -u $uid -m $user
ENV HOME=/home/$user
ENV PATH=/home/$user/.local/bin:$PATH
WORKDIR /tmp/doc_repository

USER $user

CMD pip3 install --no-warn-script-location --user --upgrade -r requirements.txt && make multiversion
17 changes: 17 additions & 0 deletions global_substitutions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.. |ament packages| replace:: :term:`ament packages <ament package>`

.. |API| replace:: :term:`API`
.. |APIs| replace:: :term:`APIs <API>`

.. |client library| replace:: :term:`client library <client_library>`
.. |client libraries| replace:: :term:`client libraries <client_library>`

.. |GitHub| replace:: GitHub
.. _GitHub: https://github.com/

.. |package| replace:: :term:`package`
.. |packages| replace:: :term:`packages <package>`

.. |REPs| replace:: :term:`REPs <REP>`

.. |rclcpp| replace:: :term:`rclcpp`
4 changes: 3 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
pip
Sphinx
sphinx
sphinx-tabs
sphinx-multiversion
sphinx-rtd-theme
Loading