Difference between revisions of "Module:Asbox stubtree"

From blackwiki
Jump to navigation Jump to search
blackwiki>WOSlinker
blackwiki>WOSlinker
Line 1: Line 1:
 
local i = {}
 
local i = {}
+
 
 +
function i.exists(pagename)
 +
    return 1
 +
end
 +
 
 
function i._subtree(pagename)
 
function i._subtree(pagename)
 
     local out = {"",pagename}
 
     local out = {"",pagename}
     local temp1
+
     local tt
 +
    local temppage
 +
    local temppageexists
 
     local r = 0
 
     local r = 0
 
     local t = {}
 
     local t = {}
Line 22: Line 28:
 
         else
 
         else
 
             table.remove(t, 1)
 
             table.remove(t, 1)
 +
            temppage = table.concat(t, "-") .. "-stub"
 +
            temppageexists = i.exists(temppage)
 +
            if temppageexists == 0 then
 +
                --TODO
 +
            end
 
         end
 
         end
        temp1 = table.concat(t, "-") .. "-stub"
+
         table.insert(out,temppage)
         table.insert(out,temp1)
 
 
     end
 
     end
  

Revision as of 00:00, 26 February 2013

This module is used by Module:Asbox to create stub hierarchy boxes for stub template documentations. It also implements {{asbox/stubtree}} and served the same function via {{Asbox/templatepage}} prior to being converted to Lua.

Acknowledgements

In addition to the contributors listed in the contribution histories of Template:Asbox stubtree and Module:Asbox stubtree, this module also implements ideas from the (soon to be) deleted Template:Asbox/templatepage, which primary authors are User:MSGJ and User:WOSlinker.



local i = {}

function i.exists(pagename)
    return 1
end

function i._subtree(pagename)
    local out = {"",pagename}
    local tt
    local temppage
    local temppageexists
    local r = 0
    local t = {}
    
    -- split items on dash into table
    for token in mw.ustring.gmatch(pagename, "[^-]+") do
        -- don't add numbered items to list
        if tonumber(mw.ustring.sub(token,1,1)) == nil then
            table.insert(t,token)
            r = 1
        end
    end
    table.remove(t, #t)

    while (#t > 1) do
        if r == 1 then
            r = 0
        else
            table.remove(t, 1)
            temppage = table.concat(t, "-") .. "-stub"
            temppageexists = i.exists(temppage)
            if temppageexists == 0 then
                --TODO
            end
        end
        table.insert(out,temppage)
    end

    return table.concat(out, "\n* ")
end

function i.subtree(frame)
    return i._subtree(frame.args["pagename"])
end

return i