Wikipedia:VisualEditor/TemplateData tutorial



Acerca de


Ayuda con la implementación


TemplateData es una manera de almacenar información acerca de una plantilla y sus parámetros, de forma que VisualEditor sea capaz de recuperarla y mostrarla en el editor de plantillas, haciendo más fácil la edición de plantillas.

TemplateData permite a los usuarios escribir pequeños bits de datos estructurados en una página de plantilla, o transcluirlo a esa página de plantilla (como en la página de documentación). Una vez que una plantilla tiene estructurados sus datos, puede ser mostrada de apropiadamente en VisualEditor. Aunque ésto suena bastante complejo, es en la actualidad muy fácil.

Estructura de TemplateData editar

La estructura de TemplateData se basa en el estándar JSON, y es bastante sencilla. Tenga en cuenta que todas las descripciones en TemplateData deben estar en texto plano (no en wikitexto, no enlaces, etc.).

La primera cosa que hay que hacer es escribir un para de etiquetas <templatedata>, en cualquier parte en la subpágina de documentación de la plantilla, como por ejemplo:

<templatedata>
{
        ...                            <-- Contenido de TemplateData va aquí
}
</templatedata>

Esto le dice al software que todo lo que va entre las dos etiquetas es TemplateData, y debe ser referido cuando se utiliza la plantilla.

Por ejemplo editar

Las descripciones dentro de TemplateData siguen una distribución estándar, digamos que usted tiene una plantilla llamada "Commons" para vincular a una categoría de Commons sobre un tema en particular. Se necesita un parámetro obligatorio: el nombre de la categoría en Commons. Su TemplateData sería algo como esto:

<templatedata>
{
        "description": "Una plantilla para vincular una categoría de Commons sobre un artículo",
        "params": {
                "1": {
                        "label": "Categoría de Commons",
                        "description": "La categoría de Commons a la que desea vincular.",
                        "type": "string",
                        "required": true
                }
        }
}
</templatedata>

Se mostrará en la plantilla de la siguiente forma:

Una plantilla para vincular una categoría de Commons sobre un artículo

Parámetros de la plantilla

ParámetroDescripciónTipoEstado
Categoría de Commons1

La categoría de Commons a la que desea vincular.

Cadenaobligatorio

Descripción y parámetros editar


La primera etiqueta es "description", que describe lo que la plantilla hace.
"description": "Una plantilla para vincular una categoría de Commons sobre un artículo",

Hay una etiqueta "params", que indica que las secciones siguientes cubren cada parámetro en la plantilla.

Todos los parámetros a continuación están incluidos en la sección "params"

"params": {
                ...            <-- los parámetros van aquí
        }

En cada subsección de parámetro, la primera etiqueta es el nombre del parámetro de la plantilla "dentro de la plantilla"

Si el parámetro tiene un nombre, como {{{category-link}}}, esta etiqueta sería "category-link".

Si el parámetro no tiene nombre, es decir si es sólo un número como {{{1}}}, esta etiqueta sería "1".

Todos los bits de información acerca de este parámetro están incluidos en la sección que comienza con el nombre del parámetro.

        "1": {                 <-- nombre del parámetro
                ...            <-- información acerca del parámetro aquí
        }

Luego tenemos "label", en la cual se coloca un título entendible por otras personas para el parámetro que se mostrará dentro del editor de plantillas
                "label": "Categoría de Commons",

Entonces tenemos "description": en éste caso, es una descripción del parámetro, no de la plantilla como un todo.
                "description": "La categoría de Commons a la que desea vincular.",

Despues tenemos "type", que controla como interpretará ese parámetro el editor de plantillas. Este puede ser:
  • "string": un conjunto de caracteres, como la siguiente oración:
  • "number": un conjunto de dígitos;
  • "string/wiki-user-name": un conjunto de caracteres que representan el nombre de un usuario:
  • "string/wiki-page-name": un conjunto de caracteres que representan el título de una página.
                "type": "string",

Entonces tenemos "required", que se puede configurar como true o false

Esto simplemente controla si es obligatorio llenar el parámetro para esa plantilla.

                "required": true

Una vez que haya terminado, presione "save". Si hay errores, no se permitirá guardar, (lo cual puede ser mnolesto pero significa que no puede romper nada). Si tiene algun error, puede explicar en la página de comentarios lo qué estaba tratando de hacer, y nosotros estaremos felices de ayudarlo.

Tenga en cuenta que cada bit de información está encerrado entre comillas (excepto por true y false), y separado del siguiente por una coma (a menos que sea el último).

Alias de parámetros editar

Algunas plantillas permiten que un parámetro similar tenga diferentes nombres.

Por ejemplo,{{Commons|category=Apples}} puede escribirse también como {{Commons|Apples}} o {{Commons|link=Apples}}.

Par agregar esta información a TemplateData, simplemente necesita agregar los alias a la información del parámetro:

        "params": {
                "categoría": {
                        ...
                        "aliases": ["1", "enlace"]
                }

Múltiples parámetros editar

Si tiene varios parámetros, simplemente repita cada sección (comenzando con la etiqueta "1") y rellénela como mejor le parezca. Tenga en cuenta que si una plantilla tiene varios parámetros, necesitará separarlos con una coma en TemplateData, de este modo:

        "params": {
                "1": {
                        ...
                },                     <-- note la coma aquí
                "2": {
                        ...
                },                     <-- y aquí
                "3": {
                        ...
                }
        }

Parámetros imilares editar

Cuando una plantilla tiene múltiples parámetros, a veces algunos de ellos pueden ser de la misma clase. En este caso, sólamente necesita proporcionar todas las propiedades para el primero de ellos, y los otros pueden "heredar" estas propiedades.

        "params": {
                "tópico 1": {
                        "label": "Tópico",
                        "description": "Un tópico mencionado en esta página de desambiguación",
                        "type": "string",
                },
                "tópico": {
                        "inherits": "tópico"
                },
                "tópico3": {
                        "inherits": "tópico1"
                },
        }

Texto respectivo en blanco editar

Puede copiar el texto respectivo en blanco para agregar un nuevo TemplateData a una plantilla. Sólo se incluyen las etiqutas más comunes.

<templatedata>
{
        "description": "",
        "params": {
                "1": {
                        "label": "",
                        "description": "",
                        "type": "",
                        "required": 
                },
                "2": {
                        "label": "",
                        "description": "",
                        "type": "",
                        "required": 
                }
        }
}
</templatedata>

Limitaciones y preguntas editar

  • Funciones faltantes — TemplateData es mucho más que un ejemplo de herramienta que se puso a disposición con algunas pocas funciones, con la esperanza de que los usuarios puedan ayudar a guiar el desarrollo de las características que se deseen. Si desea solicitar nuevas características para TemplateData, por favor háganos saber.
  • Retrasos mostrando las plantillas — Luego de agregar TemplateData a una plantilla, los metadatos deberían ser visibles inmediatamente cuando la plantilla se abre en VisualEditor. Sin embargo, es posible que tome algunas horas antes que se se vean los metadatos. Usted puede forzar una actualización haciendo una edición nula a la página de la plantilla (no la subpágina de documentación). Para realizar una edición nula, abra la página de la plantilla para edición y grabe la página "sin hacer ningún cambio".
  • Noticias actuales — hay disponible en Phabricator una lista actual de fallas y funciones solicitadas.

Herramientas editar