From dab61166c3fadd5c6f6eb0a9266ae5f54ed3f901 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Tue, 2 Dec 2025 16:18:44 +0100 Subject: [PATCH] [tutorial v1.1_060] Family: a dynamic family (config and doc) --- README.md | 78 ++++++++++++++++++++++++---------------- config/01/output_ro.html | 11 +++--- tree.html | 10 +++--- 3 files changed, 59 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 55ada830..7b97b312 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,42 @@ 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 > **🛈 Informations** > -> **Path**: manual.https_proxy\ +> This family builds families dynamically.\ +> **Path**: +> - manual.*https*_proxy +> - manual.*socks*_proxy\ > *`hidden`*\ -> **Hidden**: when the variable "[Also use this proxy for HTTPS](#manual.use_for_https)" has the value "true" +> **Hidden**: when the variable "[Also use this proxy for HTTPS](#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.
**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**
[`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 "[HTTP Port](#manual.http_proxy.port)" | +| 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)" | ### 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.
**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**
[`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 "[HTTP Port](#manual.http_proxy.port)" | +| 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)" | + +#### Deleted variables +- manual.https_proxy.address +- manual.https_proxy.port ## User datas ### Example 1 @@ -171,11 +184,14 @@ Variables: "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 + ┣━━ 📂 HTTPS Proxy + ┣━━ 📓 HTTPS address: https.proxy.net ◀ loaded from the YAML file + "config/01/config.yml" (⏳ http.proxy.net) + ┗━━ 📓 HTTPS port: 3128 + ┗━━ 📂 SOCKS Proxy + ┣━━ 📓 SOCKS address: http.proxy.net + ┗━━ 📓 SOCKS port: 3128 -- [[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 9da9307a..41533873 100644 --- a/config/01/output_ro.html +++ b/config/01/output_ro.html @@ -14,8 +14,11 @@ Variables: "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 + ┣━━ 📂 HTTPS Proxy + ┣━━ 📓 HTTPS address: https.proxy.net ◀ loaded from the YAML file + "config/01/config.yml" (⏳ http.proxy.net) + ┗━━ 📓 HTTPS port: 3128 + ┗━━ 📂 SOCKS Proxy + ┣━━ 📓 SOCKS address: http.proxy.net + ┗━━ 📓 SOCKS port: 3128 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