No description
Find a file
2025-12-02 16:18:23 +01:00
config [tutorial v1.1_010] A variable with a list of possible values (config and doc) 2025-12-02 16:18:23 +01:00
firefox [tutorial v1.1_010] A variable with a list of possible values 2025-12-02 16:18:23 +01:00
firefox.png [tutorial v1.1_001] Let’s add our first variable (config and doc) 2025-12-02 16:18:18 +01:00
foxyproxy.png [init] Discover Rougail 2025-12-02 16:18:14 +01:00
install.txt [init] Discover Rougail 2025-12-02 16:18:14 +01:00
README.md [tutorial v1.1_010] A variable with a list of possible values (config and doc) 2025-12-02 16:18:23 +01:00
tree.html [tutorial v1.1_010] A variable with a list of possible values (config and doc) 2025-12-02 16:18:23 +01:00

[tutorial v1.1_010] A variable with a list of possible values

View the diff

Read 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_010

Structure

.
└── firefox
    └── 00-proxy.yml


Contents of the firefox/00-proxy.yml file

%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
...

Let's generate the documentation

rougail -m firefox/ -o doc
Variable Description
proxy_mode
choice mandatory
Configure Proxy Access to the Internet.
Choices:
• No proxy ← (default)
• Auto-detect proxy settings for this network
• Use system proxy settings
• Manual proxy configuration
• Automatic proxy configuration URL

Let's generate the changelog

rougail -m firefox/ -o doc --doc.contents changelog

Modified variable

Variable Description
proxy_mode
choice mandatory
Configure Proxy Access to the Internet.
Choices:
• No proxy ← (default)
• Auto-detect proxy settings for this network
• Use system proxy settings
• Manual proxy configuration
• Automatic proxy configuration URL

User datas

Example 1

config/01/config.yml

---

Output

rougail -m firefox/ -u yaml -yf config/01/config.yml
╭──────────────────── Caption ─────────────────────╮
│ Undocumented but modified variable Default value │
╰──────────────────────────────────────────────────╯
Variables:
┗━━ 📓 Configure Proxy Access to the Internet: No proxy

Example 2

config/02/config.yml

---
proxy_mode: No proxy

Output

rougail -m firefox/ -u yaml -yf config/02/config.yml
╭─────────────────────────── Caption ────────────────────────────╮
│ Undocumented but modified variable Modified value              │
│                                    (⏳ Original default value) │
╰────────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 Configure Proxy Access to the Internet: No proxy ◀ loaded from the YAML 
    file "config/02/config.yml" (⏳ No proxy)

Example 3

config/03/config.yml

---
proxy_mode: Manual proxy configuration

Output

rougail -m firefox/ -u yaml -yf config/03/config.yml
╭─────────────────────────── Caption ────────────────────────────╮
│ Undocumented but modified variable Modified value              │
│                                    (⏳ Original default value) │
╰────────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration    loaded from the YAML file "config/03/config.yml" (⏳ No proxy)

Example 4

config/04/config.yml

---
proxy_mode: foo

Output

rougail -m firefox/ -u yaml -yf config/04/config.yml
🔔 WARNINGS
┗━━ the value "foo" is an invalid choice for "proxy_mode" (Configure Proxy 
    Access to the Internet), 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"
╭──────────────────── Caption ─────────────────────╮
│ Undocumented but modified variable Default value │
╰──────────────────────────────────────────────────╯
Variables:
┗━━ 📓 Configure Proxy Access to the Internet: No proxy

Output when invalid user datas is an error

rougail -m firefox/ -u yaml -yf config/04/config.yml --cli.invalid_user_datas_error
🛑 ERRORS
┗━━ the value "foo" is an invalid choice for "proxy_mode" (Configure Proxy 
    Access to the Internet), 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"