No description
Find a file
2026-01-08 20:22:23 +01:00
config/01 [tutorial v1.1_041] A default value calculated from another variable (config and doc) 2026-01-08 20:22:23 +01:00
firefox [tutorial v1.1_041] A default value calculated from another variable 2026-01-08 20:22:23 +01:00
firefox.png [tutorial v1.1_033] A variable with type "boolean" (config and doc) 2026-01-08 20:22:19 +01:00
foxyproxy.png [init] Discover Rougail 2026-01-08 20:21:49 +01:00
install.txt [init] Discover Rougail 2026-01-08 20:21:49 +01:00
README.md [tutorial v1.1_041] A default value calculated from another variable (config and doc) 2026-01-08 20:22:23 +01:00
tree.html [tutorial v1.1_041] A default value calculated from another variable (config and doc) 2026-01-08 20:22:23 +01:00

[tutorial v1.1_041] A default value calculated from another variable

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_041

Structure

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


Contents of the firefox/20-manual.yml file

%YAML 1.2
---
version: 1.1

manual:

  use_for_https: true  # Also use this proxy for HTTPS

  https_proxy:  # HTTPS Proxy

    address:
      description: HTTPS address
      default:
        variable: __.http_proxy.address

    port:
      description: HTTPS Port
      default:
        variable: __.http_proxy.port
...


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

Manual proxy configuration

Note

Path: manual

HTTP Proxy

Note

Path: manual.http_proxy

Variable Description
manual.http_proxy.address
domainname mandatory
HTTP address.
Validators:
• type domainname
• the domain name can be an IP
manual.http_proxy.port
port mandatory
HTTP Port.
Validators:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• private ports (greater than 49152) are allowed
Default: 8080
Variable Description
manual.use_for_https
boolean mandatory
Also use this proxy for HTTPS.
Default: true
HTTPS Proxy

Note

Path: manual.https_proxy

Variable Description
manual.https_proxy.address
domainname mandatory
HTTPS address.
Validators:
• type domainname
• the domain name can be an IP
Default: the value of the variable "HTTP address"
manual.https_proxy.port
port mandatory
HTTPS Port.
Validators:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• private ports (greater than 49152) are allowed
Default: the value of the variable "HTTP Port"

Let's generate the changelog

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

Modified variables

Variable Description
manual.https_proxy.address
domainname mandatory
HTTPS address.
Validators:
• type domainname
• the domain name can be an IP
Default: the value of the variable "HTTP address"
manual.https_proxy.port
port mandatory
HTTPS Port.
Validators:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• private ports (greater than 49152) are allowed
Default: 8080
the value of the variable "HTTP Port"

User datas

Example 1

config/01/config.yml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: http.proxy.net
    port: 3128
  use_for_https: false
  https_proxy:
    address: https.proxy.net

Output

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

Note

Caption:

  • Variable
  • Default value
  • Modified value
  • ( Original default value)

Variables:

  • 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/01/config.yml" ( No proxy)
  • 📂 manual (Manual proxy configuration)
    • 📂 http_proxy (HTTP Proxy)
      • 📓 address (HTTP address): http.proxy.net ← loaded from the YAML file "config/01/config.yml"
      • 📓 port (HTTP Port): 3128 ← loaded from the YAML file "config/01/config.yml" ( 8080)
    • 📓 use_for_https (Also use this proxy for HTTPS): false ← loaded from the YAML file "config/01/config.yml" ( true)
    • 📂 https_proxy (HTTPS Proxy)
      • 📓 address (HTTPS address): https.proxy.net ← loaded from the YAML file "config/01/config.yml" ( http.proxy.net)
      • 📓 port (HTTPS Port): 3128