Extension:Labeled Section Transclusion/ru

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

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

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

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

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

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

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

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

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

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

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

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

Пример:

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

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

Section ranges
These functions have an additional, optional argument to specify a section range; i.e., to include everything from the beginning of chapter 1 to the end of chapter 3. This allows using empty marker pairs to mark one end of the section, possibly in a template. A similar mechanism is currently used at the French Wikisource.

Substitution
This also works with substitution; it's even possible for an article to substitute a section of itself. One use of this provides a neat way to archive talk pages: Mark the text to be archived using, etc. Then create an archive page with the text, using archive , which copies archived sections. Lastly, replace the contents of talk_page with archive to remove those sections.

Включение разделов по их заголовкам
There is optional support for transcluding sections of text marked with the normal headings, i.e. . If installed, this is done with the lsth function.

Включение вводного раздела
To transclude the introduction of a page (i.e. the content before the first heading), use

Включение конкретного раздела
You can also transclude the whole content of the sectionX (which includes all its sub-sections but excludes the heading of sectionX itself).

На заметку:


 * 1) Only the first occurrence of the sectionX is transcluded if you have more than one section with the same name.
 * 2) Make sure you type what the heading of sectionX is in wiki code, not how it is displayed. For example if the heading of the section is  , you should type " " not " ".
 * 3) The matching is case insensitive, to prevent links from breaking due to case changes.

Включение нескольких разделов
You can also transclude from the first occurrence of sectionX (excluding the heading of sectionX itself) until it reaches the next occurrence of sectionY. Note that sectionY acts as a stop point so the transclusion doesn't contain the content of sectionY.

Замечания относительно пропущенных заголовков
Since the traditional transclusion in MediaWiki isn't intended to transclude sections, it doesn't account for skipped headings. As a result, if you were to transclude a template with multiple headings, and skip the first heading, then all of the edit sections links would point to the wrong section in the template.

When this extension is used (with MediaWiki 1.9 or later), the #lst and #lsth functions count headings in the "skipped" beginning part, and offset transcluded headings appropriately. This will allow these links to point to the correct section in the simple case.

Note that #lstx does not count skipped headings, and that skipped headings within discontiguous sections are not offset. '''But it seems it has been fixed now (likely when ported to MediaWiki's new preprocessor). The transcluded headings can be linked to the correct sections'''.

Локализация
Internally, the parser functions all use the lst prefix, for consistency with the name of the extension. Since this acronym may be confusing to non-developers, readable English variants have been introduced, so the functions can currently be called from either name.

Additionally, the tag can now be localised (currently English, German, and Hebrew), i.e.:


 * Английский: ...
 * Немецкий:  ... 
 * Иврит (RTL): <קטע התחלה=א> ... <קטע סוף=א> ("start" code to the right and "end" code to the left)
 * Португальский:  ...

Ограничения

 * While it is possible to use this extension across namespaces, interwiki references are not resolved. It is not yet possible, for example, to include part of a Wikisource page into a remote MediaWiki installation.
 * 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.

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