Module:Parameter names example and Template:TC1: Difference between pages
From Polyphasic Sleep Wiki
(Difference between pages)
|
|
Line 1: |
Line 1: |
| -- This module implements {{parameter names example}}.
| | {{Infobox| |
| | | |title = Triphasic |
| local p = {}
| | |image = [[File:TC1.png|center|thumb]] |
| | | |above = Tri Core 1 |
| local function makeParam(s)
| | |label1 = Total sleep |
| local lb = '{'
| | |data1 = 4 hours 50 minutes |
| local rb = '}'
| | |label2 = Proposed by |
| return lb:rep(3) .. s .. rb:rep(3)
| | |data2 = Polyphasic Sleep Discord Community |
| end
| | |label3 = Difficulty |
| | | |data3 = Hard |
| local function italicize(s)
| | |label4 = Specification |
| return "''" .. s .. "''"
| | |data4 = 3 single-cycle core sleeps, plus one nap. |
| end
| | }} |
| | |
| local function plain(s)
| |
| return s
| |
| end
| |
| | |
| function p._main(args, frame)
| |
| -- Find how we want to format the arguments to the template.
| |
| local formatFunc
| |
| if args._display == 'italics' or args._display == 'italic' then
| |
| formatFunc = italicize
| |
| elseif args._display == 'plain' then
| |
| formatFunc = plain
| |
| else
| |
| formatFunc = makeParam
| |
| end
| |
| | |
| -- Build the table of template arguments.
| |
| local targs = {}
| |
| for k, v in pairs(args) do
| |
| if type(k) == 'number' then
| |
| targs[v] = formatFunc(v)
| |
| elseif not k:find('^_') then
| |
| targs[k] = v
| |
| end
| |
| end
| |
| targs['nocat'] = 'yes';
| |
| targs['categories'] = 'no';
| |
| targs['demo'] = 'yes';
| |
| | |
| -- Find the template name.
| |
| local template
| |
| if args._template then
| |
| template = args._template
| |
| else
| |
| local currentTitle = mw.title.getCurrentTitle()
| |
| if currentTitle.prefixedText:find('/sandbox$') then
| |
| template = currentTitle.prefixedText
| |
| else
| |
| template = currentTitle.basePageTitle.prefixedText
| |
| end
| |
| end
| |
| | |
| -- Call the template with the arguments.
| |
| frame = frame or mw.getCurrentFrame()
| |
| local success, result = pcall(
| |
| frame.expandTemplate,
| |
| frame,
| |
| {title = template, args = targs}
| |
| )
| |
| if success then
| |
| return result
| |
| else
| |
| return ''
| |
| end
| |
| end
| |
| | |
| function p.main(frame)
| |
| local args = require('Module:Arguments').getArgs(frame, {
| |
| wrappers = 'Template:Parameter names example'
| |
| })
| |
| return p._main(args, frame)
| |
| end
| |
| | |
| return p
| |
Revision as of 11:15, 20 November 2020
TriphasicTri Core 1 |
---|
File:TC1.png |
Total sleep | 4 hours 50 minutes |
---|
Proposed by | Polyphasic Sleep Discord Community |
---|
Difficulty | Hard |
---|
Specification | 3 single-cycle core sleeps, plus one nap. |
---|