starcitizen>Alistair3149 Немає опису редагування |
starcitizen>Alistair3149 Немає опису редагування |
||
| Рядок 38: | Рядок 38: | ||
ret2 = '' | ret2 = '' | ||
end | end | ||
if (preamble and preamble ~= "") then | if (preamble and preamble ~= "") then | ||
| Рядок 115: | Рядок 111: | ||
ret3 = ret3 .. '</div>' | ret3 = ret3 .. '</div>' | ||
end | end | ||
Ревізія 05:43, 6 юнія 2023
Документацію для цього модуля можна створити у Модуль:Documentation/документація
-- <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 (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>'
end
if (preamble and preamble ~= "") then
ret3 = preamble .. ret3
end
return ret1 .. tostring( ret2 ) .. '<div class="documentation-content">' .. ret3
end
return p
-- </nowiki>