diff --git a/README.md b/README.md
index 8524a03..d1d6811 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_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))
-# [tutorial v1.1_031] A variable with type's parameters
+# [tutorial v1.1_032] A variable with type "port"
-[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_031~1..v1.1_031)
+[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_032~1..v1.1_032)
-[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type's-parameters)
+[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"port")
## 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_031
+git switch --detach v1.1_032
```
## Structure
@@ -39,10 +39,10 @@ git switch --detach v1.1_031
-.
- └── firefox
- ├── 00-proxy.yml
- └── 10-manual.yml
+.
+ └── firefox
+ ├── 00-proxy.yml
+ └── 10-manual.yml
Contents of the firefox/10-manual.yml file
@@ -61,6 +61,11 @@ manual: # Manual proxy configuration
type: domainname
params:
allow_ip: true
+
+ port:
+ description: HTTP Port
+ type: port
+ default: 8080
...
```
@@ -87,9 +92,10 @@ rougail -m firefox/ -o doc
>
> **Path**: manual.http_proxy
-| Variable | Description |
-|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
-| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validators**:
• type domainname
• the domain name can be an IP |
+| Variable | Description |
+|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validators**:
• type domainname
• the domain name can be an IP |
+| **manual.http_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP 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 |
***
@@ -98,11 +104,11 @@ rougail -m firefox/ -o doc
```shell
rougail -m firefox/ -o doc --doc.contents changelog
```
-#### Modified variable
+#### New variable
-| Variable | Description |
-|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
-| **manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP address.
**Validators**:
• type domainname
• the domain name can be an IP |
+| Variable | Description |
+|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **manual.http_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | HTTP 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 |
***
@@ -115,6 +121,7 @@ rougail -m firefox/ -o doc --doc.contents changelog
```yml
---
+proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: example.net
@@ -132,12 +139,14 @@ rougail -m firefox/ -u yaml -yf config/01/config.yml
> - Variable
> - Default value
> - Modified value
+> - (:hourglass_flowing_sand: Original default value)
Variables:
-- :notebook: proxy_mode (Configure Proxy Access to the Internet): No proxy
+- :notebook: proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/01/config.yml" (:hourglass_flowing_sand: 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"
+ - :notebook: port (HTTP Port): 8080
***
### Example 2
@@ -147,9 +156,11 @@ Variables:
```yml
---
+proxy_mode: Manual proxy configuration
manual:
http_proxy:
- address: 192.168.0.1
+ address: example.net
+ port: 3128
```
***
@@ -162,33 +173,15 @@ rougail -m firefox/ -u yaml -yf config/02/config.yml
>
> **Caption:**
> - Variable
-> - Default value
> - Modified value
+> - (:hourglass_flowing_sand: Original default value)
Variables:
-- :notebook: proxy_mode (Configure Proxy Access to the Internet): No proxy
+- :notebook: proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/02/config.yml" (:hourglass_flowing_sand: No proxy)
- :open_file_folder: manual (Manual proxy configuration)
- :open_file_folder: http_proxy (HTTP Proxy)
- - :notebook: address (HTTP address): 192.168.0.1 ← loaded from the YAML file "config/02/config.yml"
-
-***
-#### Output when invalid user data is an error
-
-```shell
-rougail -m firefox/ -u yaml -yf config/02/config.yml --cli.invalid_user_data_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): 192.168.0.1 ← loaded from the YAML file "config/02/config.yml"
+ - :notebook: address (HTTP address): example.net ← loaded from the YAML file "config/02/config.yml"
+ - :notebook: port (HTTP Port): 3128 ← loaded from the YAML file "config/02/config.yml" (:hourglass_flowing_sand: 8080)
***
### Example 3
@@ -198,9 +191,11 @@ Variables:
```yml
---
+proxy_mode: Manual proxy configuration
manual:
http_proxy:
- address: not a valid domain name.com
+ address: example.net
+ port: 100000
```
***
@@ -209,13 +204,26 @@ manual:
```shell
rougail -m firefox/ -u yaml -yf config/03/config.yml
```
-> [!CAUTION]
+> [!WARNING]
>
> - 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, could be a IP, otherwise 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]
+> - port (HTTP Port): :bell: the value "100000" is an invalid port, must be between 1 and 65535, it will be ignored when loading from the YAML file "config/03/config.yml"
+
+> [!NOTE]
+>
+> **Caption:**
+> - Variable
+> - Default value
+> - Modified value
+> - (:hourglass_flowing_sand: Original default value)
+
+Variables:
+- :notebook: proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/03/config.yml" (:hourglass_flowing_sand: 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"
+ - :notebook: port (HTTP Port): 8080
***
#### Output when invalid user data is an error
@@ -227,9 +235,9 @@ rougail -m firefox/ -u yaml -yf config/03/config.yml --cli.invalid_user_data_err
>
> - 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, could be a IP, otherwise 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"
+> - port (HTTP Port): :stop_sign: the value "100000" is an invalid port, must be between 1 and 65535, it has been loading from the YAML file "config/03/config.yml"
***
-- [[tutorial v1.1_032] A variable with type "port"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_032/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_032~1..v1.1_032))
+- [[tutorial v1.1_033] A variable with type "boolean"](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))
diff --git a/config/01/config.yml b/config/01/config.yml
index 22422a2..e3db924 100644
--- a/config/01/config.yml
+++ b/config/01/config.yml
@@ -1,4 +1,5 @@
---
+proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: example.net
diff --git a/config/01/output_ro.html b/config/01/output_ro.html
index 29d25e5..765fa89 100644
--- a/config/01/output_ro.html
+++ b/config/01/output_ro.html
@@ -1,11 +1,15 @@
-╭──────── Caption ────────╮
-│ Variable Default value │
-│ Modified value │
-╰─────────────────────────╯
+╭────────────── Caption ───────────────╮
+│ Variable Default value │
+│ Modified value │
+│ (⏳ Original default value) │
+╰──────────────────────────────────────╯
Variables:
-┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
+┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy
+┃ configuration ◀ loaded from the YAML file "config/01/config.yml" (⏳ No
+┃ proxy)
┗━━ 📂 manual (Manual proxy configuration)
┗━━ 📂 http_proxy (HTTP Proxy)
- ┗━━ 📓 address (HTTP address): example.net ◀ loaded from the YAML file
- "config/01/config.yml"
+ ┣━━ 📓 address (HTTP address): example.net ◀ loaded from the YAML file
+ ┃ "config/01/config.yml"
+ ┗━━ 📓 port (HTTP Port): 8080
diff --git a/config/02/cmd_invalid.txt b/config/02/cmd_invalid.txt
deleted file mode 100644
index 85f59c7..0000000
--- a/config/02/cmd_invalid.txt
+++ /dev/null
@@ -1 +0,0 @@
-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 cbc9903..6e7c9dc 100644
--- a/config/02/config.yml
+++ b/config/02/config.yml
@@ -1,4 +1,6 @@
---
+proxy_mode: Manual proxy configuration
manual:
http_proxy:
- address: 192.168.0.1
+ address: example.net
+ port: 3128
diff --git a/config/02/output_invalid.html b/config/02/output_invalid.html
deleted file mode 100644
index dca02a3..0000000
--- a/config/02/output_invalid.html
+++ /dev/null
@@ -1,11 +0,0 @@
-╭──────── 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): 192.168.0.1 ◀ loaded from the YAML file
- "config/02/config.yml"
-
diff --git a/config/02/output_ro.html b/config/02/output_ro.html
index dca02a3..9a681f1 100644
--- a/config/02/output_ro.html
+++ b/config/02/output_ro.html
@@ -1,11 +1,15 @@
-╭──────── Caption ────────╮
-│ Variable Default value │
-│ Modified value │
-╰─────────────────────────╯
+╭────────────── Caption ───────────────╮
+│ Variable Modified value │
+│ (⏳ Original default value) │
+╰──────────────────────────────────────╯
Variables:
-┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
+┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy
+┃ configuration ◀ loaded from the YAML file "config/02/config.yml" (⏳ No
+┃ proxy)
┗━━ 📂 manual (Manual proxy configuration)
┗━━ 📂 http_proxy (HTTP Proxy)
- ┗━━ 📓 address (HTTP address): 192.168.0.1 ◀ loaded from the YAML file
- "config/02/config.yml"
+ ┣━━ 📓 address (HTTP address): example.net ◀ loaded from the YAML file
+ ┃ "config/02/config.yml"
+ ┗━━ 📓 port (HTTP Port): 3128 ◀ loaded from the YAML file
+ "config/02/config.yml" (⏳ 8080)
diff --git a/config/03/config.yml b/config/03/config.yml
index 39895d1..d05944f 100644
--- a/config/03/config.yml
+++ b/config/03/config.yml
@@ -1,4 +1,6 @@
---
+proxy_mode: Manual proxy configuration
manual:
http_proxy:
- address: not a valid domain name.com
+ address: example.net
+ port: 100000
diff --git a/config/03/output_invalid.html b/config/03/output_invalid.html
index b6c5a3d..ad30308 100644
--- a/config/03/output_invalid.html
+++ b/config/03/output_invalid.html
@@ -1,9 +1,7 @@
🛑 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, could be a IP, otherwise 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"
+ ┗━━ port (HTTP Port): 🛑 the value "100000" is an invalid port, must be
+ between 1 and 65535, 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 b02c473..fed19a5 100644
--- a/config/03/output_ro.html
+++ b/config/03/output_ro.html
@@ -1,11 +1,22 @@
-🛑 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, could be a IP, otherwise 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
+🔔 Warning
+┗━━ manual (Manual proxy configuration)
+ ┗━━ http_proxy (HTTP Proxy)
+ ┗━━ port (HTTP Port): 🔔 the value "100000" is an invalid port, must be
+ between 1 and 65535, it will be ignored when loading from the YAML
+ file "config/03/config.yml"
+
+╭────────────── Caption ───────────────╮
+│ Variable Default value │
+│ Modified value │
+│ (⏳ Original default value) │
+╰──────────────────────────────────────╯
+Variables:
+┣━━ 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy
+┃ configuration ◀ loaded from the YAML file "config/03/config.yml" (⏳ No
+┃ proxy)
+┗━━ 📂 manual (Manual proxy configuration)
+ ┗━━ 📂 http_proxy (HTTP Proxy)
+ ┣━━ 📓 address (HTTP address): example.net ◀ loaded from the YAML file
+ ┃ "config/03/config.yml"
+ ┗━━ 📓 port (HTTP Port): 8080
diff --git a/tree.html b/tree.html
index 4af3212..b890f2e 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