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

Način rada

uredi

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

Funkcije

uredi

Spoljašnje

uredi

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

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

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

tokenizeName(fullName)

uredi

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

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

personNameToResponsibleName(fullName)

uredi

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

getPeopleAsWikitext(context, value, options)

uredi

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

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

generateAuthorLinks(context, src)

uredi

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

appendTitle(result, context, src)

uredi

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

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

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

appendOriginalTitle(result, context, src)

uredi

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

appendPublication(result, context, src)

uredi

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

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

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

appendPublicationData(result, context, src)

uredi

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

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

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

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

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

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

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

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

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

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

populateYear(src)

uredi

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

populateTitle(src)

uredi

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

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

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

Korišćena svojstva Vikipodataka

uredi
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