Rozšíření:Poem

This page is a translated version of the page Extension:Poem and the translation is 14% complete.
This extension comes with MediaWiki 1.21 and above. Thus you do not have to download it again. However, you still need to follow the other instructions provided.
Základní informace k tomuto rozšíření MediaWiki
OOjs UI icon advanced-invert.svg
Poem
Stav rozšíření: stabilní
Gci mediwiki.png
Zavádění Tag
Popis Přidává značku ‎<poem> pro formátování básní
Napsal(i) Nikola Smolenskidiskuse
Nejnovější verze průběžné aktualizace
MediaWiki 1.25+
Změny v databázi nedělá
Licence Creative Commons Zero v1.0 Universal
Zdrojový kód
‎<poem>
Přeložte rozšíření Poem, používá-li lokalizaci z translatewiki.net

Podívejte se kdo a v jaké verzi toto rozšíření používá.

Problémy Otevřené úkoly · Nahlásit chybu

Rozšíření Poem umožňuje snadné formátování básní a podobných útvarů v rámci Wiki text . Pokud je rozšíření povoleno, upravuje zobrazování textového bloku uzavřeného do značky ‎<poem>‎</poem> dle následujících pravidel:

  • Všechny nové řádky jsou zachovány, jako by byly opatřeny značkou ‎<br />
  • 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.

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

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

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 (this seems to be a bug, as it is opposite to what the term suggests).

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,
Two.

Three?
Four!

<poem compact>
One,
Two.
</poem>
<poem compact>
Three?
Four!
</poem>
One,
Two.
Three?
Four!
Input Output Input Output
<poem>
One,
Two.
Extra.
</poem>
<poem>
Three?
Four!
Extra.
</poem>

One,
Two.
Extra.

Three?
Four!
Extra.

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

Two.

Extra.
Three?

Four!

Extra.

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 #tag magic 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,
Two.

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

One,
Two.

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

One,
Two.

Installation

  • Pokud používáte Vagrant , instalujte s těmito parametry vagrant roles enable poem --provision
Manuální instalace
  • Download and place the file(s) in a directory called Poem in your extensions/ folder.
  • Na konec vašeho souboru LocalSettings.php přidejte řádek s následujícím kódem:
    wfLoadExtension( 'Poem' );
    
  • Yes Hotovo – Přejděte na stránku Special:Version vaší wiki, a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Pro ty co používají MediaWiki 1.24 a starší:

Výše uvedené instrukce se týkají instalace přes wfLoadExtension(), což je novější způsob instalace rozšíření. Pokud potřebujete toto rozšíření nainstalovat na starší verzi (MediaWiki 1.24 či starší), musíte místo wfLoadExtension( 'Poem' ); použít:

require_once "$IP/extensions/Poem/Poem.php";