Module:SiteList: Difference between revisions

From Porn Base Central
Jump to navigation Jump to search
No edit summary
No edit summary
Line 40: Line 40:
local notes = args.notes or 'N/A'
local notes = args.notes or 'N/A'


local result = string.format(
local result = string.format(
'|-\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n',
'|-\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | <span style="font-size:smaller;">[%s %s] ([[:Category:%s|%s]])</span>\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n',
args[1] == 'Studio' and 'Studio' or 'Website',
args[1] == 'Studio' and 'Studio' or 'Website',
string.format('[%s %s] <small>([[:Category:%s|%s]])</small>', url, args.site, site.category, site.category),
url, args.site, site.category, site.category,
alias,
alias,
notes
notes
)
)


-- Добавление в категории в зависимости от пространства имен
-- Добавление в категории в зависимости от пространства имен

Revision as of 23:31, 21 July 2023

Documentation for this module may be created at Module:SiteList/doc

local p = {}

-- Создаем таблицу сайтов
local sites = {
    website1 = {
        url = 'https://website1.com/',
        updatesUrl = 'https://website1.com/updates/',
        modelsUrl = 'https://website1.com/models/',
        category = 'Network1',
    },
    website2 = {
        url = 'https://website2.com/',
        updatesUrl = 'https://website2.com/scene/',
        modelsUrl = 'https://website2.com/people/',
        category = 'Network2',
    },
    website3 = {
        url = 'https://website3.com/',
        updatesUrl = 'https://website3.com/videos/',
        modelsUrl = 'https://website3.com/performers/',
        category = 'Network3',
    },
    -- Добавьте больше сайтов здесь по необходимости
}

-- Функция для обработки каждого сайта
function p.site(frame)
    local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:SiteList'})
    local site = args.site and sites[args.site:lower()]

    if site then
        local url = site.url
        if args.sceneid then
            url = site.updatesUrl .. args.sceneid .. '.html'
        elseif args.id then
            url = site.modelsUrl .. args.id .. '.html'
        end

        local alias = args.alias or mw.title.getCurrentTitle().text
        local notes = args.notes or 'N/A'

		local result = string.format(
		    '|-\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | <span style="font-size:smaller;">[%s %s] ([[:Category:%s|%s]])</span>\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n',
		    args[1] == 'Studio' and 'Studio' or 'Website',
		    url, args.site, site.category, site.category,
		    alias,
		    notes
		)

        -- Добавление в категории в зависимости от пространства имен
        local ns = mw.title.getCurrentTitle().namespace
        if ns == 0 then
            result = result .. '[[Category:Articles in the mainspace using Template:SiteList]]'
        elseif ns == 2 then
            result = result .. '[[Category:Articles in the userspace using Template:SiteList]]'
        elseif ns == 118 then
            result = result .. '[[Category:Drafts using Template:SiteList]]'
        end

        return result
    else
        return mw.text.nowiki('{{SiteList}}') .. ' Error: invalid site parameter'
    end
end

return p