Modèle:Ppoem

Ppoem permet la mise en forme de poèmes sur Wikisource. Il propose des fonctionnalités supplémentaires par rapport à la balise <poem>
.
Usage
[modifier]Ppoem, soit « Proper Poem » en anglais.
- Paramètres
1
: le contenu du poème ;gutter
left
,right
orboth
: à utiliser si vous affichez les numéros de ligne ou de vers et qu’ils n'apparaissent pas lors du premier appel du modèle ;class
: classes supplémentaires à placer sur l'élémentdiv
entourant le poème ;align
: alignement du texte, à placer sur l’élémentdiv
entourant le poème (exemple :center
) ;style
: styles supplémentaires à placer sur l'élémentdiv
entourant le poème ;
Syntaxe spéciale :
- les lignes qui commencent par
>>
sont alignées à droite ; - celles qui commencent par
<>
sont centrées ; - celles qui se terminent par
>>> XXX
ont un numéro de ligne « XXX » ajouté à droite, au-delà de la marge de droite ; - celles qui commencent par
XXX <<<
on un numéro de ligne « XXX » rajouté à gauche, au-delà de la marge de gauche ; - celles qui commencent par
{class}
reçoivent la classe HTMLclass
. La classe doit figurer dans la feuille de style CSS TemplateStyles ; - les espaces situés au début de la ligne sont remplacés par des espaces insécables
; - les double-points situés au début de la ligne sont transformés en espaces
 
.
Vous pouvez contrôler les strophes avec une syntaxe similaire :
- une ligne vide marque le début d’une nouvelle strophe ;
- une strophe préfixée avec
{class}
reçoit la classe HTMLclass
. La classe doit figurer dans la feuille de style TemplateStyles ; - une strophe préfixée avec
>>
est alignée à droite ; - une strophe préfixée avec
<>
est centrée.
Code wiki | Rendu |
---|---|
{{ppoem| 1 <<< {{lettrineP|O}}nce upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore, "While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. "'Tis some visiter," I muttered, "tapping at my chamber door— >>> 5 ::::::{raven_green} Only this, and nothing more." >> {{sc|The Raven}} {raven_green} 2 <<< La classe <code>raven_green</code> est appliquée À la strophe entière. >> Cette strophe est alignée à droite Comme ceci <> Et cette strophe est centrée Comme ceci <> ''Fin'' }} |
1 Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore, "While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. 5"'Tis some visiter," I muttered, "tapping at my chamber door— Only this, and nothing more." The Raven 2 La classe raven_green est appliquéeÀ la strophe entière. Cette strophe est alignée à droite Comme ceci Et cette strophe est centrée Comme ceci Fin |
Les lignes sont par défaut indentées de 4em, la première ligne étant suspendue, ce qui convient à peu près pour la majeure partie de la poésie imprimée.
Code wiki | Rendu |
---|---|
{{ppoem| Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore, While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. "'Tis some visiter," I muttered, "tapping at my chamber door— ::::::Only this, and nothing more." }} |
Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore, While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. "'Tis some visiter," I muttered, "tapping at my chamber door— Only this, and nothing more." |
Sauts de page
[modifier]Le modèle fonctionne sur plusieurs pages et produit un seul conteneur de poème (contrairement à la balise <poem>
).
Les paramètres start
et end
contrôlent l’assemblage des sections. Chacun dispose de quatre options : open/close
(par défaut), follow
, stanza
et same-line
:
- pour la première section, utilisez
start=open
(ou ne mettez aucun paramètre) ; - pour une section qui termine une strophe, utilisez
end=stanza
, puis commencez la section suivante avecstart=stanza
; - pour une section qui ne termine pas une strophe (de sorte que la section suivante poursuit la même strophe), la première section est marquée
end=follow
et la suivantestart=follow
; - pour une ligne qui se poursuit sur la page suivante, la première section est marquée
end=same-line
et la suivantestart=same-line
; - pour la dernière section, utilisez
end=close
(ou ne mettez aucun paramètre).
Ainsi, le paramètre end
d'une section et le paramètre start
de la section suivante ont toujours la même valeur. Pour un poème occupant une seule section, il n’est pas nécessaire d'utiliser les paramètres start
et end
.
Par exemple, pour un appel du modèle occupant quatre pages :
Code wiki | Rendu |
---|---|
{{ppoem|end=follow| Ceci est la première page et la strophe }} {{ppoem|start=follow|end=stanza| se poursuit sur cette page. Mais ensuite, la seconde page se termine à la fin d’une strophe.}} {{ppoem|start=stanza|end=same-line| Et la page suivante est une nouvelle strophe. Ensuite il y une ligne vraiment très, très longue }} {{ppoem|start=same-line|end=close| ''qui se poursuit sur la page suivante.'' Et finalement quelques lignes normales à la fin. }} |
Ceci est la première page et la strophe se poursuit sur cette page. Mais ensuite, la seconde
page se termine à la fin d’une strophe. Et la page suivante est une nouvelle strophe. Ensuite il y une ligne vraiment très, très longue qui se poursuit sur la page suivante. Et finalement quelques lignes normales à la fin. |
Dans l’espace de noms Page, le modèle s’ouvre et se ferme sur chaque page, de sorte que le rendu sera correct aussi bien dans cet espace de noms que dans l’espace principal, du moment que les ppoem
s attenants sur les pages précédente et suivante utilisent les paramètres start
et end
correspondants.
Lettrine
[modifier]Un contenu flottant, tel qu’une {{lettrineP}}
, devrait être placé normalement.
Avertissement : l’indentation n’est toutefois pas correcte, de sorte qu’une autre solution devrait probablement être trouvée.
Code wiki | Rendu |
---|---|
{{ppoem| {{lettrineP|B}}EHOLD these acts and scan them well behold their pervers way: These left the lord, these did his truth which shold have ben their stay. }} |
BEHOLD these acts and scan them well behold their pervers way: These left the lord, these did his truth which shold have ben their stay. |
Accolades
[modifier]Les accolades fonctionnent comme prévu (à l’aide de la syntaxe >>>
pour du flottant à droite):
Code wiki | Rendu |
---|---|
{{ppoem| No Place so Sacred from such Fops is barr'd, Nor is ''Paul's Church'' more safe than ''Paul's Church-yard'': Nay, run to ''Altars''; ''there'' they'll talk you dead; For ''Fools'' rush in where ''Angels'' fear to tread. Distrustful ''Sense'' with modest Caution speaks; >>> {{Accolade|d|3}} It still ''looks home'', and ''short Excursions'' makes; But ''ratling'' Nonsense in full ''Vollies'' breaks; }} |
No Place so Sacred from such Fops is barr'd, Nor is Paul's Church more safe than Paul's Church-yard: Nay, run to Altars; there they'll talk you dead; For Fools rush in where Angels fear to tread. Distrustful Sense with modest Caution speaks; It still looks home, and short Excursions makes; But ratling Nonsense in full Vollies breaks; |
Ponctuation flottante
[modifier]Le modèle fonctionne aussi avec une ponctuation flottante, par exemple des guillemets situés en marge du poème.
Code wiki | Rendu |
---|---|
{{ppoem|1= <span class="wst-fqm" style="float:left; text-align:right; margin-left:-3em; width:3em;">« </span>Je suis l’esprit, vivant au sein des choses mortes. Je sais forger les clefs quand on ferme les portes ; Je fais vers le désert reculer le lion ; Je m’appelle Bacchus, Noé, Deucalion ; Je m’appelle Shakspeare, Annibal, César, Dante ; }} |
« Je suis l’esprit, vivant au sein des choses mortes. Je sais forger les clefs quand on ferme les portes ; Je fais vers le désert reculer le lion ; Je m’appelle Bacchus, Noé, Deucalion ; Je m’appelle Shakspeare, Annibal, César, Dante ; |
Remarques :
- dans ce code, le paramètre de
{{ppoem}}
commence par1=
parce que sa valeur inclut un site=
; - pour une utilisation courante, le code de la ponctuation flottante devrait être intégré dans un modèle tel que fqm sur en.wikisource.
Comparaison avec <poem>
[modifier]Ci-dessous est présentée une comparaison du rendu de ce modèle et de celui produit par la balise <poem>
(or un code manuel <br/>
, qui est équivalent), tel que vu comme un EPUB on dans une liseuse électronique.
Avec la balise poem
:

{{ppoem}}
affiche des lignes indentées et une ligne alignée à droite ne causant pas de saut de paragraphe :

Avantages
[modifier]- La syntaxe est simple pour les situations courantes.
- Gère l’indentation avec première ligne suspendue (évite l’utilisation de
{{VersLong}}
pour les vers risquant de s'étendre sur plusieurs lignes). - Plus correct sémantiquement : les lignes sont des
span
, les strophes sont des paragraphes et les poèmes sont desdiv
. - Peut poursuivre une ligne d’une page à la suivante (ce qui n’est pas possible avec
<poem>
). - Combine deux éléments en un seul même lorsque la transclusion fait intervenir plusieurs pages.
- Produit des lignes distinctes avec un copier/coller.
- L’export est correct.
- Centrage des blocs automatique (ce qui n’est pas possible avec
<poem>
car les éléments différents n’ont pas la même largeur). - Il est très facile d'appliquer des classes ou mises en forme CSS à certaines lignes ou strophes.
- Peut remplacer
<poem>
directement.
Désavantages
[modifier]- Il faut prendre garde à faire correspondre les paramètres
start
etend
d’une page à la suivante. - Les lettrines entraînent parfois un retour à la ligne prématuré.
- Parce que le contenu du poème est passé en valeur d’un paramètre du modèle, il faut éviter les caractères
=
et|
dans le code. Une solution est d’utiliser la syntaxe{{ppoem|1=Ici le poème avec un signe =.}}
.
Notes
[modifier]
Template data
[modifier]Met en forme un poème
Paramètre | Description | Type | État | |
---|---|---|---|---|
1 | 1 | Le contenu du poème
| Contenu | obligatoire |
start | start | Le type de la première section du poème : une valeur parmi "open", "stanza", "follow", "same-line". Si la valeur n’est pas "open", elle doit être la même que celle du paramètre "end" précédent dans le même poème.
| Ligne de texte | suggéré |
end | end | Le type de la dernière section du poème : une valeur parmi "close", "stanza", "follow", "same-line". Si la valeur n’est pas "close", le {{ppoem}} suivant DOIT utiliser la même valeur pour son paramètre "start".
| Ligne de texte | suggéré |