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

This commit is contained in:
egarette@silique.fr 2026-01-08 20:22:04 +01:00
parent 551725465b
commit db63f035e5
17 changed files with 18 additions and 211 deletions

167
README.md
View file

@ -1,11 +1,11 @@
- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md) - [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_003~1..v1.1_003)) - [[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_010~1..v1.1_010))
# [tutorial v1.1_010] A variable with a list of possible values # [tutorial v1.1_020] Creating a new family
[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_010~1..v1.1_010) [View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020)
[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#a-variable-with-a-list-of-possible-values) [Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#creating-a-new-family)
## Screenshot ## Screenshot
@ -31,7 +31,7 @@ pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-
Then switch to the tutorial page: Then switch to the tutorial page:
```shell ```shell
git switch --detach v1.1_010 git switch --detach v1.1_020
``` ```
## Structure ## Structure
@ -39,27 +39,22 @@ git switch --detach v1.1_010
<p> <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_020/./">.</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_020/./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/./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> <br/><br/></p>
Contents of the firefox/00-proxy.yml file Contents of the firefox/10-manual.yml file
```yml ```yml
%YAML 1.2 %YAML 1.2
--- ---
version: 1.1 version: 1.1
proxy_mode: manual:
description: Configure Proxy Access to the Internet description: Manual proxy configuration
choices: type: family
- No proxy
- Auto-detect proxy settings for this network
- Use system proxy settings
- Manual proxy configuration
- Automatic proxy configuration URL
default: No proxy
... ...
``` ```
@ -76,140 +71,6 @@ rougail -m firefox/ -o doc
*** ***
### Let's generate the changelog
```shell
rougail -m firefox/ -o doc --doc.contents changelog
```
#### 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> |
*** - [[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))
## 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))

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> <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_020/./">.</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_020/./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/./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> <br/><br/></p>