Diferencia entre revisiones de «Módulo:Documentation»
(Página creada con «local p = {} -- Creating a documentation page or transclution through {{subst:doc}} function p.create( f ) local args = require( 'Module:ProcessArgs' ).norm() page = mw.t...») |
|||
(No se muestran 3 ediciones intermedias de 2 usuarios) | |||
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