Ayuda:Plantilla

Página principal de ayuda técnica sobre plantillas

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.

Descripción general

Una descripción básica de cómo funcionan las plantillas (video de 8 minutos)

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.

Uso de plantillas

General

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}}

información 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.

Parámetros

  • H:PARÁMETRO
  • WP:PARÁMETRO

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 nameparametername=value123

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}}

Ejemplos

información 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 transcluir Template:TM en 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|™]]

Ejemplos con parámetros

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 números 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:

MargenSe representa como
{{matriz de pagos | UL = 5 | UR = 7 | DL = 2 | DR = 9 | Nombre = Ejemplo de uso }}
IzquierdaBien
Arriba57
Abajo29
Ejemplo de uso

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.

Consejos y soluciones alternativas

Al utilizar plantillas puede que valga la pena tener en cuenta los siguientes puntos:

  • Las plantillas no son el único método de transclusión , en algunos casos, otros métodos como la transclusión selectiva son más apropiados.
  • Un valor de parámetro sin nombre (parámetro posicional) no puede contener un signo igual ordinario, ya que esto se interpretaría en la especificación del parámetro como un parámetro con nombre (con el signo igual separando el nombre de su valor). [d]
    • Para especificar un parámetro sin nombre que incluya un signo igual (por ejemplo, en una URL con pares nombre-valor ), reemplace el signo igual con la palabra mágica , que se expande a un signo igual que no será interpretado.{{=}}
    • Otro método consiste en especificar explícitamente los parámetros posicionales. El primer parámetro sin nombre se llama "1", y así sucesivamente. Para llamar a la plantilla {{ done }} con a=bcomo valor literal para el primer parámetro, escriba {{done|a{{=}}b}}o {{done|1=a=b}}.
  • De manera similar, no es posible utilizar un carácter de barra vertical común |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 .{{!}} &#124;{{Wikitable}}{{!}}
  • Recuerde que los caracteres de espacio en blanco (espacios, tabulaciones, retornos de carro y saltos de línea) no se eliminan automáticamente del inicio y el final de los parámetros sin nombre, a diferencia de lo que ocurre con los parámetros con nombre. La inclusión de dichos caracteres (o cualquier otro carácter no visible en cualquier parámetro) puede, en algunos casos, afectar el comportamiento de la plantilla de formas inesperadas. (Los diseñadores de plantillas pueden usar {{ Trim }} para eliminar los espacios en blanco no deseados en los parámetros sin nombre).
  • En la documentación y en las discusiones, es habitual poner el nombre de una plantilla entre llaves dobles para enfatizar la referencia a una plantilla (por ejemplo, use {{ Trim }} como el nombre de Template:Trim). Si simplemente escribe {{Trim}}en la página de origen, eso llamará por supuesto 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.
  • Cuando un editor cambia una plantilla (editándola o editándola, o una de sus subplantillas), el cambio se reflejará en última instancia cada vez que se muestre posteriormente cualquier página que incluya esa plantilla. Sin embargo, es posible que el cambio no se haga visible en todas las páginas inmediatamente; es posible que una versión de una página almacenada previamente en caché, basada en la versión anterior de la plantilla, siga mostrándose durante algún tiempo. Utilice la función de purga para forzar que una página se muestre utilizando las versiones más recientes de las plantillas, incluso en la página de la plantilla en sí, si contiene ejemplos de uso.
  • Al visualizar versiones antiguas de páginas, recuerde que las plantillas se incorporarán tal como están ahora, no necesariamente como estaban cuando la versión anterior de la página estaba activa.
  • Para enumerar todas las páginas que incorporan una plantilla, utilice el enlace ¿Qué enlaces hay aquí? en la página cuando muestre la página de plantilla. Tenga en cuenta que esto no incluirá páginas en las que se haya sustituido la plantilla, ya que no hay registro de sustituciones.
  • Para obtener una lista de las plantillas incorporadas a una página, abra la página de edición y busque la lista debajo de la ventana de edición. Esta lista también incluye las subplantillas utilizadas por las plantillas que se incorporan directamente. Para obtener una lista de este tipo para una sección de la página, una versión anterior de la página [f] o su versión recién editada antes de guardarla, haga clic Show previewen la página de edición correspondiente.
  • Existen límites en cuanto a la cantidad y complejidad de las plantillas que puede tener un artículo. Consulta la sección "§ Límites de expansión" para obtener ayuda al respecto.
  • Si quieres que la plantilla deje una marca de tiempo o una firma , puedes escribir <noinclude><nowiki></noinclude>~~~~~<noinclude></nowiki></noinclude>, pero esto solo funciona cuando sustituyes la plantilla. Si la transcluyes , solo obtendrás ~~~~~.
  • Para mejorar la legibilidad, los programadores suelen preferir dividir el código con saltos de línea y sangrarlo. Desafortunadamente, MediaWiki no permite esta técnica; en muchos casos, MediaWiki trata estos saltos de línea creados específicamente como contenido. Una posible solución alternativa es agregar <!--antes de cada carácter de salto de línea y -->después de él, lo que produce un comentario HTML .

Plantillas de escritura

Proceso

Las plantillas son simplemente páginas de Wikipedia. Se crean, eliminan y editan de la misma forma que cualquier otra página.

Creando

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.

Modificando

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.

Borrando

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).

Codificación de una plantilla

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.

Metaplantillas

Existen varias metaplantillas y metamódulos que ayudan a realizar tareas comunes de plantillas. Se denominan como plantillas y módulos normales , pero su propósito es facilitar la escritura de plantillas. Consulta Categoría:Metaplantillas de Wikipedia y Categoría:Metamódulos de plantillas para obtener una lista de esas plantillas y módulos.

Manipulación de parámetros

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 .

  • El código {{{xxx}}}se expande al valor del parámetro llamado "xxx".
  • Los códigos {{{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 dfltpara el parámetro nombrado "xxx", y {{{1|dflt}}}especifica el valor predeterminado dfltpara 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>

Ejemplo

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}}}2LLeft

Caso especial: parámetros dentro de una etiqueta de apertura de estilo XML

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:

  • <ref name={{{parámetro}}}> Smith, Adán (1776)...</ref>

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>

  • {{#tag:ref | Smith, Adam (1776)... | nombre={{{parámetro}}} }}

Precaución: URLs demasiado extensas

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}}

Variables del sistema y lógica condicional

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.

Ejemplos de funciones básicas del analizador
Descripciónfuente wikiTexto mostrado
Texto en mayúsculas{{uc: Heavens to BETSY! }}¡CIELOS PARA BETSY!
Texto en minúsculas{{lc: Heavens to BETSY! }}¡Cielos para Betsy!
Obtener un nombre de espacio de nombres{{NS: 1 }}Hablar
Obtener una URL de Wikipedia{{fullurl: pagename }}//en.wikipedia.org/wiki/Nombre de página

La extensión ParserFunctions proporciona más funciones de análisis orientadas a la programación:

Ejemplos de funciones de análisis de extensiones
DescripciónFuente wikiTexto mostrado
Prueba de igualdad entre dos cadenas (o parámetros){{#ifeq: yes | yes | Hooray...! | Darn...! }}¡Hurra...!
{{#ifeq: yes | no | Hooray...! | Darn...! }}Maldito...!
Probar si una cadena (o parámetro) contiene algo (excepto espacios en blanco){{#if: {{{param|}}} | Hooray...! | Darn...! }}Maldito...!
Realizar un cálculo (matemáticas)
[área de un círculo de radio 4, con 3 decimales]
{{#expr: ( pi * 4 ^ 2 ) round 3 }}50.265
Probar el resultado de un cálculo
[¿1230 es par o impar?]
{{#ifexpr: 1.23E+3 mod 2 | Odd | Even }}Incluso
Ejemplos de variables del sistema
DescripciónFuente wikiTexto mostrado (para esta página de ayuda)
Nombres de páginas{{PAGENAME}}Plantilla
{{FULLPAGENAME}}Ayuda:Plantilla
Nombre del espacio de nombres actual{{NAMESPACE}}Ayuda
Número de usuarios registrados{{NUMBEROFUSERS}}48.113.684
Número de páginas en una categoría determinada{{PAGESINCATEGORY:"Weird Al" Yankovic albums}}19
Versión actual del software{{CURRENTVERSION}}1.43.0-wmf.26 (a37de05)
Marca de tiempo de la última revisión{{REVISIONTIMESTAMP}}20240913194158

Las variables y son particularmente útiles y se utilizan 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}}

Plantillas de anidamiento

  • WP:NIDO

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.

Ejemplo:
La plantilla:A contiene . La plantilla:B (una subplantilla) contiene . La página X llama a A con Esto se expande a . El tercer parámetro sin nombre pasado a la plantilla:A se pasa como el primer parámetro sin nombre a la subplantilla B."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.

Ejemplos:
La plantilla:A contiene . La plantilla:B (una subplantilla) contiene . La página X llama a A con . Esto se expande a . El tercer parámetro sin nombre que se pasa a la plantilla:A se pasa como el nombre del parámetro que se pasa a la subplantilla B con el valor "fox".the quick brown {{B|{{{3}}}=fox}} jumps over...'''{{{jumper}}}'''{{A|apple|pear|jumper}}"the quick brown '''fox''' jumps over..."
  • WP:BUCLE DE PLANTILLA

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, {{lb}}}las 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.

Control de inclusión: noinclude, includeonly y onlyinclude

  • WP:NO INCLUYE
  • WP:SOLO INCLUYE
  • WP:SOLO INCLUYE

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 mostrarse 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.
WikitextLo que se muestra aquí (página de plantilla)Qué incluye allí (página de llamada)
<noinclude> text1 </noinclude> text2text1 text2text2
<onlyinclude> text1 </onlyinclude> text2text1 text2text1
<includeonly> text1 </includeonly> text2text2text1 text2
<onlyinclude><includeonly> text1 </includeonly></onlyinclude> text2text2text1

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:

}}<soloincluir>
}}
</soloincluir>

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.

Problemas y soluciones alternativas

  • Las siguientes técnicas son útiles para depurar una plantilla:
    • Utilice Special:ExpandTemplates para ver la expansión recursiva completa de una o más plantillas.
    • Úselo 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 .
    • Use msgnw:(abreviatura de " mensaje , ahora wiki " ) para transcluir más o menos el código fuente de la plantilla en lugar de expandirla. 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).
  • Si el primer carácter de una expansión de plantilla (o resultado de una función de análisis) es uno de los cuatro caracteres de marcado wiki :( , ;, *, #[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>&#58;&#59;&#42;&#35;<nowiki />
  • Para problemas con la sustitución de plantillas, como por ejemplo cómo controlar si las subplantillas también se sustituyen cuando se sustituye la plantilla principal, consulte Ayuda:Sustitución .
  • Puede utilizar la plantilla para eliminar cualquier espacio inicial o final de los valores de parámetros sin nombre si esto pudiera causar problemas; los valores de parámetros con nombre se eliminan automáticamente de esta manera.{{Trim}}
  • Para proteger los recursos del servidor y evitar bucles infinitos, el analizador impone ciertos límites en la profundidad de anidación de la transclusión y en el tamaño de la página con plantillas expandidas. Esto puede provocar que una página se rompa si utiliza plantillas muy complejas, en particular si hay varias plantillas de este tipo en la misma página. Para obtener más información, consulte WP:Template limits . Puede comprobar la carga general de una página en el servidor examinando el HTML generado para una página y buscando los NewPP limit reportcomentarios.
  • No utilice =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.
  • Puede evitar los enlaces de edición de sección a la plantilla incluyendo <includeonly>__NOEDITSECTION__</includeonly>.

Documentación

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.

Categorización

Categorizar páginas por inclusión de plantillas

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 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 <noinclude>...</noinclude> de las etiquetas si no hay una subpágina de documentación) para evitar colocar páginas de llamada en la categoría.

Alias

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ímites de plantilla

  • WP:INCLUDELIMIT

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

Lenguaje de programación Lua

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!".

Terminología

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 con is .{{sic|constellation prize}}constellation prize&#32;&#91;''[[sic]]''&#93;

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 .

Variaciones comunes

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:

  • Voy a poner más detalles en la plantilla {{ short description }} en esta página.
  • Al ver una plantilla {{ en construcción }} , el lector puede decidir volver más tarde.
  • Hay muchos tipos de cuadros de información. Todas las plantillas comienzan con "Cuadro de información".

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:

Véase también

Páginas de ayuda

Páginas del manual de Mediawiki

  • mw:Manual:$wgEnableScaryTransclude
  • mw:Manual:$wgEspacios de nombres no incluidos
  • mw:Manual:Analizador.php
  • mw:Manual:Funciones del analizador

Paginas especiales

Otras páginas del backend

Notas

  1. ^ Los espacios de nombres desde los cuales no se permite la transclusión se especifican en una wiki mediante la variable $wgNonincludableNamespaces.
  2. ^ Algunas plantillas, como , tienen código para mostrar como salida visible; si hacerlo o no se determina según cada plantilla.{{Requested move}}|reason=
  3. ^ No hay forma de obtener una vista previa del efecto en la fuente de la página de sustitución sin guardar la página
  4. ^ Esto no se aplica si el signo igual viene dentro de otra llamada de plantilla u otro elemento que el analizador maneja por separado.
  5. ^ Nuevamente, esto no se aplica si viene dentro de otro elemento analizado por separado, como un wikilink canalizado.
  6. ^ Para una versión antigua, el árbol de subplantillas se construirá según el estado actual de las plantillas.
  7. ^ Estos se definen en la función doBlockLevels de Parser.php.
Obtenido de "https://es.wikipedia.org/w/index.php?title=Ayuda:Plantilla&oldid=1245571418"