Formulaire de contact Github avec jekyll? [fermé]

Je prévois de construire et de déployer un site statique sur github. Si je devais le faire est-il encore possible d'avoir un formulaire de contact?

Il semble que ce soit le seul ensemble de fonctionnalités dynamiques qui va exister sur mon site web particulier.

Devrais-je créer un service ailleurs pour créer le formulaire de contact?

24
demandé sur chrisjlee 2013-08-01 05:52:05

7 réponses

Oui, vous devrez utiliser un service externe. Un excellent service externe pour cela qui ne nécessite aucune inscription et est gratuit pour un maximum de 1000 soumissions par mois est Formspree .

Autres options: formulaire Simple (gratuit), FormKeep (19$ / mois.), & Wufoo (Options Gratuites Et Payantes)

35
répondu Josh Buchea 2015-12-23 02:19:12

Simple Formulaire semble être une option intéressante pour contourner le site statique aspect de Jekyll.

Wufoo est aussi une bonne option.

6
répondu Zac 2014-05-09 14:41:03

La configuration rapide Super simple avec Jekyll consiste à utiliser un service externe comme https://formkeep.com

3
répondu Dan Croak 2014-10-16 05:57:52

Précisément. Le résultat (habituel) du processus de compilation de Jekyll est un site statique , donc la seule façon d'avoir une fonctionnalité dynamique est de passer par des services externes.

Par exemple, vous pouvez essayer zappyforms.

2
répondu agarie 2013-08-01 13:49:52

Oui, vous avez besoin de quelque chose d'externe pour stocker vos données. Mais les bonnes nouvelles sont que tant de solutions existent là-bas et vous avez juste à choisir le "meilleur" pour vos besoins spécifiques.

Donnez-moi juste l'occasion d'inclure dans le paysage des solutions possibles aussi KVStore.io (avertissement: je suis l'auteur).

Si vous avez assez de temps, je viens de poster un article sur la façon de stocker le contenu généré par l'utilisateur à partir de Pages Jekyll/GitHub ou similaires...

Mais le tl; dr de l'histoire est-ce en utilisant KVStore.io Vous pouvez toujours bénéficier d'un véritable moteur de stockage (avec un ensemble simple et riche D'API RESTful) prenant en charge les "environnements côté client uniquement" comme "pages Jekyll/GitHub" ou toutes les combinaisons que vous aimez..

Mes 2 cents

2
répondu Carlo Alberto Degli Atti 2015-11-20 14:21:40

Formspree.io fonctionne comme un charme (Lire la suite...)

1
répondu mini 2016-05-20 20:00:37

Si vous voulez créer votre propre formulaire de contact avec, disons PHP par exemple, vous pouvez le faire. Rappelez-vous simplement ces deux choses:

  1. Jekyll copiera tout ce qui n'est pas précédé d'un trait de soulignement ou ignoré verbatim dans le répertoire _site.

  2. Vous pouvez inclure un fichier HTML dans un fichier PHP.

J'utilise une bibliothèque PHP sur mon serveur pour livrer le courrier à partir d'un formulaire de contact HTML créé par Jekyll. Mon problème, cependant, est le manque de côté serveur validation ou notification à l & apos; utilisateur d & apos; une livraison non réussie ou des champs qui n & apos; ont pas été validés. Je préfère ne pas avoir un succès personnalisé.html et échouer.page html pour les réponses.

C'est comme ça que je l'ai contourné.

Ma structure Jekyll ressemble à ceci:

/..
 _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)

Mon contact-form.html include et default-php.html layout contiennent tous deux des extraits PHP pour imprimer des variables.

Quand quelqu'un navigue vers www.mysite.com/contact il va charger index.php qui contient ma page HTML complète avec des extraits de code PHP à imprimer variable.

En haut de ce fichier PHP, vous pouvez traiter les données $_POST ou $_GET de votre formulaire de contact ou renvoyées à partir de votre script de livraison de courrier et imprimer des messages à l'expéditeur ou même ajouter des classes aux champs du formulaire pour indiquer qu'ils ont échoué à la validation.

Un inconvénient est que cela ne se chargera pas dans le serveur local de Jekyll (localhost: 4000). Peut-être qu'avec un peu de secousses, vous pouvez l'obtenir. Je ne suis pas sûr. Je configure simplement un vhost pour pointer mysite.local vers /web/root/myjekyllsite/_sites et cela fonctionne bien.

-6
répondu KeyboardCowboy 2013-09-11 04:15:00