Una plantilla es una página de Wikipedia creada para incluirse en otras páginas. Las plantillas suelen contener material repetitivo que podría tener que aparecer en una mayor cantidad de artículos o páginas. Se utilizan comúnmente para mensajes repetitivos , advertencias o avisos estandarizados, cuadros de información , cuadros de navegación y propósitos similares. Las plantillas pueden tener parámetros para que la misma página genere texto diferente en varias páginas que la incluyan.
El método de inclusión más común se denomina transclusión , en el que la fuente wiki de la página de destino contiene una referencia a la plantilla, utilizando la sintaxis. Otro método es la sustitución , en el que el contenido de la plantilla se copia en la fuente wiki de la página de destino, solo una vez, cuando se guarda.{{Template name}}
Ayuda: Una guía rápida de plantillas ofrece una breve introducción al tema. Puede encontrar más ayuda de MediaWiki y Wikimedia en mw:Help:Templates, m:Help:Template y m:Help:Advanced templates.
La mayoría de las plantillas se encuentran en el espacio de nombres de plantillas , lo que significa que tienen títulos con el formato "Plantilla: XXXX ". Sin embargo, es posible transcluir y sustituir desde cualquier espacio de nombres, [a] y, por lo tanto, algunas páginas de plantilla se ubican en otros espacios de nombres, como el espacio de nombres de usuario . Las páginas de plantilla tienen páginas de discusión asociadas .
Las plantillas pueden contener cualquier wikitexto deseado , incluidas las llamadas a otras plantillas. Existe cierta capacidad de programación: valores personalizables (a través de parámetros); cálculo y ramificaciones (usando funciones de análisis ); y acceso a variables específicas de la wiki ( palabras mágicas ), como fechas, horas y nombres de página. También pueden contener marcado para definir ciertas partes de la página que se incluirán mientras que otras no. Esto significa que cuando muestra la página de plantilla en sí, puede ver más que cuando muestra una página que la incluye (por ejemplo, puede contener documentación, categorías, etc. para la plantilla).
Para llamar a una plantilla (hacer que se transcluya o sustituya en la página), una página contiene wikitexto entre llaves dobles. Por ejemplo, el wikitexto {{under construction}}
llama a la plantilla {{ en construcción }} . A veces, la llamada incluye parámetros y tiene el siguiente aspecto {{under construction|comment=This is a comment}}
. Tenga en cuenta que las llamadas a plantillas no son lo único para lo que se utilizan llaves dobles en el wikitexto.
Tenga en cuenta que si bien las plantillas son la forma habitual en que se producen la transclusión y la sustitución en Wikipedia, no son la única forma.
El uso de una plantilla es muy parecido a llamar a una función en un lenguaje de programación: al llamarla, devuelve un valor. En el caso de una plantilla, el valor de retorno se denomina expansión de la plantilla y se trata como parte del código fuente de la página de llamada. Al igual que las funciones, algunas plantillas aceptan parámetros que afectan el resultado.
Al llamar a una plantilla, esta se transcluye o se sustituye en la página que la llama (que se conoce como página de destino ).
Transcluir una plantilla significa que cuando MediaWiki muestra la página, trata la plantilla como si estuviera en el código fuente wiki de la página, mientras que sustituir significa que MediaWiki hace eso cuando guarda la página (es decir, el contenido de la plantilla se almacena como parte de la página de destino y los editores posteriores no pueden saber que llegó allí a través de una plantilla).
Para incorporar una plantilla a una página, coloque la fuente de la página en el lugar donde aparecerá la plantilla. La primera letra de cada palabra del título puede estar en mayúscula o minúscula.{{Template name}}
Para sustituir una plantilla en una página, utilice en su lugar.{{subst:Template name}}
Este wikitexto se llama llamada de plantilla .
En MediaWiki , el software wiki que utiliza Wikipedia, las variables son distintas de las plantillas, pero ambas se identifican mediante llaves {{ }}
dobles y ambas devuelven un valor.
Mientras que los nombres de las variables de MediaWiki están todos en mayúsculas, los nombres de las plantillas tienen las mismas características y limitaciones básicas que todos los nombres de páginas : distinguen entre mayúsculas y minúsculas (excepto el primer carácter); los guiones bajos se analizan como espacios; y no pueden contener ninguno de estos caracteres: # < > [ ] | { }
. Esto se debe a que están reservados para el marcado wiki .
El signo de número #
denota un identificador de fragmento , que identifica un fragmento o una sección de un documento (como una sección en un artículo de Wikipedia). Aunque puede usarlo en un enlace para vincular a una sección de una página de plantilla (como Template:Portal#Example ), los identificadores de fragmento no tienen significado en una llamada de plantilla y se ignoran. Por ejemplo, es lo mismo que .{{Portal#Location|Books}}
{{Portal|Books}}
El espacio de nombres de la plantilla es el predeterminado, por lo que puede omitir el espacio de nombres Template:
en el nombre de la plantilla, y es habitual hacerlo. Sin embargo, debe especificar el prefijo del espacio de nombres para las plantillas en otros espacios de nombres, como User:
. Para transcluir una página en el espacio principal , anteponga dos puntos a su título, como .{{:Page name}}
Nota: Intentar transcluir una plantilla que no existe produce un enlace rojo , al igual que hacer un enlace a cualquier otra página inexistente. Seguir el enlace permite crear esa plantilla en particular. No es posible transcluir páginas entre proyectos (como Wikipedias en diferentes idiomas o MediaWiki); para usar una plantilla en un proyecto de otro idioma, se debe crear una copia de la plantilla en ese proyecto.
La sintaxis básica de transclusión dada anteriormente se puede ampliar con parámetros , que se utilizan para controlar la salida de la plantilla. La sintaxis para esto es
donde es el nombre de la plantilla, y cada uno puede contener solo un valor (estos se denominan parámetros sin nombre ) o tener la forma ( parámetros con nombre ). El primer, segundo, tercer parámetro sin nombre, etc., reciben los nombres , , , etc.{{Template name|parameter|parameter|...}}
Template name
parameter
name=value
1
2
3
Los caracteres de espacio en blanco (espacios, tabulaciones, retornos) se eliminan del principio y del final de los nombres y valores de los parámetros con nombre , pero no del medio: por lo tanto, {{ ... | myparam = this is a test }}
tiene el mismo efecto que {{ ... |myparam=this is a test}}
. Esto no se aplica a los parámetros sin nombre , donde se conservan todos los caracteres de espacio en blanco.
En la codificación de la plantilla se definen los parámetros (si los hay) que se pueden o se deben pasar a una plantilla y cómo se deben nombrar. Una llamada a una plantilla puede especificar parámetros nombrados en cualquier orden. Los parámetros superfluos o mal nombrados se ignoran; a los parámetros no especificados se les asignan valores predeterminados. Si se especifica un parámetro más de una vez, se aplica el último valor.
El valor de un parámetro puede ser una cadena vacía, como cuando el signo de barra vertical o el signo igual van seguidos inmediatamente por el siguiente signo de barra vertical o las llaves de cierre. Esto es diferente a no especificar el parámetro en absoluto, lo que da como resultado un valor predeterminado, aunque las plantillas suelen estar codificadas para que se comporten de la misma manera en ambos casos.
Si una llamada a una plantilla especifica un parámetro que no está definido en la plantilla, no tiene ningún efecto. A veces, los editores hacen esto a propósito: por ejemplo, |reason=
se usa con frecuencia como un pseudoparámetro para explicar brevemente en el código fuente de la wiki por qué se colocó allí la llamada a la plantilla. [b] Algunas plantillas suelen advertir al editor si se está utilizando un parámetro que no está contemplado en el código de la plantilla; esto se usa principalmente para infoboxes y otras plantillas con una gran cantidad de parámetros complicados, donde la presencia de uno desconocido suele ser un error no intencional. Si actualiza una plantilla de este tipo para definir un nuevo parámetro, su llamada al módulo también debe actualizarse para incluir el nuevo parámetro.{{#invoke:check for unknown parameters|check|...}}
La sintaxis de Wikitext no permite crear de forma nativa plantillas verdaderamente variádicas , sino solo pseudovariádicas, que comprueban los parámetros entrantes uno por uno hasta una cierta cantidad fija. Sin embargo, es posible romper esta limitación utilizando módulos dedicados. Para casos simples, permite expandir todos los parámetros secuenciales a ciegas y tiene la capacidad de establecer delimitadores personalizados. Para casos más complejos, permite contar, enumerar, mapear, filtrar y propagar todos los parámetros entrantes sin saber su número de antemano.{{#invoke:separated entries|main}}
{{#invoke:params}}
Nota: Si desea experimentar con alguna de estas opciones, puede utilizar el entorno de pruebas de plantillas o su página de usuario o entorno de pruebas. Puede probar su plantilla con Special:ExpandTemplates .
En Template:TM se puede encontrar un ejemplo de una plantilla muy sencilla , que se expande a un wikitexto que coloca el símbolo de marca registrada (™), vinculado al artículo de marca registrada , en ese punto de la página mostrada. Un programador diría que la plantilla "devuelve" el wikitexto del vínculo del símbolo de marca registrada.
Plantilla de visualización :TM (haciendo clic en el enlace anterior) y luego haciendo clic en la pestaña "Editar" para ver el código de la plantilla (su fuente de página). La parte activa de ese código, que se convierte en la expansión de la plantilla cuando se transcluye, es el enlace único wikitexto [[Trademark|™]]
. El resto de la fuente de la página está encerrada entre <noinclude>
etiquetas, por lo que aparece cuando se muestra la página de la plantilla en sí, pero no cuando se muestra una página que llama a la plantilla.
Para trasladar Template:TM a otra página (es decir, para utilizarlo en otra página), escriba en la fuente de esa página (la página de destino) y haga clic en . La página se mostrará con la llamada a la plantilla reemplazada por la expansión de la plantilla, como si el wikitexto estuviera realmente contenido en ese punto. Por lo tanto, la página mostrada contendrá el enlace wiki " ™ ".{{TM}}
Show preview[[Trademark|™]]
Por ejemplo, escribe y verás "El símbolo de marca registrada es ™ " al obtener una vista previa de la página o después de guardar el cambio.The trademark symbol is {{TM}}
La otra forma de utilizar una plantilla es sustituirla . Si escribe y obtiene una vista previa o guarda la página, verá "El símbolo de marca registrada es ™ ", tal como en el ejemplo de transclusión anterior. Pero si guarda la página y luego vuelve a mirar el código fuente de la página guardada , [c] verá , porque la llamada a la plantilla fue reemplazada por la expansión de la plantilla cuando guardó la página. No hay una conexión continua con la llamada a la plantilla; nadie puede saber al mirar el código fuente de la página que no acaba de escribir y si la plantilla {{ TM }} cambia (o deja de existir), su página seguirá mostrándose como lo hace ahora. (Por el contrario, en el ejemplo de transclusión anterior, si la plantilla {{ TM }} cambia posteriormente, su página puede mostrarse de manera diferente).The trademark symbol is {{subst:TM}}
The trademark symbol is [[Trademark|™]]
The trademark symbol is [[Trademark|™]]
Un ejemplo de una plantilla que acepta parámetros es la plantilla . Intente escribir en el sandbox: se generará el siguiente texto:{{about}}
{{about|how to use templates|how to use modules|Help:Lua}}
La plantilla utiliza tres parámetros sin nombre (también llamados parámetros posicionales) en el ejemplo anterior, pero puede llamar a la misma plantilla con diferentes cantidades de parámetros para obtener resultados ligeramente diferentes, como se explica en la documentación de la plantilla . Por ejemplo, . Observe el uso de un parámetro vacío: en este caso, las barras verticales consecutivas significan que el primer parámetro especificado es una cadena vacía, lo que en esta plantilla hará que se omita la oración inicial "about". Esto produce:{{about}}
{{about||how to use modules|Help:Lua}}
Un ejemplo simple de una plantilla que tiene parámetros nombrados es Template:Payoff matrix , que se utiliza para generar una cuadrícula de 2 x 2. Por ejemplo:
Consulte la página de plantillas para conocer más posibilidades. Observe que aquí se llama a la plantilla sin especificar todos sus parámetros posibles, por lo que los parámetros no definidos reciben valores predeterminados.
Al utilizar plantillas puede que valga la pena tener en cuenta los siguientes puntos:
{{=}}
a=b
como valor literal para el primer parámetro, escriba {{done|a{{=}}b}}
o {{done|1=a=b}}
.|
en una especificación de parámetro de plantilla, ya que se interpretaría como que separa una especificación de parámetro de otra. [e] Este problema se puede resolver de manera similar utilizando la palabra mágica en lugar de la barra vertical o, si la barra vertical no está destinada a analizarse en un nivel superior, utilizando la entidad HTML . Alternativamente, para incrustar tablas wiki en plantillas, puede utilizar para evitar el exceso de .{{!}}
|
{{Wikitable}}
{{!}}
{{Trim}}
en la página de origen, eso, por supuesto, llamará a la plantilla, por lo que para facilitar la visualización del nombre entre llaves y también hacer que el nombre sea un enlace a la plantilla para conveniencia del lector, existe la plantilla {{ tl }} (la plantilla " t emplate l ink"). Por ejemplo, {{tl|Example}}
produce {{ Example }} . Hay varias otras plantillas de enlace de plantillas disponibles con otras funciones.<noinclude><nowiki></noinclude>~~~~~<noinclude></nowiki></noinclude>
, pero esto solo funciona cuando sustituyes la plantilla. Si la transcluyes , solo obtendrás ~~~~~.<!--
antes de cada carácter de salto de línea y -->
después de él, lo que produce un comentario HTML .Las plantillas son simplemente páginas de Wikipedia. Se crean, eliminan y editan de la misma forma que cualquier otra página.
Para crear una plantilla, elija un nombre apropiado, navegue a esa página, luego haga clic en la pestaña "Editar" o cree una nueva página según sea necesario.
Las plantillas normalmente se colocan en el espacio de nombres de plantillas , aunque puedes colocar una plantilla destinada a tu uso personal o para experimentación en tu propio espacio de usuario .
Antes de crear una plantilla, realice una búsqueda rápida de plantillas existentes (por ejemplo, explorando Category:Wikipedia templates ) para ver si ya existe una plantilla que haga lo que desea o una plantilla similar cuyo código se pueda copiar y modificar (o dejar en su lugar y expandir). Busque plantillas genéricas en las que se pueda basar la nueva plantilla; por ejemplo, puede crear una plantilla navbox fácilmente creando una plantilla breve que llame a la plantilla genérica Template:Navbox .
No existe una regla estricta sobre qué nombre elegir para una plantilla: debe ser breve pero razonablemente descriptivo. La guía de nombres dice: "La función de la plantilla debe quedar clara en el nombre de la misma". Si existen plantillas similares, intente seguir un patrón de nombres consistente. Puede cambiar el nombre de una plantilla sin romper las transclusiones existentes (lo que se denomina breakage ) dejando una redirección al nuevo nombre de la plantilla.
Edite una plantilla de la misma manera que cualquier otra página: navegue hasta la plantilla y haga clic en la pestaña "Editar".
Tenga mucho cuidado al editar plantillas existentes: los cambios realizados pueden afectar a una gran cantidad de páginas, a menudo de maneras inesperadas. Por este motivo, muchas plantillas de uso frecuente están protegidas contra la edición, excepto por parte de administradores y editores de plantillas ; otros editores pueden proponer cambios en la página de discusión. Algunas plantillas ofrecen un entorno de pruebas y casos de experimentación.
Las plantillas que no se utilicen o que no sean adecuadas deben eliminarse. Las plantillas que se puedan combinar fácilmente con otras deben combinarse.
Para proponer la eliminación o fusión de una plantilla, vaya a Plantillas para discusión (TfD).
Todo lo que se puede incluir en una página o artículo normal se puede incluir en una plantilla, incluidas otras plantillas (denominadas subplantillas ). Las plantillas suelen utilizar funciones de programación (parámetros, funciones de análisis y otras palabras mágicas ) que permiten que el contenido transcluido varíe según el contexto. También hay etiquetas especiales para controlar qué información se transcluye y cuál no.
En el código de plantilla, el valor de un parámetro se representa mediante elementos encerrados entre llaves triples , lo cual constituye una referencia de parámetro .
{{{xxx}}}
se expande al valor del parámetro llamado "xxx".{{{1}}}
, {{{2}}}
, etc. se expanden al primer, segundo, etc. parámetros sin nombre. (Tenga en cuenta que un parámetro sin nombre se puede especificar alternativamente en una llamada de plantilla como un parámetro con nombre equivalente llamado "1", "2", etc.).Si no se especifica un parámetro en la llamada de plantilla, la referencia del parámetro no se reemplaza por nada, sino que se expande literalmente; esto significa que si la llamada de plantilla no especifica el parámetro "xxx", el wikitexto {{{xxx}}}
dentro de la plantilla se expande literalmente a {{{xxx}}} (no a la cadena nula que podría haber esperado). Puede obtener un comportamiento más útil especificando un valor predeterminado en la referencia del parámetro. Haga esto con la sintaxis de barra vertical : {{{xxx|dflt}}}
especifica el valor predeterminado dflt
para el parámetro nombrado "xxx", y {{{1|dflt}}}
especifica el valor predeterminado dflt
para el primer parámetro sin nombre. Lo más frecuente es que se especifique un valor predeterminado nulo, como {{{1|}}}
o {{{xxx|}}}
.
Puede utilizar valores de parámetros predeterminados para crear un alias de parámetro: por ejemplo, si los parámetros "texto" y "mensaje" son nombres para el mismo parámetro, que también se puede especificar como el único parámetro sin nombre, haga referencia al parámetro con {{{message|{{{text|{{{1|}}}}}}}}}
. Si la llamada de plantilla especifica más de uno de esos parámetros, "mensaje" tendrá prioridad, seguido de "texto" y, finalmente, del primer parámetro sin nombre. Por lo tanto, si una llamada de plantilla especifica parámetros |message=A|text=B|C
, el wikitexto anterior se expande a A
.
Debido a los múltiples significados de la sintaxis de doble y triple corchete en el wikitexto, las expresiones a veces pueden ser ambiguas. Puede ser útil o necesario incluir espacios para resolver dicha ambigüedad. Por ejemplo, {{ {{{xxx}}} }}
o {{{ {{xxx}} }}}
, en lugar de escribir cinco corchetes consecutivos, puede ser más legible para las personas. Pero tenga cuidado con los espacios en blanco no deseados que aparecen en la expansión de la plantilla.
Las referencias de parámetros no se expanden cuando están envueltas en etiquetas.<nowiki>
El ejemplo de uso de parámetros anterior se refiere a la plantilla {{ matriz de pagos }} . Este es el código de la plantilla que implementa esos parámetros:
{| id = "Matriz de pagos" estilo = "fondo:blanco; float: {{{ Float | derecha }}} ; claro:derecha; alineación del texto:centro;" alineación = {{{ Float | derecha }}} espacio entre celdas = 0 relleno de celdas = 8 ancho = {{{ Ancho | 225 }}} |- | estilo = "ancho:33%; " | | estilo = "ancho:33%; borde inferior: negro sólido 1px;" | {{{ 2L | Izquierda }}} | estilo = "ancho:33%; borde inferior: negro sólido 1px;" | {{{ 2R | Derecha }}} |- | estilo = "border-derecha: negro sólido 1px; alineación del texto: derecha; " | {{{ 1U | Arriba }}} | estilo="border-right: negro sólido 1px; borde inferior: negro sólido 1px; fondo: {{{ ULc | blanco }}} ; tamaño de fuente: 120%; "| {{{ UL | 0, 0 }}} | estilo="border-right: negro sólido 1px; borde inferior: negro sólido 1px; fondo: {{{ URc | blanco }}} ; tamaño de fuente: 120%; "| {{{ UR | 0, 0 }}} |- | estilo = "border-right: negro sólido 1px; alineación del texto: derecha; " | {{{ 1D | Abajo }}} | estilo="border-right: negro sólido 1px; borde inferior: negro sólido 1px; fondo: {{{ DLc | blanco }}} ; tamaño de fuente: 120%; "| {{{ DL | 0, 0 }}} | estilo="border-right: negro sólido 1px; borde-inferior: negro sólido 1px; fondo: {{{ DRc | blanco }}} ; tamaño de fuente: 120%; "| {{{ DR | 0, 0 }}} |- | estilo = "tamaño de fuente:90%;" colspan = 3 | '' {{{ Nombre |{{ NOMBRE DE PAGINA }}}}} '' |}
La entidad indica a la plantilla que utilice el valor del parámetro nombrado o el texto si el parámetro no se especifica en la llamada.{{{2L|Left}}}
2L
Left
Las referencias de parámetros no se expanden dentro de las etiquetas de apertura de estilo XML . Por lo tanto, lo siguiente no funcionará dentro de una plantilla:
porque el parámetro no se expande. En su lugar, puede utilizar la {{#tag:}}
función de análisis , que se utiliza, por ejemplo, en para generar el elemento; consulte también Ayuda:Palabras mágicas § Formato . Por lo tanto, el siguiente ejemplo funcionará:{{sfn}}
<ref>...</ref>
Si el valor de un parámetro es (o termina con) una URL , verifique si se muestra en Wikipedia con el enlace que sobrepasa en uno o más caracteres después de la URL, de modo que hacer clic en el enlace causa un error o falla. Esto podría suceder porque el código fuente no tiene un espacio después de la URL o contiene o genera un espacio que se descarta en el procesamiento. Asegúrese de que en la expansión de la plantilla un espacio suave ( no un espacio duro o indivisible ) sigue a la URL, independientemente de si usted o un usuario proporcionaron la URL o si se generó mediante un procesamiento automático. La plantilla puede ser útil.{{spaces}}
El código de plantilla a menudo hace uso de las variables y funciones del analizador descritas en Ayuda:Palabras mágicas para hacer que el comportamiento de la plantilla dependa del entorno en el que está incluida (como la hora actual o el espacio de nombres). Las funciones del analizador se pueden utilizar para algunos cálculos aritméticos y manipulaciones de cadenas en variables y valores de parámetros, pero ciertas funciones de programación estándar, como bucles y asignación de variables, no están disponibles. La manipulación completa de cadenas no está disponible; se han creado algunas plantillas que proporcionan dicha función, pero son ineficientes e imperfectas.
A continuación se enumeran algunas de las variables y funciones más utilizadas. Para obtener más información, consulte Ayuda:Palabras mágicas y la documentación más completa en las páginas de MediaWiki mw:Ayuda:Palabras mágicas y mw:Ayuda:Extensión:Funciones del analizador.
La extensión ParserFunctions proporciona más funciones de análisis orientadas a la programación:
Las variables y son particularmente útiles y se usan con frecuencia para cambiar el comportamiento de la plantilla en función del contexto en el que se incluyen. Las plantillas que contienen enlaces de categorías suelen hacer esto. Por ejemplo, una plantilla de limpieza contiene un enlace de categoría para categorizar la página que llama como una que necesita limpieza, por lo que es probable que la plantilla condicione ese enlace de categoría en la variable para que las páginas de discusión, las páginas de usuario y cualquier otra página que pueda llamar a la plantilla de manera incidental no se cataloguen como páginas que necesitan limpieza.{{PAGENAME}}
{{NAMESPACE}}
{{NAMESPACE}}
Una plantilla puede llamar a otra plantilla: esto se denomina anidamiento y la plantilla llamada se denomina, en este contexto, subplantilla . Cuando WikiMedia expande la plantilla, expande las subplantillas a medida que aparecen las llamadas a ellas, de modo que el producto final es esencialmente el resultado de expandir las plantillas desde la más anidada hacia afuera.
Si bien su aplicación es bastante sencilla, conlleva algunas peculiaridades y trucos dignos de mención.
Para pasar un valor de parámetro de una llamada de plantilla a una subplantilla, utilice una referencia de parámetro en la llamada de plantilla a la subplantilla.
"the quick brown {{B|{{{3}}} }} jumps over..."
'''{{{1}}}'''
{{A|apple|pear|fox}}
"the quick brown '''fox''' jumps over..."
Una plantilla puede incluso elegir qué parámetro de subplantilla pasar condicionalmente.
the quick brown {{B|{{{3}}}=fox}} jumps over...
'''{{{jumper}}}'''
{{A|apple|pear|jumper}}
"the quick brown '''fox''' jumps over..."
La recursión de plantillas no está disponible; es decir, una plantilla no puede llamarse a sí misma directamente ni indirectamente llamando a otras plantillas que la llamen. Los intentos de hacerlo darán como resultado un mensaje de error que describe un "bucle de plantilla".
Cuando una subplantilla contiene llaves no coincidentes (por ejemplo, las {{lb}}}
llaves no coincidentes se tratan como texto durante el procesamiento), no afectan el análisis de las llaves en la plantilla que realiza la llamada. Pero cuando se sustituye la plantilla, las llaves no coincidentes se analizarán como llaves cuando se muestre la página posteriormente. Esto tiene poca utilidad práctica, pero ocasionalmente puede introducir errores inesperados.
Consulte m:Help:Plantillas avanzadas y m:Help:Conversión recursiva de wikitexto para obtener más información.
De forma predeterminada, cuando una página llama a una plantilla, MediaWiki incluye la expansión de toda la plantilla en la página que la llama. Sin embargo, es posible modificar ese comportamiento mediante etiquetas que especifican qué partes del código de la plantilla se deben incluir. Esto hace posible que la plantilla contenga información solo para mostrar cuando se muestra la página de la plantilla, como la documentación de la plantilla o las categorías . También es posible incluir partes de la plantilla en las páginas que llaman, pero que no se muestren cuando se muestra la página de la plantilla ni se procesen cuando se guarda la página de la plantilla (por ejemplo, categorías que se aplicarán a las páginas que llaman que no se aplican a la plantilla). Las etiquetas son las siguientes:
<noinclude>...</noinclude>
– El texto entre las etiquetas no se incluye cuando se llama a la plantilla, pero se procesa cuando la plantilla misma se muestra o se guarda; un uso común es para la documentación en plantillas .<onlyinclude>...</onlyinclude>
– No se incluye nada en la página excepto lo que aparece entre las etiquetas cuando se llama a la plantilla.<includeonly>...</includeonly>
– El texto entre las etiquetas se incluye cuando se llama a la plantilla, pero no se procesa cuando la plantilla se muestra o se guarda.Quizás el problema más común con el uso de estos bloques son los espacios o líneas no deseados. Es importante recordar que el efecto de estas etiquetas comienza inmediatamente antes del primer corchete angular, no en la línea anterior ni en el carácter visible anterior; de manera similar, el efecto termina inmediatamente después del último corchete angular, no en la línea siguiente ni en el siguiente carácter visible. Por ejemplo:
Estas etiquetas se pueden anidar unas dentro de otras, aunque (para una página determinada) esto solo tiene sentido para la <onlyinclude>
etiqueta; anidar <includeonly>
etiquetas <noinclude>
es bastante inútil. Sin embargo, tenga cuidado de anidar las etiquetas correctamente. Las construcciones como <onlyinclude>
abc <includeonly>
def </onlyinclude>
ghi no</includeonly>
funcionarán como se espera. Utilice la regla "primero abierto, último cerrado" que es estándar para HTML/XML.
subst:
para sustituir una plantilla (en lugar de transcluirla), lo que puede mostrar más claramente lo que sucede cuando se transcluye la plantilla; consulte Ayuda:Sustitución .msgnw:
(abreviatura de " mensaje, ahora wiki " ) para transcluir más o menos el código fuente de la plantilla en lugar de expandirlo. No es perfecto: se representan las listas, se eliminan los comentarios y se reemplazan las nuevas líneas individuales por espacios (lo que es particularmente confuso cuando se transcluyen tablas de wikitexto).:
( , ;
, *
, #
[g] ) , se procesa durante la visualización como si estuviera al principio de una línea, incluso si la llamada de plantilla no lo está. Esto le permite crear varios tipos de listas con plantillas en las que la llamada de plantilla puede no estar en el lugar correcto para una lista. Para evitar esto, utilice antes del marcado o alrededor de él, o utilice las entidades HTML , , , , o utilice las plantillas {{ dos puntos }} , {{ ; }} , {{ asterisco }} , {{ signo de número }} (es posible que esas plantillas no existan en otras wikis). En algunos casos, las entidades HTML funcionarán cuando no lo haga. El problema a menudo ocurre cuando un valor de parámetro en una llamada de plantilla comienza con uno de los cuatro caracteres. Consulte también {{ Encodefirst }} .<nowiki />
<nowiki>...</nowiki>
:
;
*
#
<nowiki />
{{Trim}}
NewPP limit report
comentarios.=
wikimarkup para crear un encabezado de sección en una plantilla destinada a usarse en el espacio de artículos; esto creará un enlace de edición en una página que transcluye la plantilla y abrirá la plantilla para su edición de manera confusa.<includeonly>__NOEDITSECTION__</includeonly>
.La documentación para los usuarios, junto con las categorías de la plantilla, normalmente va después del código de la plantilla, dentro de <noinclude>...</noinclude>
las etiquetas. Normalmente es necesario poner la <noinclude>
etiqueta de apertura inmediatamente después del final del código, sin espacios intermedios ni saltos de línea, para evitar incluir espacios en blanco no deseados.
En el caso de plantillas complejas, la documentación suele guardarse en una subpágina independiente de la página de la plantilla (denominada "Plantilla: XXX /doc"). Esto se aplica especialmente a muchas plantillas protegidas , de modo que los usuarios que no sean administradores puedan editar la documentación. Para ello, realice una llamada a la plantilla después del código de plantilla principal y dentro de las etiquetas. Si la subpágina "/doc" no existe, al visualizar la plantilla aparece un enlace que puede utilizar para crear la subpágina.{{Documentation}}
<noinclude>...</noinclude>
La subpágina de documentación, en lugar de la plantilla en sí, es normalmente lo que se coloca en las categorías para representar una plantilla.
Algunas plantillas generan declaraciones de categorías en su expansión, ya que la plantilla está destinada a colocar páginas de llamada en categorías particulares. Esto se hace a menudo con categorías de mantenimiento. No se recomienda colocar artículos en categorías de contenido ordinarias de esta manera. Al hacer esto, es posible que tenga que usar <includeonly>...</includeonly>
etiquetas para mantener la plantilla fuera de la categoría. Mientras desarrolla, prueba, realiza pruebas en un entorno aislado o demuestra una plantilla destinada a aplicar una categoría, reemplace temporalmente cada categoría con una categoría de prueba (comenzando con X1 , X2 o X3 ) o suprima la categorización (consulte supresión de categorías en plantillas ).
Categorizar su plantilla y documentar su uso adecuado hará que sea más fácil para otros editores encontrarla y usarla.
Las declaraciones de categoría de una plantilla en sí deben colocarse en la subpágina de documentación de la plantilla (o dentro de <noinclude>...</noinclude>
las etiquetas si no hay una subpágina de documentación) para evitar colocar páginas de llamada en la categoría.
Una redirección de una plantilla funciona como un alias. Por ejemplo, Template:Tsh redirecciona a Template:Template access , de modo que puedes codificar en lugar de .{{tsh|foo}}
{{Template shortcut|foo}}
Es bueno preparar alias de plantilla para variaciones en los espacios en blanco y en el uso de mayúsculas. Por ejemplo, hay una plantilla llamada . La "W" está en mayúscula, ya que la palabra "Wikcionario" está así, pero existe una redirección (con "w" minúscula) porque los editores pueden recordarla erróneamente como esta última.{{See Wiktionary}}
{{See wiktionary}}
Límite de tamaño de inclusión posterior a la expansión. Cuando las plantillas se procesan o se expanden a HTML para visualizarlas en el navegador, utilizan memoria. Esto se denomina "tamaño de inclusión posterior a la expansión" y tiene un límite de 2 048 000 bytes. Este tamaño se incluye como un comentario invisible en la salida HTML; utilice la función de visualización de código fuente de su navegador para mostrar el HTML sin formato y busque "newpp". El informe tendrá el siguiente aspecto:
<!-- Informe de límite de NewPP Cantidad de nodos del preprocesador: 2382/1000000 Tamaño de inclusión posterior a la expansión: 63476/2048000 bytes Tamaño del argumento de plantilla: 9517/2048000 bytes Cantidad de funciones del analizador costosas: 2/500 -->
El ejemplo muestra que la expansión de la plantilla utiliza 63.476 bytes de 2.048.000 bytes de memoria disponible.
Problema de visualización. Si se incluyen demasiadas plantillas en una página, el tamaño de inclusión posterior a la expansión puede superar el límite. Cuando esto sucede, las plantillas que se encuentren después del límite ya no se expandirán y, en su lugar, se mostrarán como un enlace wiki (por ejemplo, Plantilla: Nombre de plantilla ). Las causas más comunes son la inclusión de demasiadas plantillas de citas , plantillas de cuadro de navegación o plantillas de indicadores . Para resolver este problema, sustituya las plantillas, invoque directamente los módulos, elimine las plantillas o divida la página.
Las transclusiones no renderizadas aún cuentan para el límite. Por ejemplo, una página que contiene solo {{#if:{{:Main Page}}}}
tendría un tamaño de inclusión posterior a la expansión, aunque no tenga ninguna salida.
Lo mismo se aplica a los módulos de Scribunto . Por ejemplo, {{#invoke:Test|main}}
el tamaño de inclusión posterior a la expansión seguiría aumentando incluso si Módulo:Prueba fuera simplemente:
mw . getCurrentFrame (): preprocess "{{msgnw::Main Page}}" -- elimina esta línea y el tamaño de inclusión posterior a la expansión se convierte en cero return { main = function () end } -- p.main() no tiene valor de retorno
El lenguaje de programación Lua está disponible para su uso a través de la extensión Scribunto MediaWiki. Puede incorporar código Lua en plantillas empleando la {{#invoke:}}
funcionalidad de la extensión Scribunto MediaWiki. El código fuente de Lua se almacena en páginas llamadas módulos y las plantillas invocan estos módulos individuales. Por ejemplo, puede invocar Module:Example con el código {{#invoke:Example|hello}}
para imprimir el texto "¡Hola mundo!".
Una plantilla es una página de Wikipedia cuyo propósito es ser incorporada o sustituida en otra página. Las plantillas suelen estar en el espacio de nombres de plantillas , pero no es obligatorio. Las páginas pueden incorporar o sustituir cualquier página, no solo plantillas; lo que hace que una página sea una plantilla es el propósito de la página.
Llamar a una plantilla significa transcluir o sustituir una. Una página llama a una plantilla. El wikitexto de una página que hace que la página llame a una plantilla se denomina llamada de plantilla . Por ejemplo, . Las llamadas de plantilla siempre están delimitadas por llaves dobles ( ), pero no todo lo que está entre llaves dobles es una llamada de plantilla.{{sic|constellation prize}}
{{}}
La expansión es el proceso de generar el código fuente de una página a partir de una plantilla, cuando una página la llama, mediante la aplicación de parámetros y otras características. MediaWiki expande una plantilla a medida que muestra una página. También se puede decir que la plantilla en sí se expande, por lo que tanto "MediaWiki se expande {{{1}}}
como el valor del primer parámetro posicional" como " {{{1}}}
se expande como el valor del primer parámetro posicional" funcionan.
La expansión de una página también es la fuente de la página que resulta de la expansión de la plantilla. Por ejemplo, la expansión de la plantilla {{ sic }} cuando se llama mediante is .{{sic|constellation prize}}
constellation prize [''[[sic]]'']
El contenido de la página mostrada generado por una llamada de plantilla (que es la representación de la expansión de la plantilla llamada) es el resultado de la plantilla . El resultado de la plantilla generado por la llamada de plantilla es "premio de constelación [ sic ]".{{sic|constellation prize}}
El nombre de una plantilla es el nombre de la página de Wikipedia (que también es el título de la página). El espacio de nombres normalmente se omite si es "Plantilla" (que casi siempre es así). Además, es habitual escribir el nombre entre llaves dobles, como una llamada de plantilla, para enfatizar que nombra una plantilla. Por ejemplo, "Use la plantilla {{ tm }} para generar el símbolo de marca registrada". Pero no llegue al extremo de poner un nombre de plantilla en la fuente del código, para evitar confusiones con una llamada de plantilla real. {{tm}} es un nombre de plantilla, pero {{tm}}
es una llamada de plantilla.
Algunas llamadas de plantilla realizan una función de etiquetado; a este tipo de llamadas de plantilla a menudo se las denomina etiqueta , como en "Si estás en medio de una edición importante, coloca una etiqueta {{ in use }} en la parte superior de la página". Esta es una de las muchas formas en que se utiliza el término "etiqueta" en Wikipedia.
Un parámetro es una pieza particular de información que se puede especificar en una llamada de plantilla para afectar la expansión de la plantilla. Un parámetro tiene un valor . Un parámetro nombrado tiene un nombre ; un parámetro sin nombre tiene una posición . Una llamada de plantilla especifica un parámetro y el código que lo hace es una especificación de parámetro . Una plantilla define un parámetro (no explícitamente - solo por la plantilla que está diseñada para usarlo). El código en una plantilla que se expande al valor del parámetro (por ejemplo {{{myparam}}}
) es una referencia de parámetro .
Es común utilizar "plantilla" para referirse no sólo a una plantilla, sino a una llamada de plantilla, un resultado de plantilla y un nombre de plantilla.
Por ejemplo:
Estos usos pueden resultar confusos, especialmente para alguien que no esté familiarizado con las plantillas. Considere utilizar un lenguaje más específico.
Como alternativa a utilizar este índice vinculado anteriormente, puede buscar el espacio de nombres de la plantilla utilizando el cuadro de búsqueda especial que aparece a continuación:
$wgNonincludableNamespaces
.{{Requested move}}
|reason=