Module:Yesno and Template:Documentation subpage: Difference between pages

From Frontierpedia, the Microsoft Agent encyclopedia
(Difference between pages)
en>Mr. Stradivarius
(more accurate default value for "no")
 
en>MZMcBride
(partial rv, ambox shouldn't be used for templates that are for non-articles)
 
Line 1: Line 1:
local p = {}
<div class="messagebox" id="template_doc_page_viewed_directly" style="text-align: center">
 
This is the [[Wikipedia:Template documentation|documentation]] page {{{1|for [[{{NAMESPACE}}:{{BASEPAGENAME}}]].}}} <div style="font-size: 90%">When it is viewed directly, links using [[Help:Variable|variables]] may appear broken; do not replace these with [[hard coding|hardcoded]] page names or URLs.</div>
function p.yesno(frame)
</div><includeonly>{{#if: {{{inhib|{{{inhibit|}}}}}} |<!-- skip -->|[[Category:Template documentation|{{PAGENAME}}]]}}</includeonly><noinclude>
 
{{pp-semi-protected|small=yes}}
    -- defaults
{{template doc}}
    local retvals = {
<!-- Add categories and interwikis to the /doc subpage, not here! -->
        yes  = "yes",
</noinclude>
        no    = "<!-- null -->",
        ["¬"] = ""
    }
 
    -- Allow arguments to override defaults.
    -- 'any' tracks the presence of any arguments at all.
    local args = frame.args
    local any = false
    for k,v in pairs(args) do
        any = true
        retvals[k] = v
    end
    -- If there are no arguments, try and get them from the parent frame.
    if any == false then
        local pframe = frame:getParent()
        args = pframe.args
        for k,v in pairs(args) do
            retvals[k] = v
        end
    end   
 
    val = args[1]
 
    -- First deal with the case if val is nil, then deal with other cases.
    if val == nil then
        return retvals['¬']
    end
 
    val = val:lower()          -- Make lowercase.
    val = val:match'^%s*(.*%S)' or ''  -- Trim whitespace.
 
    if val == '' then
        return retvals['blank'] or retvals['no']
    elseif val == 'n' or val == 'no'  or tonumber(val) == 0 then
        return retvals['no']
    elseif val == 'y' or val == 'yes' or tonumber(val) == 1 then
        return retvals['yes']
    elseif val == '¬' then
        return retvals['¬']
    else
        return retvals['def'] or retvals['yes']
    end
end
 
return p

Revision as of 20:44, 15 September 2007

This is the documentation page for Template:Documentation subpage.
When it is viewed directly, links using variables may appear broken; do not replace these with hardcoded page names or URLs.

Template:Pp-semi-protected Template:Template doc