Formulario de contacto Jekyll en GitHub Pages

Formgong team ·

Un formulario de contacto Jekyll en GitHub Pages es HTML. GitHub activa el modo seguro, así que un plugin no admitido no se construye. Ponga el formulario en un include de Liquid y envíelo a Formgong. Los avisos llegan por correo y en Telegram, y el sitio sigue estático. No hace falta un plugin.

Jekyll
<form action="https://formgong.com/submit" method="POST">
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="es">
  <label>Nombre <input type="text" name="name" autocomplete="name" placeholder="Tu nombre" required></label>
  <label>Correo electrónico <input type="email" name="email" autocomplete="email" placeholder="tu@ejemplo.com" required></label>
  <label>Mensaje <textarea name="message" placeholder="¿En qué podemos ayudarte?" required></textarea></label>
  <div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
  <label>Deja este campo vacío<input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
  
  <button type="submit">Enviar</button>
</form>

Cómo funcionan los formularios en Jekyll

Jekyll convierte Markdown y HTML en un sitio estático. GitHub Pages es el alojamiento habitual y ejecuta Jekyll por usted. No hay un servidor esperando el POST del formulario.

GitHub Pages fija safe: true en la configuración de Jekyll. Una gem no admitida nunca corre. Un formulario en _includes/contact-form.html basta, porque el navegador envía el HTML.

Configuración en Jekyll

  1. Cree un formulario en Formgong y copie la clave de acceso.
  2. Añada el include. Apunte action a https://formgong.com/submit y ponga access_key, _lang y botcheck.
  3. En la página de contacto, añada front matter y {% include contact-form.html %}. En un sitio de proyecto, ponga _redirect en {{ site.url }}{{ site.baseurl }}/thanks/.
  4. No añada una gem de formularios. GitHub Pages mantiene safe: true y no construye un plugin no admitido.
  5. Suba el repositorio. GitHub pone JEKYLL_ENV en production. Envíe una prueba en la dirección github.io publicada.

¿Formgong o un plugin de Jekyll?

Un plugin local ayuda si usted construye el sitio y necesita Ruby en el momento de la build.

En GitHub Pages los plugins no admitidos no corren. El HTML enviado a Formgong sigue funcionando después del push.

Preguntas y respuestas

¿Funciona en GitHub Pages?

Sí. El formulario es HTML. GitHub Pages solo tiene que servir el archivo. No hace falta una gem propia.

¿Puedo guardar la clave en la config?

Sí. Póngala en _config.yml e imprímala en el include. La clave es pública. No guarde ahí una contraseña de correo.

¿Por qué falla el enlace de gracias en un sitio de proyecto?

Los sitios de proyecto viven bajo una subruta. Construya _redirect con site.baseurl, o el navegador abre una página que no existe.

¿Necesito la gem github-pages en el portátil?

Solo si quiere el mismo conjunto de plugins en local. El formulario no la necesita. Suba el HTML y pruebe la URL publicada.

Empezar gratis