Модуль:ExtDigida

Материал из Поле цифровой дидактики

Для документации этого модуля может быть создана страница Модуль:ExtDigida/doc

local p = {}

function p.main(frame)
    local args = frame.args
    local csvUrl = args.url or 'YOUR_CSV_URL_HERE'  -- Замените на URL вашего CSV файла

    -- Получаем данные из CSV через ExternalData
    -- Предполагаем, что CSV имеет заголовки: author_id,pageid,page_title,category
    local data, errors = mw.ext.externalData.getWebData {
        url = csvUrl,
        format = 'CSV with header'
    }

    if errors then
        return '<strong>Ошибка загрузки данных:</strong> ' .. table.concat(errors, '<br>')
    end

    if not data or #data == 0 then
        return 'Нет данных для отображения.'
    end

    -- Строим wikitable
    local tableHtml = '{| class="wikitable sortable"\n! author_id !! pageid !! page_title !! category\n'

    for i, row in ipairs(data) do
        tableHtml = tableHtml .. string.format('|-\n| %s || %s || %s || %s\n',
            row.author_id or '',
            row.pageid or '',
            row.page_title or '',
            row.category or ''
        )
    end

    tableHtml = tableHtml .. '|}\n'

    return tableHtml
end

return p