Extension:Labeled Section Transclusion/ru

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

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

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

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

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

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

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

На заметку:


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

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

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

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

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

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

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


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

Ограничения

 * В то время как можно использовать расширение сквозь пространства названий, интервики-ссылки не решаются. Пока не представляется возможным, например, включить часть страницы Википедия в удаленную установку МедиаВики.
 * Теги секций не могут быть включены сами по себе для того чтобы работать на других страницах. Это означает, например, что эти теги не могут быть включены в шаблонов используя параметры шаблонов и функции парсера. Магическое слово $ tag1 не работает с тегами секций. $ tag2 приводит к парным тегов, в то время, как теги секций является одинарными. См..
 * 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 on page C.

Требования
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