stringtranslate.com

Ayuda: metaplantillas

En el contexto de Wikipedia, la creación de metaplantillas implica el uso de plantillas como base para generar otras plantillas. Algunas metaplantillas funcionan como cualquier otra plantilla y están transcluidas . Otros generan marcas wiki sobre la marcha; Estas son macro metaplantillas y están sustituidas . La metaplantilla permite la creación de plantillas estandarizadas, mediante las cuales muchas plantillas pueden utilizar un conjunto común de componentes y formatos.

Las metaplantillas macro conllevan las desventajas normales de la sustitución , pero también aprovechan dos puntos fuertes: la sustitución es, en última instancia, más eficiente y permite la generación dinámica de marcado wiki. Esto lo hace adecuado para sistemas más complejos que los creados con transclusión.

Sustitución

Hay dos prefijos de sustitución: subst:y safesubst:. La diferencia aparece cuando una plantilla se transcluye en lugar de sustituirse; en tal caso, subst:las plantillas imprimirán el texto tal cual, sin evaluarlo, mientras que safesubst:las plantillas se transcluirán.

La sustitución se reevaluará cuando se incluya la plantilla resultante, a diferencia de la transclusión. Esto lo hace útil para crear plantillas de macros.

burbujeante

Burbujas de sustitución :

El burbujeo de sustitución continúa a través de una cadena de sustituciones hasta que se alcanza una transclusión, momento en el que solo se utilizan transclusiones.

Plantillas de marcado destinadas a la sustitución.

Las plantillas destinadas exclusivamente a sustitución deben aparecer en la parte superior de sus páginas de documentación.{{subst only}}

Para que otros usuarios puedan aprender a utilizar plantillas sustituidas, las metaplantillas de nivel superior que aparecerán en plantillas normales (en lugar de otras metaplantillas) deben marcar su presencia con un comentario. Este comentario suele ir al final de la plantilla y simplemente contiene un enlace a la plantilla sustituida:

... <!------ Sustituido de [[Plantilla:Ejemplo]].----> </includeonly><noinclude>...

Evaluación retrasada

El proceso de generación de texto durante la primera sustitución para ser evaluado en futuras transclusiones/sustituciones es evaluación retrasada . Las plantillas se utilizan para formar una cadena de sustituciones y transclusiones. La evaluación retrasada generalmente requiere que todas las inclusiones de la cadena, excepto la última, sean de sustitución.

La evaluación retrasada se puede lograr mediante una plantilla imprimiendo texto que será evaluado como marcado wiki mediante otra plantilla. Por ejemplo, < y > se imprimen tal cual cuando están solos, pero juntos se pueden usar para formar etiquetas. Si una plantilla quisiera formar una etiqueta al ser sustituida, podría usar el formulario {{{|<}}}example/{{{|>}}}. Los corchetes en ángulo están encerrados en bloques de marcado wiki separados, por lo que no se unen. Dado que un nombre de parámetro "en blanco" siempre no está definido, los corchetes angulares siempre se imprimirán como valores alternativos y el texto resultante será <example/>.

entidades HTML

Las entidades (X)HTML como &#124;(|) no se traducirán durante la sustitución, por lo que nunca se evaluarán. Sólo son útiles para evitar que se evalúe el texto.

Valores predeterminados de parámetros no definidos

Los parámetros pueden tener valores predeterminados cuando no están definidos:{{{parameter-name|default-value}}}

Hay un parámetro que siempre es el predeterminado: el parámetro sin nombre. Cuando se omite el nombre del parámetro, el valor predeterminado siempre se imprimirá:{{{|always-prints}}}

Los valores predeterminados de parámetros no definidos son útiles para escapar de texto que de otro modo se evaluaría. Por ejemplo, para dividir una etiqueta que debería imprimirse como texto:

{{{|<}}}ejemplo/{{{|>}}}

Después de la primera sustitución:

<ejemplo/>

Incluye más evaluaciones de la etiqueta.

Los parámetros se procesan antes de la sustitución, por lo que también se pueden utilizar para la sustitución condicional. Por ejemplo, para sustituir únicamente cuando el nosubstparámetro no está definido:

{{{{{nosubst|subst:}}}ejemplo}}

Etiquetas

Las llaves delimitan los corchetes angulares para evitar la formación de una etiqueta, por lo que la forma más fácil de escapar de las etiquetas es con parámetros predeterminados no definidos. Esto no tiene la sobrecarga de una llamada de plantilla. Ejemplo:

{{{|<}}}ejemplo/{{{|>}}}

Después de la primera sustitución:

<ejemplo/>

Las etiquetas se pueden escapar de forma muy parecida a las llaves. Alternativamente, se puede utilizar la plantilla, aunque es menos eficiente. Produciendo el mismo resultado que el ejemplo anterior:{{lessthan}}

<includeonly><</includeonly>ejemplo/<includeonly>></includeonly>{{menos que}}ejemplo/>

Por lo general, esto solo es necesario para las etiquetas includeonly, noincludey nowiki. En tal caso, es preferible utilizar las plantillas , y , respectivamente:{{includeonly}}{{noinclude}}{{nowiki}}

{{includeonly|{{ejemplo}}}}

Después de la primera sustitución:

<includeonly>{{ejemplo}}</includeonly>

Más transclusiones y sustituciones:

Tirantes

Las llaves, si están separadas por includeonlyetiquetas, se imprimirán tal cual. Tenga en cuenta que estas tres etiquetas (includeonly, noinclude y nowiki) no se pueden anidar entre sí, por lo que este truco sólo se puede utilizar en código de nivel superior. nowikiLas etiquetas no funcionarán, ya que no serán eliminadas mediante el proceso de sustitución. Hay varias combinaciones posibles:

<includeonly>{{</includeonly>ejemplo<includeonly>}}</includeonly>{{<includeonly>ejemplo</includeonly>}}{{<includeonly/>ejemplo<includeonly/>}}

Después de la primera sustitución, cada uno produce:

{{ejemplo}}

Más transclusiones y sustituciones:

Un método menos eficiente es utilizar metaplantillas que impriman llaves. A diferencia de includeonlyla separación de etiquetas, las metaplantillas funcionarán cuando estén dentro de otro bloque de marcado wiki, como dentro de un argumento de otra plantilla. Hay metaplantillas de uso general que utilizan paréntesis en lugar de llaves. Esto producirá un resultado idéntico al del ejemplo anterior:

{{((}}ejemplo{{))}}

Otras metaplantillas para producir combinaciones similares:

Consulte también Categoría: Plantillas de espacio de nombres de plantilla .

La plantilla {{ llaves }} puede producir, por ejemplo, lo siguiente:

{{braces|Templatename|item1|item2|...|item8}}    {{Nombre de plantilla | elemento1 | elemento2 | ... | elemento8}}
{{braces|code=on|Templatename|item1|item2|...|item8}}    {{Templatename|item1|item2|...|item8}}

Para obtener más detalles, consulte Plantilla: llaves .

Otros símbolos de marcado wiki

Estos caracteres y secuencias a menudo necesitan escaparse al escribir una plantilla, pero deben evaluarse en plantillas futuras. Consulte también § Llaves arriba. Los saltos de línea se muestran mediante \n .

Ver también