rougail-tutorials/README.md

5.6 KiB

[tutorial v1.1_083] Redefine default value in custom type variable

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_083

Structure

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


Contents of the types/proxy/00-type.yml type file

%YAML 1.2
---
version: 1.1

proxy:

  address:
    description: Proxy address
    type: domainname
    params:
      allow_ip: true
    default:
      variable: __.http_proxy.address

  port:
    description: Proxy port
    type: port
    default:
      variable: __.http_proxy.port
...


Contents of the firefox/10-manual.yml file

%YAML 1.2
---
version: 1.1

manual:
  description: Manual proxy configuration
  disabled:
    variable: _.proxy_mode
    when_not: Manual proxy configuration

  http_proxy:
    description: HTTP Proxy
    type: proxy

    address:
      default: null

    port:
      default: 8080
...


Let's generate the documentation

rougail -m firefox/ --types types/proxy -o doc

View the documentation file


Let's generate the changelog

rougail -m firefox/ --types types/proxy -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml

View the changelog file


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/ --types types/proxy -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 (Proxy address): http.proxy.net ← loaded from the YAML file "config/01/config.yml"
      • 📓 port (Proxy 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 (Proxy address): https.proxy.net ← loaded from the YAML file "config/01/config.yml" ( http.proxy.net)
      • 📓 port (Proxy port): 3128
    • 📂 socks_proxy (SOCKS Proxy)
      • 📓 address (Proxy address): http.proxy.net
      • 📓 port (Proxy port): 3128
      • 📓 version (SOCKS host version used by proxy): v5