Module:Protection banner/config: Difference between revisions

    From Nonbinary Wiki
    (further copy editing of the reset banner)
     
    (70 intermediate revisions by 25 users not shown)
    Line 4: Line 4:


    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    --
    --                                BANNER DATA
    --                                BANNER DATA
    --
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------


    -- PARAMETERS
    --[[
    -- Banner data consists of six fields:
    -- * text - the main protection text that appears at the top of protection
    --  banners.
    -- * explanation - the text that appears below the main protection text, used
    --  to explain the details of the protection.
    -- * tooltip - the tooltip text you see when you move the mouse over a small
    --  padlock icon.
    -- * link - the page that the small padlock icon links to.
    -- * alt - the alt text for the small padlock icon. This is also used as tooltip
    --  text for the large protection banners.
    -- * image - the padlock image used in both protection banners and small padlock
    --  icons.
    --
    -- The module checks in three separate tables to find a value for each field.
    -- First it checks the banners table, which has values specific to the reason
    -- for the page being protected. Then the module checks the defaultBanners
    -- table, which has values specific to each protection level. Finally, the
    -- module checks the masterBanner table, which holds data for protection
    -- templates to use if no data has been found in the previous two tables.
    --
    --
    -- The values in the banner data can take parameters. These are specified
    -- The values in the banner data can take parameters. These are specified
    -- using ${TEXTLIKETHIS} (a dollar sign preceding a parameter name
    -- using ${TEXTLIKETHIS} (a dollar sign preceding a parameter name
    -- enclosed in curly braces). Available parameters:
    -- enclosed in curly braces).
    --
    --                          Available parameters:
    --
    --
    -- ${CURRENTVERSION} - a link to the page history or the move log, with the
    -- ${CURRENTVERSION} - a link to the page history or the move log, with the
    Line 18: Line 41:
    --
    --
    -- ${EDITREQUEST} - a link to create an edit request for the current page.
    -- ${EDITREQUEST} - a link to create an edit request for the current page.
    --
    -- ${EXPIRY} - the protection expiry date in the format DD Month YYYY. If
    -- protection is indefinite or is not set, this is the blank string.
    --
    --
    -- ${EXPLANATIONBLURB} - an explanation blurb, e.g. "Please discuss any changes
    -- ${EXPLANATIONBLURB} - an explanation blurb, e.g. "Please discuss any changes
    Line 31: Line 51:
    -- ${INTROBLURB} - the PROTECTIONBLURB parameter, plus the expiry if an expiry
    -- ${INTROBLURB} - the PROTECTIONBLURB parameter, plus the expiry if an expiry
    -- is set. E.g. "Editing of this page by new or unregistered users is currently  
    -- is set. E.g. "Editing of this page by new or unregistered users is currently  
    -- disabled until dd Month YYYY"
    -- disabled until dd Month YYYY."
    --
    -- ${INTROFRAGMENT} - the same as ${INTROBLURB}, but without final punctuation
    -- so that it can be used in run-on sentences.
    --
    --
    -- ${PAGETYPE} - the type of the page, e.g. "article" or "template".
    -- ${PAGETYPE} - the type of the page, e.g. "article" or "template".
    Line 57: Line 80:
    -- ${VANDAL} - links for the specified username (or the root page name)
    -- ${VANDAL} - links for the specified username (or the root page name)
    -- using Module:Vandal-m.
    -- using Module:Vandal-m.
    --
    --                                Functions
    --
    -- For advanced users, it is possible to use Lua functions instead of strings
    -- in the banner config tables. Using functions gives flexibility that is not
    -- possible just by using parameters. Functions take two arguments, the
    -- protection object and the template arguments, and they must output a string.
    --
    -- For example:
    --
    -- text = function (protectionObj, args)
    --    if protectionObj.level == 'autoconfirmed' then
    --        return 'foo'
    --    else
    --        return 'bar'
    --    end
    -- end
    --
    -- Some protection object properties and methods that may be useful:
    -- protectionObj.action - the protection action
    -- protectionObj.level - the protection level
    -- protectionObj.reason - the protection reason
    -- protectionObj.expiry - the expiry. Nil if unset, the st