[tutorial v1.1_020] Creating a new family (config and doc)

This commit is contained in:
egarette@silique.fr 2026-03-09 09:12:10 +01:00
parent bb2874f029
commit 008cbd7a68
17 changed files with 17 additions and 210 deletions

165
README.md
View file

@ -1,9 +1,9 @@
- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md)
- [[tutorial v1.1_003] Set a default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_003/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_010~1..v1.1_010))
- [[tutorial v1.1_010] A variable with a list of possible values](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020))
# [tutorial v1.1_010] A variable with a list of possible values
# [tutorial v1.1_020] Creating a new family
[Read the tutorial "A variable with a list of possible values" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/choice.html#a-variable-with-a-list-of-possible-values)
[Read the tutorial "Creating a new family" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/family.html#creating-a-new-family)
## Screenshot
@ -29,7 +29,7 @@ pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-
Then switch to the tutorial page:
```shell
git switch --detach v1.1_010
git switch --detach v1.1_020
```
## Structure
@ -37,27 +37,22 @@ git switch --detach v1.1_010
<p>
<a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/./">.</a><br/>
└── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/./firefox/">firefox</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/./firefox/00-proxy.yml">00-proxy.yml</a><br/>
<a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./">.</a><br/>
└── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./firefox/">firefox</a><br/>
    ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./firefox/00-proxy.yml">00-proxy.yml</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./firefox/10-manual.yml">10-manual.yml</a><br/>
<br/><br/></p>
Contents of the firefox/00-proxy.yml file
Contents of the firefox/10-manual.yml file
```yml
%YAML 1.2
---
version: 1.1
proxy_mode:
description: Configure Proxy Access to the Internet
choices:
- No proxy
- Auto-detect proxy settings for this network
- Use system proxy settings
- Manual proxy configuration
- Automatic proxy configuration URL
default: No proxy
manual:
description: Manual proxy configuration
type: family
...
```
@ -74,140 +69,6 @@ rougail -m firefox/ -o doc
***
### Let's generate the changelog
```shell
rougail -m firefox/ -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml
```
#### Modified variable
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="proxy_mode" name="proxy_mode">proxy_mode</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Configure Proxy Access to the Internet.<br/>**Choices**: <br/>&nbsp;No proxy **← (default)**<br/>&nbsp;<ins>Auto-detect proxy settings for this network</ins><br/>&nbsp;<ins>Use system proxy settings</ins><br/>&nbsp;<ins>Manual proxy configuration</ins><br/>&nbsp;<ins>Automatic proxy configuration URL</ins> |
***
## User datas
### Example 1
#### config/01/config.yml
```yml
---
```
***
#### Output
```shell
rougail -m firefox/ -u yaml -yf config/01/config.yml
```
> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #B8860B">Default value</span>
Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #B8860B">No proxy</span>
***
### Example 2
#### config/02/config.yml
```yml
---
proxy_mode: No proxy
```
***
#### Output
```shell
rougail -m firefox/ -u yaml -yf config/02/config.yml
```
> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #006400">Modified value</span>
> - (:hourglass_flowing_sand: Original default value)
Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #006400">No proxy</span> ← loaded from the YAML file "config/02/config.yml" (:hourglass_flowing_sand: No proxy)
***
### Example 3
#### config/03/config.yml
```yml
---
proxy_mode: Manual proxy configuration
```
***
#### Output
```shell
rougail -m firefox/ -u yaml -yf config/03/config.yml
```
> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #006400">Modified value</span>
> - (:hourglass_flowing_sand: Original default value)
Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #006400">Manual proxy configuration</span> ← loaded from the YAML file "config/03/config.yml" (:hourglass_flowing_sand: No proxy)
***
### Example 4
#### config/04/config.yml
```yml
---
proxy_mode: foo
```
***
#### Output
```shell
rougail -m firefox/ -u yaml -yf config/04/config.yml
```
> [!WARNING]
>
> - proxy_mode (Configure Proxy Access to the Internet): :bell: <span style="color: #EFBF04">the value "foo" is an invalid choice, only "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", "No proxy" and "Use system proxy settings" are allowed, it will be ignored when loading from the YAML file "config/04/config.yml"</span>
> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #B8860B">Default value</span>
Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #B8860B">No proxy</span>
***
#### Output when invalid user data is an error
```shell
rougail -m firefox/ -u yaml -yf config/04/config.yml --cli.invalid_user_data_error
```
> [!CAUTION]
>
> - proxy_mode (Configure Proxy Access to the Internet): :stop_sign: <span style="color: #C23636">the value "foo" is an invalid choice, only "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", "No proxy" and "Use system proxy settings" are allowed, it has been loading from the YAML file "config/04/config.yml"</span>
***
- [[tutorial v1.1_020] Creating a new family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020))
- [[tutorial v1.1_021] Or a sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_021/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_021~1..v1.1_021))

View file

@ -1 +0,0 @@
rougail -m firefox/ -u yaml -yf config/01/config.yml

View file

@ -1 +0,0 @@
---

View file

@ -1,6 +0,0 @@
<pre>╭─────── Caption ────────╮
│ Variable <span style="color: #ffd700">Default value</span>
╰────────────────────────╯
Variables:
<span style="color: #5c5cff">┗━━ </span>📓 proxy_mode (Configure Proxy Access to the Internet): <span style="color: #ffd700">No proxy</span>
</pre>

View file

@ -1 +0,0 @@
rougail -m firefox/ -u yaml -yf config/02/config.yml

View file

@ -1,2 +0,0 @@
---
proxy_mode: No proxy

View file

@ -1,8 +0,0 @@
<pre>╭────────────── Caption ───────────────╮
│ Variable <span style="color: #00aa00">Modified value</span>
│ (⏳ Original default value) │
╰──────────────────────────────────────╯
Variables:
<span style="color: #5c5cff">┗━━ </span>📓 proxy_mode (Configure Proxy Access to the Internet): <span style="color: #00aa00">No proxy</span> ◀ loaded
<span style="color: #5c5cff"> </span>from the YAML file "config/02/config.yml" (⏳ No proxy)
</pre>

View file

@ -1 +0,0 @@
rougail -m firefox/ -u yaml -yf config/03/config.yml

View file

@ -1,2 +0,0 @@
---
proxy_mode: Manual proxy configuration

View file

@ -1,9 +0,0 @@
<pre>╭────────────── Caption ───────────────╮
│ Variable <span style="color: #00aa00">Modified value</span>
│ (⏳ Original default value) │
╰──────────────────────────────────────╯
Variables:
<span style="color: #5c5cff">┗━━ </span>📓 proxy_mode (Configure Proxy Access to the Internet): <span style="color: #00aa00">Manual proxy </span>
<span style="color: #5c5cff"> </span><span style="color: #00aa00">configuration</span> ◀ loaded from the YAML file "config/03/config.yml" (⏳ No
<span style="color: #5c5cff"> </span>proxy)
</pre>

View file

@ -1 +0,0 @@
rougail -m firefox/ -u yaml -yf config/04/config.yml --cli.invalid_user_data_error

View file

@ -1 +0,0 @@
rougail -m firefox/ -u yaml -yf config/04/config.yml

View file

@ -1,2 +0,0 @@
---
proxy_mode: foo

View file

@ -1,7 +0,0 @@
<pre><span style="font-weight: bold; color: #ff0000">🛑 Caution</span>
<span style="color: #ff0000">┗━━ </span>proxy_mode (Configure Proxy Access to the Internet): <span style="color: #ff0000">🛑 the value "foo" is </span>
<span style="color: #ff0000"> </span><span style="color: #ff0000">an invalid choice, only "Auto-detect proxy settings for this network", </span>
<span style="color: #ff0000"> </span><span style="color: #ff0000">"Automatic proxy configuration URL", "Manual proxy configuration", "No </span>
<span style="color: #ff0000"> </span><span style="color: #ff0000">proxy" and "Use system proxy settings" are allowed, it has been loading from</span>
<span style="color: #ff0000"> </span><span style="color: #ff0000">the YAML file "config/04/config.yml"</span>
</pre>

View file

@ -1,13 +0,0 @@
<pre><span style="font-weight: bold; color: #ffff00">🔔 Warning</span>
<span style="color: #ffff00">┗━━ </span>proxy_mode (Configure Proxy Access to the Internet): <span style="color: #ffff00">🔔 the value "foo" is </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00">an invalid choice, only "Auto-detect proxy settings for this network", </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00">"Automatic proxy configuration URL", "Manual proxy configuration", "No </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00">proxy" and "Use system proxy settings" are allowed, it will be ignored when </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00">loading from the YAML file "config/04/config.yml"</span>
╭─────── Caption ────────╮
│ Variable <span style="color: #ffd700">Default value</span>
╰────────────────────────╯
Variables:
<span style="color: #5c5cff">┗━━ </span>📓 proxy_mode (Configure Proxy Access to the Internet): <span style="color: #ffd700">No proxy</span>
</pre>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View file

@ -1,5 +1,6 @@
<p>
<a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/./">.</a><br/>
└── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/./firefox/">firefox</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/./firefox/00-proxy.yml">00-proxy.yml</a><br/>
<a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./">.</a><br/>
└── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./firefox/">firefox</a><br/>
    ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./firefox/00-proxy.yml">00-proxy.yml</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/./firefox/10-manual.yml">10-manual.yml</a><br/>
<br/><br/></p>