rougail-tutorials/README.md

18 KiB

[tutorial v1.1_052)] Jinja with a parameter

View the diff

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_052

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

  '{{ identifier }}_proxy':
    description: '{{ identifier }} Proxy'
    hidden:
      jinja: |-
        {% if my_identifier == 'HTTPS' and _.use_for_https %}
          HTTPS is same has HTTP
        {% endif %}        
      params:
        my_identifier:
          type: identifier
    dynamic:
      - HTTPS
      - SOCKS

    address:
      description: '{{ identifier }} address'
      default:
        variable: __.http_proxy.address

    port:
      description: '{{ identifier }} 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

manual

disabled

Disabled: when the variable "proxy_mode" hasn't the value "Manual proxy configuration"

HTTP Proxy

manual.http_proxy

Variable                                                                                            Description                                                                                        
manual.http_proxy.address
domainname mandatory
HTTP address.
Validator: 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 or SOCKS Proxy

This family builds families dynamically

manual.https_proxy
manual.socks_proxy

hidden

Hidden: depends on a calculation

Identifiers:
- HTTPS
- SOCKS

Variable                                                                                            Description                                                                                        
manual.https_proxy.address
manual.socks_proxy.address
domainname mandatory
HTTPS or SOCKS address.
Validator: the domain name can be an IP
Default: the value of the variable "manual.http_proxy.address"
manual.https_proxy.port
manual.socks_proxy.port
port mandatory
HTTPS or SOCKS 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 "manual.http_proxy.port"

Let's generate the changelog

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

Deleted variables