Movatterモバイル変換


[0]ホーム

URL:


Jump to content
MediaWiki
Search

Extension:Poem

From mediawiki.org
Translate this page
Languages:
This code base is maintained by theReader Experience team.Code review only for UBNs or security fixes.
This extensioncomes with MediaWiki 1.21 and later, so you do not need to download it. The remaining configuration instructions must still be followed.
MediaWiki extensions manual
Poem
Release status: stable
ImplementationTag
DescriptionAdds‎<poem> tag for poem formatting
Author(s)Nikola Smolenskitalk
Latest versioncontinuous updates
MediaWiki1.25+
Database changesNo
LicenseCreative Commons Zero v1.0 Universal
Download
‎<poem>
Translate the Poem extension if it is available at translatewiki.net
IssuesOpen tasks ·Report a bug

ThePoem extension allows easy formatting of poems and similar material withinWikitext.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

[edit]

Wikisource provides the best usage model for this extension.It uses several templates and a module to create indentation, line numbers, etc.SeeWikisource:Help:Poetry for an explanation of how this is used there.This requiresExtension:Scribunto andExtension:TemplateStyles, which are both now bundled as standard.

Example

[edit]
Input textOutput
<poem>In [[Wikipedia:Xanadu|Xanadu]] did Kubla KhanA stately pleasure-dome decree:Where Alph, the sacred river, ranThrough caverns measureless to manDown to a sunless sea.So twice five miles of fertile groundWith 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>

InXanadu 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.

Example with indentation

[edit]
Input textOutput
<poem>Une terre au flanc maigre, âpre, avare, inclémentOù les vivants pensifs travaillent tristement, ::Et qui donne à regret à cette race humaineUn 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
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 ;

Style

[edit]

The poem text is wrapped in a div, which has no style by default; but inherits anystyle orclass 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:

<poemstyle="border: 2px solid #d6d2c5; color: var(--color-base, #202122); background-color: var(--background-color-warning-subtle, #fdf2d5); padding: 1em;">

When applied to the above example, the result is as follows:

InXanadu 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

[edit]

Applying the‎<poem> tag with thecompact 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 thecompact 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.

InputOutputInputOutput
<poem>One,Two.</poem><poem>Three?Four!</poem>

One,
Two.

Three?
Four!

<poemcompact>One,Two.</poem><poemcompact>Three?Four!</poem>
One,
Two.
Three?
Four!
InputOutputInputOutput
<poem>One,Two.Extra.</poem><poem>Three?Four!Extra.</poem>

One,
Two.
Extra.

Three?
Four!
Extra.

<poemcompact>One,Two.Extra.</poem><poemcompact>Three?Four!Extra.</poem>
One,

Two.

Extra.
Three?

Four!

Extra.

Problems and solutions

[edit]
  • Variables and ParserFunctions do work inside the‎<poem>...‎</poem> container, but NOT within the<poem...> tag itself; this prevents templates with code such as<poemstyle="{{{1}}}">.
  • One workaround is to use<divstyle="{{{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
<poemstyle="{{{1|border:1pxsolidBlack;}}}">One,{{{2|Two.}}}</poem>

One,
Two.

Input (both inside and within OK)Output
<divstyle="{{{1|border:1pxsolidBlack;}}}"><poem>One,{{{2|Two.}}}</poem></div>

One,
Two.

{{#tag:poem|One,{{{2|Two.}}}|style="{{{1|border: 1px solid Black;}}}"}}

One,
Two.


Installation

[edit]
This extensioncomes with MediaWiki 1.21 and later, so you do not need to download it. The remaining configuration instructions must still be followed.
  • Download and move the extractedPoem folder to yourextensions/ directory.
    Developers and code contributors should install the extensionfrom Git instead, using:
    cdextensions/gitclonehttps://gerrit.wikimedia.org/r/mediawiki/extensions/Poem
  • Add the following code at the bottom of yourLocalSettings.php file:
    wfLoadExtension('Poem');
  • YesDone – Navigate toSpecial:Version on your wiki to verify that the extension is successfully installed.


Vagrant installation:

  • If usingVagrant, install withvagrant roles enable poem --provision
This extension is being used on one or moreWikimedia 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'sCommonSettings.php andInitialiseSettings.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'sSpecial: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.
Retrieved from "https://www.mediawiki.org/w/index.php?title=Extension:Poem&oldid=7917512"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp