diff --git a/README.md b/README.md index e0632f9..74b8ad7 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ - [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md) -- [[tutorial 028] A conditional disabled family with a variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_028/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_028~1..v1.1_028)) +- [[tutorial 029] Type variable is optional](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_029/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_029~1..v1.1_029)) -# [tutorial 029] Type variable is optional +# [tutorial 030] A variable with type "boolean" -[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_029~1..v1.1_029) +[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030) ## Screenshot @@ -56,6 +56,19 @@ manual: type: port default: 8080 +``` +### firefox/20-manual.yml + + +```yml +--- +manual: + + use_for_https: + description: Also use this proxy for HTTPS + type: boolean + default: true + ``` ### Generated documentation @@ -64,9 +77,9 @@ foo@bar:~$ rougail -v 1.1 -m firefox/ -o doc -do github ``` ### Variables -| Variable                                                                                      | Description                                                                                   | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **proxy_mode**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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 | +| Variable                                                                                         | Description                                                                                      | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **proxy_mode**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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 @@ -76,12 +89,140 @@ _`disabled`_ ##### HTTP Proxy -| Variable                                                                                      | Description                                                                                   | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validator**: the domain name can be an IP | -| **manual.http_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP Port.
**Default**: 8080 | +| Variable                                                                                         | Description                                                                                      | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validator**: the domain name can be an IP | +| **manual.http_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP Port.
**Default**: 8080 | + +| Variable                                                                                         | Description                                                                                      | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **manual.use_for_https**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Also use this proxy for HTTPS.
**Default**: True | +## User data + +### Example 1 + +#### config/01/config.yaml -- [[tutorial 030] A variable with type "boolean"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_030/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030)) +```yml +--- + +``` +#### Output + +```console +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 + + +```yml +--- +proxy_mode: No proxy + +``` +#### Output + +```console +foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/02/config.yaml +``` +
╭────────────────────────── Caption ──────────────────────────╮
+│ Variable                           Default value            │
+│ Undocumented variable              Modified value           │
+│ Undocumented but modified variable (Original default value) │
+│ Unmodifiable variable                                       │
+╰─────────────────────────────────────────────────────────────╯
+Variables:
+┗━━ 📓 proxy_mode: No proxy (No proxy)
+
+### Example 3 + +#### config/03/config.yaml + + +```yml +--- +proxy_mode: Manual proxy configuration + +``` +#### Output + +```console +foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/03/config.yaml +``` +
🛑 ERRORS
+┣━━ The following variables are mandatory but have no value:
+┗━━   - manual.http_proxy.address (HTTP address)
+
+### Example 4 + +#### config/04/config.yaml + + +```yml +--- +proxy_mode: foo + +``` +#### Output + +```console +foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/04/config.yaml +``` +
🛑 ERRORS
+┗━━ "foo" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only 
+    "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy 
+    configuration", "No proxy" and "Use system proxy settings" are allowed
+╭────────────────────────── Caption ──────────────────────────╮
+│ Variable                           Default value            │
+│ Undocumented variable              Modified value           │
+│ Undocumented but modified variable (Original default value) │
+│ Unmodifiable variable                                       │
+╰─────────────────────────────────────────────────────────────╯
+Variables:
+┗━━ 📓 proxy_mode: No proxy
+
+### Example 5 + +#### config/05/config.yaml + + +```yml +--- +proxy_mode: 1 + +``` +#### Output + +```console +foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/05/config.yaml +``` +
🛑 ERRORS
+┗━━ "1" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only "Auto-detect
+    proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", 
+    "No proxy" and "Use system proxy settings" are allowed
+╭────────────────────────── Caption ──────────────────────────╮
+│ Variable                           Default value            │
+│ Undocumented variable              Modified value           │
+│ Undocumented but modified variable (Original default value) │
+│ Unmodifiable variable                                       │
+╰─────────────────────────────────────────────────────────────╯
+Variables:
+┗━━ 📓 proxy_mode: No proxy
+
+ + +- [[tutorial 031] Bases type is optional if default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_031/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_031~1..v1.1_031)) diff --git a/config/01/config.yaml b/config/01/config.yaml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/config/01/config.yaml @@ -0,0 +1 @@ +--- diff --git a/config/01/output_ro.html b/config/01/output_ro.html new file mode 100644 index 0000000..cdecbe8 --- /dev/null +++ b/config/01/output_ro.html @@ -0,0 +1,9 @@ +
╭────────────────────────── Caption ──────────────────────────╮
+│ Variable                           Default value            │
+│ Undocumented variable              Modified value           │
+│ Undocumented but modified variable (Original default value) │
+│ Unmodifiable variable                                       │
+╰─────────────────────────────────────────────────────────────╯
+Variables:
+┗━━ 📓 proxy_mode: No proxy
+
diff --git a/config/02/config.yaml b/config/02/config.yaml new file mode 100644 index 0000000..d914488 --- /dev/null +++ b/config/02/config.yaml @@ -0,0 +1,2 @@ +--- +proxy_mode: No proxy diff --git a/config/02/output_ro.html b/config/02/output_ro.html new file mode 100644 index 0000000..38b2d86 --- /dev/null +++ b/config/02/output_ro.html @@ -0,0 +1,9 @@ +
╭────────────────────────── Caption ──────────────────────────╮
+│ Variable                           Default value            │
+│ Undocumented variable              Modified value           │
+│ Undocumented but modified variable (Original default value) │
+│ Unmodifiable variable                                       │
+╰─────────────────────────────────────────────────────────────╯
+Variables:
+┗━━ 📓 proxy_mode: No proxy (No proxy)
+
diff --git a/config/03/config.yaml b/config/03/config.yaml new file mode 100644 index 0000000..74edb22 --- /dev/null +++ b/config/03/config.yaml @@ -0,0 +1,2 @@ +--- +proxy_mode: Manual proxy configuration diff --git a/config/03/output_ro.html b/config/03/output_ro.html new file mode 100644 index 0000000..28450ac --- /dev/null +++ b/config/03/output_ro.html @@ -0,0 +1,4 @@ +
🛑 ERRORS
+┣━━ The following variables are mandatory but have no value:
+┗━━   - manual.http_proxy.address (HTTP address)
+
diff --git a/config/04/config.yaml b/config/04/config.yaml new file mode 100644 index 0000000..e3fa25d --- /dev/null +++ b/config/04/config.yaml @@ -0,0 +1,2 @@ +--- +proxy_mode: foo diff --git a/config/04/output_ro.html b/config/04/output_ro.html new file mode 100644 index 0000000..5fe2e0d --- /dev/null +++ b/config/04/output_ro.html @@ -0,0 +1,13 @@ +
🛑 ERRORS
+┗━━ "foo" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only 
+    "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy 
+    configuration", "No proxy" and "Use system proxy settings" are allowed
+╭────────────────────────── Caption ──────────────────────────╮
+│ Variable                           Default value            │
+│ Undocumented variable              Modified value           │
+│ Undocumented but modified variable (Original default value) │
+│ Unmodifiable variable                                       │
+╰─────────────────────────────────────────────────────────────╯
+Variables:
+┗━━ 📓 proxy_mode: No proxy
+
diff --git a/config/05/config.yaml b/config/05/config.yaml new file mode 100644 index 0000000..bf6f64c --- /dev/null +++ b/config/05/config.yaml @@ -0,0 +1,2 @@ +--- +proxy_mode: 1 diff --git a/config/05/output_ro.html b/config/05/output_ro.html new file mode 100644 index 0000000..071b4d5 --- /dev/null +++ b/config/05/output_ro.html @@ -0,0 +1,13 @@ +
🛑 ERRORS
+┗━━ "1" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only "Auto-detect
+    proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", 
+    "No proxy" and "Use system proxy settings" are allowed
+╭────────────────────────── Caption ──────────────────────────╮
+│ Variable                           Default value            │
+│ Undocumented variable              Modified value           │
+│ Undocumented but modified variable (Original default value) │
+│ Unmodifiable variable                                       │
+╰─────────────────────────────────────────────────────────────╯
+Variables:
+┗━━ 📓 proxy_mode: No proxy
+
diff --git a/firefox.png b/firefox.png index e40ce96..b7ca7aa 100644 Binary files a/firefox.png and b/firefox.png differ