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

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


function p.categoriesToTemplate(frame)
function p.categoriesToTemplate(frame)
     local output = ""
     local args = {
        title = "カテゴリ一覧",
        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="カテゴリ別ページ一覧", args={category}}
                frame:expandTemplate{
                    title = "カテゴリ別ページ一覧",
                    args = { category }
                } or ""
            )


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


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


return p
return p