문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령을 실행할 권한이 없습니다. 문서의 원본을 보거나 복사할 수 있습니다. parse = require("Module:Yaml").parse p = {} wiki = {} function isList(t) if t[1] == nil then return false else return true end end function size(t) local count = 0 for _ in pairs(t) do count = count + 1 end return count end function wiki.attr(t) local str = "" for k, v in pairs(t or {}) do str = k .. "='" .. v .. "' " .. str end return str end function wiki.td(str, attr) if attr ~= nil and size(attr) > 0 then str = wiki.attr(attr) .. "| " .. str end return "\n| " .. str end function wiki.link(str) return "[[" .. str .. "]]" end function wiki.table(str, attr) return "{| " .. wiki.attr(attr) .. str .. "\n|}" end function render(t, depth) local result = "" for k, v in pairs(t) do if isList(v) then result = result .. wiki.td(wiki.link(k), {style = "width: 8em; background: #f5f8fa;"}) .. wiki.td("[[" .. table.concat(v, "]] · [[") .. "]]") .. "\n|-" elseif type(v) == "table" then result = result .. wiki.td(wiki.link(k), {rowspan = size(v), style = "width: 8en; background: #f5f8fa;"}) .. render(v, depth + 1) end end return result end function p._main(yaml) return wiki.table( render(parse(yaml), 0), {class = "wikitable", style = "width: 100%; margin: 0;"} ) end function p.main(frame) return p._main(frame.args[1]) end p.parse = parse return p 이 문서에서 사용한 틀: 모듈:Temflake/설명문서 (원본 보기) 모듈:Temflake 문서로 돌아갑니다.