GitHub Pages için Jekyll iletişim formu

Formgong team ·

GitHub Pages üzerindeki bir Jekyll iletişim formu düz HTML'dir. GitHub safe mode açar, bu yüzden desteklenmeyen bir eklenti derlenmez. Formu bir Liquid include içine koyun ve Formgong'a gönderin. Başvurular e-postaya ve Telegram'a gelir, site statik kalır. Desteklenmeyen bir eklenti gerekmez.

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="tr">
  <label>Ad <input type="text" name="name" autocomplete="name" placeholder="Adınız" required></label>
  <label>E-posta <input type="email" name="email" autocomplete="email" placeholder="siz@ornek.com" required></label>
  <label>Mesaj <textarea name="message" placeholder="Size nasıl yardımcı olabiliriz?" 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>Bu alanı boş bırakın<input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
  
  <button type="submit">Gönder</button>
</form>

Jekyll ile formlar nasıl çalışır

Jekyll, Markdown ve HTML'i statik bir siteye çevirir. GitHub Pages alışılmış barındırıcıdır ve Jekyll'i sizin için çalıştırır. Form POST'unu bekleyen bir sunucu yoktur.

GitHub Pages, Jekyll yapılandırmasında safe: true kilitler. Desteklenmeyen bir gem hiç çalışmaz. _includes/contact-form.html içindeki bir form yeter, çünkü tarayıcı HTML'i gönderir.

Jekyll ile kurulum

  1. Formgong'da bir form oluşturun ve erişim anahtarını kopyalayın.
  2. Include dosyasını ekleyin. action değerini https://formgong.com/submit yapın ve access_key, _lang ile botcheck alanlarını koyun.
  3. İletişim sayfasına front matter ve {% include contact-form.html %} ekleyin. Proje sitesinde _redirect değerini {{ site.url }}{{ site.baseurl }}/thanks/ yapın.
  4. Form için bir gem eklemeyin. GitHub Pages safe: true tutar ve desteklenmeyen eklentiyi derlemez.
  5. Depoyu itin. GitHub JEKYLL_ENV değerini production yapar. Canlı github.io adresinde bir deneme gönderin.

Formgong mu, Jekyll eklentisi mi?

Siteyi kendiniz derliyorsanız ve derleme sırasında Ruby gerekiyorsa yerel bir eklenti işe yarar.

GitHub Pages'te desteklenmeyen eklentiler çalışmaz. Formgong'a giden düz HTML, itmeden sonra da çalışır.

Sorular ve yanıtlar

Bu GitHub Pages'te çalışır mı?

Evet. Form HTML'dir. GitHub Pages'in yapması gereken dosyayı sunmaktır. Özel bir gem gerekmez.

Anahtarı yapılandırmada tutabilir miyim?

Evet. Onu _config.yml içine koyun ve include'da yazdırın. Anahtar herkese açıktır. Posta parolasını oraya koymayın.

Proje sitesinde teşekkür bağlantısı neden bozulur?

Proje siteleri bir alt yolda yaşar. _redirect değerini site.baseurl ile kurun, yoksa tarayıcı olmayan bir sayfa açar.

Dizüstü bilgisayarda github-pages gem'i gerekir mi?

Yalnızca aynı eklenti kümesini yerelde istiyorsanız. Formun kendisi buna ihtiyaç duymaz. HTML'i itin ve canlı URL'yi deneyin.

Ücretsiz başla