Module:Citation/CS1/Configuration

Revision as of 18:12, 25 January 2026 by Pumpkin (talk | contribs)

Documentation for this module may be created at Module:Citation/CS1/Configuration/doc

-- Module:Citation/CS1/Configuration
-- Nil güvenli ve baştan yazılmış CS1 konfigürasyonu

local p = {}

-- Default identifier limits
local default_id_limits = {
    DOI = 1000,
    ISBN = 500,
    PMID = 300,
}

-- Identifier limits yükle
local id_limits_data_t = {}
local id_limits_data_load_fail = false

do
    local success, tab_data_t = pcall(mw.ext.data.get, 'CS1/Identifier limits.tab')
    -- Güvenli kontrol: tab_data_t ve tab_data_t.data tablo mu
    if success and tab_data_t and type(tab_data_t.data) == "table" then
        for _, limit_t in ipairs(tab_data_t.data) do
            -- Her limit_t geçerli mi kontrol et
            if limit_t and limit_t[1] and limit_t[2] then
                id_limits_data_t[limit_t[1]] = limit_t[2]
            end
        end
    else
        id_limits_data_load_fail = true
        -- fallback default limits
        for k, v in pairs(default_id_limits) do
            id_limits_data_t[k] = v
        end
    end
end

p.id_limits = id_limits_data_t
p.id_limits_load_failed = id_limits_data_load_fail

-- Örnek default ayarlar (gerektiğinde değiştirilebilir)
p.default_parameters = {
    use_page_date = true,
    display_authors_first = true,
    use_etal_after = 3,
    max_author_names = 10,
}

-- Template alanları için varsayılan değerler
p.default_fields = {
    author = "Anonymous",
    title = "No title",
    journal = "No journal",
    year = "No year",
}

return p