|  Release status: stable | |
|---|---|
|  | |
| Implementation | Tag | 
| Description | Adds <poem>tag for poem formatting | 
| Author(s) | Nikola Smolenskitalk | 
| Latest version | continuous updates | 
| MediaWiki | 1.25+ | 
| Database changes | No | 
| License | Creative Commons Zero v1.0 Universal | 
| Download | Download extension  Git [?]: | 
| Tags <poem> | |
| Hooks used 
 | |
| Quarterly downloads | 85 (Ranked 94th) | 
| Public wikis using | 10,039 (Ranked 12th) | 
| Translate the Poem extension if it is available at translatewiki.net | |
| Issues | Open tasks · Report a bug | 
 The Poem extension allows easy formatting of poems and similar material within Wikitext.
 Once the extension is enabled, you can put any block of text within <poem></poem> tags, which has the following effects:
- All newlines are preserved by converting them into <br />tags
- The block of text is enclosed in <p>...</p>tags (as well as a div of class "poem")
- Colons at the beginning of a line are converted into 1 em indentation
- Spaces at the beginning of a line are preserved and no longer invoke the <pre>tag
The extension preserves wikilinks, bolding, etc. if they are present in the poem.
Usage
Example
| Input text | Output | 
|---|---|
| <poem>
In [[Wikipedia:Xanadu|Xanadu]] did Kubla Khan
A stately pleasure-dome decree:
Where Alph, the sacred river, ran
Through caverns measureless to man
Down to a sunless sea.
So twice five miles of fertile ground
With walls and towers were girdled round:
And there were gardens bright with sinuous rills,
Where blossomed many an incense-bearing tree;
And here were forests ancient as the hills,
Enfolding sunny spots of greenery.
</poem>
 | In Xanadu did Kubla Khan | 
Example with indentation
| Input text | Output | 
|---|---|
| <poem>
Une terre au flanc maigre, âpre, avare, inclément
Où les vivants pensifs travaillent tristement, 
::Et qui donne à regret à cette race humaine
Un peu de pain pour tant de labeur et de peine ; 
::Des hommes durs, éclos sur ces sillons ingrats ; 
Des cités d’où s’en vont, en se tordant les bras, 
::La charité, la paix, la foi, sœurs vénérables ; 
L’orgueil chez les puissants et chez les misérables ; 
</poem>
 | Une terre au flanc maigre, âpre, avare, inclément | 
Style
The poem text is wrapped in a div, which has no style by default; but inherits any style or class option passed to the poem.
For example, while indented text can be used for simple examples to prevent filling and draw a nice blue box, it can be hard to read in some cases, since long lines aren't broken. A similar, but somewhat better effect can be obtained with:
<poem style="border: 2px solid #d6d2c5; background-color: #f9f4e6; padding: 1em;">
When applied to the above example, the result is as follows:
In Xanadu did Kubla Khan
A stately pleasure-dome decree:
Where Alph, the sacred river, ran
Through caverns measureless to man
Down to a sunless sea.
So twice five miles of fertile ground
With walls and towers were girdled round:
And there were gardens bright with sinuous rills,
Where blossomed many an incense-bearing tree;
And here were forests ancient as the hills,
Enfolding sunny spots of greenery.
"compact" option
 Applying the <poem> tag with the compact option to a text of more than two lines, every line becomes a separate paragraph.
 (That is to say, it allows for more compact markup, not for a more compact output.)
Subsequent use of the <poem> tag with the compact option, with up to two newlines in between, gives just a single newline between texts, not a new paragraph.
Thus, applied to texts of more than two lines each, every line becomes a separate paragraph, except that the last line of each text and the first line of the next text are combined into one paragraph.
| Input | Output | Input | Output | 
|---|---|---|---|
| <poem>
One,
Two.
</poem>
<poem>
Three?
Four!
</poem>
 | One, Three? | <poem compact>
One,
Two.
</poem>
<poem compact>
Three?
Four!
</poem>
 | One, Three? | 
| Input | Output | Input | Output | 
|---|---|---|---|
| <poem>
One,
Two.
Extra.
</poem>
<poem>
Three?
Four!
Extra.
</poem>
 | One, Three? | <poem compact>
One,
Two.
Extra.
</poem>
<poem compact>
Three?
Four!
Extra.
</poem>
 | One, Three? | 
Problems and solutions
-  Variables and ParserFunctions do work inside the <poem>...</poem>container, but NOT within the<poem ... >tag itself; this prevents templates with code such as<poem style="{{{1}}}">.
-  One workaround is to use <div style="{{{1}}}"><poem> ... </poem></div>instead.
-  Another way is to use the #tagmagic word: {{#tag:poem| ... |style="{{{1}}}"}}.- NB: this would however seem not to work with the "compact" option.
 
| Input (inside OK, within not OK) | Output | 
|---|---|
| <poem style="{{{1|border: 1px solid Black;}}}">
One,
{{{2|Two.}}}
</poem>
 | One, | 
| Input (both inside and within OK) | Output | 
| <div style="{{{1|border: 1px solid Black;}}}">
<poem>
One,
{{{2|Two.}}}
</poem>
</div>
 | One, | 
| {{#tag:poem|
One,
{{{2|Two.}}}
|style="{{{1|border: 1px solid Black;}}}"
}}
 | One, | 
Installation
- Download and place the file(s) in a directory called Poemin yourextensions/folder.
- Add the following code at the bottom of your LocalSettings.php file: wfLoadExtension( 'Poem' ); 
 Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed. Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Vagrant installation:
- If using Vagrant, install with vagrant roles enable poem --provision
|  | This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. | 
|  | This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |