starcitizen>Alistair3149 No edit summary |
starcitizen>Alistair3149 No edit summary |
||
Line 81: | Line 81: | ||
ret3 = dependencyList._main(nil, args.category, args.isUsed) | ret3 = dependencyList._main(nil, args.category, args.isUsed) | ||
if args.fromWikipedia then | |||
ret3 = ret3 .. mbox( | |||
string.format( | |||
'This %s is imported from [[enwp:%s|%s]] on Wikipedia.', | |||
onModule and 'module' or 'template', | |||
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 | if title.namespace == 828 then |
Revision as of 23:42, 5 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;
local preamble = opts.preamble;
-- 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
if isDataModule and title.namespace == 828 then
ret2 = ret2..'<div class="seealso"><code>mw.loadData</code> compatible</div>'
end
if (preamble and preamble ~= "") then
ret2 = preamble .. 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 = dependencyList._main(nil, args.category, args.isUsed)
if args.fromWikipedia then
ret3 = ret3 .. mbox(
string.format(
'This %s is imported from [[enwp:%s|%s]] on Wikipedia.',
onModule and 'module' or 'template',
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
ret3 = ret3 .. hatnote(
string.format( 'This is the test cases page for the module [[Module:%s]].', title.baseText ),
{ icon='WikimediaUI-LabFlask.svg' }
)
end
ret3 = ret3 .. '<div class="documentation-modulestats">'
ret3 = 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
ret3 = ret3 .. frame:preprocess( '{{#invoke:' .. testcaseTitle .. '|run}}' )
end
ret3 = ret3 .. '</div>'
if title.subpageText == 'data' then
ret3 = ret3 ..'<div class="seealso"><code>mw.loadData</code> compatible</div>[[Category:Data modules]]'
end
end
if (preamble and preamble ~= "") then
ret3 = preamble .. ret3
end
return ret1 .. tostring( ret2 ) .. '<div class="documentation-content">' .. ret3
end
return p
-- </nowiki>