permalink - jekyll where
Github formulario de contacto con jekyll? (7)
La configuración rápida y sencilla de formularios con Jekyll consiste en utilizar un servicio externo como https://formkeep.com
Estoy planeando construir y desplegar un sitio estático en github. Si tuviera que hacer eso, ¿todavía es posible tener un formulario de contacto?
Parece que ese es el único conjunto de funciones dinámicas que va a existir en mi sitio web en particular.
¿Tendré que crear un servicio en otro lugar para crear el formulario de contacto?
Precisamente. El resultado (habitual) del proceso de compilación de Jekyll es un sitio estático , por lo que la única forma de tener una funcionalidad dinámica es a través de servicios externos.
Por ejemplo, podrías probar zappyforms .
Sí, necesitarás usar un servicio externo. Formspree es un excelente servicio externo para esto que no requiere registro y es gratuito para hasta 1000 presentaciones por mes.
Otras opciones: Formulario simple (gratis) , FormKeep ($ 19 / mes) y Wufoo (opciones gratuitas y de pago)
Sí, necesitas algo externo para almacenar tus datos. Pero la buena noticia es que existen tantas soluciones y que solo tiene que elegir lo mejor para sus necesidades específicas.
Solo dame la oportunidad de incluir en el panorama de las posibles soluciones también KVStore.io (descargo de responsabilidad: soy el autor).
Si tiene suficiente tiempo, acabo de publicar un artículo sobre cómo almacenar contenido generado por usuarios desde Jekyll / GitHub Pages o similar ...
Pero el tl; dr de la historia es que al usar KVStore.io aún puede beneficiarse de un verdadero motor de almacenamiento (con un conjunto simple y rico de API REST) que admite "entornos del lado del cliente" como "páginas jekyll / github" o lo que sea combinaciones que te gustan ..
Mis 2 centavos
Si desea crear su propio formulario de contacto, digamos PHP por ejemplo, puede hacerlo. Solo recuerda estas dos cosas:
Jekyll copiará todo lo que no esté precedido por un guión bajo o ignorado literalmente en el directorio _site.
Puede incluir un archivo HTML en un archivo PHP.
Estoy utilizando una biblioteca de PHP en mi servidor para enviar correo desde un formulario de contacto HTML creado por Jekyll. Mi problema, sin embargo, es la falta de validación del lado del servidor o notificación al usuario de una entrega exitosa o qué campos no se validaron. Prefiero no tener una página personalizada Success.html y Fail.html para las respuestas.
Así es como me las arreglé.
Mi estructura Jekyll se ve así:
/..
_config.yml
_layouts/
default.html
default-php.html
_includes/
header.html
footer.html
contact-form.html
nav.html
...
about/
index.md => index.html
services/
index.md => index.html
contact/
contact.md => contact.html
index.php (includes contact.html)
Mi contact-form.html
incluye y el diseño default-php.html
contienen fragmentos de default-php.html
PHP para imprimir variables.
Cuando alguien navega a www.mysite.com/contact
, se cargará index.php
que contiene mi página HTML completa con fragmentos de código PHP para imprimir variables.
En la parte superior de ese archivo PHP, puede procesar los datos $_POST
o $_GET
de su formulario de contacto o devueltos desde su script de entrega de correo e imprimir mensajes al remitente o incluso agregar clases a los campos del formulario para indicar que fallaron la validación.
Un inconveniente es que esto no se cargará en el servidor local de Jekyll (localhost: 4000). Tal vez con un poco de jigger puedes conseguirlo. No estoy seguro. Simplemente configuro un vhost para apuntar mysite.local
a /web/root/myjekyllsite/_sites
y funciona bien.
La forma simple parece ser una opción interesante para sortear el aspecto del sitio estático de Jekyll.
Wufoo también es una buena opción.
formspree.io funciona como un encanto ( Leer más ... )