「モジュール:SignalinstWiki」の版間の差分

編集の要約なし
修正
 
(同じ利用者による、間の2版が非表示)
73行目: 73行目:


     return finalOutput
     return finalOutput
end
function p.categoriesToTemplate(frame)
-- 返すべき内容を保持する
local output = "{{ナビゲーションボックス|title=カテゴリ別ページ一覧|opened=False|"
-- パーサーを呼び出し、Semantec MediaWikiからカテゴリ一覧を取得
local result = frame:callParserFunction("#ask", "[[TopCategory::true]]|?PAGENAME|format=plainlist")
-- 中身を正規化したうえで分割し、各カテゴリごとに回す
local i = 1
for line in mw.text.gsplit(result, "\n", true) do
if line ~= '' then
-- line = 名前空間を除いたタイトル => カテゴリ名称
-- このカテゴリに対して意味的検索を用いてさらにページ一覧を取得
local result = frame:callParserFunction("#ask", "[[カテゴリ:"..line.."]]|?PAGENAME|format=list|sep=,")
-- カンマ区切りで出力されるのでこれをテンプレートに埋め込む
output = output .. "header"..i.."="..line.."|content"..i.."="..result.."|"
-- iのインクリメント
i = i + 1
end
end
-- 閉じて返す
output = output .. "}}"
return output
end
end


return p
return p