İçeriğe atla

Modül:belgeleme: Revizyonlar arasındaki fark

Vikisözlük sitesinden
İçerik silindi İçerik eklendi
çalışma
çalışma bitti
 
(Aynı kullanıcının aradaki diğer 48 değişikliği gösterilmiyor)
1. satır: 1. satır:
--belgeleme


local tipler = require("Modül:belgeleme/tipler")
function belge_adi(baslik, belge)

if belge and mw.title.new(belge).exists then
function belgeAdi(sayfa, belge)
return belge
elseif mw.title.new(baslik.text .. "/doc").exists then
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")
return baslik.text .. "/doc"
or mw.title.new(sayfa .. "/belge"))
end

function eslesiyorMu(tip)
if tipler[tip] then
return nil
else
else
return baslik.text .. "/belge"
return true
end
end
end
end


function belge_var_mi(baslik, belge)
function tabloSayi(T)
local say = 0
if mw.title.new(belge_adi(baslik, belge)).exists then
for _ in pairs(T) do say = say + 1 end
return true
return say
else
end
return nil

function aynisiVarMi(T, G)
local durum = true
for _,u in pairs(T) do
if u == "Modül:"..G then durum = nil end
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[1] 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">'
..'[[Dosya:Lua-logo-nolabel.svg|30px|alt=Lua&#39;nın logosu|link=Vikisözlük:Scribunto]]'
..'</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>[[" .. table.concat(modul, "]]</li><li>[[") .. "]]</li>")
table.insert(tablo, "</ul></div></div>")
end
return table.concat(tablo)
end
end


25. satır: 88. satır:
["başlık-stili"] = {},
["başlık-stili"] = {},
["içerik"] = {},
["içerik"] = {},
["tip"] = {},
}
}
local args = require("Modül:parameters").process(frame:getParent().args, parametreler)
local args = require("Modül:parameters").process(frame:getParent().args, parametreler)
local cikti = {}
local cikti = {}
local baslik = mw.title.getCurrentTitle()
if args.tip and eslesiyorMu(args.tip) then
return error("Girdiğiniz belgeleme tipi mevcut değil, lütfen [[Modül:belgeleme/tipler]] 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[1])
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">'
table.insert(cikti, '<div style="padding-bottom:3px; border-bottom: 1px solid #aaa; margin-bottom:1ex">'
35. satır: 108. satır:
.. '[[File:Test Template Info-Icon - Version (2).svg|50px|link=]]')
.. '[[File:Test Template Info-Icon - Version (2).svg|50px|link=]]')
if args["başlık"] then
table.insert(cikti, (args["başlık"] or
(args.tip and mw.getContentLanguage():ucfirst(args.tip) .. " belgelemesi"
goster_aa = args["başlık"]
or ((sayfa.nsText == "Modül" or sayfa.nsText == "Şablon") and sayfa.nsText .. " belgelemesi" or "Belgeleme"))) .. "</span>")
else

if aa.nsText == "Modül" or aa.nsText == "Şablon" then
goster_aa = aa.nsText .. " belgelemesi"
else
goster_aa = "Belgeleme"
end
end
table.insert(cikti, goster_aa .. "</span>")
if not args["içerik"] then
if not args["içerik"] then
table.insert(cikti, '<span class="editsection plainlinks" id="doc_editlinks" style="font-size: 90%; font-weight: bold;">')
table.insert(cikti, '<span class="editsection plainlinks" id="doc_editlinks" style="font-size: 90%; font-weight: bold;">')
if belge_var_mi(baslik, args[1]) then
if args.tip then
table.insert(cikti, '[['.. mw.uri.fullUrl( belge_adi(baslik, args[1]), "action=edit" ) .. ' Düzenle]] ['
table.insert(cikti, ' [['.. duzenle .. ' Veriyi düzenle]]')
elseif belge.exists then
.. mw.getCurrentFrame():expandTemplate{title = "Tazele"} .. ']')
table.insert(cikti, ' [['.. duzenle .. ' Düzenle]] ['
.. mw.getCurrentFrame():expandTemplate{title = "Tazele", args = {}} .. ']')
else
else
table.insert(cikti, '[['.. mw.uri.fullUrl( belge_adi(baslik, args[1]), "action=edit" ) .. ' Oluştur]]')
table.insert(cikti, ' [['.. duzenle .. ' Oluştur]]')
end
end
table.insert(cikti, '</span></div>')
table.insert(cikti, '</span></div>')
59. satır: 126. satır:
table.insert(cikti, '<div id="yansıtılan-şablon-doc-sayfası" class="dablink plainlinks" style="font-style: italic">')
table.insert(cikti, '<div id="yansıtılan-şablon-doc-sayfası" class="dablink plainlinks" style="font-style: italic">')
if belge_var_mi(baslik, args[1]) then
if belge.exists then
table.insert(cikti, 'Bu belgeleme [[' .. belge_adi(baslik, args[1]) .. ']] '
table.insert(cikti, '<small>Bu belgeleme [[' .. belge.fullText .. ']] '
.. '<small style="font-style: normal">(['.. mw.uri.fullUrl( belge_adi(baslik, args[1]), "action=edit" ) .. ' düzenle]'
.. '(['.. duzenle .. ' düzenle]'
.. ' &#124; ['.. mw.uri.fullUrl( belge_adi(baslik, args[1]), "action=history" ) .. ' geçmiş]) sayfasından yansıtılmaktadır. '
.. ' &#124; ['.. gecmis .. ' geçmiş]) sayfasından yansıtılmaktadır. '
.. 'Arayüz düzenleyicilerin deney yapabilmeleri için ayrıca [[' .. baslik.text .. '/deneme tahtası]] sayfası kullanılabilir.</small><br /></div>')
.. 'Arayüz düzenleyicilerinin deney yapabilmeleri için ayrıca [[' .. sayfa.fullText .. '/deneme tahtası]] sayfası kullanılabilir.</small><br />')
end
end
table.insert(cikti, "</div>")
if args["içerik"] then
if args.tip then
tipBelgesi = tipler[args.tip](frame)
table.insert(cikti, args["içerik"] or (belge_var_mi(baslik, args[1]) and mw.getCurrentFrame():expandTemplate{title = belge_adi(baslik, args[1])}) or "")
table.insert(cikti, '<div style="clear: both;"></div></div>')
end
end
table.insert(cikti, lua(sayfa)..'\n\n')
return cikti
table.insert(cikti, args["içerik"] 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
end



23.18, 6 Nisan 2021 itibarı ile sayfanın şu anki hâli

Modül belgelemesi [Düzenle] [Tazele]


--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[tip] 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[1] 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">'
			..'[[Dosya:Lua-logo-nolabel.svg|30px|alt=Lua&#39;nın logosu|link=Vikisözlük:Scribunto]]'
			..'</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>[[" .. table.concat(modul, "]]</li><li>[[") .. "]]</li>")
		
		table.insert(tablo, "</ul></div></div>")
	end
	
	return table.concat(tablo)
end

function goster(frame)
	--parametreleri yükleyelim
	local parametreler = {
		[1] = {},
		["başlık"] = {},
		["başlık-stili"] = {},
		["içerik"] = {},
		["tip"] = {},
	}
	
	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 [[Modül:belgeleme/tipler]] 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[1])
	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["başlık-stili"] and args["başlık-stili"] or "") .. '">'
		.. '[[File:Test Template Info-Icon - Version (2).svg|50px|link=]]')
	
	table.insert(cikti, (args["başlık"] 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["içerik"] 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, ' [['.. duzenle .. ' Veriyi düzenle]]')
		elseif belge.exists then
			table.insert(cikti, ' [['.. duzenle .. ' Düzenle]] ['
				.. mw.getCurrentFrame():expandTemplate{title = "Tazele", args = {}} .. ']')
		else
			table.insert(cikti, ' [['.. duzenle .. ' Oluştur]]')
		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 [[' .. belge.fullText .. ']] '
			.. '(['.. duzenle .. ' düzenle]'
			.. ' &#124; ['.. gecmis .. ' geçmiş]) sayfasından yansıtılmaktadır. '
			.. 'Arayüz düzenleyicilerinin deney yapabilmeleri için ayrıca [[' .. sayfa.fullText .. '/deneme tahtası]] sayfası kullanılabilir.</small><br />')
	end
	table.insert(cikti, "</div>")
	
	if args.tip then
		tipBelgesi = tipler[args.tip](frame)
	end
	
	table.insert(cikti, lua(sayfa)..'\n\n')
	table.insert(cikti, args["içerik"] 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}