Diferencia entre revisiones de «Módulo:Documentation»
m (Protegió «Módulo:Documentation» ([Editar=Solo permitir administradores] (indefinido) [Pueden trasladar=Solo permitir administradores] (indefinido))) |
|||
| (No se muestran 2 ediciones intermedias del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
local p = {} | local p = {} | ||
| + | |||
| + | local getType = function( namespace, page ) | ||
| + | local pageType = 'plantilla' | ||
| + | if namespace == 'Module' then | ||
| + | pageType = 'módulo' | ||
| + | elseif page.fullText:gsub( '/doc$', '' ):find( '%.css$' ) then | ||
| + | pageType = 'hoja de estilo' | ||
| + | elseif page.fullText:gsub( '/doc$', '' ):find( '%.js$' ) then | ||
| + | pageType = 'script' | ||
| + | elseif namespace == 'MediaWiki' then | ||
| + | pageType = 'mensaje' | ||
| + | end | ||
| + | |||
| + | return pageType | ||
| + | end | ||
| + | |||
-- 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 ) | ||
| Línea 19: | Línea 35: | ||
end | end | ||
| − | out = '{{documentation|' .. table.concat( templateArgs, '|' ) .. '}} | + | out = '{{documentation|' .. table.concat( templateArgs, '|' ) .. '}}' |
out = out:gsub( '|}}', '}}' ) | out = out:gsub( '|}}', '}}' ) | ||
| + | |||
| + | if not args.content then | ||
| + | out = out .. '\n<!-- Put categories/interwiki on the documentation page -->' | ||
| + | end | ||
end | end | ||
| Línea 26: | Línea 46: | ||
out = f:preprocess( out ) | out = f:preprocess( out ) | ||
if not args.nocat then | if not args.nocat then | ||
| − | out = out .. '[[ | + | out = out .. '[[Categoría:Paquinass con plantillas que requieren sustitución]]' |
end | end | ||
end | end | ||
| Línea 46: | Línea 66: | ||
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 = 'plantilla' |
if namespace == 'Module' then | if namespace == 'Module' then | ||
| − | pageType = ' | + | pageType = 'módulo' |
elseif page.fullText:find( '.css$' ) then | elseif page.fullText:find( '.css$' ) then | ||
| − | pageType = ' | + | pageType = 'hoja de estilo' |
elseif page.fullText:find( '.js$' ) then | elseif page.fullText:find( '.js$' ) then | ||
pageType = 'script' | pageType = 'script' | ||
elseif namespace == 'MediaWiki' then | elseif namespace == 'MediaWiki' then | ||
| − | pageType = ' | + | pageType = 'mensaje' |
end | end | ||
| Línea 61: | Línea 81: | ||
if badDoc then | if badDoc then | ||
colour = 'F9F2EA' | colour = 'F9F2EA' | ||
| − | message = "''' | + | message = "'''Esta/e " .. pageType .. " de documentación necesita mejoras o información adicional.'''" |
end | end | ||
| − | local certainty = ' | + | local certainty = 'debería ser' |
| − | if pageType == ' | + | if pageType == 'módulo' then |
| − | certainty = ' | + | certainty = 'será' |
end | end | ||
local category = '' | local category = '' | ||
if not args.nocat then | if not args.nocat then | ||
| − | category = '[[ | + | category = '[[Categoría:páginas de documentación]]' |
end | end | ||
| Línea 77: | Línea 97: | ||
'<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">Esta es la página de documentación, ' .. certainty .. ' transcluida a la página de ' .. pageType .. ' principal. Véase [[Plantilla:Documentation]] para más información.</p>', |
message, | message, | ||
'</div>', | '</div>', | ||
| Línea 94: | Línea 114: | ||
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 = 'plantilla' |
if namespace == 'Module' then | if namespace == 'Module' then | ||
| − | pageType = ' | + | pageType = 'módulo' |
elseif page.fullText:find( '.css$' ) then | elseif page.fullText:find( '.css$' ) then | ||
| − | pageType = ' | + | pageType = 'hoja de estilo' |
elseif page.fullText:find( '.js$' ) then | elseif page.fullText:find( '.js$' ) then | ||
pageType = 'script' | pageType = 'script' | ||
elseif namespace == 'MediaWiki' then | elseif namespace == 'MediaWiki' then | ||
| − | pageType = ' | + | pageType = 'mensaje' |
end | end | ||
| Línea 129: | Línea 149: | ||
preload = '&preload=Template:Documentation/preload' | preload = '&preload=Template:Documentation/preload' | ||
colour = 'F9EAEA' | colour = 'F9EAEA' | ||
| − | message = "''' | + | message = "'''Esta/e " .. pageType .. " no tiene documentación. Si sabes cómo usar esto " .. pageType .. ", por favor, creala.'''" |
if not args.nocat then | if not args.nocat then | ||
if mw.title.new( 'Category:' .. pageType .. 's with no documentation' ).exists then | if mw.title.new( 'Category:' .. pageType .. 's with no documentation' ).exists then | ||
category = '[[Category:' .. pageType .. 's with no documentation]]' | category = '[[Category:' .. pageType .. 's with no documentation]]' | ||
else | else | ||
| − | category = '[[ | + | category = '[[Categoría:Páginas sin documentación]]' |
end | end | ||
end | end | ||
elseif badDoc then | elseif badDoc then | ||
colour = 'F9F2EA' | colour = 'F9F2EA' | ||
| − | message = "''' | + | message = "'''Esta/e " .. pageType .. " necesita mejorarse o información adicional.'''\n" |
if not args.nocat then | if not args.nocat then | ||
if mw.title.new( 'Category:' .. pageType .. 's with bad documentation' ).exists then | if mw.title.new( 'Category:' .. pageType .. 's with bad documentation' ).exists then | ||
category = '[[Category:' .. pageType .. 's with bad documentation]]' | category = '[[Category:' .. pageType .. 's with bad documentation]]' | ||
else | else | ||
| − | category = '[[ | + | category = '[[Categoría:Páginas con mala documentación]]' |
end | end | ||
end | end | ||
| Línea 151: | Línea 171: | ||
local links = { | local links = { | ||
'[' .. docPage:fullUrl( 'action=edit' .. preload ) .. ' ' .. action .. ']', | '[' .. docPage:fullUrl( 'action=edit' .. preload ) .. ' ' .. action .. ']', | ||
| + | '[' .. docPage:fullUrl( 'action=history' ) .. ' history]', | ||
'[' .. page:fullUrl( 'action=purge' ) .. ' purge]' | '[' .. page:fullUrl( 'action=purge' ) .. ' purge]' | ||
} | } | ||
Revisión actual del 21:17 11 oct 2015
Documentation for this module may be created at Módulo:Documentation/doc
local p = {}
local getType = function( namespace, page )
local pageType = 'plantilla'
if namespace == 'Module' then
pageType = 'módulo'
elseif page.fullText:gsub( '/doc$', '' ):find( '%.css$' ) then
pageType = 'hoja de estilo'
elseif page.fullText:gsub( '/doc$', '' ):find( '%.js$' ) then
pageType = 'script'
elseif namespace == 'MediaWiki' then
pageType = 'mensaje'
end
return pageType
end
-- 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:Template:Documentation/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, '|' ) .. '}}'
out = out:gsub( '|}}', '}}' )
if not args.content then
out = out .. '\n<!-- Put categories/interwiki on the documentation page -->'
end
end
if not mw.isSubsting() then
out = f:preprocess( out )
if not args.nocat then
out = out .. '[[Categoría:Paquinass con plantillas que requieren sustitución]]'
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 = 'plantilla'
if namespace == 'Module' then
pageType = 'módulo'
elseif page.fullText:find( '.css$' ) then
pageType = 'hoja de estilo'
elseif page.fullText:find( '.js$' ) then
pageType = 'script'
elseif namespace == 'MediaWiki' then
pageType = 'mensaje'
end
local colour = 'EAF4F9'
local message = ''
if badDoc then
colour = 'F9F2EA'
message = "'''Esta/e " .. pageType .. " de documentación necesita mejoras o información adicional.'''"
end
local certainty = 'debería ser'
if pageType == 'módulo' then
certainty = 'será'
end
local category = ''
if not args.nocat then
category = '[[Categoría:páginas de documentación]]'
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">Esta es la página de documentación, ' .. certainty .. ' transcluida a la página de ' .. pageType .. ' principal. Véase [[Plantilla:Documentation]] para más información.</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 = 'plantilla'
if namespace == 'Module' then
pageType = 'módulo'
elseif page.fullText:find( '.css$' ) then
pageType = 'hoja de estilo'
elseif page.fullText:find( '.js$' ) then
pageType = 'script'
elseif namespace == 'MediaWiki' then
pageType = 'mensaje'
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:Documentation/preload'
colour = 'F9EAEA'
message = "'''Esta/e " .. pageType .. " no tiene documentación. Si sabes cómo usar esto " .. pageType .. ", por favor, creala.'''"
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 = '[[Categoría:Páginas sin documentación]]'
end
end
elseif badDoc then
colour = 'F9F2EA'
message = "'''Esta/e " .. pageType .. " necesita mejorarse o información adicional.'''\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 = '[[Categoría:Páginas con mala documentación]]'
end
end
end
local links = {
'[' .. docPage:fullUrl( 'action=edit' .. preload ) .. ' ' .. action .. ']',
'[' .. docPage:fullUrl( 'action=history' ) .. ' history]',
'[' .. 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