Extension:Labeled Section Transclusion/ru

Это расширение позволяет выборочно включать отмеченные фрагменты текста. Назначение данного тега подобно расширенной версии тега с нормальными включениями в вики, выбирая секции к включению. Он включен во всех вики Фонда Викимедиа.

В то время как обычные включения прежде всего предназначены для включения больших частей маленьких шаблонов, включение помеченных секций предназначено для малых частей больших страниц.

Однако, есть определенные различия. В обычном включении шаблонов, секции замечено за поведением, таким образом Вы можете включить или пропустить лишь одну (возможно прилегающую) секцию.

Здесь секции помечены названием, и поведение избирается вызывающим, который может включать или пропускать секции как нужно. Разные страницы могут включать или исключать выбранные секции, может быть произвольное число секций, которые можно произвольно перекрываться.

Пометка секций по названию чем за поведением позволяет ссылкам редактирования секций быть представленными более пригодно для получения выдержек из больших текстов, поскольку расширение теперь может считать секции, пропущенные в начале страницы, позволяя включённым секциям быть смещённым нужным образом.

Шаг 1: пометьте секции
Отметьте секции в тексте, используя теги следующим образом:

&lt;translate>this is a chapter&lt;/translate>

Учтите, что используются два индивидуальных маркера вместо нормальные XML-теги закрытия/открытия, что упрощает вложения или перекрытия секций. Это позволяет Вам включать теги секций, не беспокоясь о возможных воздействиях на другие секции.

Шаг 2а: Включите секцию
Сделать вызов функции парсера #lst для включения секции, например, для включения секции под названием chapter1 со страницы, названной articleX:

Целевая статья определяет расположение секции; её поведение определяется функцией парсера.

Шаг 2б: Включите страницу, но исключите секцию
Для того, чтобы включить страницу, но исключить определённую секцию, используйте функцию #lstx:

Опционально, Вы можете добавить текст, который заменит отмеченную секцию.

Пример:

Текст замещения появится на месте пропущенной (исключённой) секции.

Не смежные секции
Возможно дать нескольким секциям то же имя. В этом случае будет включена/выключена каждая секция с таким именем. Это особенно полезно для пометки различных обсуждений.

Диапазоны секций
Эти функции имеют дополнительный, опциональный аргумент для указания диапазона секций. Например,, для включения всего от начала первой главы до конца третьей главы. Это позволяет использовать пустые пары маркеров для пометки одного конца секции, возможно в шаблоне. Похожий механизм пока используют в French Wikisource.

Подстановка
Это также работает с подстановкой. Даже возможно, чтобы статья подставила свою секцию. Одно из использований этого обеспечивает аккуратный способ архивировать страницы обсуждения: отметьте текст, который следует заархивировать, используя и т.д. Далее, создайте страницу архива с текстом, используя archive, которая скопирует заархивированные секции. И напоследок, замените содержимое страницы обсуждения с archive для извлечения этих секций.

Включение разделов по их заголовкам
Существует опциональная поддержка включения секций текста помеченных нормальными заголовками, как. Если установлен, то это осуществляется при помощи функции 'lsth'.

Включение вводного раздела
Для включения вступления страницы (т.е. содержания до первого заголовка), используйте

Включение конкретного раздела
Вы также можете включить всё содержимое sectionX (который также включает все её подсекции, но исключает заголовок самой sectionX).

На заметку:


 * 1) Если у Вас есть более одной секции с одинаковым названием sectionX, включается только первая секция с таким названием.
 * 2) Убедитесь, что Вы вводить заголовок sectionX таким, какой он есть в вики-коде, а не так, как он показан. Например, если заголовок секции -  , то предлагается ввести « », а не « ».
 * 3) Соответствие является регистронезависимым, для предотвращения поломки ссылок из-за изменения регистра.

Включение нескольких разделов
Вы также можете включать от первого появления sectionX (исключая заголовок самой sectionX) до тех пор, пока не достигается следующее появление sectionY. Заметьте, что sectionY играет роль точки остановки, поэтому включение не содержит содержимое sectionY.

Замечания относительно пропущенных заголовков
Поскольку традиционное включение в МедиаВики не предназначено для включения секций, оно не учитывает пропущенные заголовки. В результате, если Вы собираетесь включить шаблон с несколькими заголовками, и пропустите первый заголовок, то все ссылки на редактирование секций будут указывать на неправильные секции в шаблоне.

Когда используется это расширение (с МедиаВики 1.9 или более поздним), функции #lst и #lsth считают разделы в «пропущенной» начальной части и смещают включённые разделы должным образом. Это позволяет этой ссылке указывать на правильные секции в простых случаях.

Заметьте, что #lstx не считает пропущенные заголовки, и пропущенные заголовки в пределах не смежных секций не смещаются. '''Но похоже, что это теперь было исправлено (вероятно при переходе на новый препроцессор МедиаВики). Включённые заголовки могут быть связаны с правильными секциями.'''.

Локализация
Внутренне, все парсеры функции используют префикс lst, что схоже с названием расширения. Поскольку этот акроним может сбивать с толку не+разработчиков, были введено читабельные англоязычные варианты, поэтому функции пока могут быть вызваны любым из названий.

Дополнительно, тег отныне может быть локализован (сейчас имеются варианты на английском, немецком и иврите), например:


 * Английский: ...
 * Немецкий:  ... 
 * Иврит (RTL): <קטע התחלה=א> ... <קטע סוף=א> (код «начала» справа, код «конца» слева.)
 * Португальский:  ...

Ограничения

 * В то время как можно использовать расширение сквозь пространства имён, интервики-ссылки не разрешаются. Пока не представляется возможным, например, включить часть страницы Википедия в удалённую установку МедиаВики.
 * Теги секций не могут быть включены сами по себе для того чтобы работать на других страницах. Это означает, например, что эти теги не могут быть включены в шаблоны, используя параметры шаблонов и функции парсера. Магическое слово  не работает с тегами секций.   приводит к парным тегам, в то время, как теги секций является одинарными. См..
 * As of 2014, section tags don't have any effect when used inside a template parameter. If page A contains a text, there's no way  can access X.

Требования
This extension requires a MediaWiki installation with support for parser functions. This support was mature in the 1.7 series, although some 1.6 versions may also be made to work.

MediaWiki parser enhancements
Support for regression testing parser functions was added in MediaWiki 1.9alpha (17410) in order to test this extension; if you want to run the regression tests in an older installation, you'll need to apply the patch for maintenance/ParserTests.inc from 7801

Support for offsetting edit section links (so that it can detect sections that aren't transcluded, and skip them) was added in MediaWiki 1.9alpha (18218).

Как установить
Copy the files of the extension from Subversion, and put it in your extensions directory. Then, include it in the LocalSettings.php:

To enable transcluding visual sections, also add

Since the code is still undergoing some restructuring in preparation for deployment on the official projects, the internal functions may change from time to time. Although there is currently no public API to call these functions, DynamicPageList2 calls some of the internal functions directly. To make this more stable, the file compat.php has been added, in order to provide a more consistent API. This file is not used by LST, and is only provided for compatibility with DPL2.

If you are using DPL2, you should also add

Примеры

 * wikisource:user:sanbeg/Includer is an early demonstration that shows several of the basic features.
 * Bible/2_John/1/1 is one of the first content pages to use the extension.

См. также

 * Subversion download
 * Brion's comments on the application of the extension at Wikisource
 * The original proposal (at en.wikisource)
 * 5881 contains older versions of the extension as attachments.
 * 7995 is a Wikimedia site request to have this extension installed at Wikisource.
 * 6563 describes a limitation in template transclusion that is addressed by this extension.
 * DynamicPageList (third-party) includes a slightly modified built-in version of Labeled Section Transclusion