diff --git a/README.md b/README.md
index a73d972a..2c964bb5 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 v1.1_033] A conditional hidden family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_033/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_033~1..v1.1_033))
+- [[tutorial v1.1_040] A calculated default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_040/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_040~1..v1.1_040))
-# [tutorial v1.1_040)] A calculated default value
+# [tutorial v1.1_050)] Family: a dynamic family
-[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_040~1..v1.1_040)
+[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_050~1..v1.1_050)
## Screenshot
@@ -29,7 +29,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_040
+git switch --detach v1.1_050
```
## Structure
@@ -37,11 +37,11 @@ git switch --detach v1.1_040
-.
- └── firefox
- ├── 00-proxy.yml
- ├── 10-manual.yml
- └── 20-manual.yml
+.
+ └── firefox
+ ├── 00-proxy.yml
+ ├── 10-manual.yml
+ └── 20-manual.yml
Contents of the firefox/20-manual.yml file
@@ -55,18 +55,21 @@ manual:
use_for_https: true # Also use this proxy for HTTPS
- https_proxy:
- description: HTTPS Proxy
+ '{{ identifier }}_proxy':
+ description: '{{ identifier }} Proxy'
hidden:
variable: _.use_for_https
+ dynamic:
+ - HTTPS
+ - SOCKS
address:
- description: HTTPS address
+ description: '{{ identifier }} address'
default:
variable: __.http_proxy.address
port:
- description: HTTPS Port
+ description: '{{ identifier }} port'
default:
variable: __.http_proxy.port
...
@@ -104,71 +107,40 @@ rougail -m firefox/ -o doc
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **manual.use_for_https**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Also use this proxy for HTTPS.
**Default**: true |
-##### HTTPS Proxy
+##### *HTTPS* Proxy or *SOCKS* Proxy
-**manual.https_proxy**
+This family builds families dynamically
+
+**manual.*https*_proxy**
**manual.*socks*_proxy**
*`hidden`*
**Hidden**: when the variable "manual.use_for_https" has the value "true"
+**Identifiers**:
- HTTPS
- SOCKS
+
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| **manual.https_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTPS address.
**Validator**: the domain name can be an IP
**Default**: the value of the variable "manual.http_proxy.address" |
-| **manual.https_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTPS 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" |
+| **manual.*https*_proxy.address**
**manual.*socks*_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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`](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 "manual.http_proxy.port" |
### Let's generate the changelog
```shell
rougail -m firefox/ -o doc --doc.contents changelog
```
-#### Modified variables
+#### New variables
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| **manual.https_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTPS address.
**Validator**: the domain name can be an IP
**Default**: the value of the variable "manual.http_proxy.address" |
-| **manual.https_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTPS 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~~
the value of the variable "manual.http_proxy.port" |
+| **manual.*https*_proxy.address**
**manual.*socks*_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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`](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 "manual.http_proxy.port" |
+
+#### Deleted variables
-## User datas
-
-### Example 1
-
-#### config/01/config.yml
+- manual.https_proxy.address
+- manual.https_proxy.port
-```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
-
-```shell
-rougail -m firefox/ -u yaml -yf config/01/config.yml
-```
-╭────────────── Caption ───────────────╮
-│ Variable Default value │
-│ Modified value │
-│ (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/01/config.yml" (⏳ No proxy)
-┗━━ 📂 Manual proxy configuration
- ┣━━ 📂 HTTP Proxy
- ┃ ┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/01/config.yml"
- ┃ ┗━━ 📓 HTTP Port: 3128 ◀ loaded from the YAML file "config/01/config.yml" (⏳ 8080)
- ┣━━ 📓 Also use this proxy for HTTPS: false ◀ loaded from the YAML file "config/01/config.yml" (⏳ true)
- ┗━━ 📂 HTTPS Proxy
- ┣━━ 📓 HTTPS address: https.proxy.net ◀ loaded from the YAML file "config/01/config.yml" (⏳ http.proxy.net)
- ┗━━ 📓 HTTPS Port: 3128
-
-
-
-- [[tutorial v1.1_050] Family: a dynamic family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_050~1..v1.1_050))
+- [[tutorial v1.1_051] A conditional disabled variable with dynamic identifier](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_051/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_051~1..v1.1_051))
diff --git a/config/01/cmd_ro.txt b/config/01/cmd_ro.txt
deleted file mode 100644
index d46f9445..00000000
--- a/config/01/cmd_ro.txt
+++ /dev/null
@@ -1 +0,0 @@
-rougail -m firefox/ -u yaml -yf config/01/config.yml
\ No newline at end of file
diff --git a/config/01/config.yml b/config/01/config.yml
deleted file mode 100644
index 84547faa..00000000
--- a/config/01/config.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-proxy_mode: Manual proxy configuration
-manual:
- http_proxy:
- address: http.proxy.net
- port: 3128
- use_for_https: false
- https_proxy:
- address: https.proxy.net
diff --git a/config/01/output_ro.html b/config/01/output_ro.html
deleted file mode 100644
index 3c698ef9..00000000
--- a/config/01/output_ro.html
+++ /dev/null
@@ -1,16 +0,0 @@
-╭────────────── Caption ───────────────╮
-│ Variable Default value │
-│ Modified value │
-│ (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/01/config.yml" (⏳ No proxy)
-┗━━ 📂 Manual proxy configuration
- ┣━━ 📂 HTTP Proxy
- ┃ ┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/01/config.yml"
- ┃ ┗━━ 📓 HTTP Port: 3128 ◀ loaded from the YAML file "config/01/config.yml" (⏳ 8080)
- ┣━━ 📓 Also use this proxy for HTTPS: false ◀ loaded from the YAML file "config/01/config.yml" (⏳ true)
- ┗━━ 📂 HTTPS Proxy
- ┣━━ 📓 HTTPS address: https.proxy.net ◀ loaded from the YAML file "config/01/config.yml" (⏳ http.proxy.net)
- ┗━━ 📓 HTTPS Port: 3128
-
diff --git a/tree.html b/tree.html
index 3a16126d..2ee7c272 100644
--- a/tree.html
+++ b/tree.html
@@ -25,11 +25,11 @@
Directory Tree
- .
- └── firefox
- ├── 00-proxy.yml
- ├── 10-manual.yml
- └── 20-manual.yml
+ .
+ └── firefox
+ ├── 00-proxy.yml
+ ├── 10-manual.yml
+ └── 20-manual.yml
2 directories, 3 files