Modül:belgeleme: Revizyonlar arasındaki fark
Görünüm
İçerik silindi İçerik eklendi
HastaLaVi2 (Mesaj | katkılar) çalışma |
HastaLaVi2 (Mesaj | katkılar) çalışma bitti |
||
(Aynı kullanıcının aradaki diğer 24 değişikliği gösterilmiyor) | |||
1. satır: | 1. satır: | ||
--belgeleme |
|||
local tipler = require("Modül:belgeleme/tipler") |
|||
function belgeAdi(sayfa, belge) |
function belgeAdi(sayfa, belge) |
||
return (belge and mw.title.new(belge).exists) and mw.title.new(belge) |
return (belge and mw.title.new(belge).exists) and mw.title.new(belge) |
||
or (mw.title.new( |
or (mw.title.new(sayfa .. "/doc").exists and mw.title.new(sayfa .. "/doc") |
||
or mw.title.new( |
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'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 |
||
13. satır: | 88. satır: | ||
["başlık-stili"] = {}, |
["başlık-stili"] = {}, |
||
["içerik"] = {}, |
["içerik"] = {}, |
||
["tip"] = {}, |
|||
} |
} |
||
18. satır: | 94. satır: | ||
local cikti = {} |
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 sayfa = mw.title.getCurrentTitle() |
||
local belge = belgeAdi(sayfa. |
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' } |
local duzenle, gecmis = belge:fullUrl { action = 'edit' }, belge:fullUrl { action = 'history' } |
||
28. satır: | 109. satır: | ||
table.insert(cikti, (args["başlık"] or |
table.insert(cikti, (args["başlık"] or |
||
( |
(args.tip and mw.getContentLanguage():ucfirst(args.tip) .. " belgelemesi" |
||
or "Belgeleme")) .. "</span>") |
or ((sayfa.nsText == "Modül" or sayfa.nsText == "Şablon") and sayfa.nsText .. " belgelemesi" or "Belgeleme"))) .. "</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 |
if args.tip then |
||
table.insert(cikti, ' [['.. duzenle .. ' Veriyi düzenle]]') |
|||
elseif belge.exists then |
|||
table.insert(cikti, ' [['.. duzenle .. ' Düzenle]] [' |
table.insert(cikti, ' [['.. duzenle .. ' Düzenle]] [' |
||
.. mw.getCurrentFrame():expandTemplate{title = "Tazele", args = {}} .. ']') |
.. mw.getCurrentFrame():expandTemplate{title = "Tazele", args = {}} .. ']') |
||
47. satır: | 130. satır: | ||
.. '(['.. duzenle .. ' düzenle]' |
.. '(['.. duzenle .. ' düzenle]' |
||
.. ' | ['.. gecmis .. ' geçmiş]) sayfasından yansıtılmaktadır. ' |
.. ' | ['.. gecmis .. ' geçmiş]) sayfasından yansıtılmaktadır. ' |
||
.. 'Arayüz |
.. '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 |
end |
||
table.insert(cikti, '\n\n') |
table.insert(cikti, lua(sayfa)..'\n\n') |
||
table.insert(cikti, args["içerik"] or (belge.exists and |
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>') |
table.insert(cikti, '\n\n<div style="clear: both;"></div></div>') |
||
return table.concat(cikti) |
|||
return mw.title.new("Şablon:başlık başı/belge"):getContent() |
|||
end |
end |
||
23.18, 6 Nisan 2021 itibarı ile sayfanın şu anki hâli
Bu belgeleme Modül:belgeleme/belge (düzenle | geçmiş) sayfasından yansıtılmaktadır. Arayüz düzenleyicilerinin deney yapabilmeleri için ayrıca Modül:belgeleme/deneme tahtası sayfası kullanılabilir.
--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'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]'
.. ' | ['.. 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}