Модуль:AIMeta
Материал из Поле цифровой дидактики
Для документации этого модуля может быть создана страница Модуль:AIMeta/doc
local p = {}
local function trim(s)
if not s then
return nil
end
s = mw.text.trim(tostring(s))
if s == '' then
return nil
end
return s
end
function p.render(frame)
local args = frame:getParent().args
local aiSystem = trim(args['AI system used'] or args[1])
local prompt = trim(args['AI prompt'] or args[2])
local root = mw.html.create('div')
root
:css('clear', 'both')
:css('margin-top', '1em')
:css('padding', '0.45em 0.7em')
:css('font-size', '0.82em')
:css('line-height', '1.35')
:css('color', '#777')
:css('background', '#fafafa')
:css('border-top', '1px solid #e8e8e8')
if aiSystem then
root:wikitext('[[AI system used::' .. aiSystem .. ']]')
end
if prompt then
root:wikitext('[[AI prompt::' .. prompt .. ']]')
end
if aiSystem then
root:tag('span'):wikitext('AI: [[' .. aiSystem .. ']]')
end
if prompt then
root:tag('div')
:css('margin-top', '0.2em')
:css('color', '#8a8a8a')
:wikitext('prompt: ' .. prompt)
end
return tostring(root)
end
return p
