Расширение:Poem

This page is a translated version of the page Extension:Poem and the translation is 49% complete.
Это расширение поставляется с MediaWiki 1.21 и выше. Таким образом, вам не нужно загружать его снова. Тем не менее, вы всё равно должны следовать другим инструкциям.
Справка по расширениям MediaWiki
OOjs UI icon advanced-invert.svg
Poem
Статус релиза: стабильный
Gci mediwiki.png
Реализация Тег
Описание Добавляет тег ‎<poem> для форматирования стихотворения
Автор(ы) Nikola Smolenskiобсуждение
Последняя версия постоянное обновление
MediaWiki 1.25+
Изменения БД Нет
Лицензия Creative Commons Zero v1.0 Universal
Загрузка
‎<poem>
Переведите расширение Poem если оно доступно на translatewiki.net

Проверьте использование и версию.

Проблемы Открытые задачи · Сообщить об ошибке

Расширение Poem позволяет легко форматировать стихотворения и аналогичный материал в Викитекст. 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.

Использование

Пример

Input text Результат
<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 Результат
<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.

Ввод Результат Ввод Результат
<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!
Ввод Результат Ввод Результат
<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) Результат
<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

  • Если вы используете Vagrant , установите с помощью vagrant roles enable poem --provision
Ручная установка
  • Скачайте и распакуйте файл(ы) в папку с названием Poem в вашей папке extensions/.
  • Добавьте следующие строки в конец файла LocalSettings.php:
    wfLoadExtension( 'Poem' );
    
  •   Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

Для использующих MediaWiki 1.24 или более ранние версии:

В приведенных выше инструкциях описывается новый способ установки этого расширения с использованием wfLoadExtension(). Если вам нужно установить это расширение на более ранние версии (MediaWiki 1.24 и более ранние), вместо wfLoadExtension( 'Poem' );, вам необходимо использовать:

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