Novo formulário de modelo de tópico, como os modelos de issue do GitHub?

O Discourse atualmente tem o recurso de Modelo de Categoria, que preenche previamente o Compositor. É útil, mas um bom avanço seria ter a capacidade de criar um formulário personalizado de Novo Tópico, com campos personalizados, impulsionado por uma definição YAML, como a que existe para Issues do GitHub.

Então, algo como isto…

name: Relatório de Bug
description: Registre um relatório de bug
title: "[Bug]: "
labels: ["bug", "triage"]
assignees:
  - octocat
body:
  - type: markdown
    attributes:
      value: |
        Obrigado por dedicar tempo para preencher este relatório de bug!
  - type: input
    id: contact
    attributes:
      label: Detalhes de Contato
      description: Como podemos entrar em contato com você se precisarmos de mais informações?
      placeholder: ex. email@exemplo.com
    validations:
      required: false
  - type: textarea
    id: what-happened
    attributes:
      label: O que aconteceu?
      description: Diga-nos também, o que você esperava que acontecesse?
      placeholder: Conte-nos o que você vê!
      value: "Um bug aconteceu!"
    validations:
      required: true
  - type: dropdown
    id: version
    attributes:
      label: Versão
      description: Qual versão do nosso software você está executando?
      options:
        - 1.0.2 (Padrão)
        - 1.0.3 (Edge)
    validations:
      required: true
  - type: dropdown
    id: browsers
    attributes:
      label: Em quais navegadores você está vendo o problema?
      multiple: true
      options:
        - Firefox
        - Chrome
        - Safari
        - Microsoft Edge
  - type: textarea
    id: logs
    attributes:
      label: Saída de log relevante
      description: Por favor, copie e cole qualquer saída de log relevante. Isso será formatado automaticamente em código, então não há necessidade de backticks.
      render: shell
  - type: checkboxes
    id: terms
    attributes:
      label: Código de Conduta
      description: Ao enviar este problema, você concorda em seguir nosso [Código de Conduta](https://example.com)
      options:
        - label: Eu concordo em seguir o Código de Conduta deste projeto
          required: true

Traduz para algo como isto…

Uma versão muito mais básica disso que suporta apenas um tipo de campo (ou seja, textarea) ainda seria uma melhoria muito boa em relação aos Modelos de Categoria atuais, embora!

1 curtida

Já existe isto, alguma ajuda?:

2 curtidas

E quanto ao plugin Custom Wizard para isso.

1 curtida

Na minha experiência, o plugin Custom Wizard não é uma boa solução para este caso de uso. Você perde a pré-visualização, o pop-up de tópicos sugeridos e algumas outras coisas. Algo que substitua parcialmente o Composer, mantendo o fluxo e a experiência geral, seria uma solução melhor aqui.

1 curtida

Verifique Introducing Experimental Form Templates

2 curtidas