diff --git a/README.md b/README.md
index f4e2f78..145bff1 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md)
-- [[tutorial v1.1_096] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_096/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_096~1..v1.1_096))
+- [[tutorial v1.1_097] A Jinja conditional disabled boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_097/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_097~1..v1.1_097))
-# [tutorial v1.1_097] A Jinja conditional disabled boolean variable
+# [tutorial v1.1_098] A variable in avanced mode
-[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_097~1..v1.1_097)
+[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_098~1..v1.1_098)
-[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-jinja-conditional-disabled-boolean-variable)
+[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-in-avanced-mode)
## Screenshot
@@ -31,7 +31,7 @@ pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-
Then switch to the tutorial page:
```shell
-git switch --detach v1.1_097
+git switch --detach v1.1_098
```
## Structure
@@ -39,15 +39,15 @@ git switch --detach v1.1_097
-.
- └── 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
+.
+ └── 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
Contents of the firefox/55-proxy_dns_socks5.yml file
@@ -59,6 +59,7 @@ version: 1.1
proxy_dns_socks5:
description: Use proxy DNS when using SOCKS v5
+ mode: advanced
default: false
disabled:
jinja: |-
@@ -78,34 +79,35 @@ proxy_dns_socks5:
### Let's generate the documentation
```shell
-rougail -m firefox/ -o doc
+rougail -m firefox/ --modes_level basic standard advanced -o doc
```
-| 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) `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
> [!NOTE]
>
> **Path**: manual\
-> *`disabled`*\
+> `basic` *`disabled`*\
> **Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" hasn't the value "Manual proxy configuration"
##### HTTP Proxy
> [!NOTE]
>
-> **Path**: manual.http_proxy
+> **Path**: manual.http_proxy\
+> `basic`
-| Variable | Description |
-|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validators**:
• type domainname
• 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.
**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.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | HTTP address.
**Validators**:
• type domainname
• the domain name can be an IP |
+| **manual.http_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `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`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Also use this proxy for HTTPS.
**Default**: true |
+| Variable | Description |
+|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|
+| **manual.use_for_https**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Also use this proxy for HTTPS.
**Default**: true |
##### *HTTPS* Proxy or *SOCKS* Proxy
@@ -115,37 +117,47 @@ rougail -m firefox/ -o doc
> **Path**:
> - manual.*https*_proxy
> - manual.*socks*_proxy\
-> *`hidden`*\
+> `standard` *`hidden`*\
> **Hidden**: in HTTPS case if "[Also use this proxy for HTTPS](#manual.use_for_https)" is set to "true"\
> **Identifiers**:
> - HTTPS
> - SOCKS
-| Variable | Description |
-|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| **manual.*https*_proxy.address**
**manual.*socks*_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | *HTTPS* or *SOCKS* address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[HTTP address](#manual.http_proxy.address)" |
-| **manual.*https*_proxy.port**
**manual.*socks*_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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 "[HTTP Port](#manual.http_proxy.port)" |
-| **manual.*https*_proxy.version**
**manual.*socks*_proxy.version**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` *`disabled`* | SOCKS host version used by proxy.
**Choices**:
• v4
• v5 **← (default)**
**Disabled**: when the identifier is "HTTPS" |
+| Variable | Description |
+|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **manual.*https*_proxy.address**
**manual.*socks*_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | *HTTPS* or *SOCKS* address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[HTTP address](#manual.http_proxy.address)" |
+| **manual.*https*_proxy.port**
**manual.*socks*_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `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 "[HTTP Port](#manual.http_proxy.port)" |
+| **manual.*https*_proxy.version**
**manual.*socks*_proxy.version**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | SOCKS host version used by proxy.
**Choices**:
• v4
• v5 **← (default)**
**Disabled**: when the identifier is "HTTPS" |
-| Variable | Description |
-|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| **auto**
[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` *`disabled`* | Automatic proxy configuration URL.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• type domainname
• the domain name can be a hostname
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" hasn't the value "Automatic proxy configuration URL" |
-| **no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` *`disabled`* `unique` | Address for which proxy will be desactivated.
Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.
**Validators**:
• type domainname
• the domain name can starts by a dot
• the domain name can be a hostname
• the domain name can be an IP
• the domain name can be network in CIDR format
**Examples**:
• .mozilla.org
• .net.nz
• 192.168.1.0/24
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" has the value "No proxy" |
-| **prompt_authentication**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` *`disabled`* | Prompt for authentication if password is saved.
**Default**: true
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" has the value "No proxy" |
-| **proxy_dns_socks5**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` *`disabled`* | Use proxy DNS when using SOCKS v5.
**Default**: false
**Disabled**: if "firefox.proxy_mode" is not "Manual proxy configuration"
or "firefox.manual.socks_proxy.version" is "v4" |
+| Variable | Description |
+|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **auto**
[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Automatic proxy configuration URL.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• type domainname
• the domain name can be a hostname
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" hasn't the value "Automatic proxy configuration URL" |
+| **no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `standard` *`disabled`* `unique` | Address for which proxy will be desactivated.
Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.
**Validators**:
• type domainname
• the domain name can starts by a dot
• the domain name can be a hostname
• the domain name can be an IP
• the domain name can be network in CIDR format
**Examples**:
• .mozilla.org
• .net.nz
• 192.168.1.0/24
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" has the value "No proxy" |
+| **prompt_authentication**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | Prompt for authentication if password is saved.
**Default**: true
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" has the value "No proxy" |
+| **proxy_dns_socks5**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `advanced` `mandatory` *`disabled`* | Use proxy DNS when using SOCKS v5.
**Default**: false
**Disabled**: if "firefox.proxy_mode" is not "Manual proxy configuration"
or "firefox.manual.socks_proxy.version" is "v4" |
***
### Let's generate the changelog
```shell
-rougail -m firefox/ -o doc --doc.contents changelog
+rougail -m firefox/ --modes_level basic standard advanced -o doc --doc.contents changelog
```
-#### Modified variable
+#### Modified variables
-| Variable | Description |
-|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| **proxy_dns_socks5**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` *`disabled`* | Use proxy DNS when using SOCKS v5.
**Default**: false
**Disabled**: if "firefox.proxy_mode" is not "Manual proxy configuration"
or "firefox.manual.socks_proxy.version" is "v4" |
+| Variable | Description |
+|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **proxy_mode**
~~`(None, [], ['standard'])`~~ [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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.http_proxy.address**
~~`(None, [], ['basic'])`~~ [`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | HTTP address.
**Validators**:
• type domainname
• the domain name can be an IP |
+| **manual.http_proxy.port**
~~`(None, [], ['standard'])`~~ [`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `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 |
+| **manual.use_for_https**
~~`(None, [], ['standard'])`~~ [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Also use this proxy for HTTPS.
**Default**: true |
+| **manual.*https*_proxy.address**
**manual.*socks*_proxy.address**
~~`(None, [], ['standard'])`~~ [`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | *HTTPS* or *SOCKS* address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[HTTP address](#manual.http_proxy.address)" |
+| **manual.*https*_proxy.port**
**manual.*socks*_proxy.port**
~~`(None, [], ['standard'])`~~ [`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `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 "[HTTP Port](#manual.http_proxy.port)" |
+| **manual.*https*_proxy.version**
**manual.*socks*_proxy.version**
~~`(None, [], ['standard'])`~~ [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | SOCKS host version used by proxy.
**Choices**:
• v4
• v5 **← (default)**
**Disabled**: when the identifier is "HTTPS" |
+| **auto**
~~`(None, [], ['basic'])`~~ [`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Automatic proxy configuration URL.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• type domainname
• the domain name can be a hostname
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" hasn't the value "Automatic proxy configuration URL" |
+| **no_proxy**
~~`(None, [], ['standard'])`~~ [`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `standard` *`disabled`* `unique` | Address for which proxy will be desactivated.
Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.
**Validators**:
• type domainname
• the domain name can starts by a dot
• the domain name can be a hostname
• the domain name can be an IP
• the domain name can be network in CIDR format
**Examples**:
• .mozilla.org
• .net.nz
• 192.168.1.0/24
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" has the value "No proxy" |
+| **prompt_authentication**
~~`(None, [], ['standard'])`~~ [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | Prompt for authentication if password is saved.
**Default**: true
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#proxy_mode)" has the value "No proxy" |
+| **proxy_dns_socks5**
~~`(None, [], ['advanced'])`~~ [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `advanced` `mandatory` *`disabled`* | Use proxy DNS when using SOCKS v5.
**Default**: false
**Disabled**: if "firefox.proxy_mode" is not "Manual proxy configuration"
or "firefox.manual.socks_proxy.version" is "v4" |
***
@@ -164,7 +176,7 @@ rougail -m firefox/ -o doc --doc.contents changelog
#### Output
```shell
-rougail -m firefox/ -u yaml -yf config/01/config.yml
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/01/config.yml
```
> [!NOTE]
>
@@ -193,7 +205,7 @@ manual:
#### Output
```shell
-rougail -m firefox/ -u yaml -yf config/02/config.yml
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/02/config.yml
```
> [!NOTE]
>
@@ -237,7 +249,7 @@ proxy_dns_socks5: true
#### Output
```shell
-rougail -m firefox/ -u yaml -yf config/03/config.yml
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/03/config.yml
```
> [!NOTE]
>
@@ -282,7 +294,7 @@ manual:
#### Output
```shell
-rougail -m firefox/ -u yaml -yf config/04/config.yml
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/04/config.yml
```
> [!NOTE]
>
@@ -309,4 +321,4 @@ Variables:
***
-- [[tutorial v1.1_098] A variable in avanced mode](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_098/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_098~1..v1.1_098))
+- [[tutorial v1.1_100] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_100/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_100~1..v1.1_100))
diff --git a/config/01/cmd_ro.txt b/config/01/cmd_ro.txt
index d46f944..9cdee2b 100644
--- a/config/01/cmd_ro.txt
+++ b/config/01/cmd_ro.txt
@@ -1 +1 @@
-rougail -m firefox/ -u yaml -yf config/01/config.yml
\ No newline at end of file
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/01/config.yml
\ No newline at end of file
diff --git a/config/02/cmd_ro.txt b/config/02/cmd_ro.txt
index 772ebbe..b9994d9 100644
--- a/config/02/cmd_ro.txt
+++ b/config/02/cmd_ro.txt
@@ -1 +1 @@
-rougail -m firefox/ -u yaml -yf config/02/config.yml
\ No newline at end of file
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/02/config.yml
\ No newline at end of file
diff --git a/config/03/cmd_ro.txt b/config/03/cmd_ro.txt
index fc8085e..0c8e904 100644
--- a/config/03/cmd_ro.txt
+++ b/config/03/cmd_ro.txt
@@ -1 +1 @@
-rougail -m firefox/ -u yaml -yf config/03/config.yml
\ No newline at end of file
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/03/config.yml
\ No newline at end of file
diff --git a/config/04/cmd_ro.txt b/config/04/cmd_ro.txt
index 4d43eae..84818e5 100644
--- a/config/04/cmd_ro.txt
+++ b/config/04/cmd_ro.txt
@@ -1 +1 @@
-rougail -m firefox/ -u yaml -yf config/04/config.yml
\ No newline at end of file
+rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/04/config.yml
\ No newline at end of file
diff --git a/tree.html b/tree.html
index ef1e6e5..997e292 100644
--- a/tree.html
+++ b/tree.html
@@ -1,11 +1,11 @@
-.
- └── 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
+.
+ └── 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
\ No newline at end of file