Modul:Sources/dok

S Vikipedije, slobodne enciklopedije

Ovo je dokumentaciona podstranica za Модул:Sources

Način rada[uredi izvor]

Ovaj modul generiše tekst korišćen u fusnotama izvedenim sa stavki Vikipodataka.

Funkcije[uredi izvor]

Spoljašnje[uredi izvor]

Spoljašnje funkcije prihvataju objekte tipa frejma i predviđeni su za pozivanje iz drugih modula ili preko funkcije raščlanjivanja {{#invoke:}}.

Direktno pozivanje na funkcije modula u člancima je krajnje nepoželjno! U tu svrhu koristite odgovarajuće šablone.

p.renderSource(frame)[uredi izvor]

Vraća tekst viki-veze do određenog izvora radi umetanja u referencu ili bibliografiju. Pogledajte šablone {{source}} i {{izvor}} koji koriste ovu funkciju. Podržava sledeće argumente:

  • frame.args[1] — anonimni argument koji određuje identifikator objekta na Vikipodacima pomoću kojeg bi veza trebalo da se generiše. Na primer, Q20750516.
  • frame.args['ref'] — postavlja oznaku ref, koja se kasnije može koristiti u šablonima poput {{sfn}}.
  • frame.args['ref-year'] — postavlja oznaku ref-year, koja se koristi slično kao na oznaci ref.
  • frame.args['part'] — dodatni argument za razjašnjenje dela izvora na koji se poziva (na primer, poglavlje u knjizi).
  • frame.args['parturl'] — veza za deo koji je opisan prethodnim argumentom.
  • frame.args['pages'] — određene stranice u izvoru na koji se referenca uspostavlja.
  • frame.args['url'] — omogućava izričito određenje koja veza će trebati da se postavi na izvor.
  • frame.args['volume'] — omogućava izričito naznačavanje toma izvora na koji se referenca odnosi.
  • frame.args['issue'] — omogućava izričito naznačavanje izdanja izvora na koji se referenca odnosi.

Većina argumenata proishodi iz utils.copyArgsToSnaks. Sam prenosni okvir se nalazi u p.currentFrame za dalju upotrebu i na osnovu argumenata prosleđenih funkciji artificialSnaks formira veštački delovi, koja povezuje na izvor pomenut u frame.args[1], kroz svojstva navedeno u (P248) i tema (P805). Podaci se zatim prenose u renderReferenceImpl za dalju obradu.

p.renderReference(frame, currentEntity, reference)[uredi izvor]

Vraća formatiran viki tekst reference datom izvoru. Podržava iste argumente kao i p.renderSource, a pored toga ref i ref-year. Pogledajte šablone {{source-ref}} i {{VP-fusnota}}, koristeći ovu funkciju. Takođe se koristi u Modul:Wikidata da biste prikazali veze navedene pored upita sa Vikipodataka. Ako nedostaju currentEntity i reference, stvara sopstveni snek pomoću funkcije artificialSnaks, nakon čega se prosleđuje u renderReferenceImpl. Ako je viki-tekst za referencu uspešno generisan, obvijen je oznakom <ref> uz pomoć frame:extensionTag, pri čemu naziv reference nastaje heširanjem prosleđenog viki-teksta u mw.hash.hashValue. Članci sa takvim fusnotama stavljaju se u Kategorija:Vikipedija:Članci sa izvorima iz Vikidata.

Unutrašnje[uredi izvor]

tokenizeName(fullName)[uredi izvor]

Pretvara puno ime u par {prezimena odvojena razmacima, imena odvojena razmacima} . Realizovano u oblicima koji se mogu pronaći na Vikipodacima:

  1. Prezime, Ime
  2. Prezime, Ime Ime
  3. Prezime Prezime, Ime
  4. Ime Ime ogli Prezime
  5. Ime Ime de Prezime
  6. Ime … Ime Prezime (najmanje jedno i ne više od četiri pojedinačna imena)

Ovde ime, za razliku od prezimena, može biti početno. Ako nije ispunjen nijedan od gornjih formata, vraća se puno ime nepromenjeno.

personNameToAuthorName(fullName)[uredi izvor]

Pretvara puno ime u oblik Prezime I. SI. koristeći tokenizeName.

personNameToResponsibleName(fullName)[uredi izvor]

Pretvara puno ime u oblik I. SI. Prezime koristeći tokenizeName.

getPeopleAsWikitext(context, value, options)[uredi izvor]

Pretvara spisak imena value u vikitekst prema spisku opcija options. Opcije moraju sadržati sledeća polja:

  1. separator — razdelitelj na spisku;
  2. conjunction — razdelitelj pre poslednjeg elementa spiska;
  3. format — funkcija koja transformiše imena u nekom normalizovanom obliku (na primer, personNameToAuthorName);
  4. nolinks — logička vrednost, mora biti tačno ako je povezivanje nepoželjno;
  5. preferids — logička vrednost, mora da bude tačno ako želite da vratite id sa Vikipodataka, a ne imena.

Ako na spisu ima više autora od broja maxAuthors (trenutno 10), ostali se zamenjuju sa i dr. ili njegovih analoga (ako je jezik određen u kontekstu, tada i18nEtAl[context.lang], inače se koristi i18nEtAlDefault).

appendProperty(result, context, src, conjunctor, property, url)[uredi izvor]

Nadodaje src[property] na result, razdvajajući ih linijom upisanom conjunctor. Ako je moguće, formira vezu do src[url].

generateAuthorLinks(context, src)[uredi izvor]

Vraća spisak autora src.author, oformljen putem getPeopleAsWikitext i uokviren u <i class="wef_low_priority_links"></i>.

appendTitle(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz src.part // src.title ili samo src.title ako src.part nije precizirano. Ako je moguće uokvirivanje src.part (ili src.title ako src.part nije precizirano) u src.url.

appendLanguage(result, context, src)[uredi izvor]

Ako se context.lang razlikuje od i18nDefaultLanguage (srpski u našem slučaju), tada se naznaka toga pripisuje result kroz Modul:Languages u formatu {{ref-lang}}.

appendSubtitle(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz : src.subtitle ako je src.subtitle definisano.

appendOriginalTitle(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz  = src.originaltitle ako je src.originaltitle definisano.

appendPublication(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz  // src.publication: src.publication.subtitle ako je definisano src.publication.subtitle, ili  // src.publication ako je definisano src.publication.

appendEditor(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz  / prefix src.editor ako je definisano src.editor, gde je prefix definisano prema context.lang (uobičajeno, pod red.).

appendEdition(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz  — src.edition ako je src.edition definisano.

appendPublicationData(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz u obliku  — src.place: src.publisher, src.year. ako je definisan bar jedan od navedenih parametara. Neodređeni deo je izostavljen, zajedno sa odgovarajućom interpunkcijom. Debelo crevo se koristi samo ako je navedeno src.place i bar neki od src.publisher i src.year, zarez se stavlja samo ako je naveden i src.publisher, i src.year. Crtica i tačka koriste se ako je naveden barem jedan od parametara.

appendVolumeAndIssue(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz u obliku  — letter_vol src.volume, letter_iss src.issue. ako je definisan bar jedan od navedenih parametara. Zarez se koristi ako su navedena oba parametra. letter_vol i letter_iss određeni na osnovu context.lang (na primer, T. i vыp. za ruski tekst, Vol. i Iss. za engleski).

appendPages(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz u obliku  — letter src.pages. ako je src.pages definisano, dok je kao separator u src.pages, ako je raspon stranica, koristi se simbol «—», a letter određena na osnovu context.lang (na primer, P. za engleski i S. za ruski).

appendNumberOfPages(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz u obliku  — src.numberOfPages letter ako je src.numberOfPages definisano. Pri čemu je letter utvrđeno iz context.lang (p. za engleski i s. za ruski).

appendBookSeries(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz u obliku  — (src.bookSeries; letter_vol src.bookSeriesVolume, letter_iss src.bookSeriesIssue) ako je src.bookSeries definisano. Tačka sa zarezom samo ako je definisano src.bookSeriesVolume ili src.bookSeriesIssue, zarez se koristi ako su navedena oba parametra. letter_vol i letter_iss utvrđeno iz context.lang, slično onome kako radi appendVolumeAndIssue.

appendBookSeries(result, context, src)[uredi izvor]

Nadodaje na result informaciju iz src.tirage ako je definisano. Format se određuje iz context.lang, za engleski jezik je to  — ed. size: src.tirage, a za ruski  — src.tirage эkz..

appendIdentifiers(result, context, src)[uredi izvor]

Nadodaje na result identifikatore ISBN, ISSN, DOI, PMID i arXiv ako su navedeni. Identifikatorima se dodeljuje crtica, tačniji format je definisan u tabelama options_commas, options_issn, options_doi, options_pmid i options_arxiv.

appendSourceId(result, context, src)[uredi izvor]

Nadodaje na result u <span class="wikidata_cite citetype" data-entity-id="src.sourceId"></span>, gde citetyle je src.type ako je ovo polje definisano i citetype_unknown u suporotnom slučaju.

appendAccessDate(result, context, src)[uredi izvor]

Nadodaje na result tekstualni niz u vidu <small>Provereno dd month yyyy.</small>, gde dd, month i yyyy potiču od src.accessdate ako je ovo polje definisano.

populateUrl(context, src)[uredi izvor]

Ako je src.url nedefinisan, ali je src.sourceId poznat, pokušava dodeliti src.url vezu.

populateYear(src)[uredi izvor]

Ako je src.year nedefinisan, pokušava da ispuni sa src.dateOfPublication i src.dateOfCreation.

populateTitle(src)[uredi izvor]

Ako je src.title nedefinisan, pokušava da pridruži src.url, ako i ovo nije moguće, dodeljuje ''(nedefinisan naslov)''.

renderSource(context, src)[uredi izvor]

Unutrašnja funkcija koja generiše tekst koji će se prikazati u referenci. Ponaša se na sledeći način:

  1. Zapisuje src.lang u context.lang (ili i18nDefaultLanguage ako src.lang nije zapisan).
  2. Poziva populateUrl, populateTitle i populateYear.
  3. Formira promenljivu result, s početka definisanu sa generateAuthorLinks(context, src).
  4. Dosledno primenjuje na result funkciju appendTitle—appendAccessDate, dok je blok appendEditor—appendAccessDate dodatno uokviren sa &lt;span class="wef_low_priority_links"&gt;&lt;/span&gt;

artificialSnaks(args)[uredi izvor]

Pravi veštački snek, koja povezuje izvor sa identifikatorom frame.args[1] putem svojstva navedeno u (P248) i tema (P805), a takođe prosleđuje i argumente (tom, izdanje itd.).

Uslužni podmoduli[uredi izvor]

Korišćena svojstva Vikipodataka[uredi izvor]

Svojstvo Napomene
autor (P50)
skraćeno ime autora (P2093)
jezik dela ili imena (P407)
izvorni jezik dela (P364)
odeljak (P958) koristi se za označavanje naslova članka u enciklopediji
naslov (P1476) ako je potrebno prepraviti naziv oznake stavke
podnaslov (P1680)
puno delo dostupno na (P953)
URL arhive (P1065)
URL reference (P854)
objavljeno u (P1433)
broj izdanja (P393)
izdavač (P123)
mesto izdavanja (P291)
urednik (P98)
stranica/e (P304)
broj strana (P1104)
tom (P478)
publikacija (P433)
nastanak (P571)
datum izdavanja (P577)
ISBN-13 (P212)
ISBN-10 (P957)
ISSN (P236)
redni broj (P1545)
(P818)
(P888)

Testovi [ uređivanje ][uredi izvor]