@DeletedUser40376207 (discusión | contribs.) Sin resumen de edición |
@DeletedUser40376207 (discusión | contribs.) mSin resumen de edición |
||
Línea 2: | Línea 2: | ||
-- Creating a documentation page or transclution through {{subst:doc}} |
-- Creating a documentation page or transclution through {{subst:doc}} |
||
function p.create( f ) |
function p.create( f ) |
||
− | local args = require( ' |
+ | local args = require( 'Module:ProcessArgs' ).norm() |
page = mw.title.getCurrentTitle() |
page = mw.title.getCurrentTitle() |
||
namespace = args.type or page.nsText |
namespace = args.type or page.nsText |
||
Línea 9: | Línea 9: | ||
local out |
local out |
||
if page.fullText == docPage then |
if page.fullText == docPage then |
||
− | out = f:preprocess( '{{subst:Plantilla: |
+ | out = f:preprocess( '{{subst:Plantilla:Documentación/preload}}' ) |
else |
else |
||
local templateArgs = {} |
local templateArgs = {} |
||
Línea 19: | Línea 19: | ||
end |
end |
||
− | out = '{{documentation|' .. table.concat( templateArgs, '|' ) .. '}}\n<!-- |
+ | out = '{{documentation|' .. table.concat( templateArgs, '|' ) .. '}}\n<!-- Put categories/interwiki on the documentation page -->' |
out = out:gsub( '|}}', '}}' ) |
out = out:gsub( '|}}', '}}' ) |
||
end |
end |
||
Línea 26: | Línea 26: | ||
out = f:preprocess( out ) |
out = f:preprocess( out ) |
||
if not args.nocat then |
if not args.nocat then |
||
− | out = out .. '[[ |
+ | out = out .. '[[Category:Pages with templates requiring substitution]]' |
end |
end |
||
end |
end |
||
Línea 35: | Línea 35: | ||
-- Header on the documentation page |
-- Header on the documentation page |
||
function p.docPage( f ) |
function p.docPage( f ) |
||
− | local args = require( ' |
+ | local args = require( 'Module:ProcessArgs' ).merge( true ) |
local badDoc = args.baddoc |
local badDoc = args.baddoc |
||
if f:callParserFunction( '#dplvar:noheader' ) == '1' then |
if f:callParserFunction( '#dplvar:noheader' ) == '1' then |
||
Línea 46: | Línea 46: | ||
local page = mw.title.getCurrentTitle() |
local page = mw.title.getCurrentTitle() |
||
local namespace = args.type or page.nsText |
local namespace = args.type or page.nsText |
||
− | local pageType = ' |
+ | local pageType = 'template' |
− | if namespace == ' |
+ | if namespace == 'Module' then |
− | pageType = ' |
+ | pageType = 'module' |
elseif page.fullText:find( '.css$' ) then |
elseif page.fullText:find( '.css$' ) then |
||
− | pageType = ' |
+ | pageType = 'stylesheet' |
elseif page.fullText:find( '.js$' ) then |
elseif page.fullText:find( '.js$' ) then |
||
− | pageType = ' |
+ | pageType = 'script' |
elseif namespace == 'MediaWiki' then |
elseif namespace == 'MediaWiki' then |
||
− | pageType = ' |
+ | pageType = 'message' |
end |
end |
||
Línea 61: | Línea 61: | ||
if badDoc then |
if badDoc then |
||
colour = 'F9F2EA' |
colour = 'F9F2EA' |
||
− | message = "''' |
+ | message = "'''This " .. pageType .. "'s documentation needs improving or additional information.'''" |
end |
end |
||
− | local certainty = ' |
+ | local certainty = 'should' |
− | if pageType == ' |
+ | if pageType == 'module' then |
− | certainty = ' |
+ | certainty = 'will' |
end |
end |
||
local category = '' |
local category = '' |
||
if not args.nocat then |
if not args.nocat then |
||
− | category = '[[ |
+ | category = '[[Category:Documentation pages]]' |
end |
end |
||
Línea 77: | Línea 77: | ||
'<div style="margin-bottom:0.8em;padding:0.8em 1em 0.7em;background-color:#' .. colour .. ';border:1px solid #AAA">', |
'<div style="margin-bottom:0.8em;padding:0.8em 1em 0.7em;background-color:#' .. colour .. ';border:1px solid #AAA">', |
||
'<div style="float:right">[[' .. page:fullUrl( 'action=purge' ) .. ' purge]]</div>', |
'<div style="float:right">[[' .. page:fullUrl( 'action=purge' ) .. ' purge]]</div>', |
||
− | '<p style="margin: 0"> |
+ | '<p style="margin: 0">This is the documentation page, it ' .. certainty .. ' be transcluded into the main ' .. pageType .. ' page. See [[Template:Documentation]] for more information.</p>', |
message, |
message, |
||
'</div>', |
'</div>', |
||
Línea 88: | Línea 88: | ||
-- Wrapper around the documentation on the main page |
-- Wrapper around the documentation on the main page |
||
function p.page( f ) |
function p.page( f ) |
||
− | local args = require( ' |
+ | local args = require( 'Module:ProcessArgs' ).merge( true ) |
local page = mw.title.getCurrentTitle() |
local page = mw.title.getCurrentTitle() |
||
local namespace = args.type or page.nsText |
local namespace = args.type or page.nsText |
||
Línea 94: | Línea 94: | ||
local noDoc = args.nodoc or not docPage.exists |
local noDoc = args.nodoc or not docPage.exists |
||
local badDoc = args.baddoc |
local badDoc = args.baddoc |
||
− | local pageType = ' |
+ | local pageType = 'template' |
− | + | if namespace == 'Module' then |
|
⚫ | |||
− | local art1 = 'Esta' |
||
− | local art2 = 'la' |
||
− | local art3 = 'esta' |
||
− | if namespace == 'Módulo' then |
||
⚫ | |||
− | art1 = 'Este' |
||
− | art2 = 'lo' |
||
− | art3 = 'este' |
||
elseif page.fullText:find( '.css$' ) then |
elseif page.fullText:find( '.css$' ) then |
||
− | pageType = ' |
+ | pageType = 'stylesheet' |
− | pageType2 = ' de estilos' |
||
elseif page.fullText:find( '.js$' ) then |
elseif page.fullText:find( '.js$' ) then |
||
pageType = 'script' |
pageType = 'script' |
||
− | art1 = 'Este' |
||
− | art2 = 'lo' |
||
− | art3 = 'este' |
||
elseif namespace == 'MediaWiki' then |
elseif namespace == 'MediaWiki' then |
||
− | pageType = ' |
+ | pageType = 'message' |
− | art1 = 'Este' |
||
− | art2 = 'lo' |
||
− | art3 = 'este' |
||
end |
end |
||
Línea 134: | Línea 120: | ||
end |
end |
||
− | local action = ' |
+ | local action = 'edit' |
local preload = '' |
local preload = '' |
||
local colour = 'EAF4F9' |
local colour = 'EAF4F9' |
||
Línea 140: | Línea 126: | ||
local category = '' |
local category = '' |
||
if noDoc then |
if noDoc then |
||
− | action = ' |
+ | action = 'create' |
− | preload = '&preload= |
+ | preload = '&preload=Template:Documentación/preload' |
colour = 'F9EAEA' |
colour = 'F9EAEA' |
||
− | message = "''' |
+ | message = "'''This " .. pageType .. " has no documentation. If you know how to use this " .. pageType .. ", please create it.'''" |
if not args.nocat then |
if not args.nocat then |
||
− | if mw.title.new( ' |
+ | if mw.title.new( 'Category:' .. pageType .. 's with no documentation' ).exists then |
− | category = '[[ |
+ | category = '[[Category:' .. pageType .. 's with no documentation]]' |
else |
else |
||
− | category = '[[ |
+ | category = '[[Category:Pages with no documentation]]' |
end |
end |
||
end |
end |
||
elseif badDoc then |
elseif badDoc then |
||
colour = 'F9F2EA' |
colour = 'F9F2EA' |
||
− | message = "''' |
+ | message = "'''This " .. pageType .. "'s documentation needs improving or additional information.'''\n" |
if not args.nocat then |
if not args.nocat then |
||
− | if mw.title.new( ' |
+ | if mw.title.new( 'Category:' .. pageType .. 's with bad documentation' ).exists then |
− | category = '[[ |
+ | category = '[[Category:' .. pageType .. 's with bad documentation]]' |
else |
else |
||
− | category = '[[ |
+ | category = '[[Category:Pages with bad documentation]]' |
end |
end |
||
end |
end |
||
Línea 173: | Línea 159: | ||
'<div style="margin:0.7em -1em -0.7em;background-color:#EAF4F9;border-top:1px solid #AAA;padding:0.8em 1em 0.7em;clear:both">\n', |
'<div style="margin:0.7em -1em -0.7em;background-color:#EAF4F9;border-top:1px solid #AAA;padding:0.8em 1em 0.7em;clear:both">\n', |
||
'<div style="float:right">' .. mw.text.nowiki( '[' ) .. table.concat( links, ' | ' ) .. ']</div>\n', |
'<div style="float:right">' .. mw.text.nowiki( '[' ) .. table.concat( links, ' | ' ) .. ']</div>\n', |
||
− | '<p style="margin:0"> |
+ | '<p style="margin:0">The above documentation is transcluded from [[' .. docPage.fullText .. ']].</p>\n', |
'</div>\n' |
'</div>\n' |
||
} ) |
} ) |
||
Línea 182: | Línea 168: | ||
'<div style="margin:-0.8em -1em 0.8em;padding: 0.8em 1em 0.7em;background-color:#EAF4F9;border-bottom:1px solid #AAA">\n', |
'<div style="margin:-0.8em -1em 0.8em;padding: 0.8em 1em 0.7em;background-color:#EAF4F9;border-bottom:1px solid #AAA">\n', |
||
'<div style="float:right">' .. mw.text.nowiki( '[' ) .. table.concat( links, ' | ' ) .. ']</div>\n', |
'<div style="float:right">' .. mw.text.nowiki( '[' ) .. table.concat( links, ' | ' ) .. ']</div>\n', |
||
− | '<span style="font-weight:bold;font-size:130%"> |
+ | '<span style="font-weight:bold;font-size:130%">Documentation</span>', |
'</div>\n', |
'</div>\n', |
||
message, |
message, |
Revisión del 00:54 21 jul 2014
Este módulo implementa {{Documentación}}
.
Dependencias
The above documentation is transcluded from Módulo:Documentation/doc.
local p = {}
-- Creating a documentation page or transclution through {{subst:doc}}
function p.create( f )
local args = require( 'Module:ProcessArgs' ).norm()
page = mw.title.getCurrentTitle()
namespace = args.type or page.nsText
docPage = args.page or namespace .. ':' .. page.baseText .. '/doc'
local out
if page.fullText == docPage then
out = f:preprocess( '{{subst:Plantilla:Documentación/preload}}' )
else
local templateArgs = {}
if args.type then
table.insert( templateArgs, 'type=' .. args.type )
end
if args.page then
table.insert( templateArgs, 'page=' .. args.page )
end
out = '{{documentation|' .. table.concat( templateArgs, '|' ) .. '}}\n<!-- Put categories/interwiki on the documentation page -->'
out = out:gsub( '|}}', '}}' )
end
if not mw.isSubsting() then
out = f:preprocess( out )
if not args.nocat then
out = out .. '[[Category:Pages with templates requiring substitution]]'
end
end
return out
end
-- Header on the documentation page
function p.docPage( f )
local args = require( 'Module:ProcessArgs' ).merge( true )
local badDoc = args.baddoc
if f:callParserFunction( '#dplvar:noheader' ) == '1' then
if badDoc then
f:callParserFunction( '#dplvar:set', 'baddoc', '1' )
end
return ''
end
local page = mw.title.getCurrentTitle()
local namespace = args.type or page.nsText
local pageType = 'template'
if namespace == 'Module' then
pageType = 'module'
elseif page.fullText:find( '.css$' ) then
pageType = 'stylesheet'
elseif page.fullText:find( '.js$' ) then
pageType = 'script'
elseif namespace == 'MediaWiki' then
pageType = 'message'
end
local colour = 'EAF4F9'
local message = ''
if badDoc then
colour = 'F9F2EA'
message = "'''This " .. pageType .. "'s documentation needs improving or additional information.'''"
end
local certainty = 'should'
if pageType == 'module' then
certainty = 'will'
end
local category = ''
if not args.nocat then
category = '[[Category:Documentation pages]]'
end
local out = table.concat( {
'<div style="margin-bottom:0.8em;padding:0.8em 1em 0.7em;background-color:#' .. colour .. ';border:1px solid #AAA">',
'<div style="float:right">[[' .. page:fullUrl( 'action=purge' ) .. ' purge]]</div>',
'<p style="margin: 0">This is the documentation page, it ' .. certainty .. ' be transcluded into the main ' .. pageType .. ' page. See [[Template:Documentation]] for more information.</p>',
message,
'</div>',
category
}, '\n' )
return mw.text.trim( out )
end
-- Wrapper around the documentation on the main page
function p.page( f )
local args = require( 'Module:ProcessArgs' ).merge( true )
local page = mw.title.getCurrentTitle()
local namespace = args.type or page.nsText
local docPage = mw.title.new( args.page or namespace .. ':' .. page.text .. '/doc' )
local noDoc = args.nodoc or not docPage.exists
local badDoc = args.baddoc
local pageType = 'template'
if namespace == 'Module' then
pageType = 'module'
elseif page.fullText:find( '.css$' ) then
pageType = 'stylesheet'
elseif page.fullText:find( '.js$' ) then
pageType = 'script'
elseif namespace == 'MediaWiki' then
pageType = 'message'
end
local docText = ''
if not noDoc then
f:callParserFunction( '#dplvar:set', 'noheader', '1' )
docText = mw.text.trim( f:expandTemplate{ title = ':' .. docPage.fullText } )
if f:callParserFunction( '#dplvar:baddoc' ) == '1' then
badDoc = 1
end
if docText == '' then
noDoc = 1
else
docText = '__NOEDITSECTION__\n' .. docText .. '\n'
end
end
local action = 'edit'
local preload = ''
local colour = 'EAF4F9'
local message = ''
local category = ''
if noDoc then
action = 'create'
preload = '&preload=Template:Documentación/preload'
colour = 'F9EAEA'
message = "'''This " .. pageType .. " has no documentation. If you know how to use this " .. pageType .. ", please create it.'''"
if not args.nocat then
if mw.title.new( 'Category:' .. pageType .. 's with no documentation' ).exists then
category = '[[Category:' .. pageType .. 's with no documentation]]'
else
category = '[[Category:Pages with no documentation]]'
end
end
elseif badDoc then
colour = 'F9F2EA'
message = "'''This " .. pageType .. "'s documentation needs improving or additional information.'''\n"
if not args.nocat then
if mw.title.new( 'Category:' .. pageType .. 's with bad documentation' ).exists then
category = '[[Category:' .. pageType .. 's with bad documentation]]'
else
category = '[[Category:Pages with bad documentation]]'
end
end
end
local links = {
'[' .. docPage:fullUrl( 'action=edit' .. preload ) .. ' ' .. action .. ']',
'[' .. page:fullUrl( 'action=purge' ) .. ' purge]'
}
local footer = ''
if not noDoc then
table.insert( links, 1, '[[' .. docPage.fullText .. '|view]]' )
footer = table.concat( {
'<div style="margin:0.7em -1em -0.7em;background-color:#EAF4F9;border-top:1px solid #AAA;padding:0.8em 1em 0.7em;clear:both">\n',
'<div style="float:right">' .. mw.text.nowiki( '[' ) .. table.concat( links, ' | ' ) .. ']</div>\n',
'<p style="margin:0">The above documentation is transcluded from [[' .. docPage.fullText .. ']].</p>\n',
'</div>\n'
} )
end
local out = {
'<div style="background-color:#' .. colour .. ';border:1px solid #AAA;padding:0.8em 1em 0.7em;margin-top:1em;clear:both">\n',
'<div style="margin:-0.8em -1em 0.8em;padding: 0.8em 1em 0.7em;background-color:#EAF4F9;border-bottom:1px solid #AAA">\n',
'<div style="float:right">' .. mw.text.nowiki( '[' ) .. table.concat( links, ' | ' ) .. ']</div>\n',
'<span style="font-weight:bold;font-size:130%">Documentation</span>',
'</div>\n',
message,
docText,
footer,
'</div>\n',
category
}
return mw.text.trim( table.concat( out ) )
end
return p