Modul:Sources/dok
Ovo je dokumentaciona podstranica za Модул:Sources
Ovaj Lua modul se koristi na veoma velikom broju stranica, tako da će promene na njemu biti široko primećene. Molimo da bilo kakve izmene testirate na podstranicama modula /pesak ili /testovi. Razmislite i o pokretanju rasprave o izmenama koje nameravate da unesete na stranici za razgovor pre njihovog primenjivanja. |
Ovaj modul je predmet zaštite stranica. To je veoma korišćen modul u upotrebi ogromnog broja stranica ili se supstituiše veoma često. Zbog vandalizma ili grešaka koje bi uticale na mnogo stranica ili trivijalnog uređivanja koje bi moglo da izazove probleme na serverima, modul je zaštićen od uređivanja. |
Pre bilo kakvog menjanja ovog šablona, molimo da prvo istestirate svoje promene na podstranici /igralište i uporedite ih na podstranici /testovi. Testirane promene onda treba da se unesu u jednoj izmeni u ovaj šablon. |
Način rada
urediOvaj modul generiše tekst korišćen u fusnotama izvedenim sa stavki Vikipodataka.
Funkcije
urediSpoljašnje
urediSpoljaš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)
urediVrać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)
urediVrać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
ureditokenizeName(fullName)
urediPretvara puno ime u par {prezimena odvojena razmacima, imena odvojena razmacima} . Realizovano u oblicima koji se mogu pronaći na Vikipodacima:
- Prezime, Ime
- Prezime, Ime Ime
- Prezime Prezime, Ime
- Ime Ime ogli Prezime
- Ime Ime de Prezime
- 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)
urediPretvara puno ime u oblik Prezime I. SI. koristeći tokenizeName.
personNameToResponsibleName(fullName)
urediPretvara puno ime u oblik I. SI. Prezime koristeći tokenizeName.
getPeopleAsWikitext(context, value, options)
urediPretvara spisak imena value u vikitekst prema spisku opcija options. Opcije moraju sadržati sledeća polja:
- separator — razdelitelj na spisku;
- conjunction — razdelitelj pre poslednjeg elementa spiska;
- format — funkcija koja transformiše imena u nekom normalizovanom obliku (na primer, personNameToAuthorName);
- nolinks — logička vrednost, mora biti tačno ako je povezivanje nepoželjno;
- 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)
urediNadodaje src[property] na result, razdvajajući ih linijom upisanom conjunctor. Ako je moguće, formira vezu do src[url].
generateAuthorLinks(context, src)
urediVraća spisak autora src.author, oformljen putem getPeopleAsWikitext i uokviren u <i class="wef_low_priority_links"></i>
.
appendTitle(result, context, src)
urediNadodaje 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)
urediAko 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)
urediNadodaje na result tekstualni niz : src.subtitle
ako je src.subtitle definisano.
appendOriginalTitle(result, context, src)
urediNadodaje na result tekstualni niz = src.originaltitle
ako je src.originaltitle definisano.
appendPublication(result, context, src)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje na result tekstualni niz — src.edition
ako je src.edition definisano.
appendPublicationData(result, context, src)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje 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)
urediNadodaje 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)
urediAko je src.url nedefinisan, ali je src.sourceId poznat, pokušava dodeliti src.url vezu.
populateYear(src)
urediAko je src.year nedefinisan, pokušava da ispuni sa src.dateOfPublication i src.dateOfCreation.
populateTitle(src)
urediAko je src.title nedefinisan, pokušava da pridruži src.url, ako i ovo nije moguće, dodeljuje ''(nedefinisan naslov)''
.
renderSource(context, src)
urediUnutrašnja funkcija koja generiše tekst koji će se prikazati u referenci. Ponaša se na sledeći način:
- Zapisuje src.lang u context.lang (ili i18nDefaultLanguage ako src.lang nije zapisan).
- Poziva populateUrl, populateTitle i populateYear.
- Formira promenljivu result, s početka definisanu sa generateAuthorLinks(context, src).
- Dosledno primenjuje na result funkciju appendTitle—appendAccessDate, dok je blok appendEditor—appendAccessDate dodatno uokviren sa
<span class="wef_low_priority_links"></span>
artificialSnaks(args)
urediPravi 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- Modul:Sources/utils
- Modul:Sources-authors (ne koristi se)
- Modul:Sources-title (ne koristi se)
- Modul:Sources-year (ne koristi se)
Korišćena svojstva Vikipodataka
urediSvojstvo | 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) |