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

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


function p.categoriesToTemplate(frame)
function p.categoriesToTemplate(frame)
     local output = "{{ナビゲーションボックス"
     local args = {
         .. "|title=カテゴリ別ページ一覧"
         title = "カテゴリ一覧",
         .. "|opened=False|"
         opened = "False"
    }


    -- TopCategory=true なカテゴリページ一覧を取得
     local categories = mw.text.trim(
     local categories = frame:expandTemplate{title="カテゴリ一覧"}
        frame:expandTemplate{ title = "カテゴリ一覧" } or ""
    )


     local i = 1
     local i = 1
     for category in mw.text.gsplit(categories or "", ",", true) do
     for category in mw.text.gsplit(categories, ",", true) do
        category = mw.text.trim(category)
         if category ~= "" then
         if category ~= "" then
            -- Category 名前空間を除去
             local categoryName = mw.text.trim(
             local categoryName = category:gsub("^カテゴリ:", "")
                category:gsub("^カテゴリ:", "")
            )


            -- Concept を使ってページ取得
             local pages = mw.text.trim(
             local pages = frame:expandTemplate{title="カテゴリ別ページ一覧"}
                frame:expandTemplate{
                    title = "カテゴリ別ページ一覧",
                    args = { category }
                } or ""
            )


             output = output
             args["header" .. i]  = "[[:カテゴリ:"..categoryName.."|"..categoryName.."]]"
                .. "header" .. i .. "=" .. categoryName .. "|"
            args["content" .. i] = pages
                .. "content" .. i .. "=" .. (pages or "") .. "|"


             i = i + 1
             i = i + 1
101行目: 108行目:
     end
     end


     output = output .. "}}"
     return frame:expandTemplate{
    mw.log(output)
        title = "ナビゲーションボックス",
     return output
        args  = args
     }
end
end


return p
return p