Compare commits

..

No commits in common. "c754f5c654ee36e2c1af677b4139477cfe680daa" and "2961a61aa64957014149aca50101145cef361117" have entirely different histories.

4410 changed files with 9301 additions and 22243 deletions

View file

@ -1,11 +1,3 @@
## 0.2.0a36 (2025-10-29)
### Feat
- anchor in gitlab output_format
- can had comments with family/variable description in examples doc
- comment variables from a family
## 0.2.0a35 (2025-10-27) ## 0.2.0a35 (2025-10-27)
### Feat ### Feat

View file

@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2025-10-29 11:01+0100\n" "POT-Creation-Date: 2025-10-26 15:19+0100\n"
"PO-Revision-Date: 2025-10-29 11:02+0100\n" "PO-Revision-Date: 2025-10-26 15:20+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
@ -16,43 +16,43 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.7\n" "X-Generator: Poedit 3.7\n"
#: src/rougail/output_doc/annotator.py:325 #: src/rougail/output_doc/annotator.py:324
msgid "the value of the information \"{0}\" of the variable \"{1}\"" msgid "the value of the information \"{0}\" of the variable \"{1}\""
msgstr "la valeur de l'information \"{0}\" de la variable \"{1}\"" msgstr "la valeur de l'information \"{0}\" de la variable \"{1}\""
#: src/rougail/output_doc/annotator.py:328 #: src/rougail/output_doc/annotator.py:327
msgid "the value of the global information \"{0}\"" msgid "the value of the global information \"{0}\""
msgstr "la valeur de l'information globale \"{0}\"" msgstr "la valeur de l'information globale \"{0}\""
#: src/rougail/output_doc/annotator.py:335 #: src/rougail/output_doc/annotator.py:334
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:337 #: src/rougail/output_doc/annotator.py:336
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}\""
#: src/rougail/output_doc/changelog.py:144 #: src/rougail/output_doc/changelog.py:137
msgid "New variable" msgid "New variable"
msgstr "Nouvelle variable" msgstr "Nouvelle variable"
#: src/rougail/output_doc/changelog.py:146 #: src/rougail/output_doc/changelog.py:139
msgid "New variables" msgid "New variables"
msgstr "Nouvelles variables" msgstr "Nouvelles variables"
#: src/rougail/output_doc/changelog.py:158 #: src/rougail/output_doc/changelog.py:150
msgid "Modified variable" msgid "Modified variable"
msgstr "Variable modifiée" msgstr "Variable modifiée"
#: src/rougail/output_doc/changelog.py:160 #: src/rougail/output_doc/changelog.py:152
msgid "Modified variables" msgid "Modified variables"
msgstr "Variables modifiées" msgstr "Variables modifiées"
#: src/rougail/output_doc/changelog.py:172 #: src/rougail/output_doc/changelog.py:163
msgid "Deleted variable" msgid "Deleted variable"
msgstr "Variable supprimée" msgstr "Variable supprimée"
#: src/rougail/output_doc/changelog.py:174 #: src/rougail/output_doc/changelog.py:165
msgid "Deleted variables" msgid "Deleted variables"
msgstr "Variables supprimées" msgstr "Variables supprimées"
@ -81,227 +81,160 @@ 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:114 #: src/rougail/output_doc/config.py:114
msgid "Document the variables from this family"
msgstr "Documente les variables depuis cette famille"
#: src/rougail/output_doc/config.py:118
msgid "Families or variables for this family are in an other file name"
msgstr ""
"Les familles ou variables pour cette famille sont dans un autre fichier"
#: src/rougail/output_doc/config.py:128
msgid "documentation must be splitted and in gitlab format"
msgstr "documentation doit être séparée et au format gitlab"
#: src/rougail/output_doc/config.py:131
msgid "Root family name"
msgstr "Nom de la famille racine"
#: src/rougail/output_doc/config.py:135
msgid "Name of the file"
msgstr "Nom du fichier"
#: src/rougail/output_doc/config.py:141
msgid "Disable documentation for variables with those modes" msgid "Disable documentation for variables with those modes"
msgstr "Désactiver la documentation des variables avec ces modes" msgstr "Désactiver la documentation des variables avec ces modes"
#: src/rougail/output_doc/config.py:149 #: src/rougail/output_doc/config.py:122
msgid "disabled when there is no mode available" msgid "disabled when there is no mode available"
msgstr "désactiver lorsqu'il n'y a pas de mode valable" msgstr "désactiver lorsqu'il n'y a pas de mode valable"
#: src/rougail/output_doc/config.py:155 #: src/rougail/output_doc/config.py:128
msgid "verify if disable modes already exists" msgid "verify if disable modes already exists"
msgstr "vérifier le mode existe déjà" msgstr "vérifier le mode existe déjà"
#: src/rougail/output_doc/config.py:157 #: src/rougail/output_doc/config.py:130
msgid "Modify values to document leaderships and dynamics families" msgid "Modify values to document leaderships and dynamics families"
msgstr "Valeurs modifiées pour documenter les familles leader ou dynamique" msgstr "Valeurs modifiées pour documenter les familles leader ou dynamique"
#: src/rougail/output_doc/config.py:160 #: src/rougail/output_doc/config.py:133
msgid "Add description of variables and families when generate examples"
msgstr ""
"Ajouter la description des variables et des familles lorsqu'on génère des "
"exemples"
#: src/rougail/output_doc/config.py:166
msgid "disabled when example in not in contents"
msgstr "désactiver lorsqu'il example n'est pas dans contents"
#: src/rougail/output_doc/config.py:169
msgid "Comment in examples starts at column"
msgstr "Commentaire dans les exemples commence à la colonne"
#: src/rougail/output_doc/config.py:177
msgid "Generate document in format" msgid "Generate document in format"
msgstr "Générer le document au format" msgstr "Générer le document au format"
#: src/rougail/output_doc/config.py:187 #: src/rougail/output_doc/config.py:151
msgid ""
"json output_format is not compatible with \"changelog\" and \"example\" "
"contents"
msgstr ""
"le format de sortie json n'est pas compatible avec \"changelog\" et "
"example\" de la variable contents"
#: src/rougail/output_doc/config.py:196
msgid "Force true color terminal" msgid "Force true color terminal"
msgstr "Force les vrais couleurs dans le terminal" msgstr "Force les vrais couleurs dans le terminal"
#: src/rougail/output_doc/doc.py:358 #: src/rougail/output_doc/doc.py:344
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:354
msgid "This family builds families dynamically."
msgstr "Cette famille construit des familles dynamiquement."
#: src/rougail/output_doc/doc.py:368 #: src/rougail/output_doc/doc.py:368
msgid "This family builds families dynamically"
msgstr "Cette famille construit des familles dynamiquement"
#: src/rougail/output_doc/doc.py:382
msgid "Default" msgid "Default"
msgstr "Défaut" msgstr "Défaut"
#: src/rougail/output_doc/doc.py:397 #: src/rougail/output_doc/doc.py:383
msgid "multiple" msgid "multiple"
msgstr "multiple" msgstr "multiple"
#: src/rougail/output_doc/doc.py:405 #: src/rougail/output_doc/doc.py:391
msgid "Example" msgid "Example"
msgstr "Exemple" msgstr "Exemple"
#: src/rougail/output_doc/doc.py:408 #: src/rougail/output_doc/doc.py:394
msgid "Examples" msgid "Examples"
msgstr "Exemples" msgstr "Exemples"
#: src/rougail/output_doc/doc.py:417 #: src/rougail/output_doc/doc.py:403
msgid "Tag" msgid "Tag"
msgstr "Étiquette" msgstr "Étiquette"
#: src/rougail/output_doc/doc.py:420 #: src/rougail/output_doc/doc.py:406
msgid "Tags" msgid "Tags"
msgstr "Étiquettes" msgstr "Étiquettes"
#: src/rougail/output_doc/doc.py:449 #: src/rougail/output_doc/doc.py:435
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:587 #: src/rougail/output_doc/doc.py:577
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:591 #: src/rougail/output_doc/doc.py:581
msgid "Validator" msgid "Validator"
msgstr "Validateur" msgstr "Validateur"
#: src/rougail/output_doc/doc.py:594 #: src/rougail/output_doc/doc.py:584
msgid "Validators" msgid "Validators"
msgstr "Validateurs" msgstr "Validateurs"
#: src/rougail/output_doc/doc.py:603 #: src/rougail/output_doc/doc.py:593
msgid "Choices" msgid "Choices"
msgstr "Choix" msgstr "Choix"
#: src/rougail/output_doc/doc.py:706 #: src/rougail/output_doc/doc.py:696
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:710 #: src/rougail/output_doc/doc.py:700
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:719 #: src/rougail/output_doc/doc.py:709
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:725 #: src/rougail/output_doc/doc.py:715
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:753 #: src/rougail/output_doc/doc.py:742 src/rougail/output_doc/doc.py:858
msgid "the value of the variable \"{0}\""
msgstr "la valeur de la variable \"{0}\""
#: src/rougail/output_doc/doc.py:755
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:775
msgid "the value of an undocumented variable"
msgstr "la valeur d'une variable non documentée"
#: src/rougail/output_doc/doc.py:778
msgid "the values of undocumented variables"
msgstr "les valeurs de variables non documentées"
#: src/rougail/output_doc/doc.py:801
msgid "(from an undocumented variable)"
msgstr "(issue d'une variable non documentée)"
#: src/rougail/output_doc/doc.py:809
msgid "{0} (from an undocumented variable)"
msgstr "{0} (issue d'une variable non documentée)"
#: src/rougail/output_doc/doc.py:813 src/rougail/output_doc/doc.py:862
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:884 #: src/rougail/output_doc/doc.py:758
msgid "" msgid "when the variable \"{0}\" hasn't the value \"{1}\""
"when the variable \"{{0}}\" is defined, accessible and hasn't the value " msgstr "lorsque la variable \"{0}\" n'a pas la valeur \"{1}\""
"\"{0}\""
msgstr ""
"lorsque la variable \"{{0}}\" est définie, accessible et n'a pas la valeur "
"\"{0}\""
#: src/rougail/output_doc/doc.py:888 #: src/rougail/output_doc/doc.py:760
msgid "when the variable \"{{0}}\" is defined and hasn't the value \"{0}\"" msgid "when the variable \"{0}\" is defined and hasn't the value \"{1}\""
msgstr "lorsque la variable \"{{0}}\" est définie et n'a pas la valeur \"{0}\"" msgstr "lorsque la variable \"{0}\" est définie et n'a pas la valeur \"{1}\""
#: src/rougail/output_doc/doc.py:892 #: src/rougail/output_doc/doc.py:765
msgid "when the variable \"{{0}}\" is accessible and hasn't the value \"{0}\"" msgid "when the variable \"{0}\" has the value \"{1}\""
msgstr "" msgstr "lorsque la variable \"{0}\" a la valeur \"{1}\""
"lorsque la variable \"{{0}}\" est acessible et n'a pas la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:894 #: src/rougail/output_doc/doc.py:767
msgid "when the variable \"{{0}}\" hasn't the value \"{0}\"" msgid "when the variable \"{0}\" is defined and has the value \"{1}\""
msgstr "lorsque la variable \"{{0}}\" n'a pas la valeur \"{0}\"" msgstr "lorsque la variable \"{0}\" est définie et a la valeur \"{1}\""
#: src/rougail/output_doc/doc.py:898 #: src/rougail/output_doc/doc.py:785
msgid "" msgid "the value of the variable \"{0}\""
"when the variable \"{{0}}\" is defined, is accessible and has the value " msgstr "la valeur de la variable \"{0}\""
"\"{0}\""
msgstr ""
"lorsque la variable \"{{0}}\" est définie, accessible et a la valeur \"{0}\""
#: src/rougail/output_doc/doc.py:902 #: src/rougail/output_doc/doc.py:787
msgid "when the variable \"{{0}}\" is defined and has the value \"{0}\"" msgid "the value of the variable \"{0}\" if it is defined"
msgstr "lorsque la variable \"{{0}}\" est définie et a la valeur \"{0}\"" msgstr "la valeur de la variable \"{0}\" si elle est définie"
#: src/rougail/output_doc/doc.py:906 #: src/rougail/output_doc/doc.py:788
msgid "when the variable \"{{0}}\" is accessible and has the value \"{0}\"" msgid "the value of an undocumented variable"
msgstr "lorsque la variable \"{{0}}\" est accessible et a la valeur \"{0}\"" msgstr "la valeur d'une variable non documentée"
#: src/rougail/output_doc/doc.py:908 #: src/rougail/output_doc/doc.py:826
msgid "when the variable \"{{0}}\" has the value \"{0}\"" msgid "the values of undocumented variables"
msgstr "lorsque la variable \"{{0}}\" a la valeur \"{0}\"" msgstr "les valeurs de variables non documentées"
#: src/rougail/output_doc/example.py:38 #: src/rougail/output_doc/doc.py:846
msgid "(from an undocumented variable)"
msgstr "(issue d'une variable non documentée)"
#: src/rougail/output_doc/doc.py:854
msgid "{0} (from an undocumented variable)"
msgstr "{0} (issue d'une variable non documentée)"
#: src/rougail/output_doc/example.py:37
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:43 #: src/rougail/output_doc/example.py:42
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"
#: src/rougail/output_doc/output/console.py:165 #: src/rougail/output_doc/output/console.py:164
#: src/rougail/output_doc/utils.py:820 #: src/rougail/output_doc/utils.py:782
msgid "Variable" msgid "Variable"
msgstr "Variable" msgstr "Variable"
#: src/rougail/output_doc/output/console.py:166 #: src/rougail/output_doc/output/console.py:165
#: src/rougail/output_doc/utils.py:820 #: src/rougail/output_doc/utils.py:782
msgid "Description" msgid "Description"
msgstr "Description" msgstr "Description"
#: src/rougail/output_doc/output/gitlab.py:68 #: src/rougail/output_doc/output/gitlab.py:51
msgid "Informations" msgid "Informations"
msgstr "Informations" msgstr "Informations"
@ -405,21 +338,21 @@ msgstr "ce fichier doit exister"
msgid "file type allowed: {0}" msgid "file type allowed: {0}"
msgstr "type de fichier autorisé : {0}" msgstr "type de fichier autorisé : {0}"
#: src/rougail/output_doc/utils.py:362 #: src/rougail/output_doc/utils.py:332
msgid "Variables for \"{0}\"" msgid "Variables for \"{0}\""
msgstr "Variables pour \"{0}\"" msgstr "Variables pour \"{0}\""
#: src/rougail/output_doc/utils.py:392 #: src/rougail/output_doc/utils.py:362
msgid "Identifiers" msgid "Identifiers"
msgstr "Identifiants" msgstr "Identifiants"
#: src/rougail/output_doc/utils.py:697 src/rougail/output_doc/utils.py:706 #: src/rougail/output_doc/utils.py:659 src/rougail/output_doc/utils.py:668
#: src/rougail/output_doc/utils.py:712 src/rougail/output_doc/utils.py:718 #: src/rougail/output_doc/utils.py:674 src/rougail/output_doc/utils.py:680
#: src/rougail/output_doc/utils.py:722 #: src/rougail/output_doc/utils.py:684
msgid "(default)" msgid "(default)"
msgstr "(défaut)" msgstr "(défaut)"
#: src/rougail/output_doc/utils.py:877 #: src/rougail/output_doc/utils.py:832
msgid "{0}: {1}" msgid "{0}: {1}"
msgstr "{0} : {1}" msgstr "{0} : {1}"

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: 2025-10-29 11:02+0100\n" "POT-Creation-Date: 2025-10-26 15:23+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,43 +15,43 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
#: src/rougail/output_doc/annotator.py:325 #: src/rougail/output_doc/annotator.py:324
msgid "the value of the information \"{0}\" of the variable \"{1}\"" msgid "the value of the information \"{0}\" of the variable \"{1}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/annotator.py:328 #: src/rougail/output_doc/annotator.py:327
msgid "the value of the global information \"{0}\"" msgid "the value of the global information \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/annotator.py:335 #: src/rougail/output_doc/annotator.py:334
msgid "when the identifier is \"{0}\"" msgid "when the identifier is \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/annotator.py:337 #: src/rougail/output_doc/annotator.py:336
msgid "when the identifier is not \"{0}\"" msgid "when the identifier is not \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/changelog.py:144 #: src/rougail/output_doc/changelog.py:137
msgid "New variable" msgid "New variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/changelog.py:146 #: src/rougail/output_doc/changelog.py:139
msgid "New variables" msgid "New variables"
msgstr "" msgstr ""
#: src/rougail/output_doc/changelog.py:158 #: src/rougail/output_doc/changelog.py:150
msgid "Modified variable" msgid "Modified variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/changelog.py:160 #: src/rougail/output_doc/changelog.py:152
msgid "Modified variables" msgid "Modified variables"
msgstr "" msgstr ""
#: src/rougail/output_doc/changelog.py:172 #: src/rougail/output_doc/changelog.py:163
msgid "Deleted variable" msgid "Deleted variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/changelog.py:174 #: src/rougail/output_doc/changelog.py:165
msgid "Deleted variables" msgid "Deleted variables"
msgstr "" msgstr ""
@ -80,212 +80,160 @@ msgid "Do not add families in documentation"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:114 #: src/rougail/output_doc/config.py:114
msgid "Document the variables from this family"
msgstr ""
#: src/rougail/output_doc/config.py:118
msgid "Families or variables for this family are in an other file name"
msgstr ""
#: src/rougail/output_doc/config.py:128
msgid "documentation must be splitted and in gitlab format"
msgstr ""
#: src/rougail/output_doc/config.py:131
msgid "Root family name"
msgstr ""
#: src/rougail/output_doc/config.py:135
msgid "Name of the file"
msgstr ""
#: src/rougail/output_doc/config.py:141
msgid "Disable documentation for variables with those modes" msgid "Disable documentation for variables with those modes"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:149 #: src/rougail/output_doc/config.py:122
msgid "disabled when there is no mode available" msgid "disabled when there is no mode available"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:155 #: src/rougail/output_doc/config.py:128
msgid "verify if disable modes already exists" msgid "verify if disable modes already exists"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:157 #: src/rougail/output_doc/config.py:130
msgid "Modify values to document leaderships and dynamics families" msgid "Modify values to document leaderships and dynamics families"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:160 #: src/rougail/output_doc/config.py:133
msgid "Add description of variables and families when generate examples"
msgstr ""
#: src/rougail/output_doc/config.py:166
msgid "disabled when example in not in contents"
msgstr ""
#: src/rougail/output_doc/config.py:169
msgid "Comment in examples starts at column"
msgstr ""
#: src/rougail/output_doc/config.py:177
msgid "Generate document in format" msgid "Generate document in format"
msgstr "" msgstr ""
#: src/rougail/output_doc/config.py:187 #: src/rougail/output_doc/config.py:151
msgid "json output_format is not compatible with \"changelog\" and \"example\" contents"
msgstr ""
#: src/rougail/output_doc/config.py:196
msgid "Force true color terminal" msgid "Force true color terminal"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:358 #: src/rougail/output_doc/doc.py:344
msgid "This family contains lists of variable blocks" msgid "This family contains lists of variable blocks."
msgstr ""
#: src/rougail/output_doc/doc.py:354
msgid "This family builds families dynamically."
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:368 #: src/rougail/output_doc/doc.py:368
msgid "This family builds families dynamically"
msgstr ""
#: src/rougail/output_doc/doc.py:382
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:397 #: src/rougail/output_doc/doc.py:383
msgid "multiple" msgid "multiple"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:405 #: src/rougail/output_doc/doc.py:391
msgid "Example" msgid "Example"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:408 #: src/rougail/output_doc/doc.py:394
msgid "Examples" msgid "Examples"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:417 #: src/rougail/output_doc/doc.py:403
msgid "Tag" msgid "Tag"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:420 #: src/rougail/output_doc/doc.py:406
msgid "Tags" msgid "Tags"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:449 #: src/rougail/output_doc/doc.py:435
msgid "No attribute \"description\" for \"{0}\" in {1}" msgid "No attribute \"description\" for \"{0}\" in {1}"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:587 #: src/rougail/output_doc/doc.py:577
msgid "text based with regular expressions \"{0}\"" msgid "text based with regular expressions \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:591 #: src/rougail/output_doc/doc.py:581
msgid "Validator" msgid "Validator"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:594 #: src/rougail/output_doc/doc.py:584
msgid "Validators" msgid "Validators"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:603 #: src/rougail/output_doc/doc.py:593
msgid "Choices" msgid "Choices"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:706 #: src/rougail/output_doc/doc.py:696
msgid "the value of the identifier" msgid "the value of the identifier"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:710 #: src/rougail/output_doc/doc.py:700
msgid "the value of the {0}" msgid "the value of the {0}"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:719 #: src/rougail/output_doc/doc.py:709
msgid "depends on a calculation" msgid "depends on a calculation"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:725 #: src/rougail/output_doc/doc.py:715
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:753 #: src/rougail/output_doc/doc.py:742 src/rougail/output_doc/doc.py:858
msgid "the value of the variable \"{0}\""
msgstr ""
#: src/rougail/output_doc/doc.py:755
msgid "the value of the variable \"{0}\" if it is defined"
msgstr ""
#: src/rougail/output_doc/doc.py:775
msgid "the value of an undocumented variable"
msgstr ""
#: src/rougail/output_doc/doc.py:778
msgid "the values of undocumented variables"
msgstr ""
#: src/rougail/output_doc/doc.py:801
msgid "(from an undocumented variable)"
msgstr ""
#: src/rougail/output_doc/doc.py:809
msgid "{0} (from an undocumented variable)"
msgstr ""
#: src/rougail/output_doc/doc.py:813 src/rougail/output_doc/doc.py:862
msgid "depends on an undocumented variable" msgid "depends on an undocumented variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:884 #: src/rougail/output_doc/doc.py:758
msgid "when the variable \"{{0}}\" is defined, accessible and hasn't the value \"{0}\"" msgid "when the variable \"{0}\" hasn't the value \"{1}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:888 #: src/rougail/output_doc/doc.py:760
msgid "when the variable \"{{0}}\" is defined and hasn't the value \"{0}\"" msgid "when the variable \"{0}\" is defined and hasn't the value \"{1}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:892 #: src/rougail/output_doc/doc.py:765
msgid "when the variable \"{{0}}\" is accessible and hasn't the value \"{0}\"" msgid "when the variable \"{0}\" has the value \"{1}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:894 #: src/rougail/output_doc/doc.py:767
msgid "when the variable \"{{0}}\" hasn't the value \"{0}\"" msgid "when the variable \"{0}\" is defined and has the value \"{1}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:898 #: src/rougail/output_doc/doc.py:785
msgid "when the variable \"{{0}}\" is defined, is accessible and has the value \"{0}\"" msgid "the value of the variable \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:902 #: src/rougail/output_doc/doc.py:787
msgid "when the variable \"{{0}}\" is defined and has the value \"{0}\"" msgid "the value of the variable \"{0}\" if it is defined"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:906 #: src/rougail/output_doc/doc.py:788
msgid "when the variable \"{{0}}\" is accessible and has the value \"{0}\"" msgid "the value of an undocumented variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/doc.py:908 #: src/rougail/output_doc/doc.py:826
msgid "when the variable \"{{0}}\" has the value \"{0}\"" msgid "the values of undocumented variables"
msgstr "" msgstr ""
#: src/rougail/output_doc/example.py:38 #: src/rougail/output_doc/doc.py:846
msgid "(from an undocumented variable)"
msgstr ""
#: src/rougail/output_doc/doc.py:854
msgid "{0} (from an undocumented variable)"
msgstr ""
#: src/rougail/output_doc/example.py:37
msgid "Example with mandatory variables not filled in" msgid "Example with mandatory variables not filled in"
msgstr "" msgstr ""
#: src/rougail/output_doc/example.py:43 #: src/rougail/output_doc/example.py:42
msgid "Example with all variables modifiable" msgid "Example with all variables modifiable"
msgstr "" msgstr ""
#: src/rougail/output_doc/output/console.py:165 #: src/rougail/output_doc/output/console.py:164
#: src/rougail/output_doc/utils.py:820 #: src/rougail/output_doc/utils.py:782
msgid "Variable" msgid "Variable"
msgstr "" msgstr ""
#: src/rougail/output_doc/output/console.py:166 #: src/rougail/output_doc/output/console.py:165
#: src/rougail/output_doc/utils.py:820 #: src/rougail/output_doc/utils.py:782
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: src/rougail/output_doc/output/gitlab.py:68 #: src/rougail/output_doc/output/gitlab.py:51
msgid "Informations" msgid "Informations"
msgstr "" msgstr ""
@ -389,21 +337,21 @@ msgstr ""
msgid "file type allowed: {0}" msgid "file type allowed: {0}"
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:362 #: src/rougail/output_doc/utils.py:332
msgid "Variables for \"{0}\"" msgid "Variables for \"{0}\""
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:392 #: src/rougail/output_doc/utils.py:362
msgid "Identifiers" msgid "Identifiers"
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:697 src/rougail/output_doc/utils.py:706 #: src/rougail/output_doc/utils.py:659 src/rougail/output_doc/utils.py:668
#: src/rougail/output_doc/utils.py:712 src/rougail/output_doc/utils.py:718 #: src/rougail/output_doc/utils.py:674 src/rougail/output_doc/utils.py:680
#: src/rougail/output_doc/utils.py:722 #: src/rougail/output_doc/utils.py:684
msgid "(default)" msgid "(default)"
msgstr "" msgstr ""
#: src/rougail/output_doc/utils.py:877 #: src/rougail/output_doc/utils.py:832
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.0a36" version = "0.2.0a35"
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.0a36" __version__ = "0.2.0a35"

View file

@ -244,7 +244,7 @@ class Annotator(Walk):
"value": value, "value": value,
} }
if isinstance(values, (VariableCalculation, VariablePropertyCalculation)): if isinstance(values, (VariableCalculation, VariablePropertyCalculation)):
variable_path = self.get_path_from_variable(values, version, values.path) variable_path = self.get_path_from_variable(values, version, path)
value = self.calculation_to_information_variable( value = self.calculation_to_information_variable(
variable_path, values, prop, version, path variable_path, values, prop, version, path
) )
@ -255,7 +255,6 @@ class Annotator(Walk):
"value": value, "value": value,
"ori_path": variable_path, "ori_path": variable_path,
"optional": values.optional, "optional": values.optional,
"propertyerror": values.propertyerror,
} }
if isinstance(values, InformationCalculation): if isinstance(values, InformationCalculation):
return { return {

View file

@ -34,19 +34,12 @@ class Changelog: # pylint: disable=no-member,too-few-public-methods
self._added_variables = [] self._added_variables = []
self._modified_variables = [] self._modified_variables = []
self._removed_variables = [] self._removed_variables = []
if self.root:
for family in self.root.split('.'):
if family in previous_doc:
previous_doc = previous_doc[family]['children']
else:
previous_doc = {}
break
self.parser(previous_doc, self.informations) self.parser(previous_doc, self.informations)
return self.display() return self.display()
def parser(self, previous_families, new_families): def parser(self, previous_families, new_families):
def add(new): def add(new):
self.formatter.variable_to_string(new, self._added_variables) self.formater.variable_to_string(new, self._added_variables)
def remove(previous): def remove(previous):
self._removed_variables.append(previous) self._removed_variables.append(previous)
@ -67,18 +60,18 @@ class Changelog: # pylint: disable=no-member,too-few-public-methods
if previous["type"] == "variable": if previous["type"] == "variable":
if "identifiers" in previous: if "identifiers" in previous:
for identifiers in previous["identifiers"]: for identifiers in previous["identifiers"]:
remove(calc_path(previous["path"], self.formatter, identifiers)) remove(calc_path(previous["path"], self.formater, identifiers))
else: else:
remove(calc_path(previous["path"], self.formatter)) remove(calc_path(previous["path"], self.formater))
else: else:
self.parser(previous["children"], {}) self.parser(previous["children"], {})
elif previous["type"] != new["type"]: elif previous["type"] != new["type"]:
if previous["type"] == "variable": if previous["type"] == "variable":
if "identifiers" in previous: if "identifiers" in previous:
for identifiers in previous["identifiers"]: for identifiers in previous["identifiers"]:
remove(calc_path(previous["path"], self.formatter, identifiers)) remove(calc_path(previous["path"], self.formater, identifiers))
else: else:
remove(calc_path(previous["path"], self.formatter)) remove(calc_path(previous["path"], self.formater))
self.parser({}, new["children"]) self.parser({}, new["children"])
else: else:
add(new) add(new)
@ -133,7 +126,7 @@ class Changelog: # pylint: disable=no-member,too-few-public-methods
modified_attributes[prop] = (name, prop_previous, prop_new) modified_attributes[prop] = (name, prop_previous, prop_new)
if not modified_attributes: if not modified_attributes:
continue continue
self.formatter.variable_to_string( self.formater.variable_to_string(
new, self._modified_variables, modified_attributes new, self._modified_variables, modified_attributes
) )
@ -144,11 +137,10 @@ class Changelog: # pylint: disable=no-member,too-few-public-methods
title = _("New variable") title = _("New variable")
else: else:
title = _("New variables") title = _("New variables")
msg += self.formatter.run( msg += self.formater.run(
[ [
self.formatter.title(title, self.level), self.formater.title(title, self.level),
self.formatter.table(self._added_variables), self.formater.table(self._added_variables),
self.formatter.end_family(self.level)
], ],
self.level, self.level,
dico_is_already_treated=True, dico_is_already_treated=True,
@ -158,11 +150,10 @@ class Changelog: # pylint: disable=no-member,too-few-public-methods
title = _("Modified variable") title = _("Modified variable")
else: else:
title = _("Modified variables") title = _("Modified variables")
msg += self.formatter.run( msg += self.formater.run(
[ [
self.formatter.title(title, self.level), self.formater.title(title, self.level),
self.formatter.table(self._modified_variables), self.formater.table(self._modified_variables),
self.formatter.end_family(self.level)
], ],
self.level, self.level,
dico_is_already_treated=True, dico_is_already_treated=True,
@ -172,11 +163,10 @@ class Changelog: # pylint: disable=no-member,too-few-public-methods
title = _("Deleted variable") title = _("Deleted variable")
else: else:
title = _("Deleted variables") title = _("Deleted variables")
msg += self.formatter.run( msg += self.formater.run(
[ [
self.formatter.title(title, self.level), self.formater.title(title, self.level),
self.formatter.list(self._removed_variables, inside_table=False), self.formater.list(self._removed_variables),
self.formatter.end_family(self.level)
], ],
self.level, self.level,
dico_is_already_treated=True, dico_is_already_treated=True,

View file

@ -35,16 +35,16 @@ def get_outputs() -> None:
if not name.endswith(".py") or name.endswith("__.py"): if not name.endswith(".py") or name.endswith("__.py"):
continue continue
module = load_modules(module_name + "." + name[:-3], str(path)) module = load_modules(module_name + "." + name[:-3], str(path))
if "Formatter" not in dir(module): if "Formater" not in dir(module):
continue continue
level = module.Formatter.level level = module.Formater.level
if level in outputs: if level in outputs:
raise ImportError( raise ImportError(
_('duplicated level rougail-doc for output "{0}": {1} and {2}').format( _('duplicated level rougail-doc for output "{0}": {1} and {2}').format(
level, module.Formatter.name, outputs[level].name level, module.Formater.name, outputs[level].name
) )
) )
outputs[module.Formatter.level] = module.Formatter outputs[module.Formater.level] = module.Formater
return {outputs[level].name: outputs[level] for level in sorted(outputs)} return {outputs[level].name: outputs[level] for level in sorted(outputs)}
@ -110,33 +110,6 @@ doc:
return_type: boolean return_type: boolean
description: variables is not selected description: variables is not selected
root:
description: {_('Document the variables from this family')}
mandatory: false
other_root_filenames:
description: {_("Families or variables for this family are in an other file name")}
type: leadership
disabled:
jinja: |-
{{% if not _.root %}}
Documents are not splitted
{{% endif %}}
{{% if _.output_format != 'gitlab' %}}
anchor is available only for gitlab output_format
{{% endif %}}
description: {_('documentation must be splitted and in gitlab format')}
root_path:
description: {_("Root family name")}
mandatory: false
filename:
description: {_("Name of the file")}
type: unix_filename
params:
allow_relative: true
disabled_modes: disabled_modes:
description: {_('Disable documentation for variables with those modes')} description: {_('Disable documentation for variables with those modes')}
multi: true multi: true
@ -156,23 +129,6 @@ doc:
change_default_value: true # {_('Modify values to document leaderships and dynamics families')} change_default_value: true # {_('Modify values to document leaderships and dynamics families')}
comment_examples:
description: {_('Add description of variables and families when generate examples')}
default: false
disabled:
jinja: |-
{{{{ "example" not in _.contents }}}}
return_type: boolean
description: {_('disabled when example in not in contents')}
comment_examples_column:
description: {_('Comment in examples starts at column')}
default: 30
disabled:
variable: _.comment_examples
propertyerror: false
when: false
output_format: output_format:
description: {_('Generate document in format')} description: {_('Generate document in format')}
alternative_name: do alternative_name: do
@ -180,11 +136,10 @@ doc:
validators: validators:
- jinja: |- - jinja: |-
{{% if _.output_format == 'json' %}} {{% if _.output_format == 'json' %}}
{{% if "changelog" in _.contents or "example" in _.contents %}} {{% if "changelog" in _.contents %}}
cannot add to contents "{{{{ _.contents }}}}" with output_format "json" cannot add to contents "changelog" with output_format "json"
{{% endif %}} {{% endif %}}
{{% endif %}} {{% endif %}}
description: {_('json output_format is not compatible with "changelog" and "example" contents')}
choices: choices:
""".replace( """.replace(
"output_format_default", output_format_default "output_format_default", output_format_default

View file

@ -85,19 +85,7 @@ class RougailOutputDoc(Examples, Changelog):
self.output_format = output_format self.output_format = output_format
self.level = rougailconfig["doc.title_level"] self.level = rougailconfig["doc.title_level"]
self.contents = rougailconfig["doc.contents"] self.contents = rougailconfig["doc.contents"]
self.root = rougailconfig["doc.root"]
if self.root:
try:
self.other_root_filenames = rougailconfig["doc.other_root_filenames"]
except PropertiesOptionError:
self.other_root_filenames = None
else:
self.other_root_filenames = None
self.example = "example" in self.contents self.example = "example" in self.contents
if self.example:
self.comment_examples = rougailconfig["doc.comment_examples"]
if self.comment_examples:
self.comment_examples_column = rougailconfig["doc.comment_examples_column"]
if "variables" in self.contents: if "variables" in self.contents:
self.with_family = not rougailconfig["doc.without_family"] self.with_family = not rougailconfig["doc.without_family"]
else: else:
@ -105,10 +93,10 @@ class RougailOutputDoc(Examples, Changelog):
if "changelog" in self.contents: if "changelog" in self.contents:
self.previous_json_file = rougailconfig["doc.previous_json_file"] self.previous_json_file = rougailconfig["doc.previous_json_file"]
if output_format == 'console': if output_format == 'console':
self.force_true_color_terminal = rougailconfig["doc.force_true_color_terminal"] force_true_color_terminal = rougailconfig["doc.force_true_color_terminal"]
else: else:
self.force_true_color_terminal = None force_true_color_terminal = None
self.formatter = outputs[output_format](self) self.formater = outputs[output_format](self.with_family, force_true_color_terminal=force_true_color_terminal)
self.informations = None self.informations = None
try: try:
groups.namespace groups.namespace
@ -123,7 +111,7 @@ class RougailOutputDoc(Examples, Changelog):
self.load() self.load()
return_string = "" return_string = ""
if "variables" in self.contents: if "variables" in self.contents:
return_string += self.formatter.run(self.informations, self.level) return_string += self.formater.run(self.informations, self.level)
if "example" in self.contents: if "example" in self.contents:
return_string += self.gen_doc_examples() return_string += self.gen_doc_examples()
if "changelog" in self.contents: if "changelog" in self.contents:
@ -138,8 +126,6 @@ class RougailOutputDoc(Examples, Changelog):
def load(self): def load(self):
self.dynamic_paths = {} self.dynamic_paths = {}
config = self.conf.unrestraint config = self.conf.unrestraint
if self.root:
config = config.option(self.root)
self.populate_dynamics(config=config) self.populate_dynamics(config=config)
informations = self.parse_families(config) informations = self.parse_families(config)
if informations is None: if informations is None:
@ -181,11 +167,11 @@ class RougailOutputDoc(Examples, Changelog):
} }
if not obj.information.get("forced_description", False): if not obj.information.get("forced_description", False):
self.dynamic_paths[path]["description"] = self._convert_description( self.dynamic_paths[path]["description"] = self._convert_description(
description, type_, its_a_path=False description, obj, type_, its_a_path=False
) )
elif obj.isoptiondescription(): elif obj.isoptiondescription():
self.dynamic_paths[path]["description"] = self._convert_description( self.dynamic_paths[path]["description"] = self._convert_description(
description, type_, its_a_path=True description, obj, type_, its_a_path=True
) )
if uncalculated: if uncalculated:
return return
@ -355,7 +341,7 @@ class RougailOutputDoc(Examples, Changelog):
return False return False
if family.isleadership(): if family.isleadership():
informations.setdefault("help", []).append( informations.setdefault("help", []).append(
_("This family contains lists of variable blocks") _("This family contains lists of variable blocks.")
) )
if family.isdynamic(only_self=True): if family.isdynamic(only_self=True):
identifiers = self._to_string(family, "dynamic", do_not_raise=True) identifiers = self._to_string(family, "dynamic", do_not_raise=True)
@ -365,7 +351,7 @@ class RougailOutputDoc(Examples, Changelog):
identifiers = [identifiers] identifiers = [identifiers]
informations["identifier"] = identifiers informations["identifier"] = identifiers
informations.setdefault("help", []).append( informations.setdefault("help", []).append(
_("This family builds families dynamically") _("This family builds families dynamically.")
) )
return informations return informations
@ -456,13 +442,13 @@ class RougailOutputDoc(Examples, Changelog):
) )
if child.isoptiondescription(): if child.isoptiondescription():
description = self._convert_description( description = self._convert_description(
child.description(uncalculated=True), type_, its_a_path=True child.description(uncalculated=True), child, type_, its_a_path=True
) )
else: else:
description = None description = None
else: else:
description = self._convert_description( description = self._convert_description(
child.description(uncalculated=True), type_, its_a_path=False child.description(uncalculated=True), child, type_, its_a_path=False
) )
if not child.isdynamic(): if not child.isdynamic():
informations["path"] = child.path(uncalculated=True) informations["path"] = child.path(uncalculated=True)
@ -478,9 +464,13 @@ class RougailOutputDoc(Examples, Changelog):
informations["properties"] = properties informations["properties"] = properties
return True return True
def _convert_description(self, description, type_, its_a_path=False): def _convert_description(self, description, obj, type_, its_a_path=False):
if not its_a_path: if not its_a_path:
description = to_phrase(description, type_) description = to_phrase(description, type_)
# if "{{ identifier }}" in description:
# description = {"description": description,
# "identifier": obj.identifiers()[-1],
# }
return description return description
def _add_examples(self, variable, informations: dict, leader) -> None: def _add_examples(self, variable, informations: dict, leader) -> None:
@ -690,8 +680,8 @@ class RougailOutputDoc(Examples, Changelog):
def _calculation_to_string(self, child, calculation, prop, inside_list=False): def _calculation_to_string(self, child, calculation, prop, inside_list=False):
if "description" in calculation: if "description" in calculation:
values = calculation["description"] values = calculation["description"]
# if not values.endswith("."): if not values.endswith("."):
# values += "." values += "."
return values return values
if "type" not in calculation: if "type" not in calculation:
return calculation["value"] return calculation["value"]
@ -708,8 +698,8 @@ class RougailOutputDoc(Examples, Changelog):
values = calculation["value"] values = calculation["value"]
else: else:
values = _("the value of the {0}").format(calculation["type"]) values = _("the value of the {0}").format(calculation["type"])
# if not inside_list and isinstance(values, str) and not values.endswith("."): if not inside_list and isinstance(values, str) and not values.endswith("."):
# values += "." values += "."
return values return values
def _calculation_jinja_to_string(self, child, calculation, prop): def _calculation_jinja_to_string(self, child, calculation, prop):
@ -737,7 +727,49 @@ class RougailOutputDoc(Examples, Changelog):
def _calculation_variable_to_string(self, child, calculation, prop): def _calculation_variable_to_string(self, child, calculation, prop):
if prop in PROPERTY_ATTRIBUTE: if prop in PROPERTY_ATTRIBUTE:
values = self._calculation_variable_to_string_known_property(child, calculation, prop) variable_path, value, condition = calculation["value"]
variable = self.conf.forcepermissive.option(variable_path)
try:
variable.value.get()
except AttributeError as err:
if prop in HIDDEN_PROPERTIES:
return False
variable = None
if variable and self.is_inaccessible_user_data(variable):
try:
variable_value = self._get_unmodified_default_value(variable)
except VariableCalculationDependencyError:
msg = _("depends on an undocumented variable")
else:
if (
condition == "when"
and value == variable_value
or condition == "when_not"
and value != variable_value
):
if prop in HIDDEN_PROPERTIES:
return
# always "{prop}" (but depends on an undocumented variable)
return True
# depends on an undocumented variable but is never "{prop}"
return False
elif condition == "when_not":
if not calculation["optional"]:
msg = _('when the variable "{0}" hasn\'t the value "{1}"')
else:
msg = _(
'when the variable "{0}" is defined and hasn\'t the value "{1}"'
)
else:
if not calculation["optional"]:
msg = _('when the variable "{0}" has the value "{1}"')
else:
msg = _(
'when the variable "{0}" is defined and has the value "{1}"'
)
if not isinstance(value, str):
value = dump(value)
values = msg.format(variable_path, value)
else: else:
if calculation["optional"]: if calculation["optional"]:
path = calculation["value"] path = calculation["value"]
@ -753,33 +785,46 @@ class RougailOutputDoc(Examples, Changelog):
true_msg = _('the value of the variable "{0}"') true_msg = _('the value of the variable "{0}"')
else: 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')
hidden_msg = _("the value of an undocumented variable")
if "{{ identifier }}" in calculation["ori_path"]: if "{{ identifier }}" in calculation["ori_path"]:
values = [] if calculation["value"] == calculation["ori_path"]:
all_is_undocumented = False regexp = None
for cpath, description, identifiers in self.get_annotation_variable(calculation["value"], calculation["ori_path"]):
if cpath:
all_is_undocumented = False
path_obj = {
"path": cpath,
}
if identifiers:
path_obj["identifiers"] = identifiers
values.append({
"message": true_msg,
"path": path_obj,
"description": description,
})
else: else:
regexp = compile(
"^"
+ calculation["ori_path"].replace("{{ identifier }}", "(.*)")
+ "$"
)
informations = [self.dynamic_paths[calculation["value"]]]
values = []
all_is_undocumented = None
for information in informations:
# if calculation["ori_path"] == information['path']:
path = information["path"]
for identifiers in information["identifiers"]:
cpath = calc_path(path, identifiers=identifiers)
if regexp and not regexp.search(cpath):
continue
if self.is_inaccessible_user_data(self.conf.option(cpath)):
if all_is_undocumented is None: if all_is_undocumented is None:
all_is_undocumented = True all_is_undocumented = True
values.append(_("the value of an undocumented variable")) msg = hidden_msg
if all_is_undocumented: else:
if len(values) > 1: if "{{ identifier }}" in path:
msg = {
"message": true_msg,
"path": {
"path": path,
"identifiers": identifiers.copy(),
},
}
else:
msg = true_msg.format(path)
all_is_undocumented = False
values.append(msg)
if all_is_undocumented and len(values) > 1:
values = _("the values of undocumented variables") values = _("the values of undocumented variables")
else: else:
values = values[0]
else:
# FIXME A MUTUALISER AUSSI
variable_path = calculation["ori_path"] variable_path = calculation["ori_path"]
variable = self.conf.forcepermissive.option(variable_path) variable = self.conf.forcepermissive.option(variable_path)
try: try:
@ -815,136 +860,11 @@ class RougailOutputDoc(Examples, Changelog):
if isinstance(true_msg, dict): if isinstance(true_msg, dict):
values = true_msg values = true_msg
else: else:
description = self._convert_description(self.conf.option(calculation["ori_path"]).description(uncalculated=True), "description", its_a_path=False) values = true_msg.format(calculation["ori_path"])
values = {
"message": true_msg,
"path": {
"path": calculation["ori_path"],
},
"description": description,
}
else: else:
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.conf.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:
variable = self.conf.forcepermissive.option(variable_path)
try:
variable_value = self._get_unmodified_default_value(variable)
except PropertiesOptionError as err:
if calculation["propertyerror"]:
raise err from err
variable_value = value
except VariableCalculationDependencyError:
values.append(_("depends on an undocumented variable"))
continue
except AttributeError as err:
if err.code != "option-not-found" or not calculation.get("optional", False):
raise err from 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": 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):
if current_path == ori_path:
regexp = None
else:
regexp = compile(
"^"
+ ori_path.replace("{{ identifier }}", "(.*)")
+ "$"
)
information = self.dynamic_paths[current_path]
path = information["path"]
for identifiers in information["identifiers"]:
cpath = calc_path(path, identifiers=identifiers)
if regexp and not regexp.search(cpath):
continue
if self.is_inaccessible_user_data(self.conf.option(cpath)):
yield None, None, None
else:
description = self._convert_description(self.conf.option(path).description(uncalculated=True), "description", its_a_path=False)
if "{{ identifier }}" in path:
yield path, description, identifiers.copy()
else:
yield path, description, None
def _get_unmodified_default_value(self, child): def _get_unmodified_default_value(self, child):
calculation = child.information.get(f"default_calculation", None) calculation = child.information.get(f"default_calculation", None)
if not calculation: if not calculation:

View file

@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
""" """
from typing import Optional from typing import Optional
from ruamel.yaml import CommentedMap
from .utils import _, calc_path from .utils import _, calc_path
@ -34,42 +33,32 @@ class Examples: # pylint: disable=no-member,too-few-public-methods
self._build_examples() self._build_examples()
return_string = "" return_string = ""
if self.examples_mandatories: if self.examples_mandatories:
return_string += self.formatter.title( return_string += self.formater.title(
_("Example with mandatory variables not filled in"), self.level _("Example with mandatory variables not filled in"), self.level
) )
return_string += self.formatter.yaml(self.examples_mandatories) return_string += self.formater.yaml(self.examples_mandatories)
if self.examples: if self.examples:
return_string += self.formatter.title( return_string += self.formater.title(
_("Example with all variables modifiable"), self.level _("Example with all variables modifiable"), self.level
) )
return_string += self.formatter.yaml(self.examples) return_string += self.formater.yaml(self.examples)
return return_string return return_string
def _build_examples(self): def _build_examples(self):
examples, examples_mandatories = self._parse_examples( self.examples, self.examples_mandatories = self._parse_examples(
self.informations self.informations
) )
if self.root and examples:
for sub in self.root.split('.'):
examples = {sub: examples}
if examples_mandatories:
examples_mandatories = {sub: examples_mandatories}
self.examples = examples
self.examples_mandatories = examples_mandatories
def _parse_examples(self, dico, dyn_parent: Optional[str] = None) -> tuple: def _parse_examples(self, dico, dyn_parent: Optional[str] = None) -> tuple:
if self.comment_examples:
examples = CommentedMap()
examples_mandatories = CommentedMap()
else:
examples = {} examples = {}
examples_mandatories = {} examples_mandatories = {}
for value in dico.values(): for value in dico.values():
if value["type"] == "variable": if value["type"] == "variable":
parse = self._parse_examples_variable self._parse_examples_variable(
value, dyn_parent, examples, examples_mandatories
)
else: else:
parse = self._parse_examples_family self._parse_examples_family(
parse(
value, dyn_parent, examples, examples_mandatories value, dyn_parent, examples, examples_mandatories
) )
return examples, examples_mandatories return examples, examples_mandatories
@ -98,18 +87,8 @@ class Examples: # pylint: disable=no-member,too-few-public-methods
name = variable["names"][idx] name = variable["names"][idx]
value = variable["example"][idx] value = variable["example"][idx]
examples[name] = value examples[name] = value
if self.comment_examples and "description" in variable:
description = variable["description"]
if description.endswith('.'):
description = description[:-1]
examples.yaml_add_eol_comment(description, name, column=self.comment_examples_column)
if variable["mandatory_without_value"]: if variable["mandatory_without_value"]:
examples_mandatories[name] = value examples_mandatories[name] = value
if self.comment_examples and "description" in variable:
description = variable["description"]
if description.endswith('.'):
description = description[:-1]
examples_mandatories.yaml_add_eol_comment(description, name, column=self.comment_examples_column)
break break
def _parse_examples_family( def _parse_examples_family(
@ -137,18 +116,8 @@ class Examples: # pylint: disable=no-member,too-few-public-methods
) )
if ret_m: if ret_m:
examples_mandatories[name] = ret_m examples_mandatories[name] = ret_m
if self.comment_examples and "description" in family["informations"]:
description = family["informations"]["description"]
if description.endswith('.'):
description = description[:-1]
examples_mandatories.yaml_add_eol_comment(description, name, column=self.comment_examples_column)
if ret_e: if ret_e:
examples[name] = ret_e examples[name] = ret_e
if self.comment_examples and "description" in family["informations"]:
description = family["informations"]["description"]
if description.endswith('.'):
description = description[:-1]
examples.yaml_add_eol_comment(description, name, column=self.comment_examples_column)
ori_path = family["informations"]["path"] ori_path = family["informations"]["path"]
if "identifiers" in family["informations"]: if "identifiers" in family["informations"]:
@ -175,9 +144,6 @@ class Examples: # pylint: disable=no-member,too-few-public-methods
if dyn_parent is not None and not path.startswith(dyn_parent): if dyn_parent is not None and not path.startswith(dyn_parent):
continue continue
for leader_idx in range(len(leader["example"][path_idx])): for leader_idx in range(len(leader["example"][path_idx])):
if self.comment_examples:
followers = CommentedMap()
else:
followers = {} followers = {}
for follower in leadership.values(): for follower in leadership.values():
if len(follower["names"]) == 1: if len(follower["names"]) == 1:
@ -185,16 +151,8 @@ class Examples: # pylint: disable=no-member,too-few-public-methods
else: else:
name = follower["names"][path_idx] name = follower["names"][path_idx]
followers[name] = follower["example"][path_idx][leader_idx] followers[name] = follower["example"][path_idx][leader_idx]
if self.comment_examples and "description" in follower:
description = follower["description"]
if description.endswith('.'):
description = description[:-1]
followers.yaml_add_eol_comment(description, name, column=self.comment_examples_column)
examples.append(followers) examples.append(followers)
if leader["mandatory_without_value"]: if leader["mandatory_without_value"]:
if self.comment_examples:
followers = CommentedMap()
else:
followers = {} followers = {}
for follower in leadership.values(): for follower in leadership.values():
if not follower["mandatory_without_value"]: if not follower["mandatory_without_value"]:
@ -204,11 +162,6 @@ class Examples: # pylint: disable=no-member,too-few-public-methods
else: else:
name = follower["names"][path_idx] name = follower["names"][path_idx]
followers[name] = follower["example"][path_idx][leader_idx] followers[name] = follower["example"][path_idx][leader_idx]
if self.comment_examples and "description" in follower:
description = follower["description"]
if description.endswith('.'):
description = description[:-1]
followers.yaml_add_eol_comment(description, name, column=self.comment_examples_column)
examples_mandatories.append(followers) examples_mandatories.append(followers)
break break
return examples, examples_mandatories return examples, examples_mandatories

View file

@ -17,11 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
""" """
from typing import List from typing import List
from ..utils import CommonFormatter, dump from ..utils import CommonFormater, dump
class Formatter(CommonFormatter): class Formater(CommonFormater):
"""The asciidoc formatter""" """The asciidoc formater"""
name = "asciidoc" name = "asciidoc"
_table_name = "asciidoc" _table_name = "asciidoc"
@ -92,7 +92,6 @@ class Formatter(CommonFormatter):
def list( def list(
self, self,
choices: list, choices: list,
inside_table: bool=True,
) -> str: ) -> str:
"""Display a liste of element""" """Display a liste of element"""
prefix = "\n\n* " prefix = "\n\n* "

View file

@ -19,11 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from typing import List from typing import List
from ..i18n import _ from ..i18n import _
from ..utils import dump, CommonFormatter, ENTER from ..utils import dump, CommonFormater, ENTER
class Formatter(CommonFormatter): class Formater(CommonFormater):
"""The markdown (for github) formatter""" """The markdown (for github) formater"""
name = "console" name = "console"
level = 10 level = 10
@ -36,20 +36,20 @@ class Formatter(CommonFormatter):
"title5": "dark_green underline bold", "title5": "dark_green underline bold",
} }
def __init__(self, doc) -> None: def __init__(self, with_family: bool, force_true_color_terminal: bool=False) -> None:
from rich.table import Table from rich.table import Table
from rich.theme import Theme from rich.theme import Theme
from rich.console import Console from rich.console import Console
self.rich_table = Table self.rich_table = Table
self.rich_console = Console self.rich_console = Console
if doc.force_true_color_terminal: if force_true_color_terminal:
self.force_terminal = 'xterm-256color' self.force_terminal = 'xterm-256color'
else: else:
self.force_terminal = None self.force_terminal = None
self.custom_theme = Theme(self.titles_color) self.custom_theme = Theme(self.titles_color)
self.max_line = 0 self.max_line = 0
super().__init__(doc) super().__init__(with_family)
def run(self, dico: dict, level: int, *, dico_is_already_treated=False) -> str: def run(self, dico: dict, level: int, *, dico_is_already_treated=False) -> str:
if not dico_is_already_treated: if not dico_is_already_treated:
@ -113,8 +113,7 @@ class Formatter(CommonFormatter):
def list( def list(
self, self,
choices: list, choices,
inside_table: bool=True,
) -> str: ) -> str:
"""Display a liste of element""" """Display a liste of element"""
char = f"{self.enter_table}- " char = f"{self.enter_table}- "

View file

@ -19,21 +19,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from typing import List from typing import List
from html import escape from html import escape
from ..utils import dump, CommonFormatter from ..utils import dump, CommonFormater
class Formatter(CommonFormatter): class Formater(CommonFormater):
"""The markdown (for github) formatter""" """The markdown (for github) formater"""
name = "github" name = "github"
_table_name = "github" _table_name = "github"
level = 50 level = 50
enter_table = "<br/>" enter_table = "<br/>"
def __init__(self, doc, **kwarg) -> None: def __init__(self, with_family: bool, **kwarg) -> None:
self.max_line_variable = 0 self.max_line_variable = 0
self.max_line_description = 0 self.max_line_description = 0
super().__init__(doc) super().__init__(with_family)
def title( def title(
self, self,
@ -88,14 +88,10 @@ class Formatter(CommonFormatter):
def list( def list(
self, self,
choices: list, choices,
inside_table: bool=True,
): ):
"""Display a liste of element""" """Display a liste of element"""
if inside_table:
char = f"{self.enter_table}- " char = f"{self.enter_table}- "
else:
char = "\n- "
ret = "" ret = ""
for choice in choices: for choice in choices:
if not isinstance(choice, str): if not isinstance(choice, str):

View file

@ -16,14 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
""" """
from typing import List, Optional from typing import List
from .github import Formatter as GithubFormatter from .github import Formater as GithubFormater
from ..i18n import _ from ..i18n import _
class Formatter(GithubFormatter): class Formater(GithubFormater):
name = "gitlab" name = "gitlab"
level = 51 level = 51
@ -41,23 +41,6 @@ class Formatter(GithubFormatter):
def end_family(self, level): def end_family(self, level):
return "</details>\n\n" return "</details>\n\n"
def anchor(self,
path: str,
true_path: str,
) -> str:
return f'<a id="{true_path}" name="{true_path}">{path}</a>'
def link_variable(self,
path: str,
description: str,
filename: Optional[str],
) -> str:
if filename:
link = f'{filename}#{path}'
else:
link = f'#{path}'
return self.link(description, link)
def columns( def columns(
self, self,
col: List[str], col: List[str],

View file

@ -18,11 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from typing import List from typing import List
from html import escape from html import escape
from ..utils import CommonFormatter, dump from ..utils import CommonFormater, dump
class Formatter(CommonFormatter): class Formater(CommonFormater):
"""The asciidoc formatter""" """The asciidoc formater"""
name = "html" name = "html"
_table_name = "unsafehtml" _table_name = "unsafehtml"
@ -92,7 +92,6 @@ class Formatter(CommonFormatter):
def list( def list(
self, self,
choices: list, choices: list,
inside_table: bool=True,
) -> str: ) -> str:
"""Display a liste of element""" """Display a liste of element"""
prefix = "<ul>" prefix = "<ul>"

View file

@ -20,13 +20,13 @@ from json import dumps
from typing import Any from typing import Any
class Formatter: class Formater:
"""Just return internal structure to json""" """Just return internal structure to json"""
name = "json" name = "json"
level = 90 level = 90
def __init__(self, doc): def __init__(self, with_family: bool, **kwarg):
pass pass
def run(self, dico: dict, *args) -> str: # pylint: disable=unused-argument def run(self, dico: dict, *args) -> str: # pylint: disable=unused-argument

View file

@ -136,7 +136,7 @@ def to_phrase(msg, type_="variable"):
if type_ == "variable": if type_ == "variable":
if not msg.endswith("."): if not msg.endswith("."):
msg += "." msg += "."
elif type_ in ["family", "description"]: elif type_ == "family":
if msg.endswith("."): if msg.endswith("."):
msg = msg[:-1] msg = msg[:-1]
else: else:
@ -145,22 +145,19 @@ def to_phrase(msg, type_="variable"):
return msg[0].upper() + msg[1:] return msg[0].upper() + msg[1:]
class CommonFormatter: class CommonFormater:
"""Class with common function for formatter""" """Class with common function for formater"""
enter_table = "\n" enter_table = "\n"
# tabulate module name # tabulate module name
name = None name = None
def __init__(self, doc, **kwarg): def __init__(self, with_family: bool, **kwarg):
tabulate_module.PRESERVE_WHITESPACE = True tabulate_module.PRESERVE_WHITESPACE = True
self.header_setted = False self.header_setted = False
self.with_family = doc.with_family self.with_family = with_family
self.other_root_filenames = doc.other_root_filenames
if doc.other_root_filenames:
self.other_root_filenames = dict(zip(doc.other_root_filenames["root_path"], self.other_root_filenames["filename"]))
# Class you needs implement to your Formatter # Class you needs implement to your Formater
def title( def title(
self, self,
title: str, title: str,
@ -183,28 +180,6 @@ class CommonFormatter:
"""Set a text to bold""" """Set a text to bold"""
raise NotImplementedError() raise NotImplementedError()
def underline(
self,
msg: str,
) -> str:
"""Set a text to underline"""
raise NotImplementedError()
def anchor(self,
path: str,
true_path: str,
) -> str:
"""Set a text to a link anchor"""
return path
def link_variable(self,
path: str,
description: str,
filename: Optional[str],
) -> str:
"""Set a text link to variable anchor"""
return path
def stripped( def stripped(
self, self,
text: str, text: str,
@ -215,7 +190,6 @@ class CommonFormatter:
def list( def list(
self, self,
choices: list, choices: list,
inside_table: bool=True,
) -> str: ) -> str:
"""Display a liste of element""" """Display a liste of element"""
raise NotImplementedError() raise NotImplementedError()
@ -249,8 +223,6 @@ class CommonFormatter:
informations: dict, informations: dict,
modified_attributes: dict, modified_attributes: dict,
force_identifiers: Optional[str], force_identifiers: Optional[str],
*,
is_variable=False
) -> str: ) -> str:
ret_paths = [] ret_paths = []
path = informations["path"] path = informations["path"]
@ -265,17 +237,15 @@ class CommonFormatter:
else: else:
new = [] new = []
if "identifiers" in informations: if "identifiers" in informations:
for idx, identifier in enumerate(informations["identifiers"]): for identifier in informations["identifiers"]:
if force_identifiers and identifier != force_identifiers: if force_identifiers and identifier != force_identifiers:
continue continue
path_ = calc_path(path, self, identifier) path_ = calc_path(path, self, identifier)
if not idx:
path_ = self.anchor(path_, path)
if identifier in new: if identifier in new:
path_ = self.underline(path_) path_ = self.underline(path_)
ret_paths.append(self.bold(path_)) ret_paths.append(self.bold(path_))
else: else:
ret_paths.append(self.bold(self.anchor(path, path))) ret_paths.append(self.bold(path))
return ret_paths return ret_paths
def after_family_paths(self) -> str: def after_family_paths(self) -> str:
@ -511,7 +481,7 @@ class CommonFormatter:
informations, calculated_properties, modified_attributes informations, calculated_properties, modified_attributes
) )
first_col = [ first_col = [
self.join(self.display_paths(informations, modified_attributes, force_identifiers, is_variable=True)), self.join(self.display_paths(informations, modified_attributes, force_identifiers)),
properties, properties,
] ]
self.columns(first_col) self.columns(first_col)
@ -635,9 +605,6 @@ class CommonFormatter:
default_is_a_list = False default_is_a_list = False
else: else:
default_is_a_list = True default_is_a_list = True
for idx, choice in enumerate(choices_values.copy()):
if isinstance(choice, dict):
choices_values[idx] = self.message_to_string(choice, None)[1]
if "default" in modified_attributes: if "default" in modified_attributes:
name, old_default, new_default = modified_attributes["default"] name, old_default, new_default = modified_attributes["default"]
if not old_default: if not old_default:
@ -661,9 +628,6 @@ class CommonFormatter:
default = [] default = []
if not isinstance(default, list): if not isinstance(default, list):
default = [default] default = [default]
for idx, value in enumerate(default.copy()):
if isinstance(value, dict):
default[idx] = self.message_to_string(value, None)[1]
default_value_not_in_choices = set(default) - set(choices_values) default_value_not_in_choices = set(default) - set(choices_values)
if default_value_not_in_choices: if default_value_not_in_choices:
default_is_changed = False default_is_changed = False
@ -690,8 +654,6 @@ class CommonFormatter:
if "choices" in modified_attributes: if "choices" in modified_attributes:
name, previous, new = modified_attributes["choices"] name, previous, new = modified_attributes["choices"]
for choice in reversed(previous): for choice in reversed(previous):
if isinstance(choice, dict):
choice = self.message_to_string(choice, None)[1]
if choice in old_default: if choice in old_default:
choices_values.insert( choices_values.insert(
0, self.delete(dump(choice) + "" + _("(default)")) 0, self.delete(dump(choice) + "" + _("(default)"))
@ -837,14 +799,7 @@ class CommonFormatter:
ret += msg["submessage"] ret += msg["submessage"]
msg = msg["values"] msg = msg["values"]
elif "message" in msg: elif "message" in msg:
filename = None path = calc_path(msg["path"], self, identifiers)
if self.other_root_filenames:
path = msg["path"]["path"]
for root in self.other_root_filenames:
if path == root or path.startswith(f'{root}.'):
filename = self.other_root_filenames[root]
break
path = self.link_variable(calc_path(msg["path"], self, identifiers), msg["description"], filename=filename)
msg = msg["message"].format(path) msg = msg["message"].format(path)
return ret, msg return ret, msg
@ -877,16 +832,15 @@ class CommonFormatter:
return _("{0}: {1}").format(self.bold(name), submessage) return _("{0}: {1}").format(self.bold(name), submessage)
def calc_path(path, formatter=None, identifiers: List[str] = None) -> str: def calc_path(path, formater=None, identifiers: List[str] = None) -> str:
def _path_with_identifier(path, identifier): def _path_with_identifier(path, identifier):
identifier = normalize_family(str(identifier)) identifier = normalize_family(str(identifier))
if formatter: if formater:
identifier = formatter.italic(identifier) identifier = formater.italic(identifier)
return path.replace("{{ identifier }}", identifier, 1) return path.replace("{{ identifier }}", identifier, 1)
if isinstance(path, dict): if isinstance(path, dict):
path_ = path["path"] path_ = path["path"]
if "identifiers" in path:
for identifier in path["identifiers"]: for identifier in path["identifiers"]:
path_ = _path_with_identifier(path_, identifier) path_ = _path_with_identifier(path_, identifier)
elif identifiers: elif identifiers:

View file

@ -8,7 +8,7 @@
**family2.var2** + **family2.var2** +
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `standard` `mandatory` | `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `standard` `mandatory` |
A variable2. + A variable2. +
**Default**: the value of the variable "family.var2" **Default**: the value of the variable "family.var2".
| |
**family2.var3** + **family2.var3** +

View file

@ -1,10 +0,0 @@
<details><summary>New variables</summary>
| Variable | Description |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="family2.var2" name="family2.var2">family2.var2</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A variable2.<br/>**Default**: the value of the variable "[`A second variable`](#family.var2)" |
| **<a id="family2.var3" name="family2.var3">family2.var3</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A third variable.<br/>**Default**: string4<br/>**Example**: string5 |
| **<a id="family2.subfamily.variable" name="family2.subfamily.variable">family2.subfamily.variable</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` `unique` `multiple` | Fourth variable.<br/>**Default**: <br/>- the value of the variable "[`First variable`](#var1)"<br/>- the value of the variable "[`A second variable`](#family.var2)"<br/>- the value of the variable "[`A third variable`](#family2.var3)" |
</details>

View file

@ -1,15 +0,0 @@
<h1>New variables</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>family2.var2</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>standard</mark> <mark>mandatory</mark> </td><td>A variable2.<br/><b>Default</b>: the value of the variable "family.var2" </td></tr>
<tr><td><b>family2.var3</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>standard</mark> <mark>mandatory</mark> </td><td>A third variable.<br/><b>Default</b>: string4<br/><b>Example</b>: string5</td></tr>
<tr><td><b>family2.subfamily.variable</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>unique</mark> <mark>multiple</mark></td><td>Fourth variable.<br/><b>Default</b>: <ul><li>the value of the variable "var1"</li>
<li>the value of the variable "family.var2"</li>
<li>the value of the variable "family2.var3"</li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,8 +0,0 @@
# New variables
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **family2.var2**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A variable2.<br/>**Default**: the value of the variable "family.var2" |
| **family2.var3**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A third variable.<br/>**Default**: string4<br/>**Example**: string5 |
| **family2.subfamily.variable**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` `unique` `multiple` | Fourth variable.<br/>**Default**: <br/>- the value of the variable "var1"<br/>- the value of the variable "family.var2"<br/>- the value of the variable "family2.var3" |

View file

@ -8,7 +8,7 @@
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
family2.var2 │ A variable2. │ family2.var2 │ A variable2. │
 string   standard   mandatory  │ Default: the value of the variable │  string   standard   mandatory  │ Default: the value of the variable │
│ │ "family.var2" │ │ "family.var2".
├───────────────────────────────────────┼──────────────────────────────────────┤ ├───────────────────────────────────────┼──────────────────────────────────────┤
family2.var3 │ A third variable. │ family2.var3 │ A third variable. │
 string   standard   mandatory  │ Default: string4 │  string   standard   mandatory  │ Default: string4 │
@ -22,4 +22,3 @@
│ │ - the value of the variable │ │ │ - the value of the variable │
│ │ "family2.var3" │ │ "family2.var3"
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -1,13 +0,0 @@
<details><summary>New variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------|
| **<a id="variable_to_family" name="variable_to_family">variable_to_family</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A variable that became a family. |
</details>
<details><summary>Deleted variable</summary>
- variable_to_family.var</details>

View file

@ -1,14 +0,0 @@
<h1>New variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>variable_to_family</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>A variable that became a family.</td></tr>
</tbody>
</table>
<h1>Deleted variable</h1>
<ul><li>variable_to_family.var</li></ul>

View file

@ -1,10 +0,0 @@
# New variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **variable_to_family**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A variable that became a family. |
# Deleted variable
- variable_to_family.var

View file

@ -11,10 +11,8 @@
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘
Deleted variable Deleted variable
- variable_to_family.var - variable_to_family.var

View file

@ -1,8 +0,0 @@
<details><summary>New variable</summary>
| Variable | Description |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|
| **<a id="family.var3" name="family.var3">family.var3</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A third variable. |
</details>

View file

@ -1,11 +0,0 @@
<h1>New variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>family.var3</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>A third variable.</td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# New variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **family.var3**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A third variable. |

View file

@ -9,4 +9,3 @@
family.var3 │ A third variable. │ family.var3 │ A third variable. │
 string   basic   mandatory  │ │  string   basic   mandatory  │ │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -1,13 +0,0 @@
<details><summary>New variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|
| **<a id="variable_to_family.var" name="variable_to_family.var">variable_to_family.var</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A second variable. |
</details>
<details><summary>Deleted variable</summary>
- variable_to_family</details>

View file

@ -1,14 +0,0 @@
<h1>New variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>variable_to_family.var</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>A second variable.</td></tr>
</tbody>
</table>
<h1>Deleted variable</h1>
<ul><li>variable_to_family</li></ul>

View file

@ -1,10 +0,0 @@
# New variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **variable_to_family.var**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A second variable. |
# Deleted variable
- variable_to_family

View file

@ -11,10 +11,8 @@
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘
Deleted variable Deleted variable
- variable_to_family - variable_to_family

View file

@ -1,9 +0,0 @@
<details><summary>New variables</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|
| **<a id="family.var3" name="family.var3">family.var3</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A third variable. |
| **<a id="family2.var4" name="family2.var4">family2.var4</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A fourth variable. |
</details>

View file

@ -1,12 +0,0 @@
<h1>New variables</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>family.var3</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark> </td><td>A third variable. </td></tr>
<tr><td><b>family2.var4</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>A fourth variable.</td></tr>
</tbody>
</table>

View file

@ -1,7 +0,0 @@
# New variables
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **family.var3**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A third variable. |
| **family2.var4**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A fourth variable. |

View file

@ -12,4 +12,3 @@
family2.var4 │ A fourth variable. │ family2.var4 │ A fourth variable. │
 string   basic   mandatory  │ │  string   basic   mandatory  │ │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -1,7 +0,0 @@
<details><summary>Deleted variables</summary>
- family2.var2
- family2.var3
- family2.subfamily.variable</details>

View file

@ -1,5 +0,0 @@
<h1>Deleted variables</h1>
<ul><li>family2.var2</li>
<li>family2.var3</li>
<li>family2.subfamily.variable</li></ul>

View file

@ -1,6 +0,0 @@
# Deleted variables
- family2.var2
- family2.var3
- family2.subfamily.variable

View file

@ -7,4 +7,3 @@
- family2.var2 - family2.var2
- family2.var3 - family2.var3
- family2.subfamily.variable - family2.subfamily.variable

View file

@ -1,5 +0,0 @@
<details><summary>Deleted variable</summary>
- family.var3</details>

View file

@ -1,3 +0,0 @@
<h1>Deleted variable</h1>
<ul><li>family.var3</li></ul>

View file

@ -1,4 +0,0 @@
# Deleted variable
- family.var3

View file

@ -5,4 +5,3 @@
- family.var3 - family.var3

View file

@ -1,6 +0,0 @@
<details><summary>Deleted variables</summary>
- family.var3
- family2.var4</details>

View file

@ -1,4 +0,0 @@
<h1>Deleted variables</h1>
<ul><li>family.var3</li>
<li>family2.var4</li></ul>

View file

@ -1,5 +0,0 @@
# Deleted variables
- family.var3
- family2.var4

View file

@ -6,4 +6,3 @@
- family.var3 - family.var3
- family2.var4 - family2.var4

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|
| **<a id="var1" name="var1">var1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | ~~First variable.~~<br/><ins>New description.</ins> |
</details>

View file

@ -1,11 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>var1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td><del>First variable.</del><br/><ins>New description.</ins></td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **var1**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | ~~First variable.~~<br/><ins>New description.</ins> |

View file

@ -9,4 +9,3 @@
var1 │ First variable. │ var1 │ First variable. │
 string   basic   mandatory  │ New description. │  string   basic   mandatory  │ New description. │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| **<a id="var1" name="var1">var1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>~~First help.~~<br/><ins>Modified help.</ins> |
</details>

View file

@ -1,11 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>var1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>First variable.<br/><del>First help.</del><br/><ins>Modified help.</ins></td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **var1**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>~~First help.~~<br/><ins>Modified help.</ins> |

View file

@ -10,4 +10,3 @@
 string   basic   mandatory  │ First help. │  string   basic   mandatory  │ First help. │
│ │ Modified help. │ │ │ Modified help. │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -9,7 +9,7 @@
`https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` | `https://rougail.readthedocs.io/en/latest/variable.html#variables-types[string]` `basic` `mandatory` |
First variable. + First variable. +
**Validator**: **Validator**:
+++"not valid1" is not allowed+++ + +++"not valid1" is not allowed.+++ +
#"not valid2" is not allowed# #"not valid2" is not allowed.#
|==== |====

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
| **<a id="var1" name="var1">var1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>**Validator**: ~~"not valid1" is not allowed~~<br/><ins>"not valid2" is not allowed</ins> |
</details>

View file

@ -1,11 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>var1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>First variable.<br/><b>Validator</b>: <del>"not valid1" is not allowed</del><br/><ins>"not valid2" is not allowed</ins></td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **var1**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>**Validator**: ~~"not valid1" is not allowed~~<br/><ins>"not valid2" is not allowed</ins> |

View file

@ -8,7 +8,6 @@
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
var1 │ First variable. │ var1 │ First variable. │
 string   basic   mandatory  │ Validator: "not valid1" is not  │  string   basic   mandatory  │ Validator: "not valid1" is not  │
│ │ allowed │ │ allowed. │
│ │ "not valid2" is not allowed │ │ "not valid2" is not allowed. │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -10,8 +10,8 @@
First variable. + First variable. +
**Validators**: **Validators**:
* +++"not valid2" is not allowed+++ * +++"not valid2" is not allowed.+++
* '"not valid1" is not allowed' * '"not valid1" is not allowed.'
* '#"not valid3" is not allowed#' * '#"not valid3" is not allowed.#'
|==== |====

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="var1" name="var1">var1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>**Validators**: <br/>- ~~"not valid2" is not allowed~~<br/>- "not valid1" is not allowed<br/>- <ins>"not valid3" is not allowed</ins> |
</details>

View file

@ -1,13 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>var1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>First variable.<br/><b>Validators</b>: <ul><li><del>"not valid2" is not allowed</del></li>
<li>'"not valid1" is not allowed'</li>
<li><ins>"not valid3" is not allowed</ins></li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **var1**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>**Validators**: <br/>- ~~"not valid2" is not allowed~~<br/>- "not valid1" is not allowed<br/>- <ins>"not valid3" is not allowed</ins> |

View file

@ -8,8 +8,7 @@
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
var1 │ First variable. │ var1 │ First variable. │
 string   basic   mandatory  │ Validators: │  string   basic   mandatory  │ Validators: │
│ │ - "not valid2" is not allowed │ │ - "not valid2" is not allowed. │
│ │ - "not valid1" is not allowed │ │ - "not valid1" is not allowed.
│ │ - "not valid3" is not allowed │ │ - "not valid3" is not allowed. │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -10,10 +10,10 @@
First variable. + First variable. +
**Validators**: **Validators**:
* +++"not valid1" is not allowed+++ * +++"not valid1" is not allowed.+++
* +++"not valid3" is not allowed+++ * +++"not valid3" is not allowed.+++
* '#"not valid4" is not allowed#' * '#"not valid4" is not allowed.#'
* '"not valid2" is not allowed' * '"not valid2" is not allowed.'
* '#"not valid5" is not allowed#' * '#"not valid5" is not allowed.#'
|==== |====

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="var1" name="var1">var1</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>**Validators**: <br/>- ~~"not valid1" is not allowed~~<br/>- ~~"not valid3" is not allowed~~<br/>- <ins>"not valid4" is not allowed</ins><br/>- "not valid2" is not allowed<br/>- <ins>"not valid5" is not allowed</ins> |
</details>

View file

@ -1,15 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>var1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>string</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>First variable.<br/><b>Validators</b>: <ul><li><del>"not valid1" is not allowed</del></li>
<li><del>"not valid3" is not allowed</del></li>
<li><ins>"not valid4" is not allowed</ins></li>
<li>'"not valid2" is not allowed'</li>
<li><ins>"not valid5" is not allowed</ins></li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **var1**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | First variable.<br/>**Validators**: <br/>- ~~"not valid1" is not allowed~~<br/>- ~~"not valid3" is not allowed~~<br/>- <ins>"not valid4" is not allowed</ins><br/>- "not valid2" is not allowed<br/>- <ins>"not valid5" is not allowed</ins> |

View file

@ -8,10 +8,9 @@
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
var1 │ First variable. │ var1 │ First variable. │
 string   basic   mandatory  │ Validators: │  string   basic   mandatory  │ Validators: │
│ │ - "not valid1" is not allowed │ │ - "not valid1" is not allowed. │
│ │ - "not valid3" is not allowed │ │ - "not valid3" is not allowed. │
│ │ - "not valid4" is not allowed │ │ - "not valid4" is not allowed. │
│ │ - "not valid2" is not allowed │ │ - "not valid2" is not allowed.
│ │ - "not valid5" is not allowed │ │ - "not valid5" is not allowed. │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|-----------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
| **<a id="var1" name="var1">var1</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | First variable.<br/>**Choices**: <br/>- val1 ~~← (default)~~<br/>- val2 <ins>**← (default)**</ins> |
</details>

View file

@ -1,12 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>var1</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>choice</a></mark> <mark>standard</mark> <mark>mandatory</mark></td><td>First variable.<br/><b>Choices</b>: <ul><li>val1 <del>← (default)</del></li>
<li>val2 <ins><b>← (default)</b></ins></li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **var1**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | First variable.<br/>**Choices**: <br/>- val1 ~~← (default)~~<br/>- val2 <ins>**← (default)**</ins> |

View file

@ -11,4 +11,3 @@
│ │ - val1 ← (default) │ │ │ - val1 ← (default) │
│ │ - val2 ← (default) │ │ │ - val2 ← (default) │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -12,7 +12,7 @@ A variable. +
* +++val1 ← (default)+++ * +++val1 ← (default)+++
* +++val2+++ * +++val2+++
* the value of the variable "source_variable_1" **← (default)** * '#the value of the variable "source_variable_1" **← (default)**#'
* the value of the variable "source_variable_2" * '#the value of the variable "source_variable_2"#'
|==== |====

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="my_variable" name="my_variable">my_variable</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~val1 ← (default)~~<br/>- ~~val2~~<br/>- the value of the variable "[`The first source variable`](#source_variable_1)" **← (default)**<br/>- the value of the variable "[`The second source variable`](#source_variable_2)" |
</details>

View file

@ -1,14 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>my_variable</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>choice</a></mark> <mark>standard</mark> <mark>mandatory</mark></td><td>A variable.<br/><b>Choices</b>: <ul><li><del>val1 ← (default)</del></li>
<li><del>val2</del></li>
<li>the value of the variable "source_variable_1" <b>← (default)</b></li>
<li>the value of the variable "source_variable_2"</li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **my_variable**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~val1 ← (default)~~<br/>- ~~val2~~<br/>- the value of the variable "source_variable_1" **← (default)**<br/>- the value of the variable "source_variable_2" |

View file

@ -10,9 +10,8 @@
 choice   standard   mandatory  │ Choices: │  choice   standard   mandatory  │ Choices: │
│ │ - val1 ← (default) │ │ │ - val1 ← (default) │
│ │ - val2 │ │ │ - val2 │
│ │ - the value of the variable │ │ │ - the value of the variable 
│ │ "source_variable_1" ← (default) │ │ │ "source_variable_1" ← (default) │
│ │ - the value of the variable │ │ │ - the value of the variable 
│ │ "source_variable_2" │ │ "source_variable_2"
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -10,7 +10,7 @@
A variable. + A variable. +
**Choices**: **Choices**:
* +++the value of the variable "source_variable_1"+++ * +++the value of the variable "source_variable_1" ← (default)+++
* +++the value of the variable "source_variable_2"+++ * +++the value of the variable "source_variable_2"+++
* '#val1 **← (default)**#' * '#val1 **← (default)**#'
* '#val2#' * '#val2#'

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="my_variable" name="my_variable">my_variable</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~the value of the variable "[`The first source variable`](#source_variable_1)"~~<br/>- ~~the value of the variable "[`The second source variable`](#source_variable_2)"~~<br/>- <ins>val1 **← (default)**</ins><br/>- <ins>val2</ins> |
</details>

View file

@ -1,14 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>my_variable</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>choice</a></mark> <mark>standard</mark> <mark>mandatory</mark></td><td>A variable.<br/><b>Choices</b>: <ul><li><del>the value of the variable "source_variable_1"</del></li>
<li><del>the value of the variable "source_variable_2"</del></li>
<li><ins>val1 <b>← (default)</b></ins></li>
<li><ins>val2</ins></li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **my_variable**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~the value of the variable "source_variable_1"~~<br/>- ~~the value of the variable "source_variable_2"~~<br/>- <ins>val1 **← (default)**</ins><br/>- <ins>val2</ins> |

View file

@ -9,10 +9,9 @@
my_variable │ A variable. │ my_variable │ A variable. │
 choice   standard   mandatory  │ Choices: │  choice   standard   mandatory  │ Choices: │
│ │ - the value of the variable  │ │ │ - the value of the variable  │
│ │ "source_variable_1" │ │ "source_variable_1"(default) │
│ │ - the value of the variable  │ │ │ - the value of the variable  │
│ │ "source_variable_2" │ │ │ "source_variable_2" │
│ │ - val1 ← (default) │ │ │ - val1 ← (default) │
│ │ - val2 │ │ │ - val2 │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -12,6 +12,6 @@ A variable. +
* +++val1+++ * +++val1+++
* +++val2+++ * +++val2+++
* the value of the variable "source_variable_1" * '#the value of the variable "source_variable_1".#'
|==== |====

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="my_variable" name="my_variable">my_variable</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~val1~~<br/>- ~~val2~~<br/>- the value of the variable "[`The first source variable`](#source_variable_1)" |
</details>

View file

@ -1,13 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>my_variable</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>choice</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>A variable.<br/><b>Choices</b>: <ul><li><del>val1</del></li>
<li><del>val2</del></li>
<li>the value of the variable "source_variable_1"</li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **my_variable**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~val1~~<br/>- ~~val2~~<br/>- the value of the variable "source_variable_1" |

View file

@ -10,7 +10,6 @@
 choice   basic   mandatory  │ Choices: │  choice   basic   mandatory  │ Choices: │
│ │ - val1 │ │ │ - val1 │
│ │ - val2 │ │ │ - val2 │
│ │ - the value of the variable │ │ │ - the value of the variable 
│ │ "source_variable_1" │ │ "source_variable_1".
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -10,7 +10,7 @@
A variable. + A variable. +
**Choices**: **Choices**:
* +++the value of the variable "source_variable_1"+++ * +++the value of the variable "source_variable_1".+++
* '#val1#' * '#val1#'
* '#val2#' * '#val2#'
|==== |====

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="my_variable" name="my_variable">my_variable</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~the value of the variable "[`The first source variable`](#source_variable_1)"~~<br/>- <ins>val1</ins><br/>- <ins>val2</ins> |
</details>

View file

@ -1,13 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>my_variable</b><br/><mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>choice</a></mark> <mark>basic</mark> <mark>mandatory</mark></td><td>A variable.<br/><b>Choices</b>: <ul><li><del>the value of the variable "source_variable_1"</del></li>
<li><ins>val1</ins></li>
<li><ins>val2</ins></li></ul> </td></tr>
</tbody>
</table>

View file

@ -1,6 +0,0 @@
# Modified variable
| Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **my_variable**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | A variable.<br/>**Choices**: <br/>- ~~the value of the variable "source_variable_1"~~<br/>- <ins>val1</ins><br/>- <ins>val2</ins> |

View file

@ -9,8 +9,7 @@
my_variable │ A variable. │ my_variable │ A variable. │
 choice   basic   mandatory  │ Choices: │  choice   basic   mandatory  │ Choices: │
│ │ - the value of the variable  │ │ │ - the value of the variable  │
│ │ "source_variable_1" │ │ "source_variable_1". │
│ │ - val1 │ │ │ - val1 │
│ │ - val2 │ │ │ - val2 │
└───────────────────────────────────────┴──────────────────────────────────────┘ └───────────────────────────────────────┴──────────────────────────────────────┘

View file

@ -1,8 +0,0 @@
<details><summary>Modified variable</summary>
| Variable | Description |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| **<a id="var1" name="var1">var1</a>**<br/>`~~basic~~` [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `<ins>standard</ins>` `mandatory` | First variable.<br/>**Choices**: <br/>- val1<br/>- val2 <ins>**← (default)**</ins> |
</details>

View file

@ -1,12 +0,0 @@
<h1>Modified variable</h1>
<table>
<thead>
<tr><th>Variable </th><th>Description </th></tr>
</thead>
<tbody>
<tr><td><b>var1</b><br/><mark><del>basic</del></mark> <mark><a href='https://rougail.readthedocs.io/en/latest/variable.html#variables-types'>choice</a></mark> <mark><ins>standard</ins></mark> <mark>mandatory</mark></td><td>First variable.<br/><b>Choices</b>: <ul><li>val1</li>
<li>val2 <ins><b>← (default)</b></ins></li></ul> </td></tr>
</tbody>
</table>

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