diff --git a/README.md b/README.md index cb094ff..aa69785 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_021] Or a sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_021/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_021~1..v1.1_021)) +- [[tutorial v1.1_022] Putting a variable inside of a family or a sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_022/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_022~1..v1.1_022)) -# [tutorial v1.1_022] Putting a variable inside of a family or a sub family +# [tutorial v1.1_030] A variable with type "domainname" -[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_022~1..v1.1_022) +[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030) -[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#putting-a-variable-inside-of-a-family-or-a-sub-family) +[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"domainname") ## 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_022 +git switch --detach v1.1_030 ``` ## Structure @@ -39,10 +39,10 @@ git switch --detach v1.1_022

-.
- └── firefox
-     ├── 00-proxy.yml
-     └── 10-manual.yml
+.
+ └── firefox
+     ├── 00-proxy.yml
+     └── 10-manual.yml


Contents of the firefox/10-manual.yml file @@ -56,7 +56,9 @@ manual: # Manual proxy configuration http_proxy: # HTTP Proxy - address: # HTTP address + address: + description: HTTP address + type: domainname ... ``` @@ -81,20 +83,20 @@ rougail -m firefox/ -o doc > > **Path**: manual.http_proxy -| Variable | Description | -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------| -| **manual.http_proxy.address**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address. | +| Variable | Description | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------| +| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validator**: type domainname | ### Let's generate the changelog ```shell rougail -m firefox/ -o doc --doc.contents changelog ``` -#### New variable +#### Modified variable -| Variable | Description | -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------| -| **manual.http_proxy.address**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address. | +| Variable | Description | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------| +| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validator**: type domainname | ## User datas @@ -106,17 +108,27 @@ rougail -m firefox/ -o doc --doc.contents changelog ```yml --- +manual: + http_proxy: + address: example.net ``` #### Output ```shell rougail -m firefox/ -u yaml -yf config/01/config.yml ``` -> [!CAUTION] -> -> - manual (Manual proxy configuration) -> - http_proxy (HTTP Proxy) -> - address (HTTP address): :stop_sign: mandatory variable but has no value +> [!NOTE] +> +> **Caption:** +> - Variable +> - Default value +> - Modified value + +Variables: +- :notebook: proxy_mode (Configure Proxy Access to the Internet): No proxy +- :open_file_folder: manual (Manual proxy configuration) + - :open_file_folder: http_proxy (HTTP Proxy) + - :notebook: address (HTTP address): example.net ← loaded from the YAML file "config/01/config.yml" ### Example 2 #### config/02/config.yml @@ -126,25 +138,30 @@ rougail -m firefox/ -u yaml -yf config/01/config.yml --- manual: http_proxy: - address: example.net + address: 192.168.0.1 ``` #### Output ```shell rougail -m firefox/ -u yaml -yf config/02/config.yml ``` -> [!NOTE] -> -> **Caption:** -> - Variable -> - Default value -> - Modified value +> [!CAUTION] +> +> - manual (Manual proxy configuration) +> - http_proxy (HTTP Proxy) +> - address (HTTP address) +> - [#EFBF04]:bell: the value "192.168.0.1" is an invalid domain name, must not be an IP, it will be ignored when loading from the YAML file "config/02/config.yml"[/#EFBF04] +> - [#C23636]:stop_sign: mandatory variable but has no value[/#C23636] +#### Output when invalid user datas is an error -Variables: -- :notebook: proxy_mode (Configure Proxy Access to the Internet): No proxy -- :open_file_folder: manual (Manual proxy configuration) - - :open_file_folder: http_proxy (HTTP Proxy) - - :notebook: address (HTTP address): example.net ← loaded from the YAML file "config/02/config.yml" +```shell +rougail -m firefox/ -u yaml -yf config/02/config.yml --cli.invalid_user_data_error +``` +> [!CAUTION] +> +> - manual (Manual proxy configuration) +> - http_proxy (HTTP Proxy) +> - address (HTTP address): :stop_sign: the value "192.168.0.1" is an invalid domain name, must not be an IP, it has been loading from the YAML file "config/02/config.yml" ### Example 3 #### config/03/config.yml @@ -154,30 +171,30 @@ Variables: --- manual: http_proxy: - address: example.net - port: 3128 + address: not a valid domain name.com ``` #### Output ```shell rougail -m firefox/ -u yaml -yf config/03/config.yml ``` -> [!WARNING] +> [!CAUTION] > -> - variable or family "manual.http_proxy.port" does not exist, it will be ignored when loading from the YAML file "config/03/config.yml" +> - manual (Manual proxy configuration) +> - http_proxy (HTTP Proxy) +> - address (HTTP address) +> - [#EFBF04]:bell: the value "not a valid domain name.com" is an invalid domain name, must start with lowercase characters followed by lowercase characters, number, "-" and "." characters are allowed, it will be ignored when loading from the YAML file "config/03/config.yml"[/#EFBF04] +> - [#C23636]:stop_sign: mandatory variable but has no value[/#C23636] +#### Output when invalid user datas is an error -> [!NOTE] -> -> **Caption:** -> - Variable -> - Default value -> - Modified value - -Variables: -- :notebook: proxy_mode (Configure Proxy Access to the Internet): No proxy -- :open_file_folder: manual (Manual proxy configuration) - - :open_file_folder: http_proxy (HTTP Proxy) - - :notebook: address (HTTP address): example.net ← loaded from the YAML file "config/03/config.yml" +```shell +rougail -m firefox/ -u yaml -yf config/03/config.yml --cli.invalid_user_data_error +``` +> [!CAUTION] +> +> - manual (Manual proxy configuration) +> - http_proxy (HTTP Proxy) +> - address (HTTP address): :stop_sign: the value "not a valid domain name.com" is an invalid domain name, must start with lowercase characters followed by lowercase characters, number, "-" and "." characters are allowed, it has been loading from the YAML file "config/03/config.yml" -- [[tutorial v1.1_030] A variable with type "domainname"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_030/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030)) +- [[tutorial v1.1_031] A variable with type's parameters](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_031/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_031~1..v1.1_031)) diff --git a/config/01/config.yml b/config/01/config.yml index ed97d53..22422a2 100644 --- a/config/01/config.yml +++ b/config/01/config.yml @@ -1 +1,4 @@ --- +manual: + http_proxy: + address: example.net diff --git a/config/01/output_ro.html b/config/01/output_ro.html index cafcfd3..29d25e5 100644 --- a/config/01/output_ro.html +++ b/config/01/output_ro.html @@ -1,5 +1,11 @@ -
🛑 Caution
-┗━━ manual (Manual proxy configuration)
-    ┗━━ http_proxy (HTTP Proxy)
-        ┗━━ address (HTTP address): 🛑 mandatory variable but has no value
+
╭──────── Caption ────────╮
+│ Variable Default value  │
+│          Modified value │
+╰─────────────────────────╯
+Variables:
+┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
+┗━━ 📂 manual (Manual proxy configuration)
+    ┗━━ 📂 http_proxy (HTTP Proxy)
+        ┗━━ 📓 address (HTTP address): example.net ◀ loaded from the YAML file 
+            "config/01/config.yml"
 
diff --git a/config/02/cmd_invalid.txt b/config/02/cmd_invalid.txt new file mode 100644 index 0000000..85f59c7 --- /dev/null +++ b/config/02/cmd_invalid.txt @@ -0,0 +1 @@ +rougail -m firefox/ -u yaml -yf config/02/config.yml --cli.invalid_user_data_error \ No newline at end of file diff --git a/config/02/config.yml b/config/02/config.yml index 22422a2..cbc9903 100644 --- a/config/02/config.yml +++ b/config/02/config.yml @@ -1,4 +1,4 @@ --- manual: http_proxy: - address: example.net + address: 192.168.0.1 diff --git a/config/02/output_invalid.html b/config/02/output_invalid.html new file mode 100644 index 0000000..a675650 --- /dev/null +++ b/config/02/output_invalid.html @@ -0,0 +1,7 @@ +
🛑 Caution
+┗━━ manual (Manual proxy configuration)
+    ┗━━ http_proxy (HTTP Proxy)
+        ┗━━ address (HTTP address): 🛑 the value "192.168.0.1" is an invalid 
+            domain name, must not be an IP, it has been loading from the YAML 
+            file "config/02/config.yml"
+
diff --git a/config/02/output_ro.html b/config/02/output_ro.html index f22f0f2..62370be 100644 --- a/config/02/output_ro.html +++ b/config/02/output_ro.html @@ -1,11 +1,9 @@ -
╭──────── Caption ────────╮
-│ Variable Default value  │
-│          Modified value │
-╰─────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
-┗━━ 📂 manual (Manual proxy configuration)
-    ┗━━ 📂 http_proxy (HTTP Proxy)
-        ┗━━ 📓 address (HTTP address): example.net ◀ loaded from the YAML file 
-            "config/02/config.yml"
+
🛑 Caution
+┗━━ manual (Manual proxy configuration)
+    ┗━━ http_proxy (HTTP Proxy)
+        ┗━━ address (HTTP address)
+            ┣━━ 🔔 the value "192.168.0.1" is an invalid domain name, must not 
+            be an IP, it will be ignored when loading from the YAML file 
+            "config/02/config.yml"
+            ┗━━ 🛑 mandatory variable but has no value
 
diff --git a/config/03/cmd_invalid.txt b/config/03/cmd_invalid.txt new file mode 100644 index 0000000..3fe251f --- /dev/null +++ b/config/03/cmd_invalid.txt @@ -0,0 +1 @@ +rougail -m firefox/ -u yaml -yf config/03/config.yml --cli.invalid_user_data_error \ No newline at end of file diff --git a/config/03/config.yml b/config/03/config.yml index da3353a..39895d1 100644 --- a/config/03/config.yml +++ b/config/03/config.yml @@ -1,5 +1,4 @@ --- manual: http_proxy: - address: example.net - port: 3128 + address: not a valid domain name.com diff --git a/config/03/output_invalid.html b/config/03/output_invalid.html new file mode 100644 index 0000000..1577759 --- /dev/null +++ b/config/03/output_invalid.html @@ -0,0 +1,9 @@ +
🛑 Caution
+┗━━ manual (Manual proxy configuration)
+    ┗━━ http_proxy (HTTP Proxy)
+        ┗━━ address (HTTP address): 🛑 the value "not a valid domain name.com" 
+            is an invalid domain name, must start with lowercase characters 
+            followed by lowercase characters, number, "-" and "." characters are
+            allowed, it has been loading from the YAML file 
+            "config/03/config.yml"
+
diff --git a/config/03/output_ro.html b/config/03/output_ro.html index 4b02f87..10189d0 100644 --- a/config/03/output_ro.html +++ b/config/03/output_ro.html @@ -1,15 +1,11 @@ -
🔔 Warning
-┗━━ variable or family "manual.http_proxy.port" does not exist, it will be 
-    ignored when loading from the YAML file "config/03/config.yml"
-
-╭──────── Caption ────────╮
-│ Variable Default value  │
-│          Modified value │
-╰─────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
-┗━━ 📂 manual (Manual proxy configuration)
-    ┗━━ 📂 http_proxy (HTTP Proxy)
-        ┗━━ 📓 address (HTTP address): example.net ◀ loaded from the YAML file 
-            "config/03/config.yml"
+
🛑 Caution
+┗━━ manual (Manual proxy configuration)
+    ┗━━ http_proxy (HTTP Proxy)
+        ┗━━ address (HTTP address)
+            ┣━━ 🔔 the value "not a valid domain name.com" is an invalid domain 
+            name, must start with lowercase characters followed by lowercase
+            characters, number, "-" and "." characters are allowed, it will 
+            be ignored when loading from the YAML file 
+            "config/03/config.yml"
+            ┗━━ 🛑 mandatory variable but has no value
 
diff --git a/tree.html b/tree.html index 35f3a78..bbe62fa 100644 --- a/tree.html +++ b/tree.html @@ -1,6 +1,6 @@

-.
- └── firefox
-     ├── 00-proxy.yml
-     └── 10-manual.yml
+.
+ └── firefox
+     ├── 00-proxy.yml
+     └── 10-manual.yml


\ No newline at end of file