No description
Find a file
2026-04-18 21:49:24 +02:00
config [tutorial v1.1_190] A variable name that conflict with a known the variable's attribute "type" (config and doc) 2026-04-18 21:49:24 +02:00
firefox [tutorial v1.1_150] A variable with custom validation 2026-04-18 21:48:53 +02:00
foxyproxy [tutorial v1.1_190] A variable name that conflict with a known the variable's attribute "type" 2026-04-18 21:49:24 +02:00
types/proxy [tutorial v1.1_083] Redefine other parameter in custom type 2026-04-18 21:47:47 +02:00
CHANGELOG.md [tutorial v1.1_190] A variable name that conflict with a known the variable's attribute "type" (config and doc) 2026-04-18 21:49:24 +02:00
DOCUMENTATION.md [tutorial v1.1_190] A variable name that conflict with a known the variable's attribute "type" (config and doc) 2026-04-18 21:49:24 +02:00
firefox.png [tutorial v1.1_140] A boolean variable (config and doc) 2026-04-18 21:48:40 +02:00
foxyproxy.png [init] Discover Rougail 2026-04-18 21:45:41 +02:00
install.txt [init] Discover Rougail 2026-04-18 21:45:41 +02:00
README.md [tutorial v1.1_190] A variable name that conflict with a known the variable's attribute "type" (config and doc) 2026-04-18 21:49:24 +02:00
tree.html [tutorial v1.1_190] A variable name that conflict with a known the variable's attribute "type" (config and doc) 2026-04-18 21:49:24 +02:00

[tutorial v1.1_190] A variable name that conflict with a known the variable's attribute "type"

Read the tutorial "A variable name that conflict with a known the variable's attribute "type"" 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_190

Structure

.
├── firefox
│   ├── 00-proxy.yml
│   ├── 10-manual.yml
│   ├── 20-manual.yml
│   ├── 30-auto.yml
│   ├── 40-no_proxy.yml
│   ├── 50-prompt_authentication.yml
│   ├── 55-proxy_dns_socks5.yml
│   └── 60-dns_over_https.yml
├── foxyproxy
│   └── 00-foxyproxy.yml
└── types
    └── proxy
        └── 00-type.yml


Contents of the foxyproxy/00-foxyproxy.yml file

%YAML 1.2
---
version: 1.1

proxies:
  description: Proxy configuration
  _type: leadership

  title:
    description: Title or Description
    mandatory: false

  type:
    description: Proxy Type
    choices:
      - HTTP
      - HTTPS/SSL
      - SOCKS4
      - SOCKS5
      - PAC URL
      - WPAD
      - System (use system settings)
      - Direct (no proxy)
    default: Direct (no proxy)

  color:
    description: Color
    regexp: ^#(?:[0-9a-f]{3}){1,2}$
    default:
      jinja: >-
        #{%- for i in range(6) -%}{{- '0123456789abcdef' | random -}}{%- endfor -%}        
      description: random color value
    auto_save: true
...


Let's generate the documentation

rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -o doc

View the documentation file


Let's generate the changelog

rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml

View the changelog file


User datas

Example 1

config/01/config.yml

---

Output

rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/01/config.yml

Note

Caption:

  • Variable
  • Default value

Variables:

  • 📂 firefox (Firefox)
    • 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
    • 📂 dns_over_https (DNS over HTTPS)
      • 📓 enable_dns_over_https (Enable DNS over HTTPS): false
  • 📂 foxyproxy (FoxyProxy)
    • 📂 proxies (Proxy configuration): []

Example 2

config/02/config.yml

---
foxyproxy:
  proxies:
    - title: My company
      type: HTTP
      color: '#66cc66'

Output

rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/02/config.yml

Note

Caption:

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

Variables:

  • 📂 firefox (Firefox)
    • 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
    • 📂 dns_over_https (DNS over HTTPS)
      • 📓 enable_dns_over_https (Enable DNS over HTTPS): false
  • 📂 foxyproxy (FoxyProxy)
    • 📂 proxies (Proxy configuration)
      • 📂 title (Title or Description)
        • 📓 title (Title or Description): My company ← loaded from the YAML file "config/02/config.yml"
        • 📓 type (Proxy Type): HTTP ← loaded from the YAML file "config/02/config.yml" ( Direct (no proxy))
        • 📓 color (Color): #66cc66 ← loaded from the YAML file "config/02/config.yml"

Example 3

config/03/config.yml

---
firefox:
  proxy_mode: Manual proxy configuration
  manual:
    http_proxy:
      address: http.proxy.net
foxyproxy:
  proxies:
    - title: My company
      color: '#66cc66'
      type: HTTP
    - title: An other company
      color: '#cc66cc'
      type: SOCKS5
    - title: WPAD
      color: '#1166cc'
      type: WPAD

Output

rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/03/config.yml

Note

Caption:

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

Variables:

  • 📂 firefox (Firefox)
    • 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/03/config.yml" ( No proxy)
    • 📂 manual (Manual proxy configuration)
      • 📂 http_proxy (HTTP Proxy)
        • 📓 address (HTTP proxy address): http.proxy.net ← loaded from the YAML file "config/03/config.yml"
        • 📓 port (HTTP proxy port): 8080
      • 📓 use_for_https (Also use this proxy for HTTPS): true
      • 📂 https_proxy (HTTPS Proxy)
        • 📓 address (HTTPS proxy address): http.proxy.net
        • 📓 port (HTTPS proxy port): 8080
      • 📂 socks_proxy (SOCKS Proxy)
        • 📓 address (SOCKS proxy address): http.proxy.net
        • 📓 port (SOCKS proxy port): 8080
        • 📓 version (SOCKS host version used by proxy): v5
    • 📓 no_proxy (Address for which proxy will be desactivated): []
    • 📓 prompt_authentication (Prompt for authentication if password is saved): true
    • 📓 proxy_dns_socks5 (Use proxy DNS when using SOCKS v5): false
    • 📂 dns_over_https (DNS over HTTPS)
      • 📓 enable_dns_over_https (Enable DNS over HTTPS): false
  • 📂 foxyproxy (FoxyProxy)
    • 📂 proxies (Proxy configuration)
      • 📂 title (Title or Description)
        • 📓 title (Title or Description): My company ← loaded from the YAML file "config/03/config.yml"
        • 📓 type (Proxy Type): HTTP ← loaded from the YAML file "config/03/config.yml" ( Direct (no proxy))
        • 📓 color (Color): #66cc66 ← loaded from the YAML file "config/03/config.yml"
      • 📂 title (Title or Description)
        • 📓 title (Title or Description): An other company ← loaded from the YAML file "config/03/config.yml"
        • 📓 type (Proxy Type): SOCKS5 ← loaded from the YAML file "config/03/config.yml" ( Direct (no proxy))
        • 📓 color (Color): #cc66cc ← loaded from the YAML file "config/03/config.yml"
      • 📂 title (Title or Description)
        • 📓 title (Title or Description): WPAD ← loaded from the YAML file "config/03/config.yml"
        • 📓 type (Proxy Type): WPAD ← loaded from the YAML file "config/03/config.yml" ( Direct (no proxy))
        • 📓 color (Color): #1166cc ← loaded from the YAML file "config/03/config.yml"