« Modèle:FichePNJNL » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
<includeonly> {| class="wikitable" style="width:100%; max-width:980px; margin:0.6em 0; border-radius:10px; overflow:hidden;" |- ! colspan="2" style="text-align:left; font-size:120%; background:#f3f3f3; padding:0.6em 0.8em;" {{{nom|''PNJ sans nom''}}} {{#if:{{{type_pnj|}}}|<span style="float:rig | |||
pasted | |||
Ce code mediawiki d'un modèle ne fonctionne pas : peux tu le corriger ? | |||
10 févr. | |||
Diagnosed parser function pipe conflicts in MediaWiki template syntax | |||
Le problème principal est l'utilisation de | (pipe) pour la syntaxe de tableaux à l'intérieur de fonctions parseur ({{#if:...}}, {{#ifeq:...}}). MediaWiki interprète ces | comme des séparateurs de paramètres de la fonction, pas comme du markup de tableau. | |||
La solution : remplacer tous les | de syntaxe tableau qui se trouvent à l'intérieur de fonctions parseur par {{!}}. | |||
Ça concerne : | |||
Le bloc métamorphe (dans un {{#if}}) | |||
Tout le second tableau Nephilim (dans un {{#ifeq}}) | |||
Synthétisé les modifications du modèle MediaWiki | |||
Voici le modèle corrigé. Le problème fondamental : en MediaWiki, le caractère | à l'intérieur d'une fonction parseur ({{#if:...}}, {{#ifeq:...}}) est interprété comme un séparateur de paramètre, pas comme du markup de tableau. Le tableau se cassait donc complètement. | |||
Les corrections appliquées : | |||
Dans le premier tableau — le bloc métamorphe (qui était dans un {{#if}}), les | et |- de tableau ont été remplacés par {{!}} et {{!}}-. | |||
Dans tout le second tableau (bloc Nephilim) — puisqu'il est entièrement enveloppé dans {{#ifeq:{{{type_pnj|}}}|Nephilim|...}}, chaque élément de syntaxe tableau a été converti : | |||
{| → {{{!}} (ouverture de tableau) | |||
|} → {{!}}} (fermeture de tableau) | |||
|- → {{!}}- (séparateur de ligne) | |||
| style=... → {{!}} style=... (cellule) | |||
Les | à l'intérieur des {{{paramètres|}}} et comme séparateurs des {{#if:}} imbriqués n'ont pas été touchés car ils sont déjà au bon niveau d'imbrication. | |||
Template pnj corrected | |||
TXT | |||
Le modèle ne fonctionne toujours pas. Est-ce que tu pourrais conserver tous les arguments avec une mise en forme simple et me réécrire le code ? | |||
10 févr. | |||
Analyzed parameters and opted for div-based layout simplification | |||
Je vais réécrire le modèle en utilisant des <div> stylisés au lieu de wikitables pour les blocs conditionnels — ça élimine complètement le problème des | dans les fonctions parseur. | |||
Orchestrated code restructuring with simplified formatting | |||
Voici le modèle entièrement réécrit. Le changement d'approche : tout est en <div> avec display:flex au lieu de wikitables ({| ... |}). Ça élimine radicalement le problème — il n'y a plus aucun | de syntaxe tableau qui puisse être confondu avec un séparateur de fonction parseur. | |||
Tous les paramètres d'origine sont conservés, la logique conditionnelle est identique, et le rendu visuel reste très similaire (label à gauche sur 26%, valeur à droite, fond gris clair sur les labels, bordures fines entre les lignes). | |||
Template pnj v2 | |||
TXT | |||
<includeonly> <div class="noprint toccolours" style="float:right; padding:0; margin:0 0 .6em .6em; border-width:1px;"> {| class="infobox_v2" cellspacing="3" border="0" style="font-size:90%; line-height:1.15;" | colspan="2" class="entete auteur" style="background-color:#f3f3f3; color:black;" | <s | |||
pasted | |||
J'ai fait réécrire le code mediwiki par une autre IA. Le résultat n'est pas totalement satisfaisant : l'affichage fonctionne en partie mais l'affichage ne me convient pas. Notamment : | |||
* dans une colonne de gauche, le titre de la rubrique est centré au milieu (sur un axe vertical) devant le texte situé à droite. J'aimerais que le titre de la rubrique soit aligné en haut à gauche. | |||
* par ailleurs, lorsque certains arguments sont vierges, iil y a un saut de ligne important entre l'argument précédent et les suivants. Notamment, il y a un bloc qui s'appelle Kabbale et un bloc sur l'Alchimie : si les arguments sont vides dans l'appel du modèle, alors il y a un espace vide qui est maintenu par le modèle. J'aimearais que ces espaces vides n'apparaissent pas si aucun argument est renseigné. | |||
Voici le code, si tu peux regarder et me proposer une mise en page différente pour le premier point et trouver une solution de condition pour le deuxième point. | |||
Afficher plus | |||
00:34 | |||
Diagnostiqué deux problèmes de mise en page et envisagé solutions | |||
Je vais corriger les deux problèmes : l'alignement vertical des labels et les espaces vides laissés par les blocs conditionnels. | |||
Préparé l'analyse du code et des corrections nécessaires | |||
Fixed MediaWiki template: vertical-align:top on headers, removed blank lines inside conditionals that cause paragraph spacing | |||
template_pnj_v3.txt | |||
Let me review what I changed: | |||
Vertical alignment: Added style="vertical-align:top;" to every ! header cell using the {{!}} trick: ! style="vertical-align:top;" {{!}} Label | |||
Empty space issue: The original code had line breaks between the {{#if}} entries inside Kabbale, Alchimie, Magie blocks. In MediaWiki, blank lines get converted to <p> tags which create visible spacing. I've put all the conditional content on a single line (or at least without blank lines between them) so no <p> tags are generated. | |||
Also fixed: The Chutes block had a missing closing }} on the narcose_note conditional. Now I'm verifying the file structure looks correct. | |||
Afficher plus | |||
Presented file | |||
Good, the file is ready. Let me summarize the changes. | |||
Terminé | |||
Voici les deux corrections apportées : | |||
Alignement vertical — Chaque cellule d'en-tête (!) a maintenant style="vertical-align:top;", ce qui aligne le label en haut à gauche au lieu du centre vertical. | |||
Espaces vides — C'était le problème principal : dans le code original, les blocs Kabbale, Alchimie et Magie contenaient des sauts de ligne entre les {{#if}}. MediaWiki interprète ces lignes vides comme des balises <p>, ce qui créait de l'espace visible même quand tous les paramètres étaient vides. J'ai mis tout le contenu conditionnel de chaque cellule sur une seule ligne continue (pas de retour à la ligne entre les {{#if}}). C'est moins lisible dans le code source, mais ça élimine les espaces parasites. | |||
J'ai aussi corrigé au passage une parenthèse fermante manquante (}}) sur le chute_narcose_note dans le bloc Chutes. | |||
Template pnj v3 | |||
TXT | |||
<includeonly> <div class="noprint toccolours" style="float:right; padding:0; margin:0 0 .6em .6em; border-width:1px;"> {| class="infobox_v2" cellspacing="3" border="0" style="font-size:90%; line-height:1.15;" | colspan="2" class="entete auteur" style="background-color:#f3f3f3; color:black;" | <s | |||
pasted | |||
Super, ça marche ! | |||
Le code a été enrichi avec d'autres blocs qui connaissent le même problème d'alignement en haut à gauche et d'espaces blancs : peux-tu s'il te plaît apporter les corrections au code ? Voici le code complet : | |||
00:49 | |||
Identified alignment and spacing issues across multiple template blocks | |||
Je vais corriger les blocs qui ont encore des sauts de ligne entre les {{#if}} — principalement Simulacre, Quêtes, Grades, Savoirs et Ressources occultes. | |||
Identifié la solution pour corriger l'alignement et espaces | |||
Voici le code corrigé. Les blocs modifiés sont ceux qui avaient des sauts de ligne entre les {{#if}} à l'intérieur d'une cellule : | |||
Ress. occultes — les 3 lignes Magie/Kabbale/Alchimie sont maintenant sur une seule ligne | |||
Quêtes — les 5 quêtes sur une seule ligne | |||
Grades — les grades globaux et par quête sur une seule ligne | |||
Savoirs — les 5 savoirs sur une seule ligne | |||
Simulacre — identité, âge, Ka-Soleil, degré et les 5 vécus sur une seule ligne (c'était le bloc le plus problématique, il avait aussi une ligne vide entre simulacre_degre et simulacre_vecu1) | |||
Le principe est toujours le même : en MediaWiki, une ligne vide entre deux {{#if}} dans une cellule de tableau génère un <p> — donc un espace visible même si les paramètres sont vides. En mettant tout sur une seule ligne, les <br /> conditionnels gèrent les retours à la ligne uniquement quand il y a du contenu. | |||
Template pnj v4 | |||
TXT | |||
En termes d'alignement, je vois que, deuxième ligne, dans la colonne de droite, la valeur metamorphe et metamorphe_niveau sont un peu plus bas que le titre de la rubrique à gauche '''Métamorphe'''. En effet, le résultat à l'affichage est effectivement : Métamorphe (en grais) et juste à droite en colonne 2 : Satyre— Degré '''6''', sauf que Satyre— Degré '''6''' est légèrement plus bas que Métamorphe. Comment aligne le tout vers le haut ? | |||
00:54 | |||
Diagnosed vertical alignment issue and devised systematic CSS fix | |||
Le problème : le vertical-align:top est sur la cellule d'en-tête (colonne gauche) mais pas sur la cellule de données (colonne droite). Il faut l'ajouter aux deux côtés. Le plus simple est de le mettre globalement sur le tableau pour que toutes les cellules héritent. | |||
Reconsidered CSS cascade behavior and identified proper cell alignment solution | |||
Hmm, en fait vertical-align sur le <table> ne cascade pas aux cellules en CSS. Il faut l'appliquer directement sur chaque cellule de données. Laissez-moi corriger proprement en l'ajoutant à toutes les cellules td. | |||
Reconnut l'alignement vertical d'éléments de mise en page | |||
La correction est simple mais il fallait l'appliquer partout : vertical-align:top sur le <table> ne cascade pas aux cellules en CSS. Il faut le mettre directement sur chaque <td>. | |||
Concrètement, chaque cellule de données est passée de {{!}} {{!}} à {{!}} style="vertical-align:top;" {{!}} — ce qui correspond en wikisyntaxe à | style="vertical-align:top;" |. Ça s'applique maintenant aux deux colonnes de chaque ligne, donc le label et la valeur seront toujours alignés en haut ensemble. | |||
Template pnj v5 | |||
TXT | |||
La correction ne fonctionne pas. Peux-tu traiter la cellule qui affiche la valeur de metamorphe= et de |metamorphe_niveau= comme les autres cellules plus loin ? | |||
00:57 | |||
Identifié problème d'alignement et envisagé correction de formatage | |||
Le problème : il y a un saut de ligne entre {{!}} style="vertical-align:top;" {{!}} et {{{metamorphe|}}}. MediaWiki l'interprète comme un espace supplémentaire. Les autres cellules ont le contenu sur la même ligne. | |||
Reformaté les cellules pour harmoniser leur présentation | |||
Le contenu {{{metamorphe|}}}... était sur la ligne suivante du marqueur de cellule — ce retour à la ligne créait un décalage vertical. Maintenant tout est sur la même ligne, comme les autres cellules du modèle. | |||
Template pnj v5 | |||
TXT | |||
Super, ça a corrigé le problème ! | |||
00:59 | |||
Pensant à reconnaître un message de confirmation sans demande d'action | |||
Parfait, content que ce soit réglé ! N'hésite pas si tu as d'autres ajustements à faire sur le modèle. | |||
J'aimerais enrichir le code quelques éléments : | |||
* sur la ligne que tu viens de corriger, il me manque l'affichage d'un argument : celui de type_neph | |||
En effet, dans une page de test qui appelle le modèle du code, les valeurs des arguments sont les suivantes : | |||
|nom=Zagrim | |||
|type_pnj=Nephilim | |||
|type_neph=Faërim | |||
|metamorphe=Satyre | |||
|metamorphe_niveau=6 | |||
|metamorphe_details= | |||
Et j'obtiens actuellement comme résultat : | |||
Métamorphe Satyre— Degré 6 | |||
J'aimerais que le résultat soit (avec les espaces et virgules qui vont bien), mais en s'assurant que tout ceci ne s'affiche que si les valeurs sont renseignés sur les arguments correspondant (sinon, je ne que rien ne s'affiche à la place de ces arguments) : | |||
Métamorphe Faërim, Satyre — Degré 6 | |||
Afficher plus | |||
01:03 | |||
Identifié la nécessité d'intégrer type_neph à la condition d'affichage | |||
Il faut aussi ajouter type_neph dans la condition d'affichage de la ligne, pour qu'elle apparaisse même si seul type_neph est renseigné : | |||
Orchestrated conditional display logic pour arguments multiples | |||
Deux modifications : | |||
La cellule affiche maintenant type_neph en premier, puis une virgule + metamorphe seulement si les deux sont renseignés, puis le degré et les détails comme avant. | |||
La condition d'affichage de la ligne inclut désormais type_neph, donc la ligne apparaît aussi si seul ce champ est rempli. | |||
Avec tes valeurs de test, ça donnera : Métamorphe → Faërim, Satyre — Degré 6 | |||
Template pnj v5 | |||
TXT | |||
Claude est une IA et peut faire des erreurs. Veuillez vérifier les réponses. | |||
Template pnj v5 · TXT | |||
Copier | |||
<includeonly> | <includeonly> | ||
<div class="noprint toccolours" style="float:right; padding:0; margin:0 0 .6em .6em; border-width:1px;"> | <div class="noprint toccolours" style="float:right; padding:0; margin:0 0 .6em .6em; border-width:1px;"> | ||
| Ligne 23 : | Ligne 275 : | ||
}} | }} | ||
|- | |- | ||
{{#if:{{{metamorphe|}}}{{{metamorphe_niveau|}}}{{{metamorphe_details|}}}| | {{#if:{{{type_neph|}}}{{{metamorphe|}}}{{{metamorphe_niveau|}}}{{{metamorphe_details|}}}| | ||
! style="vertical-align:top;" {{!}} Métamorphe | ! style="vertical-align:top;" {{!}} Métamorphe | ||
{{!}} style="vertical-align:top;" {{!}} {{{metamorphe|}}}{{#if:{{{metamorphe_niveau|}}}| — Degré '''{{{metamorphe_niveau}}}'''|}}{{#if:{{{metamorphe_details|}}}| <span style="color:#666;">({{{metamorphe_details}}})</span>|}} | {{!}} style="vertical-align:top;" {{!}} {{#if:{{{type_neph|}}}|{{{type_neph}}}|}}{{#if:{{{metamorphe|}}}|{{#if:{{{type_neph|}}}|, |}}{{{metamorphe}}}|}}{{#if:{{{metamorphe_niveau|}}}| — Degré '''{{{metamorphe_niveau}}}'''|}}{{#if:{{{metamorphe_details|}}}| <span style="color:#666;">({{{metamorphe_details}}})</span>|}} | ||
}} | }} | ||
|- | |- | ||
Version du 12 février 2026 à 02:04
{{FichePNJNL
|nom=
|type_pnj=
|resume=
|description=
|type_neph=
|metamorphe=
|metamorphe_niveau=
|metamorphe_details=
|ka_feu=
|ka_air=
|ka_eau=
|ka_terre=
|ka_lune=
|vecus=
|arcane_adoption=
|arcane_adoption_degre=
|arcane_grade=
|chute_khaiba_degre=
|chute_khaiba_type=
|chute_khaiba_note=
|chute_ombre_degre=
|chute_ombre_note=
|chute_narcose_degre=
|chute_narcose_lien=
|chute_narcose_note=
|sc_occultes=
|magie_grade=
|magie_voie=
|basse_magie=
|haute_magie=
|grand_secret=
|kabbale_grade=
|kabbale_monde=
|kabbale_malkuth=
|kabbale_yesod=
|kabbale_hod=
|kabbale_netzach=
|kabbale_tiphereth=
|kabbale_geburah=
|kabbale_chesed=
|kabbale_binah=
|kabbale_hochmah=
|kabbale_kether=
|alchimie_grade=
|alchimie_voie=
|oeuvre_noir=
|oeuvre_blanc=
|grand_oeuvre=
|ress_magie=
|ress_kabbale=
|ress_alchimie=
|quete_1=
|quete_1_degre=
|quete_2=
|quete_2_degre=
|quete_3=
|quete_3_degre=
|quete_4=
|quete_4_degre=
|quete_5=
|quete_5_degre=
|quete_grade=
|quete_grade_1=
|quete_grade_2=
|quete_grade_3=
|quete_grade_4=
|quete_grade_5=
|savoirs_esoteriques=
|savoir_1=
|savoir_1_degre=
|savoir_2=
|savoir_2_degre=
|savoir_3=
|savoir_3_degre=
|savoir_4=
|savoir_4_degre=
|savoir_5=
|savoir_5_degre=
|reseaux=
|ressources=
|simulacre_identite=
|simulacre_age=
|ka_soleil=
|simulacre_degre=
|simulacre_vecu1=
|simulacre_vecu1_degre=
|simulacre_vecu2=
|simulacre_vecu2_degre=
|simulacre_vecu3=
|simulacre_vecu3_degre=
|simulacre_vecu4=
|simulacre_vecu4_degre=
|simulacre_vecu5=
|simulacre_vecu5_degre=
|possessions=
|stase_objet=
|stase_degre=
}}