Module:Abyat Explained

local aliases = local string = mw.ustringlocal getArgs = require('Module:Arguments with aliases').getArgs

local function validString(s) if(type(s)

'string') then s = mw.text.trim(s) if(s ~= ) then return s end end return nilend

local function abyat(frame) local A = getArgs(frame,) local mashtoor = false local header = local free = A.free and (A.free ~= "0") local fasil = A.fasil and string.gsub(A.fasil, '[%%%^%$%(%)%[%]%.%*%+%-%?]', '%%%1') or "\\\\" local fasil_s,fasil_e = string.find(mw.text.trim(A.nass),fasil)

local sdrdiv = '

' if not fasil_s and not A[2] then mashtoor=true sdrdiv = '

' end local nass= "" local ret = '

' if A.title then header = header .. "

" .. A.title .. "
" end if A.shaer then header = header .. "
" .. A.shaer .. "
" end if A.bahar then header = header .. "
[من " .. A.bahar .. "]
" end

-- نمط متوافق مع أساليب القوالب القديمة if A[2] then local shater_num =1 local aa,bb aa = validString(A[shater_num]) bb = validString(A[shater_num+1]) while aa ~= nil or bb ~= nil do if aa~= nil and bb ~= nil then ret=ret .. '

' ..aa .. "

" ret=ret .. '

' ..bb .. "

\n" else ret=ret .. '

' ..(aa or bb) .. "

\n" end shater_num=shater_num+2 aa = validString(A[shater_num]) bb = validString(A[shater_num+1]) end else -- نمط أبيات nass = mw.text.trim(A.nass) if fasil_s

1 then ret = ret .. '

' nass = string.sub(nass,fasil_e+1) else ret = ret .. sdrdiv end nass=string.gsub(nass,"\n"..fasil,'

') nass=string.gsub(nass,"\n([^|])",'

' .. sdrdiv ..'%1') nass=string.gsub(nass, fasil,'

') end return header .. ret .. nass .. "

"end

return