101 lines
16 KiB
Markdown
101 lines
16 KiB
Markdown
# Description
|
||
|
||
### example.md
|
||
> Hello, World!
|
||
>
|
||
> Markdown _all_ the things
|
||
|
||
|
||
This tutorial shows to you an example of Rougail use on how to set a proxy in the Mozilla Firefox browser.
|
||
|
||
More precisely, this tutorial aims at reproducing this [Mozilla Firefox](https://www.mozilla.org/firefox/new/) settings page:
|
||
|
||

|
||
|
||
And the integration of part of the [Firefox FoxyProxy plugin](https://addons.mozilla.org/firefox/addon/foxyproxy-standard/).
|
||
|
||
The idea is to have a namespace specific to FoxyProxy and to find in it part of the settings that we will have made in the main namespace.
|
||
|
||
This is what the page looks like:
|
||
|
||

|
||
|
||
# Installation
|
||
|
||
To test this tutorial, you need to download this repository and install Rougail:
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
# Summary
|
||
|
||
Each step is a separerate commit. You can navigate to history to discover different aspect to the Rougail format.
|
||
|
||
- Getting started
|
||
- Making a structure file
|
||
- [[tutorial v1.1_000)] Creating a structure file](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_000/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#creating-a-structure-file) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_000~1..v1.1_000))
|
||
- Let's create our first "variable"
|
||
- [[tutorial v1.1_001)] Let’s add our first variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_001/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#let-s-add-our-first-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_001~1..v1.1_001))
|
||
- [[tutorial v1.1_002)] Describe the variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_002/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#describe-the-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_002~1..v1.1_002))
|
||
- [[tutorial v1.1_003)] Set a default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_003/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#set-a-default-value) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_003~1..v1.1_003))
|
||
- [[tutorial v1.1_004)] Limits the possible values for the variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_004/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#limits-the-possible-values-for-the-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_004~1..v1.1_004))
|
||
- Group variables inside "families"
|
||
- [[tutorial v1.1_010)] Creating a new family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#creating-a-new-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_010~1..v1.1_010))
|
||
- [[tutorial v1.1_011)] Or a sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_011/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#or-a-sub-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_011~1..v1.1_011))
|
||
- [[tutorial v1.1_012)] Putting a variable inside of a family or a sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_012/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#putting-a-variable-inside-of-a-family-or-a-sub-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_012~1..v1.1_012))
|
||
- Constrainte the value of a variable with it's type
|
||
- [[tutorial v1.1_020)] A variable with type "domainname"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"domainname") - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020))
|
||
- [[tutorial v1.1_021)] A variable with type's parameters](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_021/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type's-parameters) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_021~1..v1.1_021))
|
||
- [[tutorial v1.1_022)] A variable with type "port"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_022/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"port") - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_022~1..v1.1_022))
|
||
- [[tutorial v1.1_023)] A variable with type "boolean"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_023/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"boolean") - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_023~1..v1.1_023))
|
||
- Define access to variable or family
|
||
- Property disabled
|
||
- [[tutorial v1.1_030)] A disabled family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_030/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-disabled-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030))
|
||
- [[tutorial v1.1_031)] A conditional disabled family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_031/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-conditional-disabled-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_031~1..v1.1_031))
|
||
- Property hidden
|
||
- [[tutorial v1.1_032)] Copy HTTP manual proxy to HTTPS manual proxy](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_032/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#copy-http-manual-proxy-to-https-manual-proxy) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_032~1..v1.1_032))
|
||
- [[tutorial v1.1_033)] A conditional hidden family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_033/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-conditional-hidden-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_033~1..v1.1_033))
|
||
- Calculated default value for a variable
|
||
- [[tutorial v1.1_040)] A calculated default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_040/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-calculated-default-value) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_040~1..v1.1_040))
|
||
- Dynamic family
|
||
- [[tutorial v1.1_050)] Family: a dynamic family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/dynfam.html#family:-a-dynamic-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_050~1..v1.1_050))
|
||
- [[tutorial v1.1_051)] A conditional disabled variable with dynamic identifier](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_051/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/dynfam.html#a-conditional-disabled-variable-with-dynamic-identifier) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_051~1..v1.1_051))
|
||
- Playing with Jinja
|
||
- [[tutorial v1.1_060)] A conditional hidden family with Jinja](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_060/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-hidden-family-with-jinja) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_060~1..v1.1_060))
|
||
- [[tutorial v1.1_061)] Jinja with a description](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_061/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#jinja-with-a-description) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_061~1..v1.1_061))
|
||
- [[tutorial v1.1_062)] Jinja with a parameter](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_062/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#jinja-with-a-parameter) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_062~1..v1.1_062))
|
||
- Various variables
|
||
- [[tutorial v1.1_070)] A conditional disabled variable with type web_address](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_070/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-disabled-variable-with-type-web_address) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_070~1..v1.1_070))
|
||
- [[tutorial v1.1_080)] A conditional disabled variable with type domainname and parameters](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_080/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-disabled-variable-with-type-domainname-and-parameters) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_080~1..v1.1_080))
|
||
- Multiple variable
|
||
- [[tutorial v1.1_081)] A variable with multiple value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_081/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-with-multiple-value) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_081~1..v1.1_081))
|
||
- Mandatory
|
||
- [[tutorial v1.1_082)] A non mandatory variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_082/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-non-mandatory-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_082~1..v1.1_082))
|
||
- Extras informations for a variable
|
||
- [[tutorial v1.1_083)] Examples](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_083/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#examples) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_083~1..v1.1_083))
|
||
- [[tutorial v1.1_084)] Help](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_084/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#help) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_084~1..v1.1_084))
|
||
- Various variables
|
||
- [[tutorial v1.1_085)] A conditional disabled boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_085/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-disabled-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_085~1..v1.1_085))
|
||
- [[tutorial v1.1_086)] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_086/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_086~1..v1.1_086))
|
||
- [[tutorial v1.1_087)] A Jinja conditional disabled boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_087/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-jinja-conditional-disabled-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_087~1..v1.1_087))
|
||
- Mode
|
||
- [[tutorial v1.1_088)] A variable in avanced mode](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_088/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-in-avanced-mode) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_088~1..v1.1_088))
|
||
- Various variables
|
||
- [[tutorial v1.1_090)] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_090/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_090~1..v1.1_090))
|
||
- [[tutorial v1.1_091)] A choice variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_091/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-choice-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_091~1..v1.1_091))
|
||
- [[tutorial v1.1_092)] A web_address variable ](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_092/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-web_address-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_092~1..v1.1_092))
|
||
- Validators
|
||
- [[tutorial v1.1_093)] A variable with custom validation](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_093/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-with-custom-validation) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_093~1..v1.1_093))
|
||
- Namespace
|
||
- [[tutorial v1.1_100)] Namespace](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_100/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#namespace) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_100~1..v1.1_100))
|
||
- [[tutorial v1.1_101)] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_101/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_101~1..v1.1_101))
|
||
- [[tutorial v1.1_103)] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_103/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_103~1..v1.1_103))
|
||
- [[tutorial v1.1_104)] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_104/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_104~1..v1.1_104))
|
||
- [[tutorial v1.1_105)] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_105/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_105~1..v1.1_105))
|
||
- [[tutorial v1.1_110)] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_110/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_110~1..v1.1_110))
|
||
|