starcitizen>Alistair3149 No edit summary |
starcitizen>Alistair3149 (Use table instead of string concat for ret3) |
||
Line 14: | Line 14: | ||
local opts = frame.args; | local opts = frame.args; | ||
-- subpage header | -- subpage header | ||
Line 38: | Line 37: | ||
ret2 = '' | ret2 = '' | ||
end | end | ||
return tostring( ret ) .. ret2 .. cats | return tostring( ret ) .. ret2 .. cats | ||
Line 76: | Line 71: | ||
:done() | :done() | ||
ret3 = dependencyList._main(nil, args.category, args.isUsed) | ret3 = {} | ||
table.insert( ret3, dependencyList._main( nil, args.category, args.isUsed ) ) | |||
if args.fromWikipedia then | if args.fromWikipedia then | ||
ret3 | table.insert( ret3, | ||
mbox( | |||
string.format( | |||
'This %s is imported from [https://en.wikipedia.org/wiki/%s %s] on Wikipedia.', | |||
onModule and 'module' or 'template', | |||
page, | |||
page | |||
), | |||
'This template is imported from the English Wikipedia. Although the visual appearance might be different, the functionality is identical. Please refer to the Wikipedia page for detailed documentation.', | |||
{ icon = 'WikimediaUI-Logo-Wikipedia.svg' } | |||
) | |||
) | |||
end | end | ||
Line 94: | Line 92: | ||
-- Testcase page | -- Testcase page | ||
if title.subpageText == 'testcases' then | if title.subpageText == 'testcases' then | ||
table.insert( ret3, | |||
hatnote( | |||
string.format( 'This is the test cases page for the module [[Module:%s]].', title.baseText ), | |||
{ icon='WikimediaUI-LabFlask.svg' } | |||
) | |||
) | |||
end | |||
table.insert( ret3, '<div class="documentation-modulestats">' ) | |||
-- Function list | |||
table.insert( ret3, require( 'Module:Module toc' ).main() ) | |||
-- Unit tests | |||
local testcaseTitle = title.baseText .. '/testcases' | |||
if mw.title.new( testcaseTitle, 'Module' ).exists then | |||
-- There is probably a better way :P | |||
table.insert( ret3, frame:preprocess( '{{#invoke:' .. testcaseTitle .. '|run}}' ) ) | |||
end | end | ||
ret3 | table.insert( ret3, '</div>' ) | ||
end | end | ||
return ret1 .. tostring( ret2 ) .. '<div class="documentation-content">' .. ret3 | return ret1 .. tostring( ret2 ) .. '<div class="documentation-content">' .. table.concat( ret3 ) | ||
end | end | ||
Revision as of 16:03, 6 June 2023
This documentation is transcluded from Module:Documentation/doc. Changes can be proposed in the talk page.
This module is unused.
This module is neither invoked by a template nor required/loaded by another module. If this is in error, make sure to add
{{Documentation}}
/{{No documentation}}
to the calling template's or parent's module documentation.Function list |
---|
L 8 — p.doc |
Module:Documentation implements Template:Documentation for templates and modules.
-- <nowiki>
local dependencyList = require( 'Module:DependencyList' )
local yn = require( 'Module:Yesno' )
local hatnote = require( 'Module:Hatnote' )._hatnote
local mbox = require( 'Module:Mbox' )._mbox
local p = {}
function p.doc( frame )
local title = mw.title.getCurrentTitle()
local args = frame:getParent().args
local page = args[1] or mw.ustring.gsub( title.fullText, '/doc$', '' )
local ret, cats, ret1, ret2, ret3
local onModule = title.namespace == 828
local opts = frame.args;
-- subpage header
if title.subpageText == 'doc' then
ret = mbox(
'This is a documentation subpage for ' .. page .. '.',
string.format(
'It contains usage information, categories, and other content that is not part of the [[' .. page .. '|original %s page]].',
onModule and 'module' or 'template'
),
{ icon = 'WikimediaUI-Notice.svg' }
)
if title.namespace == 10 then -- Template namespace
cats = '[[Category:Template documentation|' .. title.baseText .. ']]'
ret2 = dependencyList._main()
elseif title.namespace == 828 then -- Module namespace
cats = '[[Category:Module documentation|' .. title.baseText .. ']]'
ret2 = dependencyList._main()
ret2 = ret2 .. require('Module:Module toc').main()
else
cats = ''
ret2 = ''
end
return tostring( ret ) .. ret2 .. cats
end
-- template header
-- don't use mw.html as we aren't closing the main div tag
ret1 = '<div class="documentation">'
ret2 = mw.html.create( nil )
:tag( 'div' )
:addClass( 'documentation-header' )
:tag( 'span' )
:addClass( 'documentation-title' )
:wikitext( string.format('%s documentation', onModule and 'Module' or 'Template') )
:done()
:tag( 'span' )
:addClass( 'documentation-links plainlinks' )
:wikitext(
'[[' .. tostring( mw.uri.fullUrl( page .. '/doc', {action='view'} ) ) .. ' view]]' ..
'[[' .. tostring( mw.uri.fullUrl( page .. '/doc', {action='edit'} ) ) .. ' edit]]' ..
'[[' .. tostring( mw.uri.fullUrl( page .. '/doc', {action='history'} ) ) .. ' history]]' ..
'[<span class="jsPurgeLink">[' .. tostring( mw.uri.fullUrl( title.fullText, {action='purge'} ) ) .. ' purge]</span>]'
)
:done()
:done()
:tag( 'div' )
:addClass( 'documentation-subheader' )
:tag( 'span' )
:addClass( 'documentation-documentation' )
:wikitext( 'This documentation is transcluded from [[' .. page .. '/doc]]. Changes can be proposed in the talk page.' )
:done()
:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = 'Documentation/styles.css'} })
:done()
ret3 = {}
table.insert( ret3, dependencyList._main( nil, args.category, args.isUsed ) )
if args.fromWikipedia then
table.insert( ret3,
mbox(
string.format(
'This %s is imported from [https://en.wikipedia.org/wiki/%s %s] on Wikipedia.',
onModule and 'module' or 'template',
page,
page
),
'This template is imported from the English Wikipedia. Although the visual appearance might be different, the functionality is identical. Please refer to the Wikipedia page for detailed documentation.',
{ icon = 'WikimediaUI-Logo-Wikipedia.svg' }
)
)
end
if title.namespace == 828 then
-- Testcase page
if title.subpageText == 'testcases' then
table.insert( ret3,
hatnote(
string.format( 'This is the test cases page for the module [[Module:%s]].', title.baseText ),
{ icon='WikimediaUI-LabFlask.svg' }
)
)
end
table.insert( ret3, '<div class="documentation-modulestats">' )
-- Function list
table.insert( ret3, require( 'Module:Module toc' ).main() )
-- Unit tests
local testcaseTitle = title.baseText .. '/testcases'
if mw.title.new( testcaseTitle, 'Module' ).exists then
-- There is probably a better way :P
table.insert( ret3, frame:preprocess( '{{#invoke:' .. testcaseTitle .. '|run}}' ) )
end
table.insert( ret3, '</div>' )
end
return ret1 .. tostring( ret2 ) .. '<div class="documentation-content">' .. table.concat( ret3 )
end
return p
-- </nowiki>