No description
Emmanuel Garette
59e38f2563
By default, the Jinja calculation is generic in documentation. We can add a useful description. We add a new variable "version" only accessible in "Socks" family. |
||
---|---|---|
config | ||
firefox | ||
firefox.png | ||
foxyproxy.png | ||
README.md |
Table of Contents
Summary
- [tutorial 001] An empty file (diff)
- [tutorial 002] A first variable (diff)
- [tutorial 003] A first variable (diff)
- [tutorial 004] The variable description (diff)
- [tutorial 005] A default value (diff)
- [tutorial 006] A variable with type choice (diff)
- [tutorial 007] Choice type is optional (diff)
- [tutorial 010] A family (diff)
- [tutorial 011] Conditional desactived family (diff)
- [tutorial 012] Conditional desactived family (diff)
- [tutorial 013] A sub family (diff)
- [tutorial 014] Family in "shorthand" mode (diff)
- [tutorial 015] Family in "shorthand" mode (diff)
- [tutorial 016] Family in "shorthand" mode (diff)
- [tutorial 017] Family in "shorthand" mode (diff)
- [tutorial 018] Family in "shorthand" mode (diff)
- [tutorial 020] A boolean variable (diff)
- [tutorial 021] Bases type is optional if default value (diff)
- [tutorial 022] A variable in "shorthand" mode (diff)
- [tutorial 023] Conditional hidden family and calculated default value (diff)
- [tutorial 024] Conditional hidden family and calculated default value (diff)
- [tutorial 025] Conditional hidden family and calculated default value (diff)
- [tutorial 026] A dynamic family (diff)
- [tutorial 027] A dynamic family (diff)
- [tutorial 028] Description of Jinja calculation (diff)
Description
Description of Jinja calculation
By default, the Jinja calculation is generic in documentation. We can add a useful description.
We add a new variable "version" only accessible in "Socks" family.
Structure
firefox/00-proxy.yml
---
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
firefox/10-manual.yml
---
manual:
description: Manual proxy configuration
disabled:
variable: _.proxy_mode
when_not: 'Manual proxy configuration'
http_proxy: # HTTP Proxy
address:
description: HTTP address
type: domainname
params:
allow_ip: true
port:
description: HTTP Port
type: port
default: 8080
firefox/20-manual.yml
---
manual:
use_for_https: true # Also use this proxy for HTTPS
"{{ suffix }}_proxy":
description: "{{ suffix }} Proxy"
dynamic:
- HTTPS
- SOCKS
hidden:
variable: _.use_for_https
address:
description: "{{ suffix }} address"
default:
variable: __.http_proxy.address
port:
description: "{{ suffix }} port"
default:
variable: __.http_proxy.port
Generated documentation
foo@bar:~$ rougail -v 1.1 -m firefox/ -o doc -do github
Variables
Variable | Description |
---|---|
proxy_modechoice standard 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
basic
disabled
Disabled: when the variable "proxy_mode" hasn't the value "Manual proxy configuration".
HTTP Proxy
basic
Variable | Description |
---|---|
manual.http_proxy.addressdomainname basic mandatory |
HTTP address. Validator: the domain name can be an IP |
manual.http_proxy.portport standard mandatory |
HTTP Port. Default: 8080 |
Variable | Description |
---|---|
manual.use_for_httpsboolean standard mandatory |
Also use this proxy for HTTPS. Default: True |
"HTTPS Proxy" or "SOCKS Proxy"
standard
hidden
Hidden: when the variable "manual.use_for_https" has the value "True".
This family builds families dynamically.
Suffixes:
- HTTPS
- SOCKS
Variable | Description |
---|---|
manual.https_proxy.address or manual.socks_proxy.addressdomainname standard mandatory |
"HTTPS address" 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 or manual.socks_proxy.portport standard mandatory |
"HTTPS port" or "SOCKS port". Default: the value of the variable "manual.http_proxy.port". |
User data
Example 1
config/01/config.yaml
---
Output
foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/01/config.yaml
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 proxy_mode: No proxy
Example 2
config/02/config.yaml
---
proxy_mode: Manual proxy configuration
Output
foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/02/config.yaml
🛑 ERRORS ┣━━ The following variables are mandatory but have no value: ┗━━ - manual.http_proxy.address (HTTP address)
Example 3
config/03/config.yaml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: example.net
Output
foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/03/config.yaml
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┣━━ 📂 http_proxy ┃ ┣━━ 📓 address: example.net ┃ ┗━━ 📓 port: 8080 ┣━━ 📓 use_for_https: True ┣━━ 📂 https_proxy ┃ ┣━━ 📓 address: example.net ┃ ┗━━ 📓 port: 8080 ┗━━ 📂 socks_proxy ┣━━ 📓 address: example.net ┗━━ 📓 port: 8080
Output in read write mode
foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/03/config.yaml --exporter.read_write
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┣━━ 📂 http_proxy ┃ ┣━━ 📓 address: example.net ┃ ┗━━ 📓 port: 8080 ┗━━ 📓 use_for_https: True
Example 4
config/04/config.yaml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: example.net
port: '3128'
Output
foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/04/config.yaml
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┣━━ 📂 http_proxy ┃ ┣━━ 📓 address: example.net ┃ ┗━━ 📓 port: 3128 (8080) ┗━━ 📓 use_for_https: True
Example 5
config/05/config.yaml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
port: '3128'
use_for_https: false
https_proxy:
address: https.proxy.net
Description
If "use_for_https" is false, HTTPS variables are visible in read only mode and in read write mode.
Output
foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/05/config.yaml
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┣━━ 📂 http_proxy ┃ ┣━━ 📓 address: http.proxy.net ┃ ┗━━ 📓 port: 3128 (8080) ┣━━ 📓 use_for_https: False (True) ┣━━ 📂 https_proxy ┃ ┣━━ 📓 address: https.proxy.net (http.proxy.net) ┃ ┗━━ 📓 port: 3128 ┗━━ 📂 socks_proxy ┣━━ 📓 address: http.proxy.net ┗━━ 📓 port: 3128