Formulario de encuesta en Docusaurus
Añade una encuesta breve a tu documentación de Docusaurus sin plugin. Usa listas desplegables para respuestas rápidas y un campo abierto, pégala en una página MDX, y las respuestas llegan a tu bandeja de entrada. Sin backend propio.
Como construirlo
- Crea un formulario en tu panel de Formpaste y copia su clave de acceso.
- Pega el markup en una página .mdx y renombra class a className.
- Reemplaza YOUR_ACCESS_KEY_HERE con tu clave de acceso, luego despliega.
Puntos claves de Docusaurus
Las páginas de Docusaurus son MDX, así que un formulario de Formpaste es markup que pegas directamente en el documento. No hay plugin que instalar ni tema que swizzlear. La única trampa es que MDX trata el markup como JSX, así que el snippet pegado necesita className en lugar de class.
MDX es JSX, así que usa className
En un archivo .mdx todo lo que parece HTML es en realidad JSX. Renombra class a className en el formulario pegado, y escribe cualquier estilo inline como un objeto, por ejemplo style={{marginTop: '1rem'}}, en lugar de una cadena de texto. El snippet CSS sin estilos es el más fácil de adaptar.
Sin plugin y sin swizzling
No necesitas un plugin de Docusaurus, ni necesitas swizzlear un componente de tema. Un formulario en el cuerpo de la página funciona igual en docs, en el blog y en páginas independientes.
Muévelo a un componente cuando se repite
Si el mismo formulario va en muchas páginas, ponlo en src/components/ como un archivo .jsx o .tsx e impórtalo en cada documento. Ese es el patrón que recomienda la documentación de Docusaurus para cualquier cosa que no sea algo puntual, y mantiene el markup fuera de tu prosa.
Conserva el access_key oculto
Deja el input oculto access_key generado tal como está, para que Formpaste sepa a qué formulario pertenece el envío. Es un input normal, así que sobrevive sin cambios al moverlo a un componente.
Que debes acertar
Mantenla corta para conservar una alta tasa de finalización
Cada pregunta adicional pierde respuestas. Un par de listas desplegables y un campo de comentario abierto suele reunir lo que necesitas sin generar fatiga.
Las listas desplegables superan al texto libre para el análisis
Las opciones fijas (campos select) son fáciles de contar después. Reserva el textarea para la única pregunta abierta que realmente lo necesite.
Haz que el correo sea opcional para respuestas más honestas
Las respuestas anónimas suelen ser más sinceras. Pide el correo solo si necesitas dar seguimiento, y márcalo como opcional.
Cómo funciona
Tres pasos simples para que los envíos de formularios lleguen a tu bandeja de entrada.
Crea tu formulario, apunta la URL de action al endpoint de Formpaste y añade tu clave de acceso.
Crea tu formulario
Regístrate, verifica tu correo y crea una clave de acceso en tu panel.
Copia el código
Pega el fragmento de arriba en tu proyecto. Elige CSS o Tailwind para que combine con tu sitio.
<form action="https://api.formpaste.com/submit" method="POST" class="mx-auto flex w-full max-w-md flex-col gap-4 rounded-xl border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-950">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Correo electrónico (opcional)
<input type="email" name="email" placeholder="tu@ejemplo.com" class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">¿Qué te describe mejor?
<select name="role" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100">
<option>Desarrollador</option>
<option>Diseñador</option>
<option>Fundador</option>
<option>Otro</option>
</select>
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">¿Qué tan satisfecho estás?
<select name="satisfaction" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100">
<option>Muy satisfecho</option>
<option>Satisfecho</option>
<option>Neutral</option>
<option>Insatisfecho</option>
</select>
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">¿Algo más?
<textarea name="comments" class="min-h-28 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100"></textarea>
</label>
<button type="submit" class="w-full rounded-md bg-gray-900 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-gray-800 disabled:opacity-60 dark:bg-white dark:text-gray-900 dark:hover:bg-gray-200">Enviar encuesta</button>
</form>Añade tu clave de acceso
Reemplaza el marcador por tu clave de acceso para empezar a recibir envíos.
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">Formulario de encuesta en Docusaurus FAQ
Pega un formulario. Recibe envíos.
Al instante, sin configurar ningún backend, servidor ni base de datos. 250 envíos/mes gratis, sin tarjeta de crédito.