Compare commits

...

4 commits

259 changed files with 3831 additions and 423 deletions

View file

@ -1,3 +1,14 @@
## 0.2.0a46 (2026-01-29)
### Feat
- support transitive
### Fix
- better transitive documentation
- update translation
## 0.2.0a45 (2026-01-21) ## 0.2.0a45 (2026-01-21)
### Feat ### Feat

View file

@ -35,6 +35,10 @@ include_toc: true
| **<a id="doc.other_root_filenames.root_path" name="doc.other_root_filenames.root_path">doc.other_root_filenames.root_path</a>**<br/>**Ligne de commande** : <br/>--doc.other_root_filenames.root_path<br/>**Variable d'environnement** : DOC.OTHER_ROOT_FILENAMES.ROOT_PATH | Ce fichier contient les variables enfants de la famille. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | `unique` | | **<a id="doc.other_root_filenames.root_path" name="doc.other_root_filenames.root_path">doc.other_root_filenames.root_path</a>**<br/>**Ligne de commande** : <br/>--doc.other_root_filenames.root_path<br/>**Variable d'environnement** : DOC.OTHER_ROOT_FILENAMES.ROOT_PATH | Ce fichier contient les variables enfants de la famille. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | `unique` |
| **<a id="doc.other_root_filenames.filename" name="doc.other_root_filenames.filename">doc.other_root_filenames.filename</a>**<br/>**Ligne de commande** : <br/>--doc.other_root_filenames.filename<br/>**Variable d'environnement** : DOC.OTHER_ROOT_FILENAMES.FILENAME | Nom du fichier. | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | •&nbsp;le nom de fichier peut être une chemin relatif<br/>&nbsp;type de fichier autorisé: "file". | | **<a id="doc.other_root_filenames.filename" name="doc.other_root_filenames.filename">doc.other_root_filenames.filename</a>**<br/>**Ligne de commande** : <br/>--doc.other_root_filenames.filename<br/>**Variable d'environnement** : DOC.OTHER_ROOT_FILENAMES.FILENAME | Nom du fichier. | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | •&nbsp;le nom de fichier peut être une chemin relatif<br/>&nbsp;type de fichier autorisé: "file". |
| Variable | Description | Valeur par défaut | Type |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------|---------------------|---------------------------------------------------------------------------------------------------|
| **<a id="doc.document_a_type" name="doc.document_a_type">doc.document_a_type</a>**<br/>**Ligne de commande** : <br/>&nbsp;--doc.document_a_type<br/>&nbsp;--doc.no-document_a_type<br/>**Variable d'environnement** : DOC.DOCUMENT_A_TYPE | Documenter type de structure. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` |
### Documentation des variables et journal de changements ### Documentation des variables et journal de changements
> [!NOTE] > [!NOTE]

View file

@ -35,6 +35,10 @@ include_toc: true
| **<a id="doc.other_root_filenames.root_path" name="doc.other_root_filenames.root_path">doc.other_root_filenames.root_path</a>**<br/>**Command line**: <br/>--doc.other_root_filenames.root_path<br/>**Environment variable**: DOC.OTHER_ROOT_FILENAMES.ROOT_PATH | This file contains child variables of the family. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | `unique` | | **<a id="doc.other_root_filenames.root_path" name="doc.other_root_filenames.root_path">doc.other_root_filenames.root_path</a>**<br/>**Command line**: <br/>--doc.other_root_filenames.root_path<br/>**Environment variable**: DOC.OTHER_ROOT_FILENAMES.ROOT_PATH | This file contains child variables of the family. | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | `unique` |
| **<a id="doc.other_root_filenames.filename" name="doc.other_root_filenames.filename">doc.other_root_filenames.filename</a>**<br/>**Command line**: <br/>--doc.other_root_filenames.filename<br/>**Environment variable**: DOC.OTHER_ROOT_FILENAMES.FILENAME | Name of the file. | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | •&nbsp;this filename could be a relative path<br/>&nbsp;file type allowed: "file". | | **<a id="doc.other_root_filenames.filename" name="doc.other_root_filenames.filename">doc.other_root_filenames.filename</a>**<br/>**Command line**: <br/>--doc.other_root_filenames.filename<br/>**Environment variable**: DOC.OTHER_ROOT_FILENAMES.FILENAME | Name of the file. | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | •&nbsp;this filename could be a relative path<br/>&nbsp;file type allowed: "file". |
| Variable | Description | Default value | Type |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------|-----------------|-------------------------------------------------------------------------------------------------|
| **<a id="doc.document_a_type" name="doc.document_a_type">doc.document_a_type</a>**<br/>**Command line**: <br/>&nbsp;--doc.document_a_type<br/>&nbsp;--doc.no-document_a_type<br/>**Environment variable**: DOC.DOCUMENT_A_TYPE | Documentation a structural type. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` |
### Variables and changelog documentation ### Variables and changelog documentation
> [!NOTE] > [!NOTE]

View file

@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2026-01-04 19:14+0100\n" "POT-Creation-Date: 2026-01-29 08:31+0100\n"
"PO-Revision-Date: 2026-01-04 19:15+0100\n" "PO-Revision-Date: 2026-01-29 08:33+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
@ -16,19 +16,11 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.8\n" "X-Generator: Poedit 3.8\n"
#: src/rougail/output_doc/annotator.py:350 #: src/rougail/output_doc/annotator.py:371
msgid "the value of the information \"{0}\" of the variable \"{1}\""
msgstr "la valeur de l'information \"{0}\" de la variable \"{1}\""
#: src/rougail/output_doc/annotator.py:353
msgid "the value of the global information \"{0}\""
msgstr "la valeur de l'information globale \"{0}\""
#: src/rougail/output_doc/annotator.py:360
msgid "when the identifier is \"{0}\"" msgid "when the identifier is \"{0}\""
msgstr "lorsque l'identifiant est \"{0}\"" msgstr "lorsque l'identifiant est \"{0}\""
#: src/rougail/output_doc/annotator.py:362 #: src/rougail/output_doc/annotator.py:373
msgid "when the identifier is not \"{0}\"" msgid "when the identifier is not \"{0}\""
msgstr "lorsque l'identifiant n'est pas \"{0}\"" msgstr "lorsque l'identifiant n'est pas \"{0}\""
@ -174,10 +166,14 @@ msgid "Name of the file"
msgstr "Nom du fichier" msgstr "Nom du fichier"
#: src/rougail/output_doc/config.py:206 #: src/rougail/output_doc/config.py:206
msgid "Documentation a structural type"
msgstr "Documenter type de structure"
#: src/rougail/output_doc/config.py:210
msgid "Variables and changelog documentation" msgid "Variables and changelog documentation"
msgstr "Documentation des variables et journal de changements" msgstr "Documentation des variables et journal de changements"
#: src/rougail/output_doc/config.py:211 #: src/rougail/output_doc/config.py:215
msgid "" msgid ""
"if \"_.output_format\" is json or \"_.contents\" hasn't variables or " "if \"_.output_format\" is json or \"_.contents\" hasn't variables or "
"changelog" "changelog"
@ -185,45 +181,45 @@ msgstr ""
"si \"_.output_format\" en json ou si \"_.contents\" n'est pas variables ou " "si \"_.output_format\" en json ou si \"_.contents\" n'est pas variables ou "
"changelog" "changelog"
#: src/rougail/output_doc/config.py:214 #: src/rougail/output_doc/config.py:218
msgid "Do not add families in documentation" msgid "Do not add families in documentation"
msgstr "Ne pas ajouter les familles dans la documentation" msgstr "Ne pas ajouter les familles dans la documentation"
#: src/rougail/output_doc/config.py:219 #: src/rougail/output_doc/config.py:223
msgid "Add command line informations in documentation" msgid "Add command line informations in documentation"
msgstr "Ajoute les informations de la ligne de commande dans la documentation" msgstr "Ajoute les informations de la ligne de commande dans la documentation"
#: src/rougail/output_doc/config.py:224 #: src/rougail/output_doc/config.py:228
msgid "Add environment variable informations in documentation" msgid "Add environment variable informations in documentation"
msgstr "" msgstr ""
"Ajoute les informations de variable d'environnement dans la documentation" "Ajoute les informations de variable d'environnement dans la documentation"
#: src/rougail/output_doc/config.py:229 #: src/rougail/output_doc/config.py:233
msgid "Environment variables prefix name" msgid "Environment variables prefix name"
msgstr "Préfixe du nom des variables d'environnement" msgstr "Préfixe du nom des variables d'environnement"
#: src/rougail/output_doc/config.py:236 #: src/rougail/output_doc/config.py:240
msgid "should only use uppercase characters" msgid "should only use uppercase characters"
msgstr "doit seulement utilise des caractères en majuscule" msgstr "doit seulement utilise des caractères en majuscule"
#: src/rougail/output_doc/config.py:241 #: src/rougail/output_doc/config.py:245
msgid "if \"main_namespace\" is not set or \"_.with_environment\" is false" msgid "if \"main_namespace\" is not set or \"_.with_environment\" is false"
msgstr "" msgstr ""
"si \"main_namespace\" n'est pas défini ou \"_.with_environment\" est false" "si \"main_namespace\" n'est pas défini ou \"_.with_environment\" est false"
#: src/rougail/output_doc/config.py:244 #: src/rougail/output_doc/config.py:248
msgid "Changelog documentation" msgid "Changelog documentation"
msgstr "Documentation du journal des changements" msgstr "Documentation du journal des changements"
#: src/rougail/output_doc/config.py:249 #: src/rougail/output_doc/config.py:253
msgid "if changelog in not in \"_.contents\"" msgid "if changelog in not in \"_.contents\""
msgstr "changelog n'est pas défini dans \"_.contents\"" msgstr "changelog n'est pas défini dans \"_.contents\""
#: src/rougail/output_doc/config.py:252 #: src/rougail/output_doc/config.py:256
msgid "Previous description file in JSON format" msgid "Previous description file in JSON format"
msgstr "Précédent fichier de description au format JSON" msgstr "Précédent fichier de description au format JSON"
#: src/rougail/output_doc/config.py:253 #: src/rougail/output_doc/config.py:257
msgid "" msgid ""
"To generate the changelog, you need to compare the old list of variables (in " "To generate the changelog, you need to compare the old list of variables (in "
"json format) with the current variables." "json format) with the current variables."
@ -231,162 +227,162 @@ msgstr ""
"Pour générer le journal des changements, vous devez comparer l'ancienne " "Pour générer le journal des changements, vous devez comparer l'ancienne "
"liste des variables (au format json) avec les variables courantes." "liste des variables (au format json) avec les variables courantes."
#: src/rougail/output_doc/config.py:257 #: src/rougail/output_doc/config.py:261
msgid "Examples configuration" msgid "Examples configuration"
msgstr "Configuration des exemples" msgstr "Configuration des exemples"
#: src/rougail/output_doc/config.py:262 #: src/rougail/output_doc/config.py:266
msgid "if example is not in \"_.contents\"" msgid "if example is not in \"_.contents\""
msgstr "si example n'est pas défini dans \"_.contents\"" msgstr "si example n'est pas défini dans \"_.contents\""
#: src/rougail/output_doc/config.py:265 #: src/rougail/output_doc/config.py:269
msgid "Add description of variables and families when generate examples" msgid "Add description of variables and families when generate examples"
msgstr "" msgstr ""
"Ajouter la description des variables et des familles lorsqu'on génère des " "Ajouter la description des variables et des familles lorsqu'on génère des "
"exemples" "exemples"
#: src/rougail/output_doc/config.py:270 #: src/rougail/output_doc/config.py:274
msgid "Comment in examples starts at column" msgid "Comment in examples starts at column"
msgstr "Commentaire dans les exemples commence à la colonne" msgstr "Commentaire dans les exemples commence à la colonne"
#: src/rougail/output_doc/doc.py:354 #: src/rougail/output_doc/doc.py:70
msgid "{0} is not set as step.output"
msgstr "{0} n'est pas défini dans step.output"
#: src/rougail/output_doc/doc.py:363
msgid "This family contains lists of variable blocks" msgid "This family contains lists of variable blocks"
msgstr "Cette famille contient des listes de bloc de variable" msgstr "Cette famille contient des listes de bloc de variable"
#: src/rougail/output_doc/doc.py:364 #: src/rougail/output_doc/doc.py:373
msgid "This family builds families dynamically" msgid "This family builds families dynamically"
msgstr "Cette famille construit des familles dynamiquement" msgstr "Cette famille construit des familles dynamiquement"
#: src/rougail/output_doc/doc.py:378 #: src/rougail/output_doc/doc.py:387
msgid "Default" msgid "Default"
msgstr "Défaut" msgstr "Défaut"
#: src/rougail/output_doc/doc.py:396 #: src/rougail/output_doc/doc.py:405
msgid "Example" msgid "Example"
msgstr "Exemple" msgstr "Exemple"
#: src/rougail/output_doc/doc.py:399 #: src/rougail/output_doc/doc.py:408
msgid "Examples" msgid "Examples"
msgstr "Exemples" msgstr "Exemples"
#: src/rougail/output_doc/doc.py:408 #: src/rougail/output_doc/doc.py:417
msgid "Tag" msgid "Tag"
msgstr "Étiquette" msgstr "Étiquette"
#: src/rougail/output_doc/doc.py:411 #: src/rougail/output_doc/doc.py:420
msgid "Tags" msgid "Tags"
msgstr "Étiquettes" msgstr "Étiquettes"
#: src/rougail/output_doc/doc.py:443 #: src/rougail/output_doc/doc.py:452
msgid "No attribute \"description\" for \"{0}\" in {1}" msgid "No attribute \"description\" for \"{0}\" in {1}"
msgstr "Aucun attribut \"description\" pour \"{0}\" dans {1}" msgstr "Aucun attribut \"description\" pour \"{0}\" dans {1}"
#: src/rougail/output_doc/doc.py:578 #: src/rougail/output_doc/doc.py:587
msgid "text based with regular expressions \"{0}\"" msgid "text based with regular expressions \"{0}\""
msgstr "texte avec expression rationnelle \"{0}\"" msgstr "texte avec expression rationnelle \"{0}\""
#: src/rougail/output_doc/doc.py:582 #: src/rougail/output_doc/doc.py:591
#: src/rougail/output_doc/tabular/six_columns.py:65 #: src/rougail/output_doc/tabular/six_columns.py:65
msgid "Validator" msgid "Validator"
msgstr "Validateur" msgstr "Validateur"
#: src/rougail/output_doc/doc.py:585 #: src/rougail/output_doc/doc.py:594
msgid "Validators" msgid "Validators"
msgstr "Validateurs" msgstr "Validateurs"
#: src/rougail/output_doc/doc.py:594 #: src/rougail/output_doc/doc.py:603
msgid "Choices" msgid "Choices"
msgstr "Choix" msgstr "Choix"
#: src/rougail/output_doc/doc.py:697 #: src/rougail/output_doc/doc.py:707
msgid "the value of the identifier" msgid "the value of the identifier"
msgstr "la valeur de l'identifiant" msgstr "la valeur de l'identifiant"
#: src/rougail/output_doc/doc.py:701 #: src/rougail/output_doc/doc.py:711
msgid "the value of the information \"{0}\" of the variable \"{1}\""
msgstr "la valeur de l'information \"{0}\" de la variable \"{1}\""
#: src/rougail/output_doc/doc.py:715
msgid "the value of the global information \"{0}\""
msgstr "la valeur de l'information globale \"{0}\""
#: src/rougail/output_doc/doc.py:717
msgid "the value of the {0}" msgid "the value of the {0}"
msgstr "la valeur de l'{0}" msgstr "la valeur de l'{0}"
#: src/rougail/output_doc/doc.py:710 #: src/rougail/output_doc/doc.py:724
msgid "depends on a calculation" msgid "depends on a calculation"
msgstr "dépend d'un calcul" msgstr "dépend d'un calcul"
#: src/rougail/output_doc/doc.py:716 #: src/rougail/output_doc/doc.py:730
msgid "\"{0}\" is a calculation for {1} but has no description in {2}" msgid "\"{0}\" is a calculation for {1} but has no description in {2}"
msgstr "\"{0}\" est un calcul pour {1} mais n'a pas de description dans {2}" msgstr "\"{0}\" est un calcul pour {1} mais n'a pas de description dans {2}"
#: src/rougail/output_doc/doc.py:744 #: src/rougail/output_doc/doc.py:786 src/rougail/output_doc/doc.py:913
msgid "the value of the variable \"{0}\""
msgstr "la valeur de la variable \"{0}\""
#: src/rougail/output_doc/doc.py:746
msgid "the value of the variable \"{0}\" if it is defined"
msgstr "la valeur de la variable \"{0}\" si elle est définie"
#: src/rougail/output_doc/doc.py:766
msgid "the value of an undocumented variable"
msgstr "la valeur d'une variable non documentée"
#: src/rougail/output_doc/doc.py:769
msgid "the values of undocumented variables"
msgstr "les valeurs de variables non documentées"
#: src/rougail/output_doc/doc.py:792
msgid "(from an undocumented variable)"
msgstr "(issue d'une variable non documentée)"
#: src/rougail/output_doc/doc.py:800
msgid "{0} (from an undocumented variable)"
msgstr "{0} (issue d'une variable non documentée)"
#: src/rougail/output_doc/doc.py:804 src/rougail/output_doc/doc.py:856
msgid "depends on an undocumented variable" msgid "depends on an undocumented variable"
msgstr "dépends d'une variable non documentée" msgstr "dépends d'une variable non documentée"
#: src/rougail/output_doc/doc.py:804
msgid "is \"{0}\""
msgstr "est \"{0}\""
#: src/rougail/output_doc/doc.py:809
msgid "is accessible"
msgstr "est accessible"
#: src/rougail/output_doc/doc.py:811
msgid "is defined"
msgstr "est définie"
#: src/rougail/output_doc/doc.py:816
msgid "hasn't the value \"{0}\""
msgstr "n'a pas la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:820
msgid "has the value \"{0}\""
msgstr "a la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:825
msgid "is {0}"
msgstr "est {0}"
#: src/rougail/output_doc/doc.py:826
msgid "when the variable \"{{0}}\" {0}"
msgstr "lorsque la variable \"{{0}}\" {0}"
#: src/rougail/output_doc/doc.py:853
msgid "the value of the variable \"{0}\" if it is defined"
msgstr "la valeur de la variable \"{0}\" si elle est définie"
#: src/rougail/output_doc/doc.py:855
msgid "the value of the variable \"{0}\""
msgstr "la valeur de la variable \"{0}\""
#: src/rougail/output_doc/doc.py:875
msgid "the value of an undocumented variable"
msgstr "la valeur d'une variable non documentée"
#: src/rougail/output_doc/doc.py:878 #: src/rougail/output_doc/doc.py:878
msgid "" msgid "the values of undocumented variables"
"when the variable \"{{0}}\" is defined, accessible and hasn't the value " msgstr "les valeurs de variables non documentées"
"\"{0}\""
msgstr ""
"lorsque la variable \"{{0}}\" est définie, accessible et n'a pas la valeur "
"\"{0}\""
#: src/rougail/output_doc/doc.py:882 #: src/rougail/output_doc/doc.py:901
msgid "when the variable \"{{0}}\" is defined and hasn't the value \"{0}\"" msgid "(from an undocumented variable)"
msgstr "lorsque la variable \"{{0}}\" est définie et n'a pas la valeur \"{0}\"" msgstr "(issue d'une variable non documentée)"
#: src/rougail/output_doc/doc.py:886 #: src/rougail/output_doc/doc.py:909
msgid "when the variable \"{{0}}\" is accessible and hasn't the value \"{0}\"" msgid "{0} (from an undocumented variable)"
msgstr "" msgstr "{0} (issue d'une variable non documentée)"
"lorsque la variable \"{{0}}\" est accessible et n'a pas la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:888 #: src/rougail/output_doc/example.py:70
msgid "when the variable \"{{0}}\" hasn't the value \"{0}\""
msgstr "lorsque la variable \"{{0}}\" n'a pas la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:892
msgid ""
"when the variable \"{{0}}\" is defined, is accessible and has the value "
"\"{0}\""
msgstr ""
"lorsque la variable \"{{0}}\" est définie, accessible et a la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:896
msgid "when the variable \"{{0}}\" is defined and has the value \"{0}\""
msgstr "lorsque la variable \"{{0}}\" est définie et a la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:900
msgid "when the variable \"{{0}}\" is accessible and has the value \"{0}\""
msgstr "lorsque la variable \"{{0}}\" est accessible et a la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:902
msgid "when the variable \"{{0}}\" has the value \"{0}\""
msgstr "lorsque la variable \"{{0}}\" a la valeur \"{0}\""
#: src/rougail/output_doc/example.py:62
msgid "Example with mandatory variables not filled in" msgid "Example with mandatory variables not filled in"
msgstr "Exemple avec des variables obligatoire non renseignée" msgstr "Exemple avec des variables obligatoire non renseignée"
#: src/rougail/output_doc/example.py:69 #: src/rougail/output_doc/example.py:85
msgid "Example with all variables modifiable" msgid "Example with all variables modifiable"
msgstr "Exemple avec toutes les variables modifiable" msgstr "Exemple avec toutes les variables modifiable"
@ -424,24 +420,59 @@ msgstr "Ligne de commande"
msgid "Environment variable" msgid "Environment variable"
msgstr "Variable d'environnement" msgstr "Variable d'environnement"
#: src/rougail/output_doc/utils.py:437 #: src/rougail/output_doc/utils.py:438
msgid "Path" msgid "Path"
msgstr "Chemin" msgstr "Chemin"
#: src/rougail/output_doc/utils.py:447 #: src/rougail/output_doc/utils.py:448
msgid "Identifiers" msgid "Identifiers"
msgstr "Identifiants" msgstr "Identifiants"
#: src/rougail/output_doc/utils.py:663 src/rougail/output_doc/utils.py:672 #: src/rougail/output_doc/utils.py:668 src/rougail/output_doc/utils.py:677
#: src/rougail/output_doc/utils.py:678 src/rougail/output_doc/utils.py:684 #: src/rougail/output_doc/utils.py:683 src/rougail/output_doc/utils.py:689
#: src/rougail/output_doc/utils.py:688 #: src/rougail/output_doc/utils.py:693
msgid "(default)" msgid "(default)"
msgstr "(défaut)" msgstr "(défaut)"
#: src/rougail/output_doc/utils.py:940 #: src/rougail/output_doc/utils.py:945
msgid "{0}: {1}" msgid "{0}: {1}"
msgstr "{0} : {1}" msgstr "{0} : {1}"
#~ msgid ""
#~ "when the variable \"{{0}}\" is defined, accessible and hasn't the value "
#~ "\"{0}\""
#~ msgstr ""
#~ "lorsque la variable \"{{0}}\" est définie, accessible et n'a pas la "
#~ "valeur \"{0}\""
#~ msgid "when the variable \"{{0}}\" is defined and hasn't the value \"{0}\""
#~ msgstr ""
#~ "lorsque la variable \"{{0}}\" est définie et n'a pas la valeur \"{0}\""
#~ msgid ""
#~ "when the variable \"{{0}}\" is accessible and hasn't the value \"{0}\""
#~ msgstr ""
#~ "lorsque la variable \"{{0}}\" est accessible et n'a pas la valeur \"{0}\""
#~ msgid "when the variable \"{{0}}\" hasn't the value \"{0}\""
#~ msgstr "lorsque la variable \"{{0}}\" n'a pas la valeur \"{0}\""
#~ msgid ""
#~ "when the variable \"{{0}}\" is defined, is accessible and has the value "
#~ "\"{0}\""
#~ msgstr ""
#~ "lorsque la variable \"{{0}}\" est définie, accessible et a la valeur "
#~ "\"{0}\""
#~ msgid "when the variable \"{{0}}\" is defined and has the value \"{0}\""
#~ msgstr "lorsque la variable \"{{0}}\" est définie et a la valeur \"{0}\""
#~ msgid "when the variable \"{{0}}\" is accessible and has the value \"{0}\""
#~ msgstr "lorsque la variable \"{{0}}\" est accessible et a la valeur \"{0}\""
#~ msgid "when the variable \"{{0}}\" has the value \"{0}\""
#~ msgstr "lorsque la variable \"{{0}}\" a la valeur \"{0}\""
#~ msgid "Document the child variables of the family" #~ msgid "Document the child variables of the family"
#~ msgstr "Documenter les variables enfants de cette famille" #~ msgstr "Documenter les variables enfants de cette famille"

View file

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2026-01-04 19:15+0100\n" "POT-Creation-Date: 2026-01-29 08:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -15,19 +15,11 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
#: src/rougail/output_doc/annotator.py:350 #: src/rougail/output_doc/annotator.py:371
msgid "the value of the information \"{0}\" of the variable \"{1}\""
msgstr ""
#: src/rougail/output_doc/annotator.py:353
msgid "the value of the global information \"{0}\""
msgstr ""
#: src/rougail/output_doc/annotator.py:360
msgid "when the identifier is \"{0}\"" msgid "when the identifier is \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/annotator.py:362 #: src/rougail/output_doc/annotator.py:373
msgid "when the identifier is not \"{0}\"" msgid "when the identifier is not \"{0}\""
msgstr "" msgstr ""
@ -140,199 +132,211 @@ msgid "Name of the file"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:206 #: src/rougail/output_doc/config.py:206
msgid "Documentation a structural type"
msgstr ""
#: src/rougail/output_doc/config.py:210
msgid "Variables and changelog documentation" msgid "Variables and changelog documentation"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:211 #: src/rougail/output_doc/config.py:215
msgid "if \"_.output_format\" is json or \"_.contents\" hasn't variables or changelog" msgid "if \"_.output_format\" is json or \"_.contents\" hasn't variables or changelog"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:214 #: src/rougail/output_doc/config.py:218
msgid "Do not add families in documentation" msgid "Do not add families in documentation"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:219 #: src/rougail/output_doc/config.py:223
msgid "Add command line informations in documentation" msgid "Add command line informations in documentation"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:224 #: src/rougail/output_doc/config.py:228
msgid "Add environment variable informations in documentation" msgid "Add environment variable informations in documentation"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:229 #: src/rougail/output_doc/config.py:233
msgid "Environment variables prefix name" msgid "Environment variables prefix name"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:236 #: src/rougail/output_doc/config.py:240
msgid "should only use uppercase characters" msgid "should only use uppercase characters"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:241 #: src/rougail/output_doc/config.py:245
msgid "if \"main_namespace\" is not set or \"_.with_environment\" is false" msgid "if \"main_namespace\" is not set or \"_.with_environment\" is false"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:244 #: src/rougail/output_doc/config.py:248
msgid "Changelog documentation" msgid "Changelog documentation"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:249 #: src/rougail/output_doc/config.py:253
msgid "if changelog in not in \"_.contents\"" msgid "if changelog in not in \"_.contents\""
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:252 #: src/rougail/output_doc/config.py:256
msgid "Previous description file in JSON format" msgid "Previous description file in JSON format"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:253 #: src/rougail/output_doc/config.py:257
msgid "To generate the changelog, you need to compare the old list of variables (in json format) with the current variables." msgid "To generate the changelog, you need to compare the old list of variables (in json format) with the current variables."
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:257 #: src/rougail/output_doc/config.py:261
msgid "Examples configuration" msgid "Examples configuration"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:262 #: src/rougail/output_doc/config.py:266
msgid "if example is not in \"_.contents\"" msgid "if example is not in \"_.contents\""
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:265 #: src/rougail/output_doc/config.py:269
msgid "Add description of variables and families when generate examples" msgid "Add description of variables and families when generate examples"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:270 #: src/rougail/output_doc/config.py:274
msgid "Comment in examples starts at column" msgid "Comment in examples starts at column"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:354 #: src/rougail/output_doc/doc.py:70
msgid "{0} is not set as step.output"
msgstr ""
#: src/rougail/output_doc/doc.py:363
msgid "This family contains lists of variable blocks" msgid "This family contains lists of variable blocks"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:364 #: src/rougail/output_doc/doc.py:373
msgid "This family builds families dynamically" msgid "This family builds families dynamically"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:378 #: src/rougail/output_doc/doc.py:387
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:396 #: src/rougail/output_doc/doc.py:405
msgid "Example" msgid "Example"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:399 #: src/rougail/output_doc/doc.py:408
msgid "Examples" msgid "Examples"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:408 #: src/rougail/output_doc/doc.py:417
msgid "Tag" msgid "Tag"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:411 #: src/rougail/output_doc/doc.py:420
msgid "Tags" msgid "Tags"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:443 #: src/rougail/output_doc/doc.py:452
msgid "No attribute \"description\" for \"{0}\" in {1}" msgid "No attribute \"description\" for \"{0}\" in {1}"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:578 #: src/rougail/output_doc/doc.py:587
msgid "text based with regular expressions \"{0}\"" msgid "text based with regular expressions \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:582 #: src/rougail/output_doc/doc.py:591
#: src/rougail/output_doc/tabular/six_columns.py:65 #: src/rougail/output_doc/tabular/six_columns.py:65
msgid "Validator" msgid "Validator"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:585 #: src/rougail/output_doc/doc.py:594
msgid "Validators" msgid "Validators"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:594 #: src/rougail/output_doc/doc.py:603
msgid "Choices" msgid "Choices"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:697 #: src/rougail/output_doc/doc.py:707
msgid "the value of the identifier" msgid "the value of the identifier"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:701 #: src/rougail/output_doc/doc.py:711
msgid "the value of the information \"{0}\" of the variable \"{1}\""
msgstr ""
#: src/rougail/output_doc/doc.py:715
msgid "the value of the global information \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:717
msgid "the value of the {0}" msgid "the value of the {0}"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:710 #: src/rougail/output_doc/doc.py:724
msgid "depends on a calculation" msgid "depends on a calculation"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:716 #: src/rougail/output_doc/doc.py:730
msgid "\"{0}\" is a calculation for {1} but has no description in {2}" msgid "\"{0}\" is a calculation for {1} but has no description in {2}"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:744 #: src/rougail/output_doc/doc.py:786 src/rougail/output_doc/doc.py:913
msgid "the value of the variable \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:746
msgid "the value of the variable \"{0}\" if it is defined"
msgstr ""
#: src/rougail/output_doc/doc.py:766
msgid "the value of an undocumented variable"
msgstr ""
#: src/rougail/output_doc/doc.py:769
msgid "the values of undocumented variables"
msgstr ""
#: src/rougail/output_doc/doc.py:792
msgid "(from an undocumented variable)"
msgstr ""
#: src/rougail/output_doc/doc.py:800
msgid "{0} (from an undocumented variable)"
msgstr ""
#: src/rougail/output_doc/doc.py:804 src/rougail/output_doc/doc.py:856
msgid "depends on an undocumented variable" msgid "depends on an undocumented variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:804
msgid "is \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:809
msgid "is accessible"
msgstr ""
#: src/rougail/output_doc/doc.py:811
msgid "is defined"
msgstr ""
#: src/rougail/output_doc/doc.py:816
msgid "hasn't the value \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:820
msgid "has the value \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:825
msgid "is {0}"
msgstr ""
#: src/rougail/output_doc/doc.py:826
msgid "when the variable \"{{0}}\" {0}"
msgstr ""
#: src/rougail/output_doc/doc.py:853
msgid "the value of the variable \"{0}\" if it is defined"
msgstr ""
#: src/rougail/output_doc/doc.py:855
msgid "the value of the variable \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:875
msgid "the value of an undocumented variable"
msgstr ""
#: src/rougail/output_doc/doc.py:878 #: src/rougail/output_doc/doc.py:878
msgid "when the variable \"{{0}}\" is defined, accessible and hasn't the value \"{0}\"" msgid "the values of undocumented variables"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:882 #: src/rougail/output_doc/doc.py:901
msgid "when the variable \"{{0}}\" is defined and hasn't the value \"{0}\"" msgid "(from an undocumented variable)"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:886 #: src/rougail/output_doc/doc.py:909
msgid "when the variable \"{{0}}\" is accessible and hasn't the value \"{0}\"" msgid "{0} (from an undocumented variable)"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:888 #: src/rougail/output_doc/example.py:70
msgid "when the variable \"{{0}}\" hasn't the value \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:892
msgid "when the variable \"{{0}}\" is defined, is accessible and has the value \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:896
msgid "when the variable \"{{0}}\" is defined and has the value \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:900
msgid "when the variable \"{{0}}\" is accessible and has the value \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:902
msgid "when the variable \"{{0}}\" has the value \"{0}\""
msgstr ""
#: src/rougail/output_doc/example.py:62
msgid "Example with mandatory variables not filled in" msgid "Example with mandatory variables not filled in"
msgstr "" msgstr ""
#: src/rougail/output_doc/example.py:69 #: src/rougail/output_doc/example.py:85
msgid "Example with all variables modifiable" msgid "Example with all variables modifiable"
msgstr "" msgstr ""
@ -370,21 +374,21 @@ msgstr ""
msgid "Environment variable" msgid "Environment variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:437 #: src/rougail/output_doc/utils.py:438
msgid "Path" msgid "Path"
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:447 #: src/rougail/output_doc/utils.py:448
msgid "Identifiers" msgid "Identifiers"
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:663 src/rougail/output_doc/utils.py:672 #: src/rougail/output_doc/utils.py:668 src/rougail/output_doc/utils.py:677
#: src/rougail/output_doc/utils.py:678 src/rougail/output_doc/utils.py:684 #: src/rougail/output_doc/utils.py:683 src/rougail/output_doc/utils.py:689
#: src/rougail/output_doc/utils.py:688 #: src/rougail/output_doc/utils.py:693
msgid "(default)" msgid "(default)"
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:940 #: src/rougail/output_doc/utils.py:945
msgid "{0}: {1}" msgid "{0}: {1}"
msgstr "" msgstr ""

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project] [project]
name = "rougail.output_doc" name = "rougail.output_doc"
version = "0.2.0a45" version = "0.2.0a46"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}] authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md" readme = "README.md"
description = "Rougail output doc" description = "Rougail output doc"

View file

@ -1 +1 @@
__version__ = "0.2.0a45" __version__ = "0.2.0a46"

View file

@ -69,7 +69,7 @@ class Annotator(Walk):
for family in self.get_families(): for family in self.get_families():
self.add_informations_from_properties(family) self.add_informations_from_properties(family)
if family.type == "dynamic": if family.type == "dynamic":
self.force_default_value_in_suffix_variable(family) self.force_default_value_in_identifier_variable(family)
self.calculation_to_information( self.calculation_to_information(
family.path, family.path,
"dynamic", "dynamic",
@ -84,7 +84,7 @@ class Annotator(Walk):
True, True,
) )
def force_default_value_in_suffix_variable(self, family) -> None: def force_default_value_in_identifier_variable(self, family) -> None:
if not self.default_values: if not self.default_values:
return return
if not isinstance(family.dynamic, list): if not isinstance(family.dynamic, list):
@ -222,7 +222,7 @@ class Annotator(Walk):
if "type" in data or "description" in data: if "type" in data or "description" in data:
one_is_calculation = True one_is_calculation = True
datas.append(data) datas.append(data)
if one_is_calculation: if one_is_calculation and datas:
self.objectspace.informations.add( self.objectspace.informations.add(
path, path,
f"{prop}_calculation", f"{prop}_calculation",
@ -287,16 +287,9 @@ class Annotator(Walk):
"propertyerror": values.propertyerror, "propertyerror": values.propertyerror,
} }
if isinstance(values, InformationCalculation): if isinstance(values, InformationCalculation):
value, variable_path = self.calculation_to_information_information( return self.calculation_to_information_information(
values, version, path values, version, path
) )
ret = {
"type": "information",
"value": value,
}
if variable_path:
ret["path"] = variable_path
return ret
if isinstance(values, (IdentifierCalculation, IdentifierPropertyCalculation)): if isinstance(values, (IdentifierCalculation, IdentifierPropertyCalculation)):
return { return {
"type": "identifier", "type": "identifier",
@ -327,38 +320,48 @@ class Annotator(Walk):
values.namespace, values.namespace,
values.xmlfiles, values.xmlfiles,
)[0] )[0]
if isinstance(values, VariableCalculation) and values.optional and not variable: if not variable or (isinstance(values, VariableCalculation) and values.optional and not variable):
return None return None
if variable: values_calculation = {"path": variable.path}
variable_path = variable.path
if prop in PROPERTY_ATTRIBUTE: if prop in PROPERTY_ATTRIBUTE:
# get comparative value # get comparative value
# values_calculation["transitive"] = values.propertyerror == "transitive"
if values.when_not is not undefined: if values.when_not is not undefined:
value = values.when_not values_calculation["type"] = "condition"
condition = "when_not" values_calculation["value"] = values.when_not
values_calculation["condition"] = "when_not"
elif values.when is not undefined: elif values.when is not undefined:
value = values.when values_calculation["type"] = "condition"
condition = "when" values_calculation["value"] = values.when
values_calculation["condition"] = "when"
elif values.propertyerror == "transitive":
values_calculation["type"] = "transitive"
else: else:
value = True values_calculation["type"] = "condition"
condition = "when" values_calculation["value"] = True
values_calculation["condition"] = "when"
# set message
values_calculation = (variable_path, value, condition)
else: else:
values_calculation = variable_path values_calculation["type"] = "variable"
return values_calculation return values_calculation
def calculation_to_information_information( def calculation_to_information_information(
self, values, version: str, path: str self, values, version: str, path: str
) -> Union[str, bool]: ) -> Union[str, bool]:
values_calculation = {"type": "information",
"information": values.information,
}
if values.variable: if values.variable:
variable_path = self.get_path_from_variable(values, version, path) variable = self.objectspace.paths.get_with_dynamic(
return _('the value of the information "{0}" of the variable "{{0}}"').format( values.variable,
values.information path,
), variable_path values.version,
return _('the value of the global information "{0}"').format(values.information), None values.namespace,
values.xmlfiles,
)[0]
if not variable:
return None
values_calculation["path"] = variable.path
return values_calculation
def calculation_to_information_identifier( def calculation_to_information_identifier(
self, values, prop: str, version: str self, values, prop: str, version: str

View file

@ -226,9 +226,9 @@ class RougailOutputDoc(Examples, Changelog):
return True return True
calculation = child.information.get(f"{hidden_property}_calculation", None) calculation = child.information.get(f"{hidden_property}_calculation", None)
if calculation and calculation.get("type") == "variable": if calculation and calculation.get("type") == "variable" and calculation["value"]["type"] == "condition":
variable_path, value, condition = calculation["value"] condition = calculation["value"]
variable = self.true_config.forcepermissive.option(variable_path) variable = self.true_config.forcepermissive.option(condition["path"])
try: try:
variable.value.get() variable.value.get()
except AttributeError: except AttributeError:
@ -239,7 +239,9 @@ class RougailOutputDoc(Examples, Changelog):
except VariableCalculationDependencyError: except VariableCalculationDependencyError:
pass pass
else: else:
if (condition == "when" and value == variable_value) or (condition == "when_not" and value != variable_value): condition_type = condition["condition"]
value = condition["value"]
if (condition_type == "when" and value == variable_value) or (condition_type == "when_not" and value != variable_value):
return True return True
if not child.isoptiondescription(): if not child.isoptiondescription():
for hidden_property in self.disabled_modes: for hidden_property in self.disabled_modes:
@ -685,7 +687,7 @@ class RougailOutputDoc(Examples, Changelog):
return values return values
return self._calculation_to_string(child, calculation, prop) return self._calculation_to_string(child, calculation, prop)
def _calculation_to_string(self, child, calculation, prop): def _calculation_to_string(self, child, calculation, attribute_type):
if "description" in calculation: if "description" in calculation:
values = calculation values = calculation
if self.document_a_type and "variables" in values: if self.document_a_type and "variables" in values:
@ -695,24 +697,27 @@ class RougailOutputDoc(Examples, Changelog):
elif "type" not in calculation: elif "type" not in calculation:
values = calculation["value"] values = calculation["value"]
elif calculation["type"] == "jinja": elif calculation["type"] == "jinja":
values = self._calculation_jinja_to_string(child, calculation, prop) values = self._calculation_jinja_to_string(child, calculation, attribute_type)
elif calculation["type"] == "variable": elif calculation["type"] == "variable":
values = self._calculation_variable_to_string(child, calculation, prop) values = self._calculation_variable_to_string(child, calculation, attribute_type)
elif calculation["type"] == "identifier": elif calculation["type"] == "identifier":
if prop in PROPERTY_ATTRIBUTE: if attribute_type in PROPERTY_ATTRIBUTE:
values = calculation["value"] values = calculation["value"]
else: else:
values = _("the value of the identifier") values = _("the value of the identifier")
elif calculation["type"] == "information": elif calculation["type"] == "information":
values = calculation["value"]
if "path" in calculation: if "path" in calculation:
variable_path = self.doc_path(calculation["path"]) variable_path = self.doc_path(calculation["path"])
values = values.format(variable_path) values = _('the value of the information "{0}" of the variable "{1}"').format(
calculation["information"], variable_path
)
else:
values = _('the value of the global information "{0}"').format(calculation["information"])
else: else:
values = _("the value of the {0}").format(calculation["type"]) values = _("the value of the {0}").format(calculation["type"])
return values return values
def _calculation_jinja_to_string(self, child, calculation, prop): def _calculation_jinja_to_string(self, child, calculation, attribute_type):
if calculation["value"] is not True: if calculation["value"] is not True:
values = calculation["value"] values = calculation["value"]
else: else:
@ -725,7 +730,7 @@ class RougailOutputDoc(Examples, Changelog):
warning = _( warning = _(
'"{0}" is a calculation for {1} but has no description in {2}' '"{0}" is a calculation for {1} but has no description in {2}'
).format( ).format(
prop, attribute_type,
self.doc_path(child.path()), self.doc_path(child.path()),
display_xmlfiles(child.information.get("ymlfiles")), display_xmlfiles(child.information.get("ymlfiles")),
) )
@ -735,12 +740,108 @@ class RougailOutputDoc(Examples, Changelog):
) )
return values return values
def _calculation_variable_to_string(self, child, calculation, prop): def _calculation_variable_to_string(self, child, calculation, attribute_type):
if prop in PROPERTY_ATTRIBUTE: if attribute_type in PROPERTY_ATTRIBUTE:
values = self._calculation_variable_to_string_known_property(child, calculation, prop) func = self._calculation_variable_to_string_known_property
else: else:
func = self._calculation_variable_to_string_not_properties
return func(child, calculation, attribute_type)
def _calculation_variable_to_string_known_property(self, child, calculation, prop):
condition = calculation["value"]
variable_path = condition["path"]
values = []
if "{{ identifier }}" in calculation["ori_path"] or "{{ identifier }}" in variable_path:
variables = self.get_annotation_variable(variable_path, calculation["ori_path"])
else:
option = self.true_config.option(variable_path)
try:
is_inaccessible = self.is_inaccessible_user_data(option)
except AttributeError as err:
if err.code != "option-not-found":
raise err from err
is_inaccessible = True
if is_inaccessible:
variables = [[None, None, None]]
else:
description = self._convert_description(option.description(uncalculated=True), "description", its_a_path=False)
variables = [[variable_path, description, None]]
for cpath, description, identifiers in variables:
if not cpath:
# we cannot access to this variable, so try with permissive
if condition["type"] == "transitive":
value = None
else:
value = condition["value"]
option = self.true_config.forcepermissive.option(variable_path)
try:
variable_value = self._get_unmodified_default_value(option)
except PropertiesOptionError as err:
if calculation["propertyerror"] is True:
raise err from err
if calculation["propertyerror"] == "transitive":
return True
return False
except VariableCalculationDependencyError:
values.append(_("depends on an undocumented variable"))
continue
except AttributeError as err:
return calculation.get("default", False)
if condition["type"] == "transitive":
return True
if prop in HIDDEN_PROPERTIES:
condition_type = condition["condition"]
if (
condition_type == "when"
and value == variable_value
or condition_type == "when_not"
and value != variable_value
):
# always "prop"
return True
return False
if condition["type"] == "transitive":
submsg = _('is "{0}"').format(prop)
else:
condition_type = condition["condition"]
conditions = []
if not calculation["propertyerror"]:
conditions.append(_("is accessible"))
if calculation["optional"]: if calculation["optional"]:
path = calculation["value"] conditions.append(_("is defined"))
value = condition["value"]
if not isinstance(value, str):
value = dump(value)
if condition_type == "when_not":
conditions.append(_(
'hasn\'t the value "{0}"'
).format(value))
else:
conditions.append(_(
'has the value "{0}"'
).format(value))
submsg = display_list(conditions, sort=False)
if calculation["propertyerror"] == "transitive":
submsg = display_list([_("is {0}").format(prop), submsg], separator="or", sort=False)
msg = _('when the variable "{{0}}" {0}').format(submsg)
path_obj = {
"path": self.doc_path(variable_path),
}
if identifiers:
path_obj["identifiers"] = identifiers
values.append({
"message": msg,
"path": path_obj,
"description": description,
})
if len(values) == 1:
return values[0]
return values
def _calculation_variable_to_string_not_properties(self, child, calculation, attribute_type):
if calculation["optional"]:
path = calculation["value"]["path"]
if "{{ identifier }}" in path: if "{{ identifier }}" in path:
if path not in self.dynamic_paths: if path not in self.dynamic_paths:
return None return None
@ -749,14 +850,13 @@ class RougailOutputDoc(Examples, Changelog):
self.true_config.forcepermissive.option(path).get() self.true_config.forcepermissive.option(path).get()
except AttributeError: except AttributeError:
return None return None
if not calculation["optional"]:
true_msg = _('the value of the variable "{0}"')
else:
true_msg = _('the value of the variable "{0}" if it is defined') true_msg = _('the value of the variable "{0}" if it is defined')
else:
true_msg = _('the value of the variable "{0}"')
if "{{ identifier }}" in calculation["ori_path"]: if "{{ identifier }}" in calculation["ori_path"]:
values = [] values = []
all_is_undocumented = False all_is_undocumented = False
for cpath, description, identifiers in self.get_annotation_variable(calculation["value"], calculation["ori_path"]): for cpath, description, identifiers in self.get_annotation_variable(calculation["value"]["path"], calculation["ori_path"]):
if cpath: if cpath:
all_is_undocumented = False all_is_undocumented = False
path_obj = { path_obj = {
@ -830,106 +930,6 @@ class RougailOutputDoc(Examples, Changelog):
values = None values = None
return values return values
def _calculation_variable_to_string_known_property(self, child, calculation, prop):
variable_path, value, condition = calculation["value"]
if isinstance(value, str):
str_value = value
else:
str_value = dump(value)
values = []
if "{{ identifier }}" in calculation["ori_path"] or "{{ identifier }}" in variable_path:
variables = self.get_annotation_variable(variable_path, calculation["ori_path"])
else:
option = self.true_config.option(variable_path)
try:
is_inaccessible = self.is_inaccessible_user_data(option)
except AttributeError as err:
if err.code != "option-not-found":
raise err from err
is_inaccessible = True
if is_inaccessible:
variables = [[None, None, None]]
else:
description = self._convert_description(option.description(uncalculated=True), "description", its_a_path=False)
variables = [[variable_path, description, None]]
for cpath, description, identifiers in variables:
if calculation["propertyerror"] == "transitive":
if not cpath:
return True
else:
print(variable_path)
continue
pass
elif not cpath:
# we cannot access to this variable so try with permissive
variable = self.true_config.forcepermissive.option(variable_path)
try:
variable_value = self._get_unmodified_default_value(variable)
except PropertiesOptionError as err:
if calculation["propertyerror"] is True:
raise err from err
variable_value = value
except VariableCalculationDependencyError:
values.append(_("depends on an undocumented variable"))
continue
except AttributeError as err:
return calculation.get("default", False)
if (
condition == "when"
and value == variable_value
or condition == "when_not"
and value != variable_value
):
if prop in HIDDEN_PROPERTIES:
return False
# always "prop"
return True
# never "prop"
return False
else:
if condition == "when_not":
if calculation["optional"]:
if not calculation["propertyerror"]:
msg = _(
'when the variable "{{0}}" is defined, accessible and hasn\'t the value "{0}"'
)
else:
msg = _(
'when the variable "{{0}}" is defined and hasn\'t the value "{0}"'
)
elif not calculation["propertyerror"]:
msg = _('when the variable "{{0}}" is accessible and hasn\'t the value "{0}"')
else:
msg = _('when the variable "{{0}}" hasn\'t the value "{0}"')
else:
if calculation["optional"]:
if not calculation["propertyerror"]:
msg = _(
'when the variable "{{0}}" is defined, is accessible and has the value "{0}"'
)
else:
msg = _(
'when the variable "{{0}}" is defined and has the value "{0}"'
)
elif not calculation["propertyerror"]:
msg = _('when the variable "{{0}}" is accessible and has the value "{0}"')
else:
msg = _('when the variable "{{0}}" has the value "{0}"')
path_obj = {
"path": self.doc_path(variable_path),
}
if identifiers:
path_obj["identifiers"] = identifiers
values.append({
"message": msg.format(str_value),
"path": path_obj,
"description": description,
})
if len(values) == 1:
return values[0]
return values
def get_annotation_variable(self, current_path, ori_path): def get_annotation_variable(self, current_path, ori_path):
if current_path == ori_path: if current_path == ori_path:
regexp = None regexp = None
@ -959,7 +959,7 @@ class RougailOutputDoc(Examples, Changelog):
if not calculation: if not calculation:
return child.value.get() return child.value.get()
if calculation["type"] == "variable": if calculation["type"] == "variable":
variable = self.true_config.forcepermissive.option(calculation["value"]) variable = self.true_config.forcepermissive.option(calculation["value"]["path"])
if variable and self.is_inaccessible_user_data(variable): if variable and self.is_inaccessible_user_data(variable):
return self._get_unmodified_default_value(variable) return self._get_unmodified_default_value(variable)
raise VariableCalculationDependencyError() raise VariableCalculationDependencyError()

View file

@ -2,8 +2,7 @@
|==== |====
| Variable | Description | Variable | Description
| **var1** + | **var1** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var1. + `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var1.
**Default**: the value of the variable "a.unknown.variable"
| **var2** + | **var2** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var2. + `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var2. +
**Default**: var calculated **Default**: var calculated
@ -13,17 +12,17 @@
| **var4** + | **var4** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var4. `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var4.
| **var5** + | **var5** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var5. + `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `mandatory` | My var5.
**Default**: the value of the information "info" of the variable "a.unknown.variable"
| **var6** + | **var6** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[choice]` `mandatory` | My var6. + `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[choice]` `mandatory` | My var6. +
**Choices**: the value of the variable "a.unknown.variable" **Choices**:
*
| **var7** + | **var7** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[choice]` `mandatory` | My var7. + `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[choice]` `mandatory` | My var7. +
**Choices**: **Choices**:
* the value of the variable "a.unknown.variable1" *
* the value of the variable "a.unknown.variable2"
| **var8** + | **var8** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[choice]` `mandatory` | My var8. + `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[choice]` `mandatory` | My var8. +
**Choices**: the a.unknown.variable values **Choices**: the a.unknown.variable values
@ -36,7 +35,7 @@
This family builds families dynamically. + This family builds families dynamically. +
**Path**: var___example__ + **Path**: var___example__ +
**Identifiers**: the value of the variable "a.unknown.variable" **Identifiers**: example
==== ====
[cols="1a,1a"] [cols="1a,1a"]
|==== |====

View file

@ -0,0 +1,14 @@
[cols="1a,1a"]
|====
| Variable | Description
| **condition** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[boolean]` `standard` `mandatory` | A condition. +
**Default**: true
| **variable1** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` `__disabled__` | A variable. +
**Disabled**: when the variable "condition" has the value "true"
| **variable2** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` `__disabled__` | A second variable. +
**Disabled**: when the variable "variable1" is "disabled"
|====

View file

@ -0,0 +1,6 @@
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| **<a id="condition" name="condition">condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: true |
| **<a id="variable1" name="variable1">variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A variable.<br/>**Disabled**: when the variable "[A condition](#condition)" has the value "true" |
| **<a id="variable2" name="variable2">variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#variable1)" is "disabled" |

View file

@ -0,0 +1,11 @@
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>condition</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>boolean</a></mark> <mark>standard</mark> <mark>mandatory</mark> </td><td>A condition.<br/><b>Default</b>: true </td></tr>
<tr><td><b>variable1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark></td><td>A variable.<br/><b>Disabled</b>: when the variable "condition" has the value "true"</td></tr>
<tr><td><b>variable2</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark></td><td>A second variable.<br/><b>Disabled</b>: when the variable "variable1" is "disabled"</td></tr>
</tbody>
</table>

View file

@ -0,0 +1,98 @@
{
"condition": {
"type": "variable",
"default": {
"name": "Default",
"values": true
},
"variable_type": "boolean",
"path": "condition",
"names": [
"condition"
],
"description": "A condition.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
}
],
"mode": "standard",
"gen_examples": [
true
],
"mandatory_without_value": false
},
"variable1": {
"type": "variable",
"variable_type": "string",
"path": "variable1",
"names": [
"variable1"
],
"description": "A variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" has the value \"true\"",
"path": {
"path": "condition"
},
"description": "A condition"
}
}
],
"mode": "basic",
"gen_examples": [
"example"
],
"mandatory_without_value": true
},
"variable2": {
"type": "variable",
"variable_type": "string",
"path": "variable2",
"names": [
"variable2"
],
"description": "A second variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" is \"disabled\"",
"path": {
"path": "variable1"
},
"description": "A variable"
}
}
],
"mode": "basic",
"gen_examples": [
"example"
],
"mandatory_without_value": true
}
}

View file

@ -0,0 +1,6 @@
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| **<a id="condition" name="condition">condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: true |
| **<a id="variable1" name="variable1">variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A variable.<br/>**Disabled**: when the variable "[A condition](#condition)" has the value "true" |
| **<a id="variable2" name="variable2">variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#variable1)" is "disabled" |

View file

@ -0,0 +1,14 @@
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 Variable  ┃ Description  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
condition │ A condition. │
 boolean   standard   mandatory  │ Default: true
├───────────────────────────────────────┼──────────────────────────────────────┤
variable1 │ A variable. │
 string   basic   mandatory    │ Disabled: when the variable │
disabled  │ "condition" has the value "true"
├───────────────────────────────────────┼──────────────────────────────────────┤
variable2 │ A second variable. │
 string   basic   mandatory    │ Disabled: when the variable │
disabled  │ "variable1" is "disabled"
└───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -0,0 +1,15 @@
[cols="1a,1a"]
|====
| Variable | Description
| **condition** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[boolean]` `standard` `mandatory` | A condition. +
**Default**: false
| **variable1** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `standard` `mandatory` `__disabled__` | A variable. +
**Default**: disabled +
**Disabled**: when the variable "condition" has the value "true"
| **variable2** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` `__disabled__` | A second variable. +
**Disabled**: when the variable "variable1" is disabled or has the value "disabled"
|====

View file

@ -0,0 +1,6 @@
| Variable | Description |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| **<a id="condition" name="condition">condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: false |
| **<a id="variable1" name="variable1">variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | A variable.<br/>**Default**: disabled<br/>**Disabled**: when the variable "[A condition](#condition)" has the value "true" |
| **<a id="variable2" name="variable2">variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#variable1)" is disabled or has the value "disabled" |

View file

@ -0,0 +1,11 @@
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>condition</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>boolean</a></mark> <mark>standard</mark> <mark>mandatory</mark> </td><td>A condition.<br/><b>Default</b>: false </td></tr>
<tr><td><b>variable1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>standard</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark></td><td>A variable.<br/><b>Default</b>: disabled<br/><b>Disabled</b>: when the variable "condition" has the value "true"</td></tr>
<tr><td><b>variable2</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark> </td><td>A second variable.<br/><b>Disabled</b>: when the variable "variable1" is disabled or has the value "disabled" </td></tr>
</tbody>
</table>

View file

@ -0,0 +1,102 @@
{
"condition": {
"type": "variable",
"default": {
"name": "Default",
"values": false
},
"variable_type": "boolean",
"path": "condition",
"names": [
"condition"
],
"description": "A condition.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
}
],
"mode": "standard",
"gen_examples": [
false
],
"mandatory_without_value": false
},
"variable1": {
"type": "variable",
"default": {
"name": "Default",
"values": "disabled"
},
"variable_type": "string",
"path": "variable1",
"names": [
"variable1"
],
"description": "A variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" has the value \"true\"",
"path": {
"path": "condition"
},
"description": "A condition"
}
}
],
"mode": "standard",
"gen_examples": [
"disabled"
],
"mandatory_without_value": false
},
"variable2": {
"type": "variable",
"variable_type": "string",
"path": "variable2",
"names": [
"variable2"
],
"description": "A second variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" is disabled or has the value \"disabled\"",
"path": {
"path": "variable1"
},
"description": "A variable"
}
}
],
"mode": "basic",
"gen_examples": [
"example"
],
"mandatory_without_value": true
}
}

View file

@ -0,0 +1,6 @@
| Variable | Description |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| **<a id="condition" name="condition">condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: false |
| **<a id="variable1" name="variable1">variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | A variable.<br/>**Default**: disabled<br/>**Disabled**: when the variable "[A condition](#condition)" has the value "true" |
| **<a id="variable2" name="variable2">variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#variable1)" is disabled or has the value "disabled" |

View file

@ -0,0 +1,16 @@
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 Variable  ┃ Description  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
condition │ A condition. │
 boolean   standard   mandatory  │ Default: false
├───────────────────────────────────────┼──────────────────────────────────────┤
variable1 │ A variable. │
 string   standard   mandatory    │ Default: disabled │
disabled  │ Disabled: when the variable │
│ │ "condition" has the value "true"
├───────────────────────────────────────┼──────────────────────────────────────┤
variable2 │ A second variable. │
 string   basic   mandatory    │ Disabled: when the variable │
disabled  │ "variable1" is disabled or has the │
│ │ value "disabled"
└───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -0,0 +1,15 @@
[cols="1a,1a"]
|====
| Variable | Description
| **condition** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[boolean]` `standard` `mandatory` | A condition. +
**Default**: true
| **variable1** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `standard` `mandatory` `__disabled__` | A variable. +
**Default**: not_disabled +
**Disabled**: when the variable "condition" has the value "true"
| **variable2** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` `__disabled__` | A second variable. +
**Disabled**: when the variable "variable1" is disabled or has the value "disabled"
|====

View file

@ -0,0 +1,6 @@
| Variable | Description |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| **<a id="condition" name="condition">condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: true |
| **<a id="variable1" name="variable1">variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | A variable.<br/>**Default**: not_disabled<br/>**Disabled**: when the variable "[A condition](#condition)" has the value "true" |
| **<a id="variable2" name="variable2">variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#variable1)" is disabled or has the value "disabled" |

View file

@ -0,0 +1,11 @@
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>condition</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>boolean</a></mark> <mark>standard</mark> <mark>mandatory</mark> </td><td>A condition.<br/><b>Default</b>: true </td></tr>
<tr><td><b>variable1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>standard</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark></td><td>A variable.<br/><b>Default</b>: not_disabled<br/><b>Disabled</b>: when the variable "condition" has the value "true"</td></tr>
<tr><td><b>variable2</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark> </td><td>A second variable.<br/><b>Disabled</b>: when the variable "variable1" is disabled or has the value "disabled" </td></tr>
</tbody>
</table>

View file

@ -0,0 +1,102 @@
{
"condition": {
"type": "variable",
"default": {
"name": "Default",
"values": true
},
"variable_type": "boolean",
"path": "condition",
"names": [
"condition"
],
"description": "A condition.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
}
],
"mode": "standard",
"gen_examples": [
true
],
"mandatory_without_value": false
},
"variable1": {
"type": "variable",
"default": {
"name": "Default",
"values": "not_disabled"
},
"variable_type": "string",
"path": "variable1",
"names": [
"variable1"
],
"description": "A variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" has the value \"true\"",
"path": {
"path": "condition"
},
"description": "A condition"
}
}
],
"mode": "standard",
"gen_examples": [
"not_disabled"
],
"mandatory_without_value": false
},
"variable2": {
"type": "variable",
"variable_type": "string",
"path": "variable2",
"names": [
"variable2"
],
"description": "A second variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" is disabled or has the value \"disabled\"",
"path": {
"path": "variable1"
},
"description": "A variable"
}
}
],
"mode": "basic",
"gen_examples": [
"example"
],
"mandatory_without_value": true
}
}

View file

@ -0,0 +1,6 @@
| Variable | Description |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| **<a id="condition" name="condition">condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: true |
| **<a id="variable1" name="variable1">variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | A variable.<br/>**Default**: not_disabled<br/>**Disabled**: when the variable "[A condition](#condition)" has the value "true" |
| **<a id="variable2" name="variable2">variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#variable1)" is disabled or has the value "disabled" |

View file

@ -0,0 +1,16 @@
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 Variable  ┃ Description  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
condition │ A condition. │
 boolean   standard   mandatory  │ Default: true
├───────────────────────────────────────┼──────────────────────────────────────┤
variable1 │ A variable. │
 string   standard   mandatory    │ Default: not_disabled │
disabled  │ Disabled: when the variable │
│ │ "condition" has the value "true"
├───────────────────────────────────────┼──────────────────────────────────────┤
variable2 │ A second variable. │
 string   basic   mandatory    │ Disabled: when the variable │
disabled  │ "variable1" is disabled or has the │
│ │ value "disabled"
└───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -0,0 +1,17 @@
== Example with mandatory variables not filled in
[,yaml]
----
---
variable1: example
variable2: example
----
== Example with all variables modifiable
[,yaml]
----
---
condition: true
variable1: example
variable2: example
----

View file

@ -0,0 +1,19 @@
<details><summary>Example with mandatory variables not filled in</summary>
```yaml
---
variable1: example
variable2: example
```
</details>
<details><summary>Example with all variables modifiable</summary>
```yaml
---
condition: true
variable1: example
variable2: example
```
</details>

View file

@ -0,0 +1,8 @@
<h1>Example with mandatory variables not filled in</h1>
<pre>variable1: example
variable2: example</pre><h1>Example with all variables modifiable</h1>
<pre>condition: true
variable1: example
variable2: example</pre>

View file

@ -0,0 +1,15 @@
# Example with mandatory variables not filled in
```yaml
---
variable1: example
variable2: example
```
# Example with all variables modifiable
```yaml
---
condition: true
variable1: example
variable2: example
```

View file

@ -0,0 +1,13 @@
Example with mandatory variables not filled in
--- 
variable1: example 
variable2: example 
Example with all variables modifiable
--- 
condition: true 
variable1: example 
variable2: example 

View file

@ -0,0 +1,16 @@
== Example with mandatory variables not filled in
[,yaml]
----
---
variable2: example
----
== Example with all variables modifiable
[,yaml]
----
---
condition: false
variable1: disabled
variable2: example
----

View file

@ -0,0 +1,18 @@
<details><summary>Example with mandatory variables not filled in</summary>
```yaml
---
variable2: example
```
</details>
<details><summary>Example with all variables modifiable</summary>
```yaml
---
condition: false
variable1: disabled
variable2: example
```
</details>

View file

@ -0,0 +1,7 @@
<h1>Example with mandatory variables not filled in</h1>
<pre>variable2: example</pre><h1>Example with all variables modifiable</h1>
<pre>condition: false
variable1: disabled
variable2: example</pre>

View file

@ -0,0 +1,14 @@
# Example with mandatory variables not filled in
```yaml
---
variable2: example
```
# Example with all variables modifiable
```yaml
---
condition: false
variable1: disabled
variable2: example
```

View file

@ -0,0 +1,12 @@
Example with mandatory variables not filled in
--- 
variable2: example 
Example with all variables modifiable
--- 
condition: false 
variable1: disabled 
variable2: example 

View file

@ -0,0 +1,16 @@
== Example with mandatory variables not filled in
[,yaml]
----
---
variable2: example
----
== Example with all variables modifiable
[,yaml]
----
---
condition: true
variable1: not_disabled
variable2: example
----

View file

@ -0,0 +1,18 @@
<details><summary>Example with mandatory variables not filled in</summary>
```yaml
---
variable2: example
```
</details>
<details><summary>Example with all variables modifiable</summary>
```yaml
---
condition: true
variable1: not_disabled
variable2: example
```
</details>

View file

@ -0,0 +1,7 @@
<h1>Example with mandatory variables not filled in</h1>
<pre>variable2: example</pre><h1>Example with all variables modifiable</h1>
<pre>condition: true
variable1: not_disabled
variable2: example</pre>

View file

@ -0,0 +1,14 @@
# Example with mandatory variables not filled in
```yaml
---
variable2: example
```
# Example with all variables modifiable
```yaml
---
condition: true
variable1: not_disabled
variable2: example
```

View file

@ -0,0 +1,12 @@
Example with mandatory variables not filled in
--- 
variable2: example 
Example with all variables modifiable
--- 
condition: true 
variable1: not_disabled 
variable2: example 

View file

@ -0,0 +1,17 @@
== Example with mandatory variables not filled in
[,yaml]
----
---
variable1: example # A variable
variable2: example # A second variable
----
== Example with all variables modifiable
[,yaml]
----
---
condition: true # A condition
variable1: example # A variable
variable2: example # A second variable
----

View file

@ -0,0 +1,19 @@
<details><summary>Example with mandatory variables not filled in</summary>
```yaml
---
variable1: example # A variable
variable2: example # A second variable
```
</details>
<details><summary>Example with all variables modifiable</summary>
```yaml
---
condition: true # A condition
variable1: example # A variable
variable2: example # A second variable
```
</details>

View file

@ -0,0 +1,8 @@
<h1>Example with mandatory variables not filled in</h1>
<pre>variable1: example # A variable
variable2: example # A second variable</pre><h1>Example with all variables modifiable</h1>
<pre>condition: true # A condition
variable1: example # A variable
variable2: example # A second variable</pre>

View file

@ -0,0 +1,15 @@
# Example with mandatory variables not filled in
```yaml
---
variable1: example # A variable
variable2: example # A second variable
```
# Example with all variables modifiable
```yaml
---
condition: true # A condition
variable1: example # A variable
variable2: example # A second variable
```

View file

@ -0,0 +1,13 @@
Example with mandatory variables not filled in
--- 
variable1: example # A variable 
variable2: example # A second variable 
Example with all variables modifiable
--- 
condition: true # A condition 
variable1: example # A variable 
variable2: example # A second variable 

View file

@ -0,0 +1,16 @@
== Example with mandatory variables not filled in
[,yaml]
----
---
variable2: example # A second variable
----
== Example with all variables modifiable
[,yaml]
----
---
condition: false # A condition
variable1: disabled # A variable
variable2: example # A second variable
----

View file

@ -0,0 +1,18 @@
<details><summary>Example with mandatory variables not filled in</summary>
```yaml
---
variable2: example # A second variable
```
</details>
<details><summary>Example with all variables modifiable</summary>
```yaml
---
condition: false # A condition
variable1: disabled # A variable
variable2: example # A second variable
```
</details>

View file

@ -0,0 +1,7 @@
<h1>Example with mandatory variables not filled in</h1>
<pre>variable2: example # A second variable</pre><h1>Example with all variables modifiable</h1>
<pre>condition: false # A condition
variable1: disabled # A variable
variable2: example # A second variable</pre>

View file

@ -0,0 +1,14 @@
# Example with mandatory variables not filled in
```yaml
---
variable2: example # A second variable
```
# Example with all variables modifiable
```yaml
---
condition: false # A condition
variable1: disabled # A variable
variable2: example # A second variable
```

View file

@ -0,0 +1,12 @@
Example with mandatory variables not filled in
--- 
variable2: example # A second variable 
Example with all variables modifiable
--- 
condition: false # A condition 
variable1: disabled # A variable 
variable2: example # A second variable 

View file

@ -0,0 +1,16 @@
== Example with mandatory variables not filled in
[,yaml]
----
---
variable2: example # A second variable
----
== Example with all variables modifiable
[,yaml]
----
---
condition: true # A condition
variable1: not_disabled # A variable
variable2: example # A second variable
----

View file

@ -0,0 +1,18 @@
<details><summary>Example with mandatory variables not filled in</summary>
```yaml
---
variable2: example # A second variable
```
</details>
<details><summary>Example with all variables modifiable</summary>
```yaml
---
condition: true # A condition
variable1: not_disabled # A variable
variable2: example # A second variable
```
</details>

View file

@ -0,0 +1,7 @@
<h1>Example with mandatory variables not filled in</h1>
<pre>variable2: example # A second variable</pre><h1>Example with all variables modifiable</h1>
<pre>condition: true # A condition
variable1: not_disabled # A variable
variable2: example # A second variable</pre>

View file

@ -0,0 +1,14 @@
# Example with mandatory variables not filled in
```yaml
---
variable2: example # A second variable
```
# Example with all variables modifiable
```yaml
---
condition: true # A condition
variable1: not_disabled # A variable
variable2: example # A second variable
```

View file

@ -0,0 +1,12 @@
Example with mandatory variables not filled in
--- 
variable2: example # A second variable 
Example with all variables modifiable
--- 
condition: true # A condition 
variable1: not_disabled # A variable 
variable2: example # A second variable 

View file

@ -0,0 +1,22 @@
== Rougail
====
**🛈 Informations**
**Path**: rougail +
`basic`
====
[cols="1a,1a"]
|====
| Variable | Description
| **rougail.condition** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[boolean]` `standard` `mandatory` | A condition. +
**Default**: true
| **rougail.variable1** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` `__disabled__` | A variable. +
**Disabled**: when the variable "rougail.condition" has the value "true"
| **rougail.variable2** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` `__disabled__` | A second variable. +
**Disabled**: when the variable "rougail.variable1" is "disabled"
|====

View file

@ -0,0 +1,14 @@
<details><summary>Rougail</summary>
> [!note] 🛈 Informations
> **Path**: rougail\
> `basic`
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| **<a id="rougail.condition" name="rougail.condition">rougail.condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: true |
| **<a id="rougail.variable1" name="rougail.variable1">rougail.variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A variable.<br/>**Disabled**: when the variable "[A condition](#rougail.condition)" has the value "true" |
| **<a id="rougail.variable2" name="rougail.variable2">rougail.variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#rougail.variable1)" is "disabled" |
</details>

View file

@ -0,0 +1,17 @@
<h1>Rougail</h1>
<b>Path</b>: rougail
<mark>basic</mark>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>rougail.condition</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>boolean</a></mark> <mark>standard</mark> <mark>mandatory</mark> </td><td>A condition.<br/><b>Default</b>: true </td></tr>
<tr><td><b>rougail.variable1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark></td><td>A variable.<br/><b>Disabled</b>: when the variable "rougail.condition" has the value "true"</td></tr>
<tr><td><b>rougail.variable2</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark> <mark><i>disabled</i></mark></td><td>A second variable.<br/><b>Disabled</b>: when the variable "rougail.variable1" is "disabled"</td></tr>
</tbody>
</table>

View file

@ -0,0 +1,112 @@
{
"rougail": {
"type": "namespace",
"informations": {
"path": "rougail",
"names": [
"rougail"
],
"description": "Rougail",
"properties": [],
"mode": "basic"
},
"children": {
"condition": {
"type": "variable",
"default": {
"name": "Default",
"values": true
},
"variable_type": "boolean",
"path": "rougail.condition",
"names": [
"condition"
],
"description": "A condition.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
}
],
"mode": "standard",
"gen_examples": [
true
],
"mandatory_without_value": false
},
"variable1": {
"type": "variable",
"variable_type": "string",
"path": "rougail.variable1",
"names": [
"variable1"
],
"description": "A variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" has the value \"true\"",
"path": {
"path": "rougail.condition"
},
"description": "A condition"
}
}
],
"mode": "basic",
"gen_examples": [
"example"
],
"mandatory_without_value": true
},
"variable2": {
"type": "variable",
"variable_type": "string",
"path": "rougail.variable2",
"names": [
"variable2"
],
"description": "A second variable.",
"properties": [
{
"type": "property",
"name": "mandatory",
"ori_name": "mandatory",
"access_control": false
},
{
"type": "property",
"name": "disabled",
"ori_name": "disabled",
"access_control": true,
"annotation": {
"message": "when the variable \"{0}\" is \"disabled\"",
"path": {
"path": "rougail.variable1"
},
"description": "A variable"
}
}
],
"mode": "basic",
"gen_examples": [
"example"
],
"mandatory_without_value": true
}
}
}
}

View file

@ -0,0 +1,13 @@
# Rougail
> [!NOTE]
>
> **Path**: rougail\
> `basic`
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| **<a id="rougail.condition" name="rougail.condition">rougail.condition</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A condition.<br/>**Default**: true |
| **<a id="rougail.variable1" name="rougail.variable1">rougail.variable1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A variable.<br/>**Disabled**: when the variable "[A condition](#rougail.condition)" has the value "true" |
| **<a id="rougail.variable2" name="rougail.variable2">rougail.variable2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | A second variable.<br/>**Disabled**: when the variable "[A variable](#rougail.variable1)" is "disabled" |

View file

@ -0,0 +1,23 @@
Rougail
▌ 🛈 Informations
▌ 
▌ Path: rougail
▌  basic 
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 Variable  ┃ Description  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
rougail.condition │ A condition. │
 boolean   standard   mandatory  │ Default: true
├───────────────────────────────────────┼──────────────────────────────────────┤
rougail.variable1 │ A variable. │
 string   basic   mandatory    │ Disabled: when the variable │
disabled  │ "rougail.condition" has the value │
│ │ "true"
├───────────────────────────────────────┼──────────────────────────────────────┤
rougail.variable2 │ A second variable. │
 string   basic   mandatory    │ Disabled: when the variable │
disabled  │ "rougail.variable1" is "disabled"
└───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -0,0 +1,23 @@
== Rougail
====
**🛈 Informations**
**Path**: rougail +
`basic`
====
[cols="1a,1a"]
|====
| Variable | Description
| **rougail.condition** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[boolean]` `standard` `mandatory` | A condition. +
**Default**: false
| **rougail.variable1** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `standard` `mandatory` `__disabled__` | A variable. +
**Default**: disabled +
**Disabled**: when the variable "rougail.condition" has the value "true"
| **rougail.variable2** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` `__disabled__` | A second variable. +
**Disabled**: when the variable "rougail.variable1" is disabled or has the value "disabled"
|====

Some files were not shown because too many files have changed in this diff Show more