Трансклюзія

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Transclusion and the translation is 90% complete.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎português • ‎русский • ‎українська • ‎العربية • ‎中文 • ‎日本語

Трансклюзія загалом є включенням умісту документу в інший документ за посиланням. У контексті вікі, це використання функціональності шаблону MediaWiki для включення того самого вмісту в кілька документів без необхідності редагувати ці документи окремо.

Як працює трансклюзія

Transclusion-simple.png
Transclusion-multiple-twit.png

Для трансклюзії будь-якої початкової сторінки (в єдиному проекті MediaWiki, як-от Вікіпедії) всередині іншої, цільової сторінки, включіть наступний код: {{SOMEPAGE}}

Щоразу, коли цільова сторінка А рендериться, весь уміст початкової сторінки Б (в даному випадку, SOMEPAGE), рендеритиметься у місці, де розміщено тег трансклюзії.

Наприклад, ви можете вирішити розмістити вітальне повідомлення на кожній сторінці обговорення новоприбулого. Трансклюзія створює «живе» посилання між шаблоном-сторінкою та цільовою сторінкою (сторінками), на яких повідомлення повинно з'явитися. Коли шаблон редагується, всі цільові сторінки також редагуються.

Ви також можете вирішити створити сторінку (шаблону) зі своєю поштовою адресою та включити, що шаблон на ній на тільки вашої сторінки, але й також усіх сторінок ваших друзів. Коли ви переміщуєте свій телевізор і диван до іншої квартири, ви можете змінити шаблон своєї адреси, і ця нова інформація автоматично оновиться на всіх сторінках ваших друзів.

Етимологія

Тед Нельсон закарбував термін «transclusion», а також «гіпертекст» і «гіпермедіа», у своїй книзі 1982 року Literary Machines.

Часткова трансклюзія

За допомогою розмітки «noinclude», «onlyinclude» та «includeonly» можливо трансклюзувати частину сторінки, а не її всю. Такі часткові трансклюзії також можуть бути досягнуті трансклюзуванням із інших сторінок, як-от підсторінок. Часто бажано не трансклюзувати деяку інформацію, як-от документацію та категорії шаблону.

Розмітка трансклюзії

  • noinclude - Розмітка <noinclude>...</noinclude> означає, що текст між тегами не трансклюзуватиметься на іншу сторінку, а з'являтиметься тільки на самій сторінці. Це корисно для документації шаблонів і категорій.
  • includeonly - Розмітка <includeonly>...</includeonly> означає. що текст між тегами використовуватиметься тільки, коли сторінка трансклюзується на іншу сторінку, і не з'являтиметься на самій сторінці. Це може бути корисним, наприклад, для додавання категорій на сторінки, що трансклюзують шаблон, без додавання самого шаблону до цих категорій.
  • onlyinclude - Розмітка <onlyinclude>...</onlyinclude> позначає, що тільки текст, оточений розміткою «onlyinclude», повинен бути включений на іншу сторінку, але з'являтиметься на самій сторінці, якщо не супроводжується також тегами «includeonly». Це найтонший із тегів частинної трансклюзії, тому що він часто бере гору над іншими. Якщо на сторінці є принаймні одна пара тегів «onlyinclude», то щоразу, коли ця сторінка трансклюзується, це єдиний матеріал усередині тегів «onlyinclude», який трансклюзується. Може бути декілька таких розділів, у кожному з яких деякий матеріал може бути в подальшому виключений тегами «noinclude», а також може бути оточений тегами «includeonly», так що він не з'являється на самій оригінальній сторінці. Але матеріал поза тегами «onlyinclude» ігноруватиметься, коли сторінка трансклюзуватиметься на іншу. Це може бути корисним, наприклад, для повторення малої частини однієї сторінки на другій: просто оточіть малу частину тегами «onlyinclude» та трансклюзуйте її на другу сторінку. Зверніть увагу, що, на відміну від <noinclude> і <includeonly>, <onlyinclude> матиме перевагу над огороджувальними тегами <nowiki>. Іншими словами, <nowiki><onlyinclude>Мій вміст</onlyinclude></nowiki> виробляє тільки «Мій вміст» у разі трансклюзії.

Підсторінки

Ви можете вирізати та вставити текст, який трансклюзуватиметься, на підсторінку, тоді використовуйте назву підсторінки в шаблоні трансклюзії. Цей підхід може бути використаний тільки, де увімкнені підсторінки; наприклад, в Англійській Вікіпедії підсторінки можуть бути використані тільки від сторінок Користувач, Обговорення чи Вікіпедія; наразі підсторінки не можуть бути створені від основних сторінок статей.

Приклад: ви хочете обговорити вилучення чи перенаправлення Кицька на Кіт. Спочатку, створіть підсторінку Обговорення:Кицька/Вилучімо Кицьку!, напишіть свій коментар на ній, потім трансклюзуйте її на Обговорення:Кицька та Обговорення:Кіт, використовуючи шаблон {{Обговорення:Кицька/Вилучімо Кицьку!}}. Коментарі, розміщені на будь-якій сторінці обговорення, показуватимуться на обох.

Спеціальні сторінки

See also:w:Wikipedia:Transclusion#Special pages and Manual:$wgAllowSpecialInclusion

Some pages on Special:Specialpages can be transcluded, such as Special:AllPages, Special:PrefixIndex, Special:NewFiles, Special:NewPages, Special:RecentChanges and Special:RecentChangesLinked.

Зразок: {{Спеціальна:Нові сторінки/3}} дає 3 нові сторінки.

Параметри URL можуть даватися як параметри шаблону, наприклад {{Special:RecentChanges|namespace=10|limit=5}}.

Альтернативи трансклюзії шаблоном

Вряди-годи ви можете захотіти використати шаблон, але з тієї чи іншої причини можете не хотіти використовувати трансклюзію. Автоматичне одноразове копіювання коду чи тексту шаблону в місце тегу шаблону називається підстановкою шаблону чи підклюзією (підстановка + трансклюзія). Для підклюзії коду чи тексту шаблону, тег шаблону модифікується зі стандартного тегу трансклюзії на тег підстановки простим додаванням підст:, створюючи тег із формою: Template:Підст:назва шаблону.

Labeled Section Transclusion

An extension called Labeled Section Transclusion enables marked sections of text to be transcluded. An extension with a somewhat similar function is PageVariableExtension.

Семантичний MediaWiki

The Semantic MediaWiki extension uses inline queries to query and display semantic data. There are currently two ways to perform transclusion or something similar:

  1. Transclusion proper. The display format "embedded" ensures that selected pages (mainspace articles, templates, etc.) are transcluded. As with templates, sections placed between noinclude tags will be omitted.
  2. Selected passages in a page can be assigned a property of type 'Text'. These selections can be requested by running an inline query for this type of property.

See inline queries for further information.

Сторінки, пов'язані з трансклюзією MediaWiki

Шаблони

Див. також