rougail-tutorials/README.md

185 lines
6.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md)
- [[tutorial v1.1_041] A default value calculated from another variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_041/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_041~1..v1.1_041))
# [tutorial v1.1_050] A disabled family
[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_050~1..v1.1_050)
[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-disabled-family)
## Screenshot
<img src="firefox.png" width=50% height=50% alt="Firefox Proxy setting"/>
## Clone and install
To test this tutorial, you need to download this repository and install Rougail:
```shell
git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git
cd rougail-tutorials
python -m venv venv_rougail
. venv_rougail/bin/activate
pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml
```
Then switch to the tutorial page:
```shell
git switch --detach v1.1_050
```
## Structure
<p>
<a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/./">.</a><br/>
└── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/./firefox/">firefox</a><br/>
    ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/./firefox/00-proxy.yml">00-proxy.yml</a><br/>
    ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/./firefox/10-manual.yml">10-manual.yml</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/./firefox/20-manual.yml">20-manual.yml</a><br/>
<br/><br/></p>
Contents of the firefox/10-manual.yml file
```yml
%YAML 1.2
---
version: 1.1
manual:
description: Manual proxy configuration
disabled: true
http_proxy: # HTTP Proxy
address:
description: HTTP address
type: domainname
params:
allow_ip: true
port:
description: HTTP Port
type: port
default: 8080
...
```
***
### Let's generate the documentation
```shell
rougail -m firefox/ -o doc
```
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="proxy_mode" name="proxy_mode">proxy_mode</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Configure Proxy Access to the Internet.<br/>**Choices**: <br/>&nbsp;No proxy **← (default)**<br/>&nbsp;Auto-detect proxy settings for this network<br/>&nbsp;Use system proxy settings<br/>&nbsp;Manual proxy configuration<br/>&nbsp;Automatic proxy configuration URL |
***
### Let's generate the changelog
```shell
rougail -m firefox/ -o doc --doc.contents changelog
```
#### Deleted variables
- manual.http_proxy.address
- manual.http_proxy.port
- manual.use_for_https
- manual.https_proxy.address
- manual.https_proxy.port
***
## User datas
### Example 1
#### config/01/config.yml
```yml
---
```
***
#### Output
```shell
rougail -m firefox/ -u yaml -yf config/01/config.yml
```
> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #B8860B">Default value</span>
Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #B8860B">No proxy</span>
***
### Example 2
#### config/02/config.yml
```yml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
port: 3128
use_for_https: false
```
***
#### Output
```shell
rougail -m firefox/ -u yaml -yf config/02/config.yml
```
> [!WARNING]
>
> - manual (Manual proxy configuration)
> - http_proxy (HTTP Proxy)
> - address (HTTP address): :bell: <span style="color: #EFBF04">family "manual" (Manual proxy configuration) has property disabled, so cannot access to "address" (HTTP address), it will be ignored when loading from the YAML file "config/02/config.yml"</span>
> - port (HTTP Port): :bell: <span style="color: #EFBF04">family "manual" (Manual proxy configuration) has property disabled, so cannot access to "port" (HTTP Port), it will be ignored when loading from the YAML file "config/02/config.yml"</span>
> - use_for_https (Also use this proxy for HTTPS): :bell: <span style="color: #EFBF04">family "manual" (Manual proxy configuration) has property disabled, so cannot access to "use_for_https" (Also use this proxy for HTTPS), it will be ignored when loading from the YAML file "config/02/config.yml"</span>
> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #006400">Modified value</span>
> - (:hourglass_flowing_sand: Original default value)
Variables:
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #006400">Manual proxy configuration</span> ← loaded from the YAML file "config/02/config.yml" (:hourglass_flowing_sand: No proxy)
***
#### Output when unknown user data is an error
```shell
rougail -m firefox/ -u yaml -yf config/02/config.yml --cli.unknown_user_data_error
```
> [!CAUTION]
>
> - manual (Manual proxy configuration)
> - http_proxy (HTTP Proxy)
> - address (HTTP address): :stop_sign: <span style="color: #C23636">family "manual" (Manual proxy configuration) has property disabled, so cannot access to "address" (HTTP address), it has been loading from the YAML file "config/02/config.yml"</span>
> - port (HTTP Port): :stop_sign: <span style="color: #C23636">family "manual" (Manual proxy configuration) has property disabled, so cannot access to "port" (HTTP Port), it has been loading from the YAML file "config/02/config.yml"</span>
> - use_for_https (Also use this proxy for HTTPS): :stop_sign: <span style="color: #C23636">family "manual" (Manual proxy configuration) has property disabled, so cannot access to "use_for_https" (Also use this proxy for HTTPS), it has been loading from the YAML file "config/02/config.yml"</span>
***
- [[tutorial v1.1_051] A conditional disabled family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_051/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_051~1..v1.1_051))