Модул:Соурцес/док
Ово је документациона подстраница за Модул:Sources
![]() | Овај Луа модул се користи на веома великом броју страница, тако да ће промене на њему бити широко примећене. Молимо да било какве измене тестирате на подстраницама модула /песак или /тестови. Размислите и о покретању расправе о изменама које намеравате да унесете на страници за разговор пре њиховог примењивања. |
![]() | Овај модул је предмет заштите страница. То је веома коришћен модул у употреби огромног броја страница или се супституише веома често. Због вандализма или грешака које би утицале на много страница или тривијалног уређивања које би могло да изазове проблеме на серверима, модул је заштићен од уређивања. |
![]() | Пре било каквог мењања овог шаблона, молимо да прво истестирате своје промене на подстраници /игралиште и упоредите их на подстраници /тестови. Тестиране промене онда треба да се унесу у једној измени у овај шаблон. |
Начин рада
уредиОвај модул генерише текст коришћен у фуснотама изведеним са ставки Википодатака.
Функције
уредиСпољашње
уредиСпољашње функције прихватају објекте типа фрејма и предвиђени су за позивање из других модула или преко функције рашчлањивања {{#invoke:}}
.
Директно позивање на функције модула у чланцима је крајње непожељно! У ту сврху користите одговарајуће шаблоне.
p.renderSource(frame)
уредиВраћа текст вики-везе до одређеног извора ради уметања у референцу или библиографију. Погледајте шаблоне {{source}} и {{извор}} који користе ову функцију. Подржава следеће аргументе:
frame.args[1]
— анонимни аргумент који одређује идентификатор објекта на Википодацима помоћу којег би веза требало да се генерише. На пример, Q20750516.frame.args['ref']
— поставља ознаку ref, која се касније може користити у шаблонима попут {{sfn}}.frame.args['ref-year']
— поставља ознаку ref-year, која се користи слично као на ознаци ref.frame.args['part']
— додатни аргумент за разјашњење дела извора на који се позива (на пример, поглавље у књизи).frame.args['parturl']
— веза за део који је описан претходним аргументом.frame.args['pages']
— одређене странице у извору на који се референца успоставља.frame.args['url']
— омогућава изричито одређење која веза ће требати да се постави на извор.frame.args['volume']
— омогућава изричито назначавање тома извора на који се референца односи.frame.args['issue']
— омогућава изричито назначавање издања извора на који се референца односи.
Већина аргумената происходи из utils.copyArgsToSnaks. Сам преносни оквир се налази у p.currentFrame за даљу употребу и на основу аргумената прослеђених функцији artificialSnaks формира вештачки делови, која повезује на извор поменут у frame.args[1]
, кроз својства наведено у (P248) и тема (P805). Подаци се затим преносе у renderReferenceImpl за даљу обраду.
p.renderReference(frame, currentEntity, reference)
уредиВраћа форматиран вики текст референце датом извору. Подржава исте аргументе као и p.renderSource, а поред тога ref и ref-year. Погледајте шаблоне {{source-ref}} и {{ВП-фуснота}}, користећи ову функцију. Такође се користи у Модул:Wikidata да бисте приказали везе наведене поред упита са Википодатака. Ако недостају currentEntity и reference, ствара сопствени снек помоћу функције artificialSnaks, након чега се прослеђује у renderReferenceImpl. Ако је вики-текст за референцу успешно генерисан, обвијен је ознаком <ref>
уз помоћ frame:extensionTag, при чему назив референце настаје хеширањем прослеђеног вики-текста у mw.hash.hashValue. Чланци са таквим фуснотама стављају се у Категорија:Википедија:Чланци са изворима из Викидата.
Унутрашње
уредиtokenizeName(fullName)
уредиПретвара пуно име у пар {презимена одвојена размацима, имена одвојена размацима} . Реализовано у облицима који се могу пронаћи на Википодацима:
- Презиме, Име
- Презиме, Име Име
- Презиме Презиме, Име
- Име Име огли Презиме
- Име Име де Презиме
- Име … Име Презиме (најмање једно и не више од четири појединачна имена)
Овде име, за разлику од презимена, може бити почетно. Ако није испуњен ниједан од горњих формата, враћа се пуно име непромењено.
personNameToAuthorName(fullName)
уредиПретвара пуно име у облик Презиме И. СИ. користећи tokenizeName.
personNameToResponsibleName(fullName)
уредиПретвара пуно име у облик И. СИ. Презиме користећи tokenizeName.
getPeopleAsWikitext(context, value, options)
уредиПретвара списак имена value у викитекст према списку опција options. Опције морају садржати следећа поља:
- separator — разделитељ на списку;
- conjunction — разделитељ пре последњег елемента списка;
- format — функција која трансформише имена у неком нормализованом облику (на пример, personNameToAuthorName);
- nolinks — логичка вредност, мора бити тачно ако је повезивање непожељно;
- preferids — логичка вредност, мора да буде тачно ако желите да вратите ид са Википодатака, а не имена.
Ако на спису има више аутора од броја maxAuthors (тренутно 10), остали се замењују са и др. или његових аналога (ако је језик одређен у контексту, тада i18nEtAl[context.lang], иначе се користи i18nEtAlDefault).
appendProperty(result, context, src, conjunctor, property, url)
уредиНадодаје src[property] на result, раздвајајући их линијом уписаном conjunctor. Ако је могуће, формира везу до src[url].
generateAuthorLinks(context, src)
уредиВраћа списак аутора src.author, оформљен путем getPeopleAsWikitext и уоквирен у <i class="wef_low_priority_links"></i>
.
appendTitle(result, context, src)
уредиНадодаје на result текстуални низ src.part // src.title
или само src.title
ако src.part није прецизирано. Ако је могуће уоквиривање src.part (или src.title ако src.part није прецизирано) у src.url.
appendLanguage(result, context, src)
уредиАко се context.lang разликује од i18nDefaultLanguage (српски у нашем случају), тада се назнака тога приписује result кроз Модул:Languages у формату {{ref-lang}}.
appendSubtitle(result, context, src)
уредиНадодаје на result текстуални низ : src.subtitle
ако је src.subtitle дефинисано.
appendOriginalTitle(result, context, src)
уредиНадодаје на result текстуални низ = src.originaltitle
ако је src.originaltitle дефинисано.
appendPublication(result, context, src)
уредиНадодаје на result текстуални низ // src.publication: src.publication.subtitle
ако је дефинисано src.publication.subtitle, или // src.publication
ако је дефинисано src.publication.
appendEditor(result, context, src)
уредиНадодаје на result текстуални низ / prefix src.editor
ако је дефинисано src.editor, где је prefix дефинисано према context.lang (уобичајено, под ред.
).
appendEdition(result, context, src)
уредиНадодаје на result текстуални низ — src.edition
ако је src.edition дефинисано.
appendPublicationData(result, context, src)
уредиНадодаје на result текстуални низ у облику — src.place: src.publisher, src.year.
ако је дефинисан бар један од наведених параметара. Неодређени део је изостављен, заједно са одговарајућом интерпункцијом. Дебело црево се користи само ако је наведено src.place и бар неки од src.publisher и src.year, зарез се ставља само ако је наведен и src.publisher, и src.year. Цртица и тачка користе се ако је наведен барем један од параметара.
appendVolumeAndIssue(result, context, src)
уредиНадодаје на result текстуални низ у облику — letter_vol src.volume, letter_iss src.issue.
ако је дефинисан бар један од наведених параметара. Зарез се користи ако су наведена оба параметра. letter_vol и letter_iss одређени на основу context.lang (на пример, Т.
и вып.
за руски текст, Vol.
и Iss.
за енглески).
appendPages(result, context, src)
уредиНадодаје на result текстуални низ у облику — letter src.pages.
ако је src.pages дефинисано, док је као сепаратор у src.pages, ако је распон страница, користи се симбол «—», а letter одређена на основу context.lang (на пример, P.
за енглески и С.
за руски).
appendNumberOfPages(result, context, src)
уредиНадодаје на result текстуални низ у облику — src.numberOfPages letter
ако је src.numberOfPages дефинисано. При чему је letter утврђено из context.lang (p.
за енглески и с.
за руски).
appendBookSeries(result, context, src)
уредиНадодаје на result текстуални низ у облику — (src.bookSeries; letter_vol src.bookSeriesVolume, letter_iss src.bookSeriesIssue)
ако је src.bookSeries дефинисано. Тачка са зарезом само ако је дефинисано src.bookSeriesVolume или src.bookSeriesIssue, зарез се користи ако су наведена оба параметра. letter_vol и letter_iss утврђено из context.lang, слично ономе како ради appendVolumeAndIssue.
appendBookSeries(result, context, src)
уредиНадодаје на result информацију из src.tirage ако је дефинисано. Формат се одређује из context.lang, за енглески језик је то — ed. size: src.tirage
, а за руски — src.tirage экз.
.
appendIdentifiers(result, context, src)
уредиНадодаје на result идентификаторе ISBN, ISSN, DOI, PMID и arXiv ако су наведени. Идентификаторима се додељује цртица, тачнији формат је дефинисан у табелама options_commas, options_issn, options_doi, options_pmid и options_arxiv.
appendSourceId(result, context, src)
уредиНадодаје на result у <span class="wikidata_cite citetype" data-entity-id="src.sourceId"></span>
, где citetyle је src.type ако је ово поље дефинисано и citetype_unknown у супоротном случају.
appendAccessDate(result, context, src)
уредиНадодаје на result текстуални низ у виду <small>Проверено dd month yyyy.</small>
, где dd, month и yyyy потичу од src.accessdate ако је ово поље дефинисано.
populateUrl(context, src)
уредиАко је src.url недефинисан, али је src.sourceId познат, покушава доделити src.url везу.
populateYear(src)
уредиАко је src.year недефинисан, покушава да испуни са src.dateOfPublication и src.dateOfCreation.
populateTitle(src)
уредиАко је src.title недефинисан, покушава да придружи src.url, ако и ово није могуће, додељује ''(недефинисан наслов)''
.
renderSource(context, src)
уредиУнутрашња функција која генерише текст који ће се приказати у референци. Понаша се на следећи начин:
- Записује src.lang у context.lang (или i18nDefaultLanguage ако src.lang није записан).
- Позива populateUrl, populateTitle и populateYear.
- Формира променљиву result, с почетка дефинисану са generateAuthorLinks(context, src).
- Доследно примењује на result функцију appendTitle—appendAccessDate, док је блок appendEditor—appendAccessDate додатно уоквирен са
<span class="wef_low_priority_links"></span>
artificialSnaks(args)
уредиПрави вештачки снек, која повезује извор са идентификатором frame.args[1] путем својства наведено у (P248) и тема (P805), а такође прослеђује и аргументе (том, издање итд.).
Услужни подмодули
уреди- Модул:Sources/utils
- Модул:Sources-authors (не користи се)
- Модул:Sources-title (не користи се)
- Модул:Sources-year (не користи се)
Коришћена својства Википодатака
уредиСвојство | Напомене |
---|---|
аутор (P50) | |
скраћено име аутора (P2093) | |
језик дела или имена (P407) | |
изворни језик дела (P364) | |
одељак (P958) | користи се за означавање наслова чланка у енциклопедији |
наслов (P1476) | ако је потребно преправити назив ознаке ставке |
поднаслов (P1680) | |
пуно дело доступно на (P953) | |
URL архиве (P1065) | |
URL референце (P854) | |
објављено у (P1433) | |
број издања (P393) | |
издавач (P123) | |
место издавања (P291) | |
уредник (P98) | |
страница/е (P304) | |
број страна (P1104) | |
том (P478) | |
публикација (P433) | |
настанак (P571) | |
датум издавања (P577) | |
ISBN-13 (P212) | |
ISBN-10 (P957) | |
ISSN (P236) | |
редни број (P1545) | |
(P818) | |
(P888) |