No description
Find a file
2026-04-17 12:26:33 +02:00
config [tutorial v1.1_022] Putting a variable inside of a family or a sub family (config and doc) 2026-04-17 12:26:33 +02:00
firefox [tutorial v1.1_021] Or a sub family 2026-04-17 12:26:31 +02:00
firefox.png [tutorial v1.1_020] Creating a new family (config and doc) 2026-04-17 12:26:29 +02:00
foxyproxy.png [init] Discover Rougail 2026-04-17 12:26:16 +02:00
install.txt [init] Discover Rougail 2026-04-17 12:26:16 +02:00
README.md [tutorial v1.1_022] Putting a variable inside of a family or a sub family (config and doc) 2026-04-17 12:26:33 +02:00
tree.html [tutorial v1.1_022] Putting a variable inside of a family or a sub family (config and doc) 2026-04-17 12:26:33 +02:00

[tutorial v1.1_022] Putting a variable inside of a family or a sub family

Read the tutorial "Putting a variable inside of a family or a sub family" in the documentation

Screenshot

Firefox Proxy setting

Clone and install

To test this tutorial, you need to download this repository and install Rougail:

git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git
cd rougail-tutorials
python -m venv venv_rougail
. venv_rougail/bin/activate
pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml

Then switch to the tutorial page:

git switch --detach v1.1_022

Structure

.
└── firefox
    ├── 00-proxy.yml
    └── 10-manual.yml


Contents of the firefox/10-manual.yml file

%YAML 1.2
---
version: 1.1

manual:  # Manual proxy configuration

  http_proxy:  # HTTP Proxy

    address:  # HTTP address
...


Let's generate the documentation```shell

rougail -m firefox/ -o doc

| 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;Auto-detect proxy settings for this network<br/>•&nbsp;Use system proxy settings<br/>•&nbsp;Manual proxy configuration<br/>•&nbsp;Automatic proxy configuration URL |

#### Manual proxy configuration

> [!NOTE]
> 
> **Path**: manual

##### HTTP Proxy

> [!NOTE]
> 
> **Path**: manual.http_proxy

| Variable                                                                                                                                                                                                | Description   |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| **<a id="manual.http_proxy.address" name="manual.http_proxy.address">manual.http_proxy.address</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address. |
***
### Let's generate the changelog```shell
rougail -m firefox/ -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml

New variable

Variable Description
manual.http_proxy.address
string mandatory
HTTP address.

User datas### Example 1#### config/01/config.yml

---

Output```shell

rougail -m firefox/ -u yaml -yf config/01/config.yml

> [!CAUTION]
> 
> - manual (Manual proxy configuration)
>   - http_proxy (HTTP Proxy)
>     - address (HTTP address): :stop_sign: <span style="color: #C23636">mandatory variable but has no value</span>

***
### Example 2#### config/02/config.yml
```yml
---
manual:
  http_proxy:
    address: example.net

Output```shell

rougail -m firefox/ -u yaml -yf config/02/config.yml

> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #B8860B">Default value</span>
> - <span style="color: #006400">Modified value</span>

Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #B8860B">No proxy</span>
- :open_file_folder: manual (Manual proxy configuration)
  - :open_file_folder: http_proxy (HTTP Proxy)
    - :notebook: address (HTTP address): <span style="color: #006400">example.net</span> ← loaded from the YAML file "config/02/config.yml"

***
### Example 3#### config/03/config.yml
```yml
---
manual:
  http_proxy:
    address: example.net
    port: 3128

Output```shell

rougail -m firefox/ -u yaml -yf config/03/config.yml

> [!WARNING]
> 
> - manual (Manual proxy configuration)
>   - http_proxy (HTTP Proxy): :bell: <span style="color: #EFBF04">variable or family "port" does not exist so cannot load "manual.http_proxy.port", it will be ignored when loading from the YAML file "config/03/config.yml"</span>

> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #B8860B">Default value</span>
> - <span style="color: #006400">Modified value</span>

Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #B8860B">No proxy</span>
- :open_file_folder: manual (Manual proxy configuration)
  - :open_file_folder: http_proxy (HTTP Proxy)
    - :notebook: address (HTTP address): <span style="color: #006400">example.net</span> ← loaded from the YAML file "config/03/config.yml"

***


- [[tutorial v1.1_030] A variable with type "domainname"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_030/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030))