Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Модуль:Unsubst

Матеріал з Вікіпедії — вільної енциклопедії.
{{i}} Документація модуля[перегляд] [редагувати] [історія] [очистити кеш]

Модуль-помічник для полегшення перетворенняпідставлення шаблону на йоговключення.

Службові шаблони, такі як {{Fact}} або {{Недостатньо джерел}}, ніколи не повинні підставлятися. Хитрість для уникнення цього полягає у підставленні замість шаблону його включеної форми.

Застосування

Для перетворення шаблону на самопідставний обгорніть наявний код шаблону наступним:

{{ {{{|safesubst:}}}#invoke:Unsubst||$B= [ ... наявний код шаблону ... ]}}

Вікітекст для відображення при не підставленні мусить бути надано як «$B». У деяких шаблонах також можна побачити параметр «$N»; це було необхідно у старішій версії цього модуля, але більше не потрібно, і може бути усунено. Такі шаблони автоматично розміщуються вКатегорія:Виклики модулів:Unsubst із застосуванням $N.

Всі інші параметри, передані до#invoke, буде скопійовано до згенерованого виклику шаблону як значення за замовчуванням. Якщо значенням будь-якого з цих параметрів є «__DATE__», то це значення у згенерованому виклику шаблону буде замінено поточним місяцем та роком.

Деякі шаблони мають <noinclude>, але не мають відповідного </noinclude> в кінці шаблону. В таких випадках відсутнє </noinclude> мусить бути додане перед кінцевим}}.

Приклад

Розгляньмо шаблон Шаблон:Приклад, що містить наступний код:

{{ {{{|safesubst:}}}#invoke:Unsubst||foo=bar |date=__DATE__ |$B= [ ... Тут іде код шаблону ... ]}}
ОригіналРезультат
{{subst:приклад}}{{Приклад|foo=bar|date=грудень 2025}}
{{subst:приклад|foo=X}}{{Приклад|foo=X|date=грудень 2025}}
{{subst:приклад|baz=X}}{{Приклад|foo=bar|baz=X|date=грудень 2025}}
{{subst:приклад|date=січень 2001}}{{Приклад|foo=bar|date=січень 2001}}
Цей модуль містить код, запозичений з модуля«Unsubst»англійської Вікіпедії.
Переклад
Документація вище включена зМодуль:Unsubst/документація.(ред. |історія)
Дописувачі можуть експериментувати на підсторінках пісочниця(створити |дзеркало) та тести(створити) цього модуля.
Будь ласка, додавайте категорії до підсторінки/документація. Підсторінки цієї сторінки.
localp={}localspecialParams={['$N']='template name',-- Deprecated, but keeping until it is removed from transcluding templates['$B']='template content',}p['']=function(frame)ifnotframe:getParent()thenerror('{{#invoke:Unsubst|}} makes no sense without a parent frame')endifnotframe.args['$B']thenerror('{{#invoke:Unsubst|}} requires parameter $B (template content)')endifmw.isSubsting()then---- substing-- Combine passed args with passed defaultslocalargs={}fork,vinpairs(frame.args)doifnotspecialParams[k]thenifv=='__DATE__'thenv=mw.getContentLanguage():formatDate('F Y')endargs[k]=vendendfork,vinpairs(frame:getParent().args)doargs[k]=vend-- Build an equivalent template invocation-- First, find the title to uselocaltitleobj=mw.title.new(frame:getParent():getTitle())localtitleiftitleobj.namespace==10then-- NS_TEMPLATEtitle=titleobj.textelseiftitleobj.namespace==0then-- NS_MAINtitle=':'..titleobj.textelsetitle=titleobj.prefixedTextend-- Build the invocation body with numbered args first, then namedlocalret='{{'..titlefork,vinipairs(args)doifstring.find(v,'=',1,true)then-- likely something like 1=foo=bar, we need to do it as a named argbreakendret=ret..'|'..vargs[k]=nilendfork,vinpairs(args)doret=ret..'|'..k..'='..vendreturnret..'}}'else---- Not substing-- Just return the "body"returnframe.args['$B']..(frame.args['$N']andframe:getParent():getTitle()==mw.title.getCurrentTitle().prefixedTextand'[[Категорія:Виклики модулів:Unsubst із застосуванням $N]]'or'')endendreturnp
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Модуль:Unsubst&oldid=42406335

[8]ページ先頭

©2009-2025 Movatter.jp