Ово је документациона подстраница за Модул: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)

уреди

Претвара пуно име у пар {презимена одвојена размацима, имена одвојена размацима} . Реализовано у облицима који се могу пронаћи на Википодацима:

  1. Презиме, Име
  2. Презиме, Име Име
  3. Презиме Презиме, Име
  4. Име Име огли Презиме
  5. Име Име де Презиме
  6. Име … Име Презиме (најмање једно и не више од четири појединачна имена)

Овде име, за разлику од презимена, може бити почетно. Ако није испуњен ниједан од горњих формата, враћа се пуно име непромењено.

personNameToAuthorName(fullName)

уреди

Претвара пуно име у облик Презиме И. СИ. користећи tokenizeName.

personNameToResponsibleName(fullName)

уреди

Претвара пуно име у облик И. СИ. Презиме користећи tokenizeName.

getPeopleAsWikitext(context, value, options)

уреди

Претвара списак имена value у викитекст према списку опција options. Опције морају садржати следећа поља:

  1. separator — разделитељ на списку;
  2. conjunction — разделитељ пре последњег елемента списка;
  3. format — функција која трансформише имена у неком нормализованом облику (на пример, personNameToAuthorName);
  4. nolinks — логичка вредност, мора бити тачно ако је повезивање непожељно;
  5. 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)

уреди

Унутрашња функција која генерише текст који ће се приказати у референци. Понаша се на следећи начин:

  1. Записује src.lang у context.lang (или i18nDefaultLanguage ако src.lang није записан).
  2. Позива populateUrl, populateTitle и populateYear.
  3. Формира променљиву result, с почетка дефинисану са generateAuthorLinks(context, src).
  4. Доследно примењује на result функцију appendTitle—appendAccessDate, док је блок appendEditor—appendAccessDate додатно уоквирен са &lt;span class="wef_low_priority_links"&gt;&lt;/span&gt;

artificialSnaks(args)

уреди

Прави вештачки снек, која повезује извор са идентификатором frame.args[1] путем својства наведено у (P248) и тема (P805), а такође прослеђује и аргументе (том, издање итд.).

Услужни подмодули

уреди

Коришћена својства Википодатака

уреди
Својство Напомене
аутор (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)