From 73e4910dac0a0fd8c679348d422ff478ed66a7b1 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 9 Mar 2026 07:58:59 +0100 Subject: [PATCH] [tutorial v1.1_160] A leadership family (config and doc) --- README.md | 178 +++++++++++++++------------------------ config/01/output_ro.html | 10 ++- config/02/cmd_ro.txt | 1 - config/02/config.yml | 7 -- config/02/output_ro.html | 24 ------ config/03/cmd_ro.txt | 1 - config/03/config.yml | 20 ----- config/03/output_ro.html | 25 ------ tree.html | 30 +++---- 9 files changed, 88 insertions(+), 208 deletions(-) delete mode 100644 config/02/cmd_ro.txt delete mode 100644 config/02/config.yml delete mode 100644 config/02/output_ro.html delete mode 100644 config/03/cmd_ro.txt delete mode 100644 config/03/config.yml delete mode 100644 config/03/output_ro.html diff --git a/README.md b/README.md index d25e9c64..628df35c 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_150] Namespace](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_151~1..v1.1_151)) +- [[tutorial v1.1_151] New "FoxyProxy" namespace](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_160~1..v1.1_160)) -# [tutorial v1.1_151] New "FoxyProxy" namespace +# [tutorial v1.1_160] A leadership family -[Read the tutorial "New "FoxyProxy" namespace" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/jinja.html#new-foxyproxy-namespace) +[Read the tutorial "A leadership family" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/jinja.html#a-leadership-family) ## 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_151 +git switch --detach v1.1_160 ``` ## Structure @@ -37,21 +37,21 @@ git switch --detach v1.1_151

-.
- ├── 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
- │   └── 60-dns_over_https.yml
- ├── foxyproxy
- │   └── 00-foxyproxy.yml
- └── types
-     └── proxy
-         └── 00_type.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
+ │   └── 60-dns_over_https.yml
+ ├── foxyproxy
+ │   └── 00-foxyproxy.yml
+ └── types
+     └── proxy
+         └── 00_type.yml


Contents of the foxyproxy/00-foxyproxy.yml file @@ -60,6 +60,16 @@ Contents of the foxyproxy/00-foxyproxy.yml file %YAML 1.2 --- version: 1.1 + +proxies: + description: Proxy configuration + type: leadership + + title: + description: Title or Description + mandatory: false + + color: # Color ... ``` @@ -152,6 +162,41 @@ rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/prox | **firefox.dns_over_https.provider**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | Use Provider.
**Choices**:
• Cloudflare **← (default)**
• NextDNS
• Custom
**Disabled**: when the variable "[Enable DNS over HTTPS](#firefox.dns_over_https.enable_dns_over_https)" has the value "false" | | **firefox.dns_over_https.custom_dns_url**
[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Custom DNS 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
• must starts with 'https://' only
**Disabled**: if "[Use Provider](#firefox.dns_over_https.provider)" is not "Custom" | +#### FoxyProxy + +> [!NOTE] +> +> This family is a namespace.\ +> **Path**: foxyproxy\ +> `basic` + +##### Proxy configuration + +> [!NOTE] +> +> This family contains lists of variable blocks.\ +> **Path**: foxyproxy.proxies\ +> `basic` + +| Variable | Description | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------| +| **foxyproxy.proxies.title**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `standard` `unique` | Title or Description. | +| **foxyproxy.proxies.color**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | Color. | + + +*** +### Let's generate the changelog + +```shell +rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml +``` +#### New variables + +| Variable | Description | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------| +| **foxyproxy.proxies.title**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `standard` `unique` | Title or Description. | +| **foxyproxy.proxies.color**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | Color. | + *** ## User datas @@ -182,99 +227,10 @@ Variables: - :notebook: proxy_mode (Configure Proxy Access to the Internet): No proxy - :open_file_folder: dns_over_https (DNS over HTTPS) - :notebook: enable_dns_over_https (Enable DNS over HTTPS): false - -*** -### Example 2 - -#### config/02/config.yml - - -```yml ---- -foxyproxy: - proxies: - - title: My company - color: '#66cc66' - type: HTTP - address: proxy.company.net -``` - -*** -#### Output - -```shell -rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/02/config.yml -``` -> [!WARNING] -> -> - foxyproxy (FoxyProxy) -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.title", it will be ignored when loading from the YAML file "config/02/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.color", it will be ignored when loading from the YAML file "config/02/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.type", it will be ignored when loading from the YAML file "config/02/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.address", it will be ignored when loading from the YAML file "config/02/config.yml" - -> [!NOTE] -> -> **Caption:** -> - Variable -> - Default value - -Variables: -- :open_file_folder: firefox (Firefox) - - :notebook: proxy_mode (Configure Proxy Access to the Internet): No proxy - - :open_file_folder: dns_over_https (DNS over HTTPS) - - :notebook: enable_dns_over_https (Enable DNS over HTTPS): false - -*** -### Example 3 - -#### config/03/config.yml - - -```yml ---- -firefox: - proxy_mode: Manual proxy configuration - manual: - http_proxy: - address: http.proxy.net -foxyproxy: - proxies: - - title: My company - color: '#66cc66' - type: HTTP - - title: An other company - color: '#cc66cc' - type: SOCKS5 - username: my_user - password: my_password - - title: WPAD - color: '#1166cc' - type: WPAD - url: http://wpad.proxy.net/wpad.dat -``` - -*** -#### Output - -```shell -rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/03/config.yml -``` -> [!CAUTION] -> -> - foxyproxy (FoxyProxy) -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.title", it will be ignored when loading from the YAML file "config/03/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.color", it will be ignored when loading from the YAML file "config/03/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.type", it will be ignored when loading from the YAML file "config/03/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.username", it will be ignored when loading from the YAML file "config/03/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.password", it will be ignored when loading from the YAML file "config/03/config.yml" -> - :bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.url", it will be ignored when loading from the YAML file "config/03/config.yml" -> - firefox (Firefox) -> - manual (Manual proxy configuration) -> - socks_proxy (SOCKS Proxy) -> - address (Proxy address): :stop_sign: mandatory variable but has no value +- :open_file_folder: foxyproxy (FoxyProxy) + - :open_file_folder: proxies (Proxy configuration): [] *** -- [[tutorial v1.1_160] A leadership family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_160/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_160~1..v1.1_160)) +- [[tutorial v1.1_170] Regexp type](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_170/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_170~1..v1.1_170)) diff --git a/config/01/output_ro.html b/config/01/output_ro.html index aa0e837f..9ad367b0 100644 --- a/config/01/output_ro.html +++ b/config/01/output_ro.html @@ -2,8 +2,10 @@ │ Variable Default value │ ╰────────────────────────╯ Variables: -┗━━ 📂 firefox (Firefox) - ┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy - ┗━━ 📂 dns_over_https (DNS over HTTPS) - ┗━━ 📓 enable_dns_over_https (Enable DNS over HTTPS): false +┣━━ 📂 firefox (Firefox) +┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy +┗━━ 📂 dns_over_https (DNS over HTTPS) + ┗━━ 📓 enable_dns_over_https (Enable DNS over HTTPS): false +┗━━ 📂 foxyproxy (FoxyProxy) + ┗━━ 📂 proxies (Proxy configuration): [] diff --git a/config/02/cmd_ro.txt b/config/02/cmd_ro.txt deleted file mode 100644 index 0841fc15..00000000 --- a/config/02/cmd_ro.txt +++ /dev/null @@ -1 +0,0 @@ -rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/02/config.yml \ No newline at end of file diff --git a/config/02/config.yml b/config/02/config.yml deleted file mode 100644 index ffa7a240..00000000 --- a/config/02/config.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -foxyproxy: - proxies: - - title: My company - color: '#66cc66' - type: HTTP - address: proxy.company.net diff --git a/config/02/output_ro.html b/config/02/output_ro.html deleted file mode 100644 index cb083171..00000000 --- a/config/02/output_ro.html +++ /dev/null @@ -1,24 +0,0 @@ -
🔔 Warning
-┗━━ foxyproxy (FoxyProxy)
-    ┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-    "foxyproxy.proxies.title", it will be ignored when loading from the YAML
-    file "config/02/config.yml"
-    ┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-    "foxyproxy.proxies.color", it will be ignored when loading from the YAML
-    file "config/02/config.yml"
-    ┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-    "foxyproxy.proxies.type", it will be ignored when loading from the YAML 
-    file "config/02/config.yml"
-    ┗━━ 🔔 variable or family "proxies" does not exist so cannot load 
-        "foxyproxy.proxies.address", it will be ignored when loading from the 
-        YAML file "config/02/config.yml"
-
-╭─────── Caption ────────╮
-│ Variable Default value │
-╰────────────────────────╯
-Variables:
-┗━━ 📂 firefox (Firefox)
-    ┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
-    ┗━━ 📂 dns_over_https (DNS over HTTPS)
-        ┗━━ 📓 enable_dns_over_https (Enable DNS over HTTPS): false
-
diff --git a/config/03/cmd_ro.txt b/config/03/cmd_ro.txt deleted file mode 100644 index 70205a54..00000000 --- a/config/03/cmd_ro.txt +++ /dev/null @@ -1 +0,0 @@ -rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/03/config.yml \ No newline at end of file diff --git a/config/03/config.yml b/config/03/config.yml deleted file mode 100644 index bf2cc98b..00000000 --- a/config/03/config.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -firefox: - proxy_mode: Manual proxy configuration - manual: - http_proxy: - address: http.proxy.net -foxyproxy: - proxies: - - title: My company - color: '#66cc66' - type: HTTP - - title: An other company - color: '#cc66cc' - type: SOCKS5 - username: my_user - password: my_password - - title: WPAD - color: '#1166cc' - type: WPAD - url: http://wpad.proxy.net/wpad.dat diff --git a/config/03/output_ro.html b/config/03/output_ro.html deleted file mode 100644 index 3476bdd2..00000000 --- a/config/03/output_ro.html +++ /dev/null @@ -1,25 +0,0 @@ -
🛑 Caution
-┣━━ foxyproxy (FoxyProxy)
-┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-"foxyproxy.proxies.title", it will be ignored when loading from the YAML
-file "config/03/config.yml"
-┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-"foxyproxy.proxies.color", it will be ignored when loading from the YAML
-file "config/03/config.yml"
-┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-"foxyproxy.proxies.type", it will be ignored when loading from the YAML 
-file "config/03/config.yml"
-┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-"foxyproxy.proxies.username", it will be ignored when loading from the 
-YAML file "config/03/config.yml"
-┣━━ 🔔 variable or family "proxies" does not exist so cannot load 
-"foxyproxy.proxies.password", it will be ignored when loading from the 
-YAML file "config/03/config.yml"
-┗━━ 🔔 variable or family "proxies" does not exist so cannot load 
-    "foxyproxy.proxies.url", it will be ignored when loading from the YAML 
-    file "config/03/config.yml"
-┗━━ firefox (Firefox)
-    ┗━━ manual (Manual proxy configuration)
-        ┗━━ socks_proxy (SOCKS Proxy)
-            ┗━━ address (Proxy address): 🛑 mandatory variable but has no value
-
diff --git a/tree.html b/tree.html index 8b776108..65d83df5 100644 --- a/tree.html +++ b/tree.html @@ -1,17 +1,17 @@

-.
- ├── 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
- │   └── 60-dns_over_https.yml
- ├── foxyproxy
- │   └── 00-foxyproxy.yml
- └── types
-     └── proxy
-         └── 00_type.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
+ │   └── 60-dns_over_https.yml
+ ├── foxyproxy
+ │   └── 00-foxyproxy.yml
+ └── types
+     └── proxy
+         └── 00_type.yml


\ No newline at end of file