Modul:Sources/dok

Izvor: Vojna Enciklopedija
Pređi na navigaciju Pređi na pretragu

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

Način rada

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

Funkcije

Spoljašnje

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)

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 Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value). i Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).. Podaci se zatim prenose u renderReferenceImpl za dalju obradu.

p.renderReference(frame, currentEntity, reference)

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

tokenizeName(fullName)

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)

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

personNameToResponsibleName(fullName)

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

getPeopleAsWikitext(context, value, options)

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)

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

generateAuthorLinks(context, src)

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

appendTitle(result, context, src)

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)

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)

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

appendOriginalTitle(result, context, src)

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

appendPublication(result, context, src)

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)

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)

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

appendPublicationData(result, context, src)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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

populateYear(src)

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

populateTitle(src)

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

renderSource(context, src)

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)

Pravi veštački snek, koja povezuje izvor sa identifikatorom frame.args[1] putem svojstva Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value). i Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value)., a takođe prosleđuje i argumente (tom, izdanje itd.).

Uslužni podmoduli

Korišćena svojstva Vikipodataka

Svojstvo Napomene
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value). koristi se za označavanje naslova članka u enciklopediji
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value). ako je potrebno prepraviti naziv oznake stavke
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).
Lua greška in Modul:WD at line 450: attempt to index field 'wikibase' (a nil value).

Testovi [ uređivanje ]