From 409429823f1bc3c05e79b9142110034073bf62bc Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Sat, 22 Nov 2025 14:22:46 +0100 Subject: [PATCH] [tutorial v1.1_060)] Family: a dynamic family (config and doc) --- README.md | 64 ++++++++++++++++++++++++---------------- config/01/output_ro.html | 9 ++++-- tree.html | 10 +++---- 3 files changed, 50 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index c597d524..29e6cf77 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_043] A conditional hidden family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_043/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_043~1..v1.1_043)) +- [[tutorial v1.1_050] A calculated default value](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_050)] A calculated default value +# [tutorial v1.1_060)] Family: a dynamic family -[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_050~1..v1.1_050) +[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_060~1..v1.1_060) -[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-calculated-default-value) +[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/dynfam.html#family:-a-dynamic-family) ## 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_050 +git switch --detach v1.1_060 ``` ## Structure @@ -39,11 +39,11 @@ git switch --detach v1.1_050

-.
- └── 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 @@ -57,18 +57,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 ... @@ -106,32 +109,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 +- manual.https_proxy.address +- manual.https_proxy.port ## User datas ### Example 1 @@ -169,10 +180,13 @@ Variables: ┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/01/config.yml" ┗━━ 📓 HTTP Port: 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: 8080 + ┣━━ 📂 HTTPS Proxy + ┣━━ 📓 HTTPS address: https.proxy.net ◀ loaded from the YAML file "config/01/config.yml" (⏳ http.proxy.net) + ┗━━ 📓 HTTPS port: 8080 + ┗━━ 📂 SOCKS Proxy + ┣━━ 📓 SOCKS address: http.proxy.net + ┗━━ 📓 SOCKS port: 8080 -- [[tutorial v1.1_060] Family: a dynamic family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_060/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_060~1..v1.1_060)) +- [[tutorial v1.1_061] A conditional disabled variable with dynamic identifier](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_061/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_061~1..v1.1_061)) diff --git a/config/01/output_ro.html b/config/01/output_ro.html index 50d8f3fb..f352d93f 100644 --- a/config/01/output_ro.html +++ b/config/01/output_ro.html @@ -12,7 +12,10 @@ Variables: ┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/01/config.yml" ┗━━ 📓 HTTP Port: 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: 8080 + ┣━━ 📂 HTTPS Proxy + ┣━━ 📓 HTTPS address: https.proxy.net ◀ loaded from the YAML file "config/01/config.yml" (⏳ http.proxy.net) + ┗━━ 📓 HTTPS port: 8080 + ┗━━ 📂 SOCKS Proxy + ┣━━ 📓 SOCKS address: http.proxy.net + ┗━━ 📓 SOCKS port: 8080 diff --git a/tree.html b/tree.html index 2ee7c272..b63efbc0 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