Module:Pagination
![]() | This module is rated as alpha. It is ready for third-party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome. |
Implements {{Pagination}}
Usage
[edit]For templates:
{{#invoke:Pagination|pagination}}
. Please use {{Pagination}} instead.
local p = {}
local mPagination = require('Module:Pagination')._pagination
function p.main(args)
return mPagination({prevlink="alink", nextlink="alink"})
end
return p
Parameters
[edit]- prevlink or 1
- a link for the previous button
- required: true
- nextlink or 2
- a link for the next button
- required: true
- prevstyle
- a style on how you want the previous button to look like.
- required: false
- nextstyle
- a style on how you want the next button to look like.
- required: false
Examples
[edit]- CODE
- RESULT
{{#invoke:Pagination|pagination|1=You|2=Example}}
{{#invoke:Pagination|pagination|1=You|2=Example|prevstyle=background-color: whitesmoke|nextstyle=background-color: red}}
local p = {}
local getArgs = require('Module:Arguments').getArgs
local function err(msg)
return string.format('<strong class="error">PaginationScriptError: "%s" ([[template:Pagination#Errors|help]])</strong>', msg)
end
function p.pagination(frame)
local args = getArgs(frame)
return p._pagination(args)
end
function p._pagination(args)
ps = args.prevstyle or ''
ns = args.nextstyle or ''
pr = args[1] or args.prevlink
nx = args[2] or args.nextlink
p = mw.getCurrentFrame():extensionTag('templatestyles', '', {src='Module:Pagination/styles.css'}) .. '<span class="prev-btn" style="' .. ps .. ';>[[' .. pr .. '|Previous]]</span>'
n = mw.getCurrentFrame():extensionTag('templatestyles', '', {src='Module:Pagination/styles.css'}) .. '<span class="next-btn" style="' .. ns .. ';>[[' .. nx .. '|Next]]</span>'
pn = '' .. p .. ' ' .. n .. ''
if pr and nx == '' or nil then
return err('no link provided for the previous and next buttons')
else
return pn
end
end
return p