وحدة:Abyat
المظهر
local aliases = {
width = {'العرض', 'عرض'},
title = {'عنوان', 'العنوان'},
shaer = {'الشاعر', 'شاعر'},
bahar = {'البحر', 'بحر'},
nass = {1,'النص', 'نص'},
shaterbyshater = {'شطر شطر'},
fasil = {'فاصل','separator','fasil'},
free = {'حر', 'شعر حر'},
}
local string = mw.ustring
local argument_wrapper=require('Module:Argument Wrapper')
local function abyat(frame)
local A = argument_wrapper(aliases, {frame:getParent().args, frame.args, mw.loadData("Module:Art pref/data")["أبيات"] or {}})
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 tadweer = '<div class="abyat-tadweer"></div>'
local sdrdiv = '<div class="abyat-sdr">'
local cat = ''
if not fasil_s then
mashtoor=true
sdrdiv = '<div>'
end
local nass= ""
local ret = '<div class="abyat-wrapper' .. (mashtoor and ' mashtoor' or '') .. (free and ' free' or '') ..
(A.shaterbyshater and ' abyat-shaterbyshater' or '') .. '"' ..
(A.width and (' style="width:' .. A.width .. ';"') or '') .. '>'
if A.title then
header = header .. "<center>'''" .. A.title .. "'''</center>"
end
if A.shaer then
header = header .. "<center>" .. A.shaer .. "</center>"
end
if A.bahar then
header = header .. "<center>''[من " .. A.bahar .. "]''</center>"
end
nass = mw.text.trim(A.nass)
if fasil_s == 1 then
ret = ret .. '<div class="abyat-single_bayt">'
nass = string.sub(nass,fasil_e+1)
else
ret = ret .. sdrdiv
end
nass=string.gsub(nass,"\n *" .. fasil .. " *([^|\n".. fasil .."]+) *" .. fasil .. " *\n",'</div><div class="abyat-single_bayt abyat-center">%1\n')
nass=string.gsub(nass,"\n *"..fasil .. " *",'</div><div class="abyat-single_bayt">')
nass=string.gsub(nass,"\n([^|])",'</div>' .. sdrdiv ..'%1')
if not mashtoor then
nass, hastadweer = string.gsub(nass, "ـ *" .. fasil .. " *ـ" ,'ـ</div>' .. tadweer .. '<div class="abyat-ajz">ـ')
if hastadweer > 0 then cat = '[[تصنيف:Gadget-Abyat]]' end
end
nass=string.gsub(nass, fasil ,'</div><div class="abyat-ajz">')
return header .. ret .. nass .. "</div></div>" .. cat
end
return {abyat=abyat}