پرش به محتوا

پودمان:Citation/Formatter

از ویکی البرز

توضیحات این پودمان می‌تواند در پودمان:Citation/Formatter/توضیحات قرار گیرد.

--------------------------------------------------------------------------------
-- Module:Citation/Formatter
-- Wiki Alborz Lightweight CS1-like Formatter (Final Stable)
--------------------------------------------------------------------------------

local U = require("Module:Citation/Utilities")

local F = {}

--------------------------------------------------------------------------------
-- ساخت لینک هوشمند (title + url)
--------------------------------------------------------------------------------
function F.formatLink(title, url)

    if U.isEmpty(url) then
        return title or ""
    end

    url = U.makeUrl(url)

    if U.isEmpty(title) then
        return "[" .. url .. " " .. url .. "]"
    end

    return "[" .. url .. " " .. title .. "]"
end

--------------------------------------------------------------------------------
-- italic title
--------------------------------------------------------------------------------
function F.formatTitle(title)
    if U.isEmpty(title) then
        return ""
    end

    return "''" .. title .. "''"
end

--------------------------------------------------------------------------------
-- fallback URL
--------------------------------------------------------------------------------
function F.formatUrl(url)
    if U.isEmpty(url) then
        return ""
    end

    url = U.makeUrl(url)

    return "[" .. url .. " " .. url .. "]"
end

--------------------------------------------------------------------------------
-- archive support
--------------------------------------------------------------------------------
function F.formatArchive(url, date)
    if U.isEmpty(url) then
        return ""
    end

    url = U.makeUrl(url)

    local parts = {}
    table.insert(parts, "بایگانی:")
    table.insert(parts, "[" .. url .. " " .. url .. "]")

    if not U.isEmpty(date) then
        table.insert(parts, "(" .. date .. ")")
    end

    return table.concat(parts, " ")
end

--------------------------------------------------------------------------------
return F