「モジュール:SignalinstWiki」の版間の差分
細 修正 |
細 モジュール調整 |
||
| 74行目: | 74行目: | ||
return finalOutput | return finalOutput | ||
end | end | ||
function p.categoriesToTemplate(frame) | function p.categoriesToTemplate(frame) | ||
local output = "{{ナビゲーションボックス" | |||
.. "|title=カテゴリ別ページ一覧" | |||
.. "|opened=False|" | |||
-- TopCategory=true なカテゴリページ一覧を取得 | |||
local categories = frame:callParserFunction( | |||
"#ask", | |||
"[[TopCategory::true]]" | |||
.."|?PAGENAME" | |||
.."|format=list" | |||
.."|sep=\n" | |||
) | |||
local i = 1 | |||
for category in mw.text.gsplit(categories or "", "\n", true) do | |||
if category ~= "" then | |||
-- Category 名前空間を除去 | |||
local categoryName = category:gsub("^カテゴリ:", "") | |||
-- Concept を使ってページ取得 | |||
local pages = frame:callParserFunction( | |||
"#ask", | |||
"[[Concept:" .. categoryName .. "]]" | |||
.."|?PAGENAME" | |||
.."|format=list" | |||
.."|sep=, " | |||
) | |||
output = output | |||
.. "header" .. i .. "=" .. categoryName .. "|" | |||
.. "content" .. i .. "=" .. (pages or "") .. "|" | |||
i = i + 1 | |||
end | |||
end | |||
output = output .. "}}" | |||
return output | |||
end | end | ||
return p | return p | ||