Acerca de la sintaxis de YALM de los formularios de categoría de discusión
Para crear formularios de categoría de discusión personalizados, puedes agregar un archivo de definición de formulario de YAML a la carpeta /.github/DISCUSSION_TEMPLATE/
del repositorio. Si no está familiarizado con YAML y quiere obtener más información, vea "Aprenda YAML en Y minutos".
El nombre debe coincidir con el slug de una de las categorías de discusión. Por ejemplo, la plantilla de una categoría llamada "Announcements" debe ser .github/DISCUSSION_TEMPLATE/announcements.yml
.
En cada campo, puedes definir el tipo de entrada, la validación y una etiqueta predeterminada.
Cuando un miembro de la comunidad rellena un formulario de discusión, sus respuestas en cada entrada se convierten en lenguaje de marcado y se agregan al cuerpo de una discusión. Los miembros de la comunidad pueden editar las discusiones que se han creado con un formulario de discusión, y otras personas pueden interactuar con la discusión como si fuera una discusión creada a través de otros métodos.
En este archivo de configuración YAML de ejemplo se define un formulario de categoría de discusión general.
title: "[General] " labels: ["General Introduction"] body: - type: markdown attributes: value: | This is text that will show up in the template! - type: textarea id: improvements attributes: label: Top 3 improvements description: "What are the top 3 improvements we could make to this project?" value: | 1. 2. 3. ... render: bash validations: required: true - type: markdown attributes: value: | ## Markdown header And some more markdown - type: input id: has-id attributes: label: Suggestions description: A description about suggestions to help you validations: required: true - type: dropdown id: download attributes: label: Which area of this project could be most improved? options: - Documentation - Pull request review time - Bug fix time - Release cadence validations: required: true - type: checkboxes attributes: label: Check that box! options: - label: This one! required: true - label: I won't stop you if you check this one, too - type: markdown attributes: value: | ### The thrilling conclusion _to our template_
title: "[General] "
labels: ["General Introduction"]
body:
- type: markdown
attributes:
value: |
This is text that will show up in the template!
- type: textarea
id: improvements
attributes:
label: Top 3 improvements
description: "What are the top 3 improvements we could make to this project?"
value: |
1.
2.
3.
...
render: bash
validations:
required: true
- type: markdown
attributes:
value: |
## Markdown header
And some more markdown
- type: input
id: has-id
attributes:
label: Suggestions
description: A description about suggestions to help you
validations:
required: true
- type: dropdown
id: download
attributes:
label: Which area of this project could be most improved?
options:
- Documentation
- Pull request review time
- Bug fix time
- Release cadence
validations:
required: true
- type: checkboxes
attributes:
label: Check that box!
options:
- label: This one!
required: true
- label: I won't stop you if you check this one, too
- type: markdown
attributes:
value: |
### The thrilling conclusion
_to our template_
Sintaxis de nivel superior
El archivo de configuración de un formulario de categoría de discusión debe contener una clave body
y body
debe contener al menos un campo que no sea de marcado.
body: - type: input id: suggestion attributes: label: Suggestion description: "How might we make this project better?" placeholder: "Adding a CODE_OF_CONDUCT.md file would be a great idea." validations: required: true
body:
- type: input
id: suggestion
attributes:
label: Suggestion
description: "How might we make this project better?"
placeholder: "Adding a CODE_OF_CONDUCT.md file would be a great idea."
validations:
required: true
Puede configurar las siguientes claves de nivel superior para cada formato de categoría de discusión.
Clave | Descripción | Obligatorio | Tipo |
---|---|---|---|
body | Definición de los tipos de entrada del formulario de discusión | Obligatorio | Array |
labels | Etiquetas que se agregarán automáticamente a las discusiones creadas con esta plantilla | Opcionales | Arreglo o secuencia delimitada por comas |
title | Título predeterminado que aparecerá rellenado previamente en el formulario de envío de discusión | Opcionales | String |
Para agregar campos al formulario, incluye una matriz de elementos de formulario en la clave body
. Para una lista de los elementos disponibles y sus sintaxis, consulta "Sintaxis para el modelado de formato de GitHub".