Подтвердить что ты не робот

Контактная форма Github с jekyll?

Я планирую создать и разместить статический сайт в github. Если бы я должен был это сделать, возможно ли получить контактную форму?

Кажется, что единственный набор динамических функций, которые будут существовать на моем конкретном веб-сайте.

Мне нужно создать сервис где-нибудь еще, чтобы создать контактную форму?

4b9b3361

Ответ 2

Простая форма кажется интересной возможностью обойти статический аспект сайта Jekyll.

Wufoo также является хорошим вариантом.

Ответ 3

Супер-простая быстрая настройка формы с Jekyll заключается в использовании внешней службы, например https://formkeep.com

Ответ 4

Точно. (Обычный) результат процесса компиляции Jekyll является статическим сайтом, поэтому единственный способ иметь динамическую функциональность - через внешние службы.

Например, вы можете попробовать zappyforms.

Ответ 5

Да, вам нужно что-то внешнее для хранения ваших данных. Но хорошей новостью является то, что существует множество решений, и вам просто нужно подобрать "лучшее" для ваших конкретных потребностей.

Просто дайте мне возможность включить в ландшафт возможных решений также KVStore.io (отказ от ответственности: я автор).

Если у вас есть достаточно времени, я просто разместил статью о том, как хранить пользовательский контент на страницах Jekyll/GitHub или аналогичных...

Но tl; dr истории заключается в том, что с помощью KVStore.io вы по-прежнему можете воспользоваться истинным (простой и богатый набор RESTful API), поддерживающий "только клиентские среды", такие как "страницы jekyll/github" или любые другие комбинации, которые вам нравятся.

Мои 2 цента

Ответ 7

Если вы хотите создать свою собственную форму контакта, скажем, например, PHP, вы можете это сделать. Просто запомните эти две вещи:

  • Jekyll скопирует все, что не должно сопровождаться подчеркиванием или игнорируется дословно в каталоге _site.

  • Вы можете включить HTML файл в файл PHP.

Я использую библиотеку PHP на своем сервере для доставки почты из контактной формы HTML, созданной Jekyll. Моя проблема, однако, заключается в отсутствии проверки на стороне сервера или уведомлении пользователя о доставке un/successl или о том, какие поля не проверялись. Я бы предпочел не иметь пользовательскую страницу Success.html и Fail.html для ответов.

Вот как я обошел это.

Моя структура Jekyll выглядит следующим образом:

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

My contact-form.html include и default-php.html layout содержат PHP-фрагменты для печати переменных.

Когда кто-то просматривает www.mysite.com/contact, он загрузит index.php, который содержит мою полную HTML-страницу с фрагментами кода PHP для печати переменных.

В верхней части этого файла PHP вы можете обрабатывать данные $_POST или $_GET из вашей контактной формы или возвращаться с вашей почтовой доставки script и печатать сообщения отправителю или даже добавлять классы в поля формы для указания они не прошли проверку.

Один из недостатков заключается в том, что Это не будет загружаться на локальном сервере Jekyll (localhost: 4000). Может быть, с некоторым подвиганием вы можете это получить. Я не уверен. Я просто устанавливаю vhost для указания mysite.local на /web/root/myjekyllsite/_sites, и он отлично работает.