Commit Graph

180 Commits

Author SHA1 Message Date
Benjamin Cabé
47a7da9e9f doc: Overhaul doc guidelines
- Improved document structure (was *very* flat before) by adding more
  meaningful top-level headings and re-ordering some of the existing
  sections
- Provide detailed and structured docs for all the custom Sphinx roles
  and directives available in Zephyr, including moving the docs for
  ``.. zephyr-app-commands`` directive and `:dtcompatible:` roles away
  from the extensions' source files to align with how Sphinx typically
  handles docs for custom roles/directives.
- Added more content regarding diagrams guidelines, images,
  cross-referencing of Doxygen documentation, ...

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-18 15:31:39 +02:00
Benjamin Cabé
6cf5ac5879 doc: guidelines: drop mention of "any" links
Commit 204860857e (PR #41061) dropped
support for "any" as the default role, so this should be dropped from
the documentation guidelines as well.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-13 11:42:51 -05:00
Benjamin Cabé
df294e34e1 doc: sphinx-lint: fix bad usage of "default role"
Fixes bad usage of single backticks in lieu of double backticks for
rendering inline literals, or simple '*' for italics.

When appropriate, a better construct than double backticks has been
selected (ex. :file:, :kconfig:option:, :c:func:, ...), or proper :ref:
have been used if the original intention was to have a link.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-13 11:42:51 -05:00
Benjamin Cabé
b23f43c096 doc: generation: fix link to zephyr.tag
This link probably never worked. This commit fixes the relative
URL to properly point to where Doxygen docs live.

Fixes #78016.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-05 17:12:32 -04:00
Fin Maaß
3887f41ef9 doc: fix links to wiki
This fixes the broken links to the zephyr wiki.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-08-30 09:07:52 +02:00
Jordan Yates
2f143fb2c1 doc: add make html-live and html-live-fast
Add two new commands that automatically locally host the generated
documentation upon completion and rebuild/rehost when the input files
change without any user interaction.

For more info see: https://pypi.org/project/sphinx-autobuild/

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-08-26 17:05:39 +02:00
Simon Hein
e37e3d5a85 doc: coding guidelines: Refactor the guidelines rule table
Refactor the guidelines rule table and add a zephyr rule number
to make it more clear that the coding guideline rules are a
subset of the MISRA-C:2012 rules.

Signed-off-by: Simon Hein <Shein@baumer.com>
2024-08-22 09:12:23 +02:00
Mathieu Choplain
a304f98ac1 doc: Coding guidelines: use fixed title for reference to Bluetooth APIs
Commit 698a0c3193 changed the bluetooth_api
section title, which made the reference in the Coding guidelines turn into
"API", which is confusing.

Use a fixed title for that reference to fix the issue.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2024-08-21 16:43:52 -04:00
Simon Hein
56a691078e doc: doc generation: remove breathe references
Remove the references to the breathe extension in the
Schematic of the documentation build process graph and
the filtering expected warnings section.

Signed-off-by: Simon Hein <Shein@baumer.com>
2024-08-21 18:27:04 +01:00
Benjamin Cabé
ef830d7a5e doc: fix 404 error with Zephyr project charter
The project charter has apparently changed location on
the main zephyrproject.org website.
This fixes a couple occurences of the old URL.

fixes #76433

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-07-31 10:07:11 +02:00
Declan Snyder
139a1cb803 doc: Make PR description a contributor expectation
Make a PR description an expectation/requirement for
pull requests submitted to the zephyr project.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-07-18 16:27:23 -04:00
Simon Hein
a5668c78d1 doc: guidelines: update coding guidelines docs
Remove references to a timline for the coding guidelines enforcement
stages. Mark the current stage better and add notes about the
current stage.

Signed-off-by: Simon Hein <Shein@baumer.com>
2024-07-09 15:23:18 -04:00
Anas Nashif
911df45d8e doc: update charter link
Update link to charter and use something more recent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-06-11 20:24:02 +03:00
Benjamin Cabé
9ee3bf221d doc: pdf: add ImageMagick converter extension
Our documentation uses image formats such as WebP that are not supported
by LaTeX. This commit enables Sphinx's sphinx.ext.imageconverter
extension, and updates the documentation to indicate ImageMagick is
required to build docs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-10 14:58:16 +03:00
Gustavo Silva
9e2c773137 doc: improvements to Contribution Guidelines
Restructure the Contribution Guidelines page in the documentation.

Create the 'Pull Request Guidelines' section containing the best
practices for creating Pull Requests.

Improve commit message guidelines: instruct contributors to refer to
GitHub issue in the PR message instead of commit message when
submitting a fix; add a description of `Link:` tags for refering to
other relevant information.

Move 'clang-format' and 'twister' subsections to the new PR
Guidelines section.

Delete outdated/incorrect information about how to run tests locally
with twister.

Describe the `check_compliance.py` script as the recommended tool for
checking compliance of changes and how to run the script locally.
Remove 'gitlint' subsection.

Add a list of recommended steps for getting a new PR accepted quickly.

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2024-06-07 15:03:35 +02:00
David Leach
6f7fd7a306 doc: project roles: reviewer and assignee clarification
Clarification of reviewer expectations and role. Emphasis
on clarifying when a PR can be closed.

Highlighting reviewers and assignee objective to guide PR
to a mergeable state, if possible.

Signed-off-by: David Leach <david.leach@nxp.com>
2024-06-06 20:07:06 -04:00
Andrej Butok
a1ac84ca38 doc: Add upgrade flag to the install requirements command
- Adds -U upgrade flag to the install requirements command.
- Fixes a possible documentation generation issue,
  reported in https://github.com/zephyrproject-rtos/zephyr/issues/73082

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-05-31 16:36:04 -05:00
Jose Alberto Meza
33f905009d doc: eSPI: Update link to eSPI spec
Add link to eSPI spec 1.5
Update coding guidelines for eSPI bus

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-05-02 13:56:46 -04:00
Fabio Baltieri
e9dceed173 doc: guidelines: add a note about ascii and emojis
Add a note about source files encoding and emojis.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-04-05 11:54:39 +02:00
Benjamin Cabé
36a9a9cee0 doc: guidelines: fix dead links
fix zephyr_file and zephyr_raw broken links

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-03-15 18:21:05 -04:00
Robert Lubos
f250080af6 doc: Add gmtime_r() to rule A.5 exceptions
According to commit 400c1fa744 which
introduced rule A.5 to the coding guidelines, the initial exception list
was based on the non-standard function availability in minimal libc.

gmtime_r() however, has not been included to the list, although it's
present in minimal libc since 3e8df8b369.

This commit fixes this, by adding gmtime_r() to the rule A.5 exception
list.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-28 00:54:42 +09:00
Alberto Escolar Piedras
ba81d439e4 doc coding_guidelines: Exclude host tooling from rule A.5
Rule A.5 is meant for code build with the embedded libCs and
which runs in embedded targets. Let's be more clear about this
and explicitly indicate that host tooling is not covered by it.
Otherwise, the current
"The "Zephyr codebase" in this context refers to all source
code files committed to the main Zephyr repository"
covers too much.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-30 18:00:48 +01:00
Johan Hedberg
c1dfa97960 doc: coding_guidelines: Update reference to Bluetooth language document
Update the reference to the Bluetooth Appropriate Language Mapping
Tables document. The link is now the same as the Bluetooth SIG website
uses.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2024-01-24 18:02:38 +01:00
Benjamin Cabé
de21b50002 doc: guidelines: drop mentions of Parasoft Codescan
Drop the section of the coding guidelines that's referring to Parasoft
Codescan as it's not used by the project anymore.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-01-23 10:02:39 +01:00
Grzegorz Ferenc
ae0ad38e6b doc: contribute: fix heading formatting
Fixed several headings in the contribute section that were not following
the documentation guidelines for headings.

Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
2024-01-07 18:41:16 +01:00
Flavio Ceolin
dd58f80fe2 doc: Static Analysis requirement
Sets static analysis  an indispensable requirement for our project
releases.

Static analysis is not merely a tool but a proactive
strategy to unearth and address potential issues in the early stages
of development, long before they mature into critical
vulnerabilities. By scrutinizing code at rest, static analysis unveils
latent defects and potential security risks, thus bolstering the
resilience of our software against future threats.

Fixes: #64591

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-02 10:09:14 +01:00
Andrej Butok
7536021599 doc: blobs: fix double 'command'
Fix double 'command' in the "Fetching blobs" chapter.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-04 16:39:32 +00:00
Anas Nashif
538abf3332 doc: clarify role of CODEOWNERS and MAINTAINERS files
Change docs to use MAINTAINERS file as the main file for managing code
areas and 'ownership'.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-16 08:19:15 -05:00
Andrej Butok
287b30eb78 doc: Fix double 'the'
Fix double 'the' in all .rst documentation.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-15 14:25:11 +00:00
Jordan Yates
ee57b56ba5 doc: contribute: instructions for local viewing of docs
Add instructions for serving the generated HTML docs on a local IP
address.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-07 09:54:22 +01:00
Anas Nashif
a6b490073e kernel: object: rename z_object -> k_object
Do not use z_ for internal structures and rename to k_object instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Fabio Baltieri
d89938f4b9 doc: guidelines: fix title level
Specialized driver requirements should have been one level up, it now
nests under "treewide".

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-31 16:33:04 +00:00
Anas Nashif
a6bfbedbf5 doc: project roles: Further finetune language
More details about roles and responsibilities and reviewer expectations.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Anas Nashif
8663449055 doc: reviewer expectations: minor optimizations
Minor layout and language optimization to the review expectations
document.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Anas Nashif
d8709301a2 doc: update technical escalation proccess
Update process for technical PR escalation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Benjamin Cabé
92045a021e doc: guidelines: Clarify how code-block directive should be used
Correct a previous mistake indicating syntax highlighting is
autoguessed.

Add recommendations and samples around languages that documentation
authors are encouraged to use.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 14:32:39 +02:00
Fabio Baltieri
d933e7417f doc: guidelines: add a note about specialized drivers
Add a note about requirements for specialized drivers, clarifying the
requirements about using Zephyr APIs.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-20 15:19:58 +02:00
Flavio Ceolin
05fb54b090 doc: security: Update info about tools
Since there are multiple static analysis tools being used
now, it is better to change references for a particular one
and just point to static analysis section in the documentation.

JIRA is no longer used for tracking security issues. Update it
to Github.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-20 15:11:01 +02:00
Benjamin Cabé
edf9435a68 doc: guidelines: Properly highlight .rst snippets
This commit fixes syntax higlighting of all the reStructuredText
snippets in the documentation guidelines by setting default
higlighting language to rst.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:18:43 +03:00
Benjamin Cabé
6db5d84dbb doc: Improve "Contributing to Zephyr" landing page
The "Contributing to Zephyr" page used to be a simple table of contents
with pointers to sub-pages. This bland page was not very inviting to new
contributors, and provided little to no context as to what to expect in
each sub-section. This commit improves the landing page by implenmenting
the following changes:

- Remove auto toctree and replace with manually curated entries that
  provide more context about each sub-section.
- Add a section about the Zephyr Contributor Badge.
- Add a section about getting help, with links to Discord and dev
  mailing list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
620f6b9a6d doc: guidelines: remove stale mention to nightly builds
Drop the mention to nightly builds being posted to the build@ mailing
list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
3ba4b6f95b doc: Improve documentation guidelines intro
The intro of this document was starting to show its age. Simplified
some of the wording and added a reference to the documentation build
instructions.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
f7f8acaf03 doc: remove instructions regarding numbered steps
"Numbered steps" were dropped a long time ago in a previous revamp of
the stylesheet, so dropping instructions related to them in the
documentation guidelines.

Also remove unecessary mention to "how to build the doc" as it's
already mentioned as a note at the top of the document.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-04 15:05:31 +01:00
Anas Nashif
f00b4a8a15 doc: modules: integration modes
Document integration modes of modules.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Benjamin Cabé
d30ec30a85 doc: guides: Update PDF output path
The zephyr.pdf file is to be found in _build/latex folder, not
_build/pdf.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 14:38:12 +01:00
Keith Short
abf26affe0 doc: Add instructions for installing Python dependencies
The Python dependencies specific to building the documentation were
recently removed from the common requirements. Point users to the
documentation generation instructions and provide details on installing
the doc specific dependencies.

Signed-off-by: Keith Short <keithshort@google.com>
2023-09-06 15:16:38 +02:00
Fabio Baltieri
bef540b178 doc: guidelines: add an item about avoiding binary literals
Add an item to the coding style list asking to avoid using binary
literals.

Link: https://github.com/zephyrproject-rtos/zephyr/issues/61798
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-08-24 10:21:12 +02:00
Benjamin Cabé
b667c2cd7e Revert "doc: Replace instances of 'Breathe' with 'Docleaf'"
This reverts commit 10cb87dc2b.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-08-24 09:19:37 +01:00
Carles Cufi
3d37cc3da9 doc: bin blobs: State that blobs will not be fetched in CI
As a follow-up to a recent discussion in the PR below:
https://github.com/zephyrproject-rtos/zephyr/pull/59991

document that binary blobs will not be fetched in CI.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-07-28 09:47:39 +00:00
Gerard Marull-Paretas
7f9215da0e doc: move requirements to doc/
Zephyr scripts do not require documentation dependencies, so let's
move them from scripts/ to doc/.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00