Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | documentation |
| 2 | ============= |
| 3 | |
| 4 | This is the directory that contains the Yocto Project documentation. The Yocto |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 5 | Project source repositories at https://git.yoctoproject.org/cgit.cgi have two |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 6 | instances of the "documentation" directory. You should understand each of |
| 7 | these instances. |
| 8 | |
| 9 | poky/documentation - The directory within the poky Git repository containing |
| 10 | the set of Yocto Project manuals. When you clone the |
| 11 | poky Git repository, the documentation directory |
| 12 | contains the manuals. The state of the manuals in this |
| 13 | directory is guaranteed to reflect the latest Yocto |
| 14 | Project release. The manuals at the tip of this |
| 15 | directory will also likely contain most manual |
| 16 | development changes. |
| 17 | |
| 18 | yocto-docs/documentation - The Git repository for the Yocto Project manuals. |
| 19 | This repository is where manual development |
| 20 | occurs. If you plan on contributing back to the |
| 21 | Yocto Project documentation, you should set up |
| 22 | a local Git repository based on this upstream |
| 23 | repository as follows: |
| 24 | |
| 25 | git clone git://git.yoctoproject.org/yocto-docs |
| 26 | |
| 27 | Changes and patches are first pushed to the |
| 28 | yocto-docs Git repository. Later, they make it |
| 29 | into the poky Git repository found at |
| 30 | git://git.yoctoproject.org/poky. |
| 31 | |
| 32 | Manual Organization |
| 33 | =================== |
| 34 | |
William A. Kennington III | ac69b48 | 2021-06-02 12:28:27 -0700 | [diff] [blame] | 35 | Here the folders corresponding to individual manuals: |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 36 | |
Andrew Geissler | 5082cc7 | 2023-09-11 08:41:39 -0400 | [diff] [blame] | 37 | * brief-yoctoprojectqs - Yocto Project Quick Start |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 38 | * overview-manual - Yocto Project Overview and Concepts Manual |
Andrew Geissler | 5082cc7 | 2023-09-11 08:41:39 -0400 | [diff] [blame] | 39 | * contributor-guide - Yocto Project and OpenEmbedded Contributor Guide |
| 40 | * ref-manual - Yocto Project Reference Manual |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 41 | * bsp-guide - Yocto Project Board Support Package (BSP) Developer's Guide |
| 42 | * dev-manual - Yocto Project Development Tasks Manual |
| 43 | * kernel-dev - Yocto Project Linux Kernel Development Manual |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 44 | * profile-manual - Yocto Project Profiling and Tracing Manual |
Andrew Geissler | 5082cc7 | 2023-09-11 08:41:39 -0400 | [diff] [blame] | 45 | * sdk-manual - Yocto Project Software Development Kit (SDK) Developer's Guide. |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 46 | * toaster-manual - Toaster User Manual |
| 47 | * test-manual - Yocto Project Test Environment Manual |
Andrew Geissler | 5082cc7 | 2023-09-11 08:41:39 -0400 | [diff] [blame] | 48 | * migration-guides - Yocto Project Release and Migration Notes |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 49 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 50 | Each folder is self-contained regarding content and figures. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 51 | |
| 52 | If you want to find HTML versions of the Yocto Project manuals on the web, |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 53 | the current versions reside at https://docs.yoctoproject.org. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 54 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 55 | poky.yaml |
| 56 | ========= |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 57 | |
| 58 | This file defines variables used for documentation production. The variables |
| 59 | are used to define release pathnames, URLs for the published manuals, etc. |
| 60 | |
Andrew Geissler | 595f630 | 2022-01-24 19:11:47 +0000 | [diff] [blame] | 61 | standards.md |
| 62 | ============ |
| 63 | |
| 64 | This file specifies some rules to follow when contributing to the documentation. |
| 65 | |
| 66 | template/ |
| 67 | ========= |
| 68 | |
| 69 | Contains a template.svg, to make it easier to create consistent |
| 70 | SVG diagrams. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 71 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 72 | Sphinx |
| 73 | ====== |
| 74 | |
| 75 | The Yocto Project documentation was migrated from the original DocBook |
| 76 | format to Sphinx based documentation for the Yocto Project 3.2 |
| 77 | release. This section will provide additional information related to |
| 78 | the Sphinx migration, and guidelines for developers willing to |
| 79 | contribute to the Yocto Project documentation. |
| 80 | |
| 81 | Sphinx is a tool that makes it easy to create intelligent and |
| 82 | beautiful documentation, written by Georg Brandl and licensed under |
| 83 | the BSD license. It was originally created for the Python |
| 84 | documentation. |
| 85 | |
| 86 | Extensive documentation is available on the Sphinx website: |
| 87 | https://www.sphinx-doc.org/en/master/. Sphinx is designed to be |
| 88 | extensible thanks to the ability to write our own custom extensions, |
| 89 | as Python modules, which will be executed during the generation of the |
| 90 | documentation. |
| 91 | |
| 92 | Yocto Project documentation website |
| 93 | =================================== |
| 94 | |
Andrew Geissler | 0903674 | 2021-06-25 14:25:14 -0500 | [diff] [blame] | 95 | The website hosting the Yocto Project documentation, can be found |
| 96 | at: https://docs.yoctoproject.org/. |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 97 | |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 98 | The entire Yocto Project documentation, as well as the BitBake manual, |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 99 | is published on this website, including all previously released |
| 100 | versions. A version switcher was added, as a drop-down menu on the top |
| 101 | of the page to switch back and forth between the various versions of |
| 102 | the current active Yocto Project releases. |
| 103 | |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 104 | Transition pages have been added (as rst files) to show links to old |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 105 | versions of the Yocto Project documentation with links to each manual |
| 106 | generated with DocBook. |
| 107 | |
| 108 | How to build the Yocto Project documentation |
| 109 | ============================================ |
| 110 | |
| 111 | Sphinx is written in Python. While it might work with Python2, for |
| 112 | obvious reasons, we will only support building the Yocto Project |
| 113 | documentation with Python3. |
| 114 | |
| 115 | Sphinx might be available in your Linux distro packages repositories, |
Andrew Geissler | 3b8a17c | 2021-04-15 15:55:55 -0500 | [diff] [blame] | 116 | however it is not recommended to use distro packages, as they might be |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 117 | old versions, especially if you are using an LTS version of your |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 118 | distro. The recommended method to install the latest versions of Sphinx |
| 119 | and of its required dependencies is to use the Python Package Index (pip). |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 120 | |
| 121 | To install all required packages run: |
| 122 | |
| 123 | $ pip3 install sphinx sphinx_rtd_theme pyyaml |
| 124 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 125 | To make sure you always have the latest versions of such packages, you |
| 126 | should regularly run the same command with an added "--upgrade" option: |
| 127 | |
| 128 | $ pip3 install --upgrade sphinx sphinx_rtd_theme pyyaml |
| 129 | |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 130 | Also install the "inkscape" package from your distribution. |
| 131 | Inkscape is need to convert SVG graphics to PNG (for EPUB |
| 132 | export) and to PDF (for PDF export). |
| 133 | |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 134 | Additionally install "fncychap.sty" TeX font if you want to build PDFs. Debian |
| 135 | and Ubuntu have it in "texlive-latex-extra" package while RedHat distributions |
| 136 | and OpenSUSE have it in "texlive-fncychap" package for example. |
| 137 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 138 | To build the documentation locally, run: |
| 139 | |
| 140 | $ cd documentation |
Andrew Geissler | f034379 | 2020-11-18 10:42:21 -0600 | [diff] [blame] | 141 | $ make html |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 142 | |
| 143 | The resulting HTML index page will be _build/html/index.html, and you |
| 144 | can browse your own copy of the locally generated documentation with |
| 145 | your browser. |
| 146 | |
Andrew Geissler | 6ce62a2 | 2020-11-30 19:58:47 -0600 | [diff] [blame] | 147 | Alternatively, you can use Pipenv to automatically install all required |
| 148 | dependencies in a virtual environment: |
| 149 | |
| 150 | $ cd documentation |
| 151 | $ pipenv install |
| 152 | $ pipenv run make html |
| 153 | |
Patrick Williams | 03514f1 | 2024-04-05 07:04:11 -0500 | [diff] [blame] | 154 | Style checking the Yocto Project documentation |
| 155 | ============================================== |
| 156 | |
| 157 | The project is starting to use Vale (https://vale.sh/) |
| 158 | to validate the text style. |
| 159 | |
| 160 | To install Vale: |
| 161 | |
| 162 | $ pip install vale |
| 163 | |
| 164 | To run Vale: |
| 165 | |
| 166 | $ make stylecheck |
| 167 | |
Patrick Williams | 44b3caf | 2024-04-12 16:51:14 -0500 | [diff] [blame] | 168 | Link checking the Yocto Project documentation |
| 169 | ============================================= |
| 170 | |
| 171 | To fix errors which are not reported by Sphinx itself, |
| 172 | the project uses sphinx-lint (https://github.com/sphinx-contrib/sphinx-lint). |
| 173 | |
| 174 | To install sphinx-lint: |
| 175 | |
| 176 | $ pip install sphinx-lint |
| 177 | |
| 178 | To run sphinx-lint: |
| 179 | |
| 180 | $ make sphinx-lint |
| 181 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 182 | Sphinx theme and CSS customization |
| 183 | ================================== |
| 184 | |
| 185 | The Yocto Project documentation is currently based on the "Read the |
| 186 | Docs" Sphinx theme, with a few changes to make sure the look and feel |
| 187 | of the project documentation is preserved. |
| 188 | |
| 189 | Most of the theme changes can be done using the file |
| 190 | 'sphinx-static/theme_overrides.css'. Most CSS changes in this file |
| 191 | were inherited from the DocBook CSS stylesheets. |
| 192 | |
| 193 | Sphinx design guidelines and principles |
| 194 | ======================================= |
| 195 | |
| 196 | The initial Docbook to Sphinx migration was done with an automated |
| 197 | tool called Pandoc (https://pandoc.org/). The tool produced some clean |
| 198 | output markdown text files. After the initial automated conversion |
| 199 | additional changes were done to fix up headings, images and links. In |
| 200 | addition Sphinx has built in mechanisms (directives) which were used |
| 201 | to replace similar functions implemented in Docbook such as glossary, |
| 202 | variables substitutions, notes and references. |
| 203 | |
| 204 | Headings |
| 205 | ======== |
| 206 | |
| 207 | The layout of the Yocto Project manuals is organized as follows |
| 208 | |
| 209 | Book |
| 210 | Chapter |
| 211 | Section |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 212 | Subsection |
| 213 | Subsubsection |
| 214 | Subsubsubsection |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 215 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 216 | Here are the heading styles that we use in the manuals: |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 217 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 218 | Book => overline === |
| 219 | Chapter => overline *** |
| 220 | Section => ==== |
| 221 | Subsection => ---- |
| 222 | Subsubsection => ~~~~ |
| 223 | Subsubsubsection => ^^^^ |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 224 | |
| 225 | With this proposal, we preserve the same TOCs between Sphinx and Docbook. |
| 226 | |
| 227 | Built-in glossary |
| 228 | ================= |
| 229 | |
| 230 | Sphinx has a glossary directive. From |
| 231 | https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#glossary: |
| 232 | |
| 233 | This directive must contain a reST definition list with terms and |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 234 | definitions. It's then possible to refer to each definition through the |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 235 | [https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-term |
| 236 | 'term' role]. |
| 237 | |
| 238 | So anywhere in any of the Yocto Project manuals, :term:`VAR` can be |
| 239 | used to refer to an item from the glossary, and a link is created |
| 240 | automatically. A general index of terms is also generated by Sphinx |
| 241 | automatically. |
| 242 | |
| 243 | Global substitutions |
| 244 | ==================== |
| 245 | |
| 246 | The Yocto Project documentation makes heavy use of global |
| 247 | variables. In Docbook these variables are stored in the file |
| 248 | poky.ent. This Docbook feature is not handled automatically with |
| 249 | Pandoc. Sphinx has builtin support for substitutions |
| 250 | (https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#substitutions), |
| 251 | however there are important shortcomings. For example they cannot be |
| 252 | used/nested inside code-block sections. |
| 253 | |
| 254 | A Sphinx extension was implemented to support variable substitutions |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 255 | to mimic the DocBook based documentation behavior. Variable |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 256 | substitutions are done while reading/parsing the .rst files. The |
| 257 | pattern for variables substitutions is the same as with DocBook, |
| 258 | e.g. `&VAR;`. |
| 259 | |
| 260 | The implementation of the extension can be found here in the file |
| 261 | documentation/sphinx/yocto-vars.py, this extension is enabled by |
| 262 | default when building the Yocto Project documentation. All variables |
| 263 | are set in a file call poky.yaml, which was initially generated from |
| 264 | poky.ent. The file was converted into YAML so that it is easier to |
| 265 | process by the custom Sphinx extension (which is a Python module). |
| 266 | |
| 267 | For example, the following .rst content will produce the 'expected' |
| 268 | content: |
| 269 | |
| 270 | .. code-block:: |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 271 | $ mkdir poky-&DISTRO; |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 272 | or |
| 273 | $ git clone &YOCTO_GIT_URL;/git/poky -b &DISTRO_NAME_NO_CAP; |
| 274 | |
| 275 | Variables can be nested, like it was the case for DocBook: |
| 276 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 277 | YOCTO_HOME_URL : "https://www.yoctoproject.org" |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 278 | YOCTO_DOCS_URL : "&YOCTO_HOME_URL;/docs" |
| 279 | |
| 280 | Note directive |
| 281 | ============== |
| 282 | |
| 283 | Sphinx has a builtin 'note' directive that produces clean Note section |
| 284 | in the output file. There are various types of directives such as |
| 285 | "attention", "caution", "danger", "error", "hint", "important", "tip", |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 286 | "warning", "admonition" that are supported, and additional directives |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 287 | can be added as Sphinx extension if needed. |
| 288 | |
| 289 | Figures |
| 290 | ======= |
| 291 | |
| 292 | The Yocto Project documentation has many figures/images. Sphinx has a |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 293 | 'figure' directive which is straightforward to use. To include a |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 294 | figure in the body of the documentation: |
| 295 | |
| 296 | .. image:: figures/YP-flow-diagram.png |
| 297 | |
| 298 | Links and References |
| 299 | ==================== |
| 300 | |
| 301 | The following types of links can be used: links to other locations in |
| 302 | the same document, to locations in other documents and to external |
| 303 | websites. |
| 304 | |
| 305 | More information can be found here: |
| 306 | https://sublime-and-sphinx-guide.readthedocs.io/en/latest/references.html. |
| 307 | |
Patrick Williams | 2390b1b | 2022-11-03 13:47:49 -0500 | [diff] [blame] | 308 | For external links, we use this syntax: |
| 309 | `link text <link URL>`__ |
| 310 | |
| 311 | instead of: |
| 312 | `link text <link URL>`_ |
| 313 | |
| 314 | Both syntaxes work, but the latter also creates a "link text" reference |
| 315 | target which could conflict with other references with the same name. |
| 316 | So, only use this variant when you wish to make multiple references |
| 317 | to this link, reusing only the target name. |
| 318 | |
| 319 | See https://stackoverflow.com/questions/27420317/restructured-text-rst-http-links-underscore-vs-use |
| 320 | |
Andrew Geissler | 3b8a17c | 2021-04-15 15:55:55 -0500 | [diff] [blame] | 321 | Anchor (<#link>) links are forbidden as they are not checked by Sphinx during |
| 322 | the build and may be broken without knowing about it. |
| 323 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 324 | References |
| 325 | ========== |
| 326 | |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 327 | The following extension is enabled by default: |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 328 | sphinx.ext.autosectionlabel |
| 329 | (https://www.sphinx-doc.org/en/master/usage/extensions/autosectionlabel.html). |
| 330 | |
| 331 | This extension allows you to refer sections by their titles. Note that |
| 332 | autosectionlabel_prefix_document is enabled by default, so that we can |
| 333 | insert references from any document. |
| 334 | |
| 335 | For example, to insert an HTML link to a section from |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 336 | documentation/manual/intro.rst, use: |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 337 | |
| 338 | Please check this :ref:`manual/intro:Cross-References to Locations in the Same Document` |
| 339 | |
| 340 | Alternatively a custom text can be used instead of using the section |
| 341 | text: |
| 342 | |
| 343 | Please check this :ref:`section <manual/intro:Cross-References to Locations in the Same Document>` |
| 344 | |
| 345 | TIP: The following command can be used to dump all the references that |
| 346 | are defined in the project documentation: |
| 347 | |
| 348 | python -msphinx.ext.intersphinx <path to build folder>/html/objects.inv |
| 349 | |
| 350 | This dump contains all links and for each link it shows the default |
| 351 | "Link Text" that Sphinx would use. If the default link text is not |
| 352 | appropriate, a custom link text can be used in the ':ref:' directive. |
| 353 | |
| 354 | Extlinks |
| 355 | ======== |
| 356 | |
| 357 | The sphinx.ext.extlinks extension is enabled by default |
| 358 | (https://sublime-and-sphinx-guide.readthedocs.io/en/latest/references.html#use-the-external-links-extension), |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 359 | and it is configured with the 'extlinks' definitions in |
| 360 | the 'documentation/conf.py' file: |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 361 | |
| 362 | 'yocto_home': ('https://yoctoproject.org%s', None), |
| 363 | 'yocto_wiki': ('https://wiki.yoctoproject.org%s', None), |
| 364 | 'yocto_dl': ('https://downloads.yoctoproject.org%s', None), |
| 365 | 'yocto_lists': ('https://lists.yoctoproject.org%s', None), |
| 366 | 'yocto_bugs': ('https://bugzilla.yoctoproject.org%s', None), |
| 367 | 'yocto_ab': ('https://autobuilder.yoctoproject.org%s', None), |
| 368 | 'yocto_docs': ('https://docs.yoctoproject.org%s', None), |
| 369 | 'yocto_git': ('https://git.yoctoproject.org%s', None), |
| 370 | 'oe_home': ('https://www.openembedded.org%s', None), |
| 371 | 'oe_lists': ('https://lists.openembedded.org%s', None), |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 372 | 'oe_git': ('https://git.openembedded.org%s', None), |
| 373 | 'oe_wiki': ('https://www.openembedded.org/wiki%s', None), |
| 374 | 'oe_layerindex': ('https://layers.openembedded.org%s', None), |
| 375 | 'oe_layer': ('https://layers.openembedded.org/layerindex/branch/master/layer%s', None), |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 376 | |
| 377 | It creates convenient shortcuts which can be used throughout the |
| 378 | documentation rst files, as: |
| 379 | |
| 380 | Please check this :yocto_wiki:`wiki page </Weekly_Status>` |
| 381 | |
| 382 | Intersphinx links |
| 383 | ================= |
| 384 | |
| 385 | The sphinx.ext.intersphinx extension is enabled by default |
| 386 | (https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html), |
| 387 | so that we can cross reference content from other Sphinx based |
| 388 | documentation projects, such as the BitBake manual. |
| 389 | |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 390 | References to the BitBake manual can directly be done: |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 391 | - With a specific description instead of the section name: |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 392 | :ref:`Azure Storage fetcher (az://) <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>` |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 393 | - With the section name: |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 394 | :ref:`bitbake-user-manual/bitbake-user-manual-intro:usage and syntax` option |
| 395 | |
| 396 | If you want to refer to an entire document (or chapter) in the BitBake manual, |
| 397 | you have to use the ":doc:" macro with the "bitbake:" prefix: |
| 398 | - :doc:`BitBake User Manual <bitbake:index>` |
| 399 | - :doc:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata`" chapter |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 400 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 401 | Note that a reference to a variable (:term:`VARIABLE`) automatically points to |
| 402 | the BitBake manual if the variable is not described in the Reference Manual's Variable Glossary. |
| 403 | However, if you need to bypass this, you can explicitely refer to a description in the |
| 404 | BitBake manual as follows: |
| 405 | |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 406 | :term:`bitbake:BB_NUMBER_PARSE_THREADS` |
Andrew Geissler | 6ce62a2 | 2020-11-30 19:58:47 -0600 | [diff] [blame] | 407 | |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 408 | This would be the same if we had identical document filenames in |
| 409 | both the Yocto Project and BitBake manuals: |
| 410 | |
| 411 | :ref:`bitbake:directory/file:section title` |
| 412 | |
Andrew Geissler | 6ce62a2 | 2020-11-30 19:58:47 -0600 | [diff] [blame] | 413 | Submitting documentation changes |
| 414 | ================================ |
| 415 | |
| 416 | Please see the top level README file in this repository for details of where |
| 417 | to send patches. |