Extension:Labeled Section Transclusion/ru

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

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

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

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

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

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

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

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

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

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

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

Опционально можно добавить замещающий текст для исключённого раздела.

Пример:

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

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

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

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

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

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

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

На заметку:


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

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

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

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

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

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

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


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

Ограничения

 * В то время, как можно использовать расширение в различных пространствах имён, интервики-ссылки не разрешаются. Пока не представляется возможным, например, включить часть страницы Википедии в удалённую установку MediaWiki.
 * Section tags cannot themselves be transcluded in order to work on other pages. This means, for instance, that these tags cannot be embedded in a template using template parameters and parser functions. The  magic word does not work with section tags.   produces balanced tags, while the section tags uses singular tags. See.
 * По состоянию на 2014 год, теги разделов не действуют, когда используются в параметрах шаблонов. Если страница A содержит текст, у  нет доступа к X.

Требования
Это расширение требует установку MediaWiki с поддержкой функций парсера. 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).

Как установить
Скопируйте файлы расширения из Subversionи поместите их в your extensions directory. Затем включите их в 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