Modul:CitWeb
Ugrás a navigációhoz
Ugrás a kereséshez
A modult a Modul:CitWeb/doc lapon tudod dokumentálni
--Version 2014_05_23
require 'Modul:No globals'
local ds = require('Modul:Dátumszűrés')
local getArgs = require('Modul:Arguments').getArgs
local args = {}
local lang = mw.getContentLanguage()
local lans = {
['an'] = true,
['ar'] = true,
['aze'] = true,
['be'] = true,
['bg'] = true,
['bn'] = true,
['bs'] = true,
['ca'] = true,
['chm'] = true,
['cy'] = true,
['cs'] = true,
['da'] = true,
['de'] = true,
['ee'] = true,
['el'] = true,
['en'] = true,
['eo'] = true,
['es'] = true,
['et'] = true,
['eu'] = true,
['fa'] = true,
['fi'] = true,
['fo'] = true,
['fr'] = true,
['fy'] = true,
['ga'] = true,
['gd'] = true,
['gl'] = true,
['grc'] = true,
['gu'] = true,
['he'] = true,
['hi'] = true,
['hr'] = true,
['ht'] = true,
['hu'] = true,
['hy'] = true,
['hz'] = true,
['id'] = true,
['is'] = true,
['it'] = true,
['ja'] = true,
['jp'] = true,
['ka'] = true,
['kk'] = true,
['km'] = true,
['kn'] = true,
['ko'] = true,
['ku'] = true,
['ky'] = true,
['lat'] = true,
['lb'] = true,
['lo'] = true,
['lit'] = true,
['lv'] = true,
['mk'] = true,
['mn'] = true,
['mo'] = true,
['ms'] = true,
['mt'] = true,
['my'] = true,
['ne'] = true,
['nl'] = true,
['nn'] = true,
['no'] = true,
['oc'] = true,
['pa'] = true,
['pl'] = true,
['pt'] = true,
['rm'] = true,
['ro'] = true,
['ru'] = true,
['rue'] = true,
['sa'] = true,
['sah'] = true,
['scn'] = true,
['se'] = true,
['sh'] = true,
['sk'] = true,
['slo'] = true,
['sm'] = true,
['sq'] = true,
['sr'] = true,
['sv'] = true,
['tam'] = true,
['te'] = true,
['tet'] = true,
['tg'] = true,
['th'] = true,
['tk'] = true,
['tag'] = true,
['to'] = true,
['tr'] = true,
['tat'] = true,
['ty'] = true,
['uk'] = true,
['ur'] = true,
['uz'] = true,
['vi'] = true,
['yi'] = true,
['zh'] = true
}
local hibavan = false
-- hibakeresésre szolgáló globális változó, ami tartalmazza az analízisre
-- szolgáló üzeneteket, az alábbi pop() függvény gyűjtögeti a tartalmát
local ou = ''
local function pop(...) -- idézőjeles rész és bővítmények az ou számára
do return end -- memóriatúllépést okoz, csak teszteléshez
local list = {...}
for _, var in pairs(list) do
ou = ou .. tostring(var) .. '\n '
mw.log(ou)
end
end
-- Egy hibaüzenet kezelése.
-- Igazra állítja a hibavan változót és visszatér a megjeleníthető hibaüzenettel
-- @argument about: A hibaüzenet (string)
local function error(about)
hibavan = true
local r = about
if type( about ) == 'string' then
if #about == 0 then
r = 'Lua-hiba'
end
else
r = tostring( about )
end
return '<span class="error">' .. r .. '</span>, '
end
-- URL-ben nem használható paraméterek (szóköz, macskaköröm stb.) kódolása
local function encodeURL(url)
if type(url) ~= 'string' then
return url
end
url = string.gsub(url, '%s','%%20')
url = string.gsub(url, '"', '%%22')
url = string.gsub(url, "'", '%%27')
url = string.gsub(url, '<', '%%3c')
url = string.gsub(url, '>', '%%3e')
url = string.gsub(url, '%[','%%5b')
url = string.gsub(url, '%]','%%5d')
url = string.gsub(url, '{', '%%7b')
url = string.gsub(url, '|', '%%7c')
url = string.gsub(url, '}', '%%7d')
return url
end
local function isISSN(str)
local v, chsum
str = string.gsub(str, '–' , '-') -- nagykötőjelből kicsi lesz
str = string.gsub(str, '—' , '-') -- hetvenkvirtesből kicsi lesz
local i, j = string.find(str, '-')
if i == j and i == 5 then -- rendben, az ötödik helyen van a kötőjel
v = string.sub(str,1,4) .. string.sub(str,6,8)
chd = string.sub (str,-1,-1)
else
return false
end
if chd == 'X' or tonumber(chd) then
if chd == 'X' then
chnum = 10
else
chnum = string.byte(chd, 1) - string.byte('0', 1)
end
else
return false
end
if tonumber(v) then
chsum = 0
for j = 8, 2, -1 do
local elsbyte = string.byte(v, (9 - j))
chsum = chsum + (elsbyte - string.byte('0', 1)) * j
end
else
return false -- nem számjegyek
end
local chnumdo = 11 - (chsum % 11)
if chnumdo == chnum then
return true
else
return false
end
end
--CitWeb
--[[
{{citweb |url= |szerző= |szerző2= |szerző3= |cím= |alcím= |közreműködők=
{{citweb |url= |aut= |aut2= |aut3= |tit= |subtit= |ass= --Alternatív paraméterekkel
|weblap= |nyelvkód= |hely= |kiadó= |dátum= vagy év= |oldal= |elér=
|work= |lan= |loc= |red= |date= vagy ann= |pag= |accd=
|formátum= |méret= |archívurl= |archívdátum= |doi= |egyéb= |idézet= }}
|form= |siz= |aurl= |archd= |doi= |misc= |quote= }}
--]]
-- Egy sablonparaméter lekérdezése.
-- Az üres paramétereket nilként adja át.
-- A sablonhívásban fel kell sorolni a paraméterneveket:
-- pl. getArg('aut', 'szerző', 'author')
local function getArg(...)
for _, v in ipairs{...} do
if args[v] and args[v] ~= '' then
return args[v]
end
end
return nil
end
local url, szerzo, szerzo2, szerzo3, szerzo4, szerzo5, szerzo6, szerzo7, szerzo8, szerzo9
local cim, alcim, forditas_cime, datum, publication_date, outdatum, nyelv, lan, english
local ass,weblap,red,loc, publication_place, ev, ho,nap, oldal, deadurl, form,size,formsiz,aurl,archd,doi, isbn, issn, accd,misc,quote
local szerzolink,szerzolink2,szerzolink3,szerzolink4,szerzolink5,szerzolink6,szerzolink7,szerzolink8,szerzolink9
local month, year, origyear, at, template_doc_demo, _format, tipus, sorozat, nopp
-- local id, arxiv, _asin, _asin_tld, bibcode, doi_brokendate, jfm, jstor
-- local lccn, mr, oclc, ol, osti, pmc, embargo, pmid, rfc, ssrn, zbl
local layurl, laysource, laydate, author_mask, author_name_separator, author_separator
local display_authors, display_editors, lastauthoramp, postscript, separator
local function _nilez()
szerzo, szerzo2, szerzo3, szerzo4, szerzo5 = nil
szerzo6, szerzo7, szerzo8, szerzo9, cim, alcim = nil
ass, weblap, lan, loc, red, ev, datum, accd, form, size, aurl, archd, misc = nil
end
local function angol_parameterek()
local szerzo_csaladneve, szerzo2_csaladneve, szerzo3_csaladneve, szerzo4_csaladneve
local szerzo5_csaladneve, szerzo6_csaladneve, szerzo7_csaladneve, szerzo8_csaladneve, szerzo9_csaladneve
local szerzo_keresztneve, szerzo2_keresztneve, szerzo3_keresztneve, szerzo4_keresztneve
local szerzo5_keresztneve, szerzo6_keresztneve, szerzo7_keresztneve, szerzo8_keresztneve, szerzo9_keresztneve
local szerkeszto_csaladneve, szerkeszto2_csaladneve, szerkeszto3_csaladneve, szerkeszto4_csaladneve
local szerkeszto_keresztneve, szerkeszto2_keresztneve, szerkeszto3_keresztneve, szerkeszto4_keresztneve
cim = getArg('title')
datum = getArg('date')
accd = getArg('accessdate')
aurl = encodeURL(getArg('archiveurl'))
archd = getArg('archivedate')
weblap = getArg('website', 'work')
red = getArg('publisher')
szerzo_csaladneve = getArg('last', 'author', 'last1', 'author1', 'authors')
szerzo2_csaladneve = getArg('last2', 'author2')
szerzo3_csaladneve = getArg('last3', 'author3')
szerzo4_csaladneve = getArg('last4', 'author4')
szerzo5_csaladneve = getArg('last5', 'author5')
szerzo6_csaladneve = getArg('last6', 'author6')
szerzo7_csaladneve = getArg('last7', 'author7')
szerzo8_csaladneve = getArg('last8', 'author8')
szerzo9_csaladneve = getArg('last9', 'author9')
szerzo_keresztneve = getArg('first', 'first1')
szerzo2_keresztneve = getArg('first2')
szerzo3_keresztneve = getArg('first3')
szerzo4_keresztneve = getArg('first4')
szerzo5_keresztneve = getArg('first5')
szerzo6_keresztneve = getArg('first6')
szerzo7_keresztneve = getArg('first7')
szerzo8_keresztneve = getArg('first8')
szerzo9_keresztneve = getArg('first9')
if szerzo_csaladneve then
szerzo = szerzo_csaladneve
if szerzo_keresztneve then
szerzo = szerzo .. ', ' .. szerzo_keresztneve
end
end
if szerzo2_csaladneve then
szerzo2 = szerzo2_csaladneve
if szerzo2_keresztneve then
szerzo2 = szerzo2 .. ', ' .. szerzo2_keresztneve
end
end
if szerzo3_csaladneve then
szerzo3 = szerzo3_csaladneve
if szerzo3_keresztneve then
szerzo3 = szerzo3 .. ', ' .. szerzo3_keresztneve
end
end
if szerzo4_csaladneve then
szerzo4 = szerzo4_csaladneve
if szerzo4_keresztneve then
szerzo4 = szerzo4 .. ', ' .. szerzo4_keresztneve
end
end
if szerzo5_csaladneve then
szerzo5 = szerzo5_csaladneve
if szerzo5_keresztneve then
szerzo5 = szerzo5 .. ', ' .. szerzo5_keresztneve
end
end
if szerzo6_csaladneve then
szerzo6 = szerzo6_csaladneve
if szerzo6_keresztneve then
szerzo6 = szerzo6 .. ', ' .. szerzo6_keresztneve
end
end
if szerzo7_csaladneve then
szerzo7 = szerzo7_csaladneve
if szerzo7_keresztneve then
szerzo7 = szerzo7 .. ', ' .. szerzo7_keresztneve
end
end
if szerzo8_csaladneve then
szerzo8 = szerzo8_csaladneve
if szerzo8_keresztneve then
szerzo8 = szerzo8 .. ', ' .. szerzo8_keresztneve
end
end
if szerzo9_csaladneve then
szerzo9 = szerzo9_csaladneve
if szerzo9_keresztneve then
szerzo9 = szerzo9 .. ', ' .. szerzo9_keresztneve
end
end
szerzolink = getArg('authorlink', 'authorlink1', 'author-link1', 'author1-link', 'author1link')
if szerzolink then szerzo = '[[' .. szerzolink .. ']]' end
szerzolink2 = getArg('authorlink2', 'author2-link')
if szerzolink2 then szerzo2 = '[[' .. szerzolink2 .. ']]' end
szerzolink3 = getArg('authorlink3', 'author3-link')
if szerzolink3 then szerzo3 = '[[' .. szerzolink3 .. ']]' end
szerzolink4 = getArg('authorlink4', 'author4-link')
if szerzolink4 then szerzo4 = '[[' .. szerzolink4 .. ']]' end
szerzolink5 = getArg('authorlink5', 'author5-link')
if szerzolink5 then szerzo5 = '[[' .. szerzolink5 .. ']]' end
szerzolink6 = getArg('authorlink6', 'author6-link')
if szerzolink6 then szerzo6 = '[[' .. szerzolink6 .. ']]' end
szerzolink7 = getArg('authorlink7', 'author7-link')
if szerzolink7 then szerzo7 = '[[' .. szerzolink7 .. ']]' end
szerzolink8 = getArg('authorlink8', 'author8-link')
if szerzolink8 then szerzo8 = '[[' .. szerzolink8 .. ']]' end
szerzolink9 = getArg('authorlink9', 'author9-link')
if szerzolink9 then szerzo9 = '[[' .. szerzolink9 .. ']]' end
datum = getArg('date', 'year')
origyear = getArg('origyear')
ass = getArg('others')
lan = getArg('language')
cim = getArg('title')
forditas_cime = getArg('trans_title')
loc = getArg('place','location')
red = getArg('publisher')
publication_date = getArg('publication-date')
if publication_date then
if select(2, ds.datumszuro(publication_date)) == select(2, ds.datumszuro(datum)) then
publication_date = nil
else
datum = publication_date
end
end -- csak akkor tekintjük létezőnek, ha különbözik a dátumtól
publication_place = getArg('publication-place')
szerkeszto_csaladneve = getArg('editor-last','editor1-last', 'editor', 'editors')
szerkeszto_keresztneve = getArg('editor-first', 'editor1-first')
szerkeszto2_csaladneve = getArg('editor2-last')
szerkeszto2_keresztneve = getArg('editor2-first')
szerkeszto3_csaladneve = getArg('editor3-last')
szerkeszto3_keresztneve = getArg('editor3-first')
szerkeszto4_csaladneve = getArg('editor4-last')
szerkeszto4_keresztneve = getArg('editor4-first')
local szerkesztok = {}
if szerkeszto_csaladneve then
szerkeszto = szerkeszto_csaladneve
if szerkeszto_keresztneve then
szerkeszto = szerkeszto .. ', ' .. szerkeszto_keresztneve
end
table.insert(szerkesztok, szerkeszto)
end
if szerkeszto2_csaladneve then
szerkeszto2 = szerkeszto2_csaladneve
if szerkeszto2_keresztneve then
szerkeszto2 = szerkeszto2 .. ', ' .. szerkeszto2_keresztneve
end
table.insert(szerkesztok, szerkeszto2)
end
if szerkeszto3_csaladneve then
szerkeszto3 = szerkeszto3_csaladneve
if szerkeszto3_keresztneve then
szerkeszto3 = szerkeszto3 .. ', ' .. szerkeszto3_keresztneve
end
table.insert(szerkesztok, szerkeszto3)
end
if szerkeszto4_csaladneve then
szerkeszto4 = szerkeszto4_csaladneve
if szerkeszto4_keresztneve then
szerkeszto4 = szerkeszto4 .. ', ' .. szerkeszto4_keresztneve
end
table.insert(szerkesztok, szerkeszto4)
end
if #szerkesztok > 0 then
szerkeszto = 'szerk.: ' .. table.concat(szerkesztok, ' – ')
end
oldal = getArg('page', 'pages')
nopp = getArg('nopp')
if not oldal then
at = getArg('at')
end
deadurl = getArg(' deadurl')
template_doc_demo = (getArg('template doc demo') == 'true')
_format = getArg('format')
if _format then
_format= '( '.._format..') '
end
isbn = getArg('isbn')
issn = getArg('issn')
--Quote
quote = getArg('quote')
doi = getArg('doi')
tipus = getArg('type')
sorozat = getArg('series', 'version')
if sorozat then
sorozat = 'Sorozat: ' .. sorozat .. ' '
else
sorozat = getArg('agency')
end
--[[ nem használja semmi
id = getArg('id')
if not id then
arxiv = getArg('arxiv')
_asin = getArg('asin')
_asin_tld = getArg('asin-tld')
bibcode = getArg('bibcode')
doi_brokendate = getArg('doi_brokendate')
jfm = getArg('jfm')
jstor = getArg('jstor')
lccn = getArg('lccn')
mr = getArg('mr')
oclc = getArg('oclc')
ol = getArg('ol')
osti = getArg('osti')
pmc = getArg('pmc')
embargo = getArg('embargo')
pmid = getArg('pmid')
rfc = getArg('rfc')
ssrn = getArg('ssrn')
zbl = getArg('zbl')
end
--]]
--Laysummary
layurl = getArg('layurl')
laysource = getArg('laysource')
laydate = getArg('laydate')
--Display options
author_mask = getArg('author-mask')
author_name_separator = getArg('author-name-separator')
author_separator = getArg('author-separator')
display_authors = getArg('display-authors')
display_editors = getArg('display-editors')
lastauthoramp = getArg('lastauthoramp')
postscript = getArg('postscript')
separator = getArg('separator')
end
local function magyar_e()
local function cleanArg(...)
local arg = getArg(...)
if arg then
return (string.gsub(arg, '[%[%]]', ''))
else
return nil
end
end
url = getArg('url')
szerzo = getArg('szerző', 'aut' )
szerzo2 = getArg('szerző2', 'aut2')
szerzo3 = getArg('szerző3', 'aut3')
szerzo4 = getArg('szerző4', 'aut4')
szerzo5 = getArg('szerző5', 'aut5')
szerzo6 = getArg('szerző6', 'aut6')
szerzo7 = getArg('szerző7', 'aut7')
szerzo8 = getArg('szerző8', 'aut8')
szerzo9 = getArg('szerző9', 'aut9')
cim = getArg('cím', 'tit')
alcim = getArg('alcím', 'subtit')
ass = getArg('ass', 'közreműködők')
weblap = getArg('weblap', 'work')
lan = getArg('lan', 'nyelvkód')
loc = getArg('loc', 'hely')
red = getArg('red', 'kiadó')
ev = cleanArg('év', 'ann')
datum = cleanArg('dátum', 'date')
oldal = getArg('oldal', 'pag')
accd = cleanArg('elér', 'accd')
form = getArg('form', 'formátum')
size = getArg('siz', 'méret')
aurl = getArg('aurl', 'archívurl')
archd = cleanArg('archd', 'archívdátum')
doi = getArg('doi')
misc = getArg('egyéb', 'misc')
quote = getArg('quote', 'idézet')
local x = szerzo or szerzo2 or szerzo3 or szerzo4 or szerzo5 or szerzo6
or szerzo7 or szerzo8 or szerzo9 or cim or alcim or ass or lan or loc
or red or ev or accd or form or size or aurl or archd or misc
return (x ~= nil)
end
local function _citweb()
_nilez()
local hiba_jelzes = nil
local igen_magyar = magyar_e()
if not igen_magyar then
angol_parameterek()
end
hiba_jelzes = ''
-- a szerzőket előre lépteti, társszerzőből szerzőt csinál stb.
local szerzok = {}
if szerzo then
table.insert(szerzok, szerzo)
end
if szerzo2 then
table.insert(szerzok, szerzo2)
end
if szerzo3 then
table.insert(szerzok, szerzo3)
end
if szerzo4 then
table.insert(szerzok, szerzo4)
end
if szerzo5 then
table.insert(szerzok, szerzo5)
end
if szerzo6 then
table.insert(szerzok, szerzo6)
end
if szerzo7 then
table.insert(szerzok, szerzo7)
end
if szerzo8 then
table.insert(szerzok, szerzo8)
end
if szerzo9 then
table.insert(szerzok, szerzo9)
end
if #szerzok > 0 then
szerzo = table.concat(szerzok, ' – ') .. ': '
else
szerzo = nil
end
--cím és alcím
local terminator
if cim then
cim = mw.text.trim(lang:ucfirst(cim))
else
hiba_jelzes = hiba_jelzes .. error('nincs elsődleges cím')
end
if cim and alcim then
alcim = lang:ucfirst(alcim)
if string.sub(cim, -1, -1) ~= ':' then
cim = cim .. ': ' .. alcim
else
cim = cim .. ' ' .. alcim
end
end
if cim then
terminator = string.sub(cim, -1, -1)
if terminator ~= '?' and terminator ~= '!' and terminator ~= ',' and terminator ~= '.' and terminator ~= '\166' then
cim = cim .. '.'
end
-- SZÜKSÉGES CSERÉK:
--newline [ ] | Ezek kellenek, mert az URL ráhúzásakor bezavarnak
--space [ ] |
if forditas_cime then
cim = cim .. ' [' .. forditas_cime .. '] '
end
cim = string.gsub(cim, '\n', ' ')
cim = string.gsub(cim, '%[', '[')
cim = string.gsub(cim, '%]', ']')
cim = string.gsub(cim, '%|', '|')
end
-- asszisztencia
if ass then
ass = lang:ucfirst(ass) .. ' '
end
url = getArg('url'); pop('url', url)
url = encodeURL(url)
-- weblap
-- pop('weblap', weblap or 'nincs eddig')
if not (weblap or red) and url then
local maradek, i, _
_, i = string.find(url, '//')
if i then
maradek = string.sub(url, i+1, -1)
_, i = string.find(maradek, '/')
if i then
weblap = string.sub(maradek, 1, i-1)
else
weblap = maradek
end
end
end
-- nyelvkód
if lan then
if cim == nil then
hiba_jelzes = hiba_jelzes .. ' ' .. error('nyelv cím nélkül')
else
if lans[lan] then
nyelv = ' ' .. mw.getCurrentFrame():expandTemplate{ title = lan, args = { lan } }
else -- különben mi magunk kiírjuk, mert így beszédesebb
hiba_jelzes = hiba_jelzes .. ' ' .. error('ismeretlen nyelvkód')
end
end
end
-- loc, red
local kiadas = loc
if red then
kiadas = (kiadas and kiadas .. ': ' or '') .. red
end
if kiadas and nyelv then
nyelv = nyelv .. '.'
elseif kiadas and weblap then
weblap = weblap .. '.'
end
-- form és size
local c = ''
if form then
c = form
end
if size then
if string.sub(size, -5, -1) == 'oldal' then
size = string.sub(size, 1, -6)
end
if c ~= '' then
c = c .. ': ' .. size .. ' oldal '
else
c = size .. ' oldal '
end
end
if c ~= '' then
formsiz = '(' .. c .. ')'
end
if ev and not datum then
datum = ev -- ha nincs dátum, akkor az év legyen a dátum
end
if datum then -- ha van dátum (most már vagy a dátum, vagy ennek hiányában az év)
local nyom =''
local nyom, dou = ds.datumszuro(datum)
if dou then
outdatum = '(' .. ds.honapnevesdate(dou) .. ') '
else
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás dátum')
end
end
-- oldaladatok
if oldal then
oldal = string.gsub(oldal, '-' , '–') -- kiskötőjelből nagy
oldal = string.gsub(oldal, '—' , '–') -- hetvenkvirtesből nagy
oldal = string.gsub(oldal, '%.,', ',') -- pontot követő veszőből vesszőt
oldal = string.gsub(oldal, '%.', '' ) -- pontból üreset
oldal = string.gsub(oldal, ',', '.,') -- végül vesszőből ponot követő vesszőt
if nopp == 'y' then
oldal = ' ' .. oldal
else
oldal = ' ' .. oldal .. '. o. '
end
end
-- Archiválva
aurl = encodeURL(aurl)
if archd then -- ha van dátum
local outarchd, dou
dou = select(2, ds.datumszuro(archd))
if dou then
outarchd = ds.honapnevesdate(dou)
if aurl then
archd = '<span title="' .. outarchd .. '">[' .. aurl .. ' arch]</span>'
else
hiba_jelzes = hiba_jelzes .. ' ' .. error('archívdátum van, de archívurl nélkül')
end
else
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás archívdátum')
end -- if dou
end -- if archd
-- elérés
if not accd then
accd = getArg('accessdate')
end
if accd then -- ha van elérés
local outaccd, dou
dou = select(2, ds.datumszuro(accd))
if dou then
outaccd = ds.honapnevesdate(dou)
accd = '(Hozzáférés: ' .. outaccd .. ')'
else
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás elérés')
end -- if dou
end -- if accd
if issn then
if isISSN (issn) then
issn = '<span title="' .. issn .. '" style="color:blue;">ISSN</span>'
else
hiba_jelzes = hiba_jelzes .. ' ' .. error('hibás ISSN: ') .. issn
end
else
issn = '' -- ha nem létezik, legyen üres
end
isbn = getArg('isbn'); pop('isbn=', isbn)
if isbn then
local isbn_helyes, hibas
isbn_helyes, isbn, hibas = require('Modul:CheckISBN').isISBN(isbn, true) -- linkelve az ISBN-ek
if not isbn_helyes then
pop('hibás ISBN', hibas)
hibavan = true
hiba_jelzes = hiba_jelzes .. ' ' .. hibas
end
end
if doi then
local doicontrol
doicontrol = string.sub(doi,1,2)
if doicontrol ~= '10' then
hiba_jelzes = hiba_jelzes .. ' ' .. error('doi kötelezően 10-zel kezdődik!')
else
doi = '<span title="' .. doi .. '">[http://dx.doi.org/' .. doi .. ' doi]</span>'
end
end
-- misc lekezelése
if misc then
misc = misc .. '.'
end
-- URL lekezelése
if url and cim then
url = encodeURL(url)
if deadurl and deadurl ~= 'no' and aurl then
cim = '[' .. aurl .. ' ' .. cim .. ']'
else
cim = '[' .. url .. ' ' .. cim .. ']'
end
end
--idézet
if quote then
quote = " ''„" .. quote .. "”''"
end
-- eredmény összeállítása
local s = {}
local function tabla(x)
if x then
table.insert(s, x)
end
end
if igen_magyar then
tabla(szerzo)
tabla(cim)
tabla(ass)
tabla(weblap)
tabla(nyelv)
tabla(kiadas)
tabla(outdatum)
tabla(oldal)
tabla(accd)
tabla(formsiz)
tabla(archd)
tabla(doi)
tabla(misc)
tabla(quote)
tabla(isbn)
else
tabla(szerzo)
tabla(cim)
tabla(_format)
tabla(nyelv)
if tipus then table.insert(s, ' (' .. tipus .. ')') end
tabla(ass)
tabla(weblap)
tabla(kiadas)
tabla(outdatum)
if origyear then table.insert(s, ' (' .. origyear .. ')') end
tabla(oldal)
tabla(at)
tabla(sorozat)
tabla(accd)
tabla(formsiz)
tabla(archd)
tabla(doi)
tabla(isbn)
tabla(issn)
end
-- tabla(ou)
if hibavan and (igen_magyar or not template_doc_demo) then
table.insert(s, hiba_jelzes .. '[[Kategória:Hibás paraméterezésű CitWeb-et tartalmazó lapok]]')
end
return mw.text.trim(table.concat(s, ' '))
end --citweb
local function run(frame)
args = getArgs(frame)
return _citweb()
end
return {
run = run -- az egyetlen átadandó függvény
}