Modül:belgeleme

Merhaba, buraya Modül:belgeleme kelimesinin anlamını aramaya geldiniz. DICTIOUS'da Modül:belgeleme kelimesinin tüm sözlük anlamlarını bulmakla kalmayacak, aynı zamanda etimolojisini, özelliklerini ve Modül:belgeleme kelimesinin tekil ve çoğul olarak nasıl söylendiğini de öğreneceksiniz. Modül:belgeleme kelimesi hakkında bilmeniz gereken her şey burada. Modül:belgeleme kelimesinin tanımı, konuşurken veya metinlerinizi yazarken daha kesin ve doğru olmanıza yardımcı olacaktır. XXX'in ve diğer kelimelerin tanımını bilmek, kelime dağarcığınızı zenginleştirir ve size daha fazla ve daha iyi dilsel kaynaklar sağlar.
Modül belgelemesi


--belgeleme

local tipler = require("Modül:belgeleme/tipler")

function belgeAdi(sayfa, belge)
	return (belge and mw.title.new(belge).exists) and mw.title.new(belge)
		or (mw.title.new(sayfa .. "/doc").exists and mw.title.new(sayfa .. "/doc")
		or mw.title.new(sayfa .. "/belge"))
end

function eslesiyorMu(tip)
	if tipler then
		return nil
	else
		return true
	end
end

function tabloSayi(T)
	local say = 0
	for _ in pairs(T) do say = say + 1 end
	return say
end

function aynisiVarMi(T, G)
	local durum = true
	
	for _,u in pairs(T) do
		if u == "Modül:"..G then durum = nil end
	end
	
	return durum
end

function lua(sayfa)
	local tablo = {}
	local modul = {}
	local baslik, i

	function loop(icerik, tablo, pat1, pat2, pat3)
		if mw.ustring.find(icerik, pat1) then
			local say = mw.ustring.find(icerik, pat1)
			icerik = mw.ustring.sub(icerik, say+pat3, -1)
			local yeni = mw.ustring.gsub(icerik, pat2, "")
			if mw.ustring.len(yeni) < 50 and aynisiVarMi(tablo, yeni) then table.insert(tablo, "Modül:" .. yeni) end
			tablo = loop(icerik, tablo, pat1, pat2, pat3)
		end
		return tablo
	end
	
	function loopTemp(sayfa, modul) return loop(sayfa:getContent(), modul, "invoke", "|.*", 7) end
	function loopMod(sayfa, modul) return loop(sayfa:getContent(), modul, 'require%(Modül:', '%).*', 15) end
	function loopMod2(sayfa, modul) return loop(sayfa:getContent(), modul, 'mw%.loadData%(Modül:', '%).*', 19) end

	if sayfa.nsText == "Şablon" and mw.ustring.find(sayfa:getContent(), "invoke") then
		loopTemp(sayfa, modul)
		baslik = "şablon"
		i = tabloSayi(modul)
	end

	if sayfa.nsText == "Modül" and (mw.ustring.find(sayfa:getContent(), 'require%(%pModül:') or mw.ustring.find(sayfa:getContent(), 'mw%.loadData%(%pModül:')) then
		loopMod(sayfa, modul)
		loopMod2(sayfa, modul)
		baslik = "modül"
		i = tabloSayi(modul)
	end

	if modul then
		table.insert(tablo, '<div class="noprint plainlinks" style="font-size:small; float: right; margin: 0.5em 0 0.5em 1em; background: #f8f9fa; clear: both; border: 1px #c8ccd1 solid; border-radius: 2px; padding: 5px;">'
			..'<div style="display:inline-block;vertical-align:middle;padding-right: 10px">'
			..']'
			..'</div><div style="display:inline-block;vertical-align:middle;">'
			..'Bu '..baslik..' şu Lua modül'..(i == 1 and 'ünü' or 'lerini')..' kullanıyor:<br><ul>')
		
		table.insert(tablo, "<li>]</li><li>]</li>")
		
		table.insert(tablo, "</ul></div></div>")
	end
	
	return table.concat(tablo)
end

function goster(frame)
	--parametreleri yükleyelim
	local parametreler = {
		 = {},
		 = {},
		 = {},
		 = {},
		 = {},
	}
	
	local args = require("Modül:parameters").process(frame:getParent().args, parametreler)
	
	local cikti = {}
	
	if args.tip and eslesiyorMu(args.tip) then
		return error("Girdiğiniz belgeleme tipi mevcut değil, lütfen ] sayfasına bakın.")
	end
	
	local sayfa = mw.title.getCurrentTitle()
	local belge = args.tip and mw.title.new("Modül:belgeleme/tipler") or belgeAdi(sayfa.fullText, args)
	local tipBelgesi
	local duzenle, gecmis = belge:fullUrl { action = 'edit' }, belge:fullUrl { action = 'history' }
	
	table.insert(cikti, '<div style="padding-bottom:3px; border-bottom: 1px solid #aaa; margin-bottom:1ex">'
		.. '<span style="font-weight: bold; font-size: 125%;' .. (args and args or "") .. '">'
		.. ']')
	
	table.insert(cikti, (args or 
		(args.tip and mw.getContentLanguage():ucfirst(args.tip) .. " belgelemesi"
		or ((sayfa.nsText == "Modül" or sayfa.nsText == "Şablon") and sayfa.nsText .. " belgelemesi" or "Belgeleme"))) .. "</span>")

	if not args then
		table.insert(cikti, '<span class="editsection plainlinks" id="doc_editlinks" style="font-size: 90%; font-weight: bold;">')
		if args.tip then
			table.insert(cikti, ' ]')
		elseif belge.exists then
			table.insert(cikti, ' ] ['
				.. mw.getCurrentFrame():expandTemplate{title = "Tazele", args = {}} .. ']')
		else
			table.insert(cikti, ' ]')
		end
		table.insert(cikti, '</span></div>')
	end
	
	table.insert(cikti, '<div id="yansıtılan-şablon-doc-sayfası" class="dablink plainlinks" style="font-style: italic">')
	if belge.exists then
		table.insert(cikti, '<small>Bu belgeleme ] '
			.. '('
			.. ' &#124; ) sayfasından yansıtılmaktadır. '
			.. 'Arayüz düzenleyicilerinin deney yapabilmeleri için ayrıca ] sayfası kullanılabilir.</small><br />')
	end
	table.insert(cikti, "</div>")
	
	if args.tip then
		tipBelgesi = tipler(frame)
	end
	
	table.insert(cikti, lua(sayfa)..'\n\n')
	table.insert(cikti, args or tipBelgesi or (belge.exists and frame:expandTemplate{ title = ':'..belge.fullText } or ""))
	table.insert(cikti, '\n\n<div style="clear: both;"></div></div>')
	
	return table.concat(cikti)
end

return {goster = goster}