Jekyll Kontaktformular für GitHub Pages

Formgong team ·

Ein Jekyll Kontaktformular auf GitHub Pages ist einfaches HTML. GitHub setzt den Safe Mode, darum baut ein nicht unterstütztes Plugin nicht. Legen Sie das Formular in ein Liquid-Include und senden Sie es an Formgong. Anfragen kommen per E-Mail und in Telegram, die Seite bleibt statisch.

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="de">
  <label>Name <input type="text" name="name" autocomplete="name" placeholder="Ihr Name" required></label>
  <label>E-Mail <input type="email" name="email" autocomplete="email" placeholder="name@beispiel.de" required></label>
  <label>Nachricht <textarea name="message" placeholder="Wie können wir Ihnen helfen?" 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>Lassen Sie dieses Feld leer<input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
  
  <button type="submit">Senden</button>
</form>

So funktionieren Formulare in Jekyll

Jekyll baut Markdown und HTML zu einer statischen Seite. GitHub Pages ist der übliche Host und führt Jekyll für Sie aus. Es wartet kein Server auf einen Formular-POST.

GitHub Pages setzt safe: true in der Jekyll-Konfiguration fest. Ein nicht unterstütztes Gem läuft nie. Ein Formular in _includes/contact-form.html reicht, weil der Browser das HTML sendet.

Einrichtung in Jekyll

  1. Legen Sie ein Formular in Formgong an und kopieren Sie den Zugangsschlüssel.
  2. Fügen Sie das Include hinzu. Richten Sie action auf https://formgong.com/submit und setzen Sie access_key, _lang und botcheck.
  3. Setzen Sie auf der Kontaktseite Front Matter und {% include contact-form.html %}. Für eine Projektseite setzen Sie _redirect auf {{ site.url }}{{ site.baseurl }}/thanks/.
  4. Fügen Sie kein Formular-Gem hinzu. GitHub Pages hält safe: true und baut ein nicht unterstütztes Plugin nicht.
  5. Schieben Sie das Repo. GitHub setzt JEKYLL_ENV auf production. Senden Sie einen Test an die live github.io Adresse.

Formgong oder ein Jekyll-Plugin?

Ein lokales Plugin hilft, wenn Sie die Seite selbst bauen und Ruby zur Build-Zeit brauchen.

Auf GitHub Pages laufen nicht unterstützte Plugins nie. Einfaches HTML an Formgong funktioniert nach dem Push.

Fragen und Antworten

Funktioniert das auf GitHub Pages?

Ja. Das Formular ist HTML. GitHub Pages muss nur die Datei ausliefern. Ein eigenes Gem ist nicht nötig.

Kann ich den Schlüssel in der Konfiguration lassen?

Ja. Legen Sie ihn in _config.yml und geben Sie ihn im Include aus. Der Schlüssel ist öffentlich. Ein Mail-Passwort gehört nicht dorthin.

Warum ist der Danke-Link auf einer Projektseite falsch?

Projektseiten liegen unter einem Unterpfad. Bauen Sie _redirect mit site.baseurl, sonst öffnet der Browser eine fehlende Seite.

Brauche ich das Gem github-pages auf dem Laptop?

Nur wenn Sie lokal denselben Plugin-Satz wollen. Das Formular selbst braucht es nicht. Schieben Sie HTML und prüfen Sie die live URL.

Kostenlos starten