local p = {} -- ********************************************************** -- şablonu üzerinden arama -- İlk hücredeki sayıyı satır numarasıyla değiştirir function p.AutoNumBox2(frame) local g = frame:getParent.args[1] local NumStr = tonumber (frame:getParent.args['Başlat'] or "1"); if g == nil then return "Veri yok" end g = g:gsub(".*.*", "%1") local Titul = g:sub(1, (g:find ("\n!") or 1) - 1) g = g:sub((g:find ("\n!") or 1)) g = g:gsub("||", "\n|") local Pos0 = 0 while g:find("|%-[^|]*(|[^\n]*\n)", Pos0 + 1) ~= nil do Pos1, Pos2 = g:find("|%-[^|]*(|[^\n]*\n)", Pos0 + 1) while g:find("|", Pos1 + 1) ~= nil and g:find("|", Pos1 + 1) < Pos2 do Pos1 = g:find("|", Pos1 + 1) end if g:find("%d", Pos1) ~= nil and g:find("%d", Pos1) < Pos2 then Pos3, Pos4 = g:find("%d+", Pos1) g = g:sub(1, Pos3 - 1)..NumStr..g:sub(Pos4 + 1) NumStr = NumStr + 1 end Pos0 = Pos2 end return "" end -- ********************************************************** -- Direkt Arama -- İlk hücredeki # karakterini satır numarasıyla değiştirir function p.AutoNumBox ( frame ) local NumStr = tonumber (frame.args['Başlat'] or "1"); local g = frame.args[1] g = g:gsub("^%s- -%s- -$", "", 1) pattern = "|%s*#%s*%s*|" while string.find (g, pattern) ~= nil do g = g:gsub(pattern, "|"..NumStr.."\n".."|", 1) NumStr = NumStr + 1 end return g end -- ********************************************************** function p.AutoNum ( frame ) local args = frame.args; local Style = (frame.args['Kayıt'] or "standard"); local Column = tonumber (frame.args['Column'] or "0"); local NumStr = tonumber (frame.args['Başlat'] or "1"); local Title0 = (frame.args['Başlık0'] or "No") local Titles = {} for i = 1, Column do Titles =(frame.args["Başlık"..i] or "Başlık"..i) end local Width0 = (frame.args['Widht0']); local Widths = {} for i = 1, Column do Widths =(frame.args["Widht"..i]) end local Align0 = (frame.args['Hizalama0'] or "center") local Aligns = {} for i = 1, Column do Aligns =(frame.args["Hizalama"..i] or "left") end local g="" return g end -- ********************************************************** function p.AutoNumSort(frame) local args = frame:getParent.args local Column = tonumber(args['Column'] or "0") if Column 0 then return "Sütun sayısı belirlenemedi" end local TempSort (args['sınıflandırma'] or "0") local SortColumn tonumber(string.match(TempSort, "%d*")) or 0 if SortColumn > Column then SortColumn 0 end local SortAsNumber string.match(TempSort, "#") ~ nil local SortDescend if SortAsNumber then SortDescend string.find(TempSort, "<") nil else SortDescend = string.find(TempSort, ">") ~= nil end local Strings={} local NumCell = 0 while args[NumCell + 1] ~= nil or NumCell%Column ~= 0 do NumCell = NumCell + 1 if (args[NumCell] nil) then args[NumCell] "" end -- NumCell%Column 0 çizginin oluştuğu anlamına gelir if NumCell%Column == 0 then local TempString = {NumCell-Column+1} if SortAsNumber then KeyCell=args[TempString[1]+SortColumn-1] KeyCell=mw.ustring.gsub(KeyCell, "<span[^<]+</span>","") KeyCell=mw.ustring.gsub(KeyCell, ",",".") KeyCell=mw.ustring.gsub(KeyCell, " ","") KeyCell=mw.ustring.gsub(KeyCell, "","") KeyCell=mw.ustring.gsub(KeyCell, "%s","") KeyCell=mw.ustring.match(KeyCell, "^%D*(%d+%.?%d*)") or "" TempString.Key=tonumber(KeyCell) elseif SortColumn > 1 then TempString.Key = (args[TempString[1]+SortColumn-1] or "") -- Özel anahtarla, örneğin bir şablonla sıralama yeteneği TempString.Key = mw.ustring.gsub(TempString.Key, '","") KeyCell=mw.ustring.gsub(KeyCell, "%s","") KeyCell=mw.ustring.match(KeyCell, "^%D*(%d+%.?%d*)") or "" TempTd:attr('data-sort-value', KeyCell) end TempTd:wikitext(args[TempString[1]+i-1]) TempTd:attr('align', args["Hizalama"..i] or "left") end end return tostring(HTML) end return p