Skip to content

Commit 68e070e

Browse files
benjaominghumitosstsewd
authored
Docs: New entries to glossary (#10249)
* Adds "reproducible" to glossary * Adds glossary entries from #10071 * Make "webhook" respect a-z * Improve reproducible entry * Simplify the definition so its easier to understand * Move root URL so it's a-z * Remove "profile page" * Add "pinning" to glossary * Apply suggestions from @stsewd and @humitos code review Co-authored-by: Manuel Kaufmann <[email protected]> Co-authored-by: Santos Gallegos <[email protected]> * Update docs/user/glossary.rst Co-authored-by: Manuel Kaufmann <[email protected]> * Put defining sentence first * Add some references to new glossary entries * Put definition first * Add more references to pinning --------- Co-authored-by: Manuel Kaufmann <[email protected]> Co-authored-by: Santos Gallegos <[email protected]>
1 parent 121fa70 commit 68e070e

8 files changed

+85
-20
lines changed

docs/user/build-notifications.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Email notifications:
99
This makes sure you know when your builds have failed.
1010

1111
Build Status Webhooks:
12-
Build notifications can happen via webhooks.
12+
Build notifications can happen via :term:`webhooks <webhook>`.
1313
This means that we are able to support a wide variety of services that receive notifications.
1414

1515
Slack and Discord are supported through ready-made templates.

docs/user/connected-accounts.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ which allow us to build your documentation on every change to your repository.
8888
We ask for this so you can create a Read the Docs account and login with your GitHub credentials.
8989

9090
Administering webhooks (``admin:repo_hook``)
91-
We ask for this so we can create webhooks on your repositories when you import them into Read the Docs.
91+
We ask for this so we can create :term:`webhooks <webhook>` on your repositories when you import them into Read the Docs.
9292
This allows us to build the docs when you push new commits.
9393

9494
Read access to your organizations (``read:org``)
@@ -115,7 +115,7 @@ which allow us to build your documentation on every change to your repository.
115115
We request permissions for:
116116

117117
Administering your repositories (``repository:admin``)
118-
We ask for this so we can create webhooks on your repositories when you import them into Read the Docs.
118+
We ask for this so we can create :term:`webhooks <webhook>` on your repositories when you import them into Read the Docs.
119119
This allows us to build the docs when you push new commits.
120120
NB! This permission scope does **not** include any write access to code.
121121

docs/user/faq.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ and as a result, it tends to look a bit better with the default theme.
354354
I need to install a package in a environment with pinned versions
355355
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
356356

357-
To ensure proper installation of a Python package, the ``pip`` :ref:`install method <config-file/v2:python.install>` will automatically upgrade every dependency to its most recent version in case they aren't pinned by the package definition.
357+
To ensure proper installation of a Python package, the ``pip`` :ref:`install method <config-file/v2:python.install>` will automatically upgrade every dependency to its most recent version in case they aren't:term:`pinned <pinning>` by the package definition.
358358
If instead you'd like to pin your dependencies outside the package, you can add this line to your requirements or environment file (if you are using Conda).
359359

360360
In your ``requirements.txt`` file::

docs/user/glossary.rst

+74-8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ so that you have a reference for how we're using them.
66

77
.. glossary::
88

9+
CI/CD
10+
CI/CD is a common way to write *Continuous Integration and Continuous Deployment*.
11+
In some scenarios, they exist as two separate platforms.
12+
Read the Docs is a combined CI/CD platform made for documentation.
13+
914
dashboard
1015
The "admin" site where Read the Docs projects are managed and configured.
1116
This varies for our two properties:
@@ -39,36 +44,97 @@ so that you have a reference for how we're using them.
3944
and rules for publication of documentation can be :doc:`automated </automation-rules>`.
4045
Similar to :term:`Docs as Code`.
4146

47+
pinning
48+
To *pin* a requirement means to explicitly specify which version should be used.
49+
*Pinning* software requirements is the most important technique to make a project :term:`reproducible`.
50+
51+
When documentation builds,
52+
software dependencies are installed in their latest versions permitted by the pinning specification.
53+
Since software packages are frequently released,
54+
we are usually trying to avoid incompatibilities in a new release from suddenly breaking a documentation build.
55+
56+
Examples of Python dependencies::
57+
58+
# Exact pinning: Only allow Sphinx 5.3.0
59+
sphinx==5.3.0
60+
61+
# Loose pinning: Lower and upper bounds result in the latest 5.3.x release
62+
sphinx>=5.3,<5.4
63+
64+
# Very loose pinning: Lower and upper bounds result in the latest 5.x release
65+
sphinx>=5,<6
66+
67+
Read the Docs recommends using **exact pinning**.
68+
69+
See: :doc:`/guides/reproducible-builds`.
70+
4271
pre-defined build jobs
4372
Commands executed by Read the Docs when performing the build process.
4473
They cannot be overwritten by the user.
4574

46-
profile page
47-
Page where you can see the projects of a certain user.
48-
4975
project home
5076
Page where you can access all the features of Read the Docs,
5177
from having an overview to browsing the latest builds or administering your project.
5278

5379
project page
5480
Another name for :term:`project home`.
5581

82+
reproducible
83+
A documentation project is said to be *reproducible* when its sources build correctly on Read the Docs over a periode of many years.
84+
You can also think of being *reproducible* as being *robust* or *resillient*.
85+
86+
Being "reproducible" is an important positive quality goal of documentation.
87+
88+
When builds are not reproducible and break due to external factors,
89+
they need frequent troubleshooting and manual fixing.
90+
91+
The most common external factor is that new versions of software dependencies are released.
92+
93+
See: :doc:`/guides/reproducible-builds`.
94+
95+
root URL
96+
Home URL of your documentation without the ``/<lang>`` and ``/<version>`` segments.
97+
For projects without custom domains, the one ending in ``.readthedocs.io/``
98+
(for example, ``https://docs.readthedocs.io`` as opposed to ``https://docs.readthedocs.io/en/latest``).
99+
56100
slug
57101
A unique identifier for a project or version. This value comes from the
58102
project or version name, which is reduced to lowercase letters, numbers,
59103
and hyphens. You can retrieve your project or version slugs from
60104
:doc:`our API <api/v3>`.
61105

106+
static website
107+
A static site or static website is a collection of HTML files, images, CSS and JavaScript that are served statically,
108+
as opposed to dynamic websites that generate a unique response for each request, using databases and user sessions.
109+
110+
Static websites are highly portable, as they do not depend on the webserver.
111+
They can also be viewed offline.
112+
113+
Documentation projects served on Read the Docs are *static websites*.
114+
115+
Tools to manage and generate static websites are commonly known as *static site generators* and there is a big overlap with documentation tools.
116+
Some static site generators are also documentation tools,
117+
and some documentation tools are also used to generate normal websites.
118+
119+
For instance, :doc:`Sphinx <sphinx:index>` is made for documentation but also used for blogging.
120+
62121
subproject
63122
Project A can be configured such that when requesting a URL ``/projects/<subproject-slug>``,
64123
the root of project B is returned.
65124
In this case, *project B* is the subproject.
66125
Read more in :doc:`/subprojects`.
67126

68-
root URL
69-
Home URL of your documentation without the ``/<lang>`` and ``/<version>`` segments.
70-
For projects without custom domains, the one ending in ``.readthedocs.io/``
71-
(for example, ``https://docs.readthedocs.io`` as opposed to ``https://docs.readthedocs.io/en/latest``).
72-
73127
user-defined build jobs
74128
Commands defined by the user that Read the Docs will execute when performing the build process.
129+
130+
webhook
131+
A webhook is a special URL that can be called from another service,
132+
usually with a secret token.
133+
It is commonly used to start a build or a deployment or to send a status update.
134+
135+
There are two important types of webhooks for Read the Docs:
136+
137+
* Git providers have webhooks which are special URLs that Read the Docs can call in order to notify about documentation builds.
138+
* Read the Docs has a unique webhook for each project that the Git provider calls when changes happen in Git.
139+
140+
See also: :doc:`/guides/git-integrations` and :doc:`/build-notifications`

docs/user/guides/build-notifications.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Build notifications can alert you when your builds fail so you can take immediat
66

77
.. note::
88

9-
Currently we don't send notifications or trigger webhooks
9+
Currently we don't send notifications or trigger :term:`webhooks <webhook>`
1010
on :doc:`builds from pull requests </pull-requests>`.
1111

1212

docs/user/guides/git-integrations.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ Provider-specific instructions
114114
Additional integration
115115
----------------------
116116

117-
You can configure multiple webhooks.
117+
You can configure multiple :term:`webhooks <webhook>`.
118118

119119
To manually set up an integration, go to :guilabel:`Admin` > :guilabel:`Integrations` > :guilabel:`Add integration`
120120
dashboard page and select the integration type you'd like to add.

docs/user/guides/reproducible-builds.rst

+4-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ How to create reproducible builds
22
=================================
33

44
Your documentation depends on a number of dependencies to be built.
5-
If your docs don't have reproducible builds,
5+
If your docs don't have :term:`reproducible` builds,
66
an update in a dependency can break your builds when least expected,
77
or make your docs look different from your local version.
88
This guide will help you to keep your builds working over time,
@@ -15,7 +15,6 @@ so that you can focus on content.
1515
Use a ``.readthedocs.yaml`` configuration file
1616
----------------------------------------------
1717

18-
1918
We recommend using a :doc:`configuration file </config-file/v2>` to manage your documentation.
2019
Our config file *provides you per version settings*,
2120
and *those settings live in your Git repository*.
@@ -26,7 +25,7 @@ and ensures that all your versions can be rebuilt from a reproducible configurat
2625
Use a requirements file for Python dependencies
2726
-----------------------------------------------
2827

29-
We recommend using a Pip :ref:`requirements file <pip:requirements-file-format>` or Conda :ref:`environment file <config-file/v2:conda.environment>` to pin Python dependencies.
28+
We recommend using a Pip :ref:`requirements file <pip:requirements-file-format>` or Conda :ref:`environment file <config-file/v2:conda.environment>` to :term:`pin <pinning>` Python dependencies.
3029
This ensures that top-level dependencies and extensions don't change.
3130

3231
A configuration file with explicit dependencies looks like this:
@@ -66,7 +65,7 @@ A configuration file with explicit dependencies looks like this:
6665
Pin your transitive dependencies
6766
--------------------------------
6867

69-
Once you have pinned your own dependencies,
68+
Once you have :term:`pinned <pinning>` your own dependencies,
7069
the next things to worry about are the dependencies of your dependencies.
7170
These are called *transitive dependencies*,
7271
and they can upgrade without warning if you do not pin these packages as well.
@@ -144,7 +143,7 @@ Check list ✅
144143
-------------
145144

146145
If you followed this guide,
147-
you have pinned:
146+
you have:term:`pinned <pinning>`:
148147

149148
* tool versions (Python, Node)
150149
* top-level dependencies (Sphinx, Sphinx extensions)

docs/user/tutorial/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ On the authorization page, click the green :guilabel:`Authorize readthedocs` but
7979

8080
Read the Docs needs elevated permissions to perform certain operations
8181
that ensure that the workflow is as smooth as possible,
82-
like installing webhooks.
82+
like installing :term:`webhooks <webhook>`.
8383
If you want to learn more,
8484
check out :ref:`connected-accounts:permissions for connected accounts`.
8585

0 commit comments

Comments
 (0)