Formulaire de contact Jekyll sur GitHub Pages

Formgong team ·

Un formulaire de contact Jekyll sur GitHub Pages est du HTML. GitHub active le mode sûr, donc un plugin non pris en charge ne se construit pas. Mettez le formulaire dans un include Liquid et envoyez-le à Formgong. Les messages arrivent par e-mail et dans Telegram, et le site reste statique. Aucun plugin n'est requis.

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="fr">
  <label>Nom <input type="text" name="name" autocomplete="name" placeholder="Votre nom" required></label>
  <label>E-mail <input type="email" name="email" autocomplete="email" placeholder="vous@exemple.com" required></label>
  <label>Message <textarea name="message" placeholder="Comment pouvons-nous vous aider ?" 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>Laissez ce champ vide<input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
  
  <button type="submit">Envoyer</button>
</form>

Comment fonctionnent les formulaires dans Jekyll

Jekyll transforme Markdown et HTML en site statique. GitHub Pages est l'hébergeur courant et lance Jekyll pour vous. Aucun serveur n'attend le POST du formulaire.

GitHub Pages verrouille safe: true dans la config Jekyll. Une gem non prise en charge ne tourne jamais. Un formulaire dans _includes/contact-form.html suffit, car le navigateur envoie le HTML.

Mise en place dans Jekyll

  1. Créez un formulaire dans Formgong et copiez la clé d'accès.
  2. Ajoutez l'include. Pointez action vers https://formgong.com/submit et posez access_key, _lang et botcheck.
  3. Sur la page contact, ajoutez le front matter et {% include contact-form.html %}. Pour un site projet, réglez _redirect sur {{ site.url }}{{ site.baseurl }}/thanks/.
  4. N'ajoutez pas de gem de formulaire. GitHub Pages garde safe: true et ne construit pas un plugin non pris en charge.
  5. Poussez le dépôt. GitHub met JEKYLL_ENV à production. Envoyez un test sur l'adresse github.io en ligne.

Formgong ou un plugin Jekyll ?

Un plugin local aide si vous construisez le site vous-même et que Ruby sert au moment de la build.

Sur GitHub Pages, les plugins non pris en charge ne tournent pas. Le HTML posté vers Formgong marche encore après le push.

Questions et réponses

Cela marche-t-il sur GitHub Pages ?

Oui. Le formulaire est du HTML. GitHub Pages n'a qu'à servir le fichier. Aucune gem maison n'est requise.

Puis-je garder la clé dans la config ?

Oui. Mettez-la dans _config.yml et imprimez-la dans l'include. La clé est publique. N'y stockez pas un mot de passe mail.

Pourquoi le lien de remerciement casse-t-il sur un site projet ?

Les sites projet vivent sous un sous-chemin. Construisez _redirect avec site.baseurl, sinon le navigateur ouvre une page absente.

Faut-il la gem github-pages sur mon ordinateur ?

Seulement si vous voulez le même jeu de plugins en local. Le formulaire n'en a pas besoin. Poussez le HTML et testez l'URL en ligne.

Commencer gratuitement