Earlier this month when I posted an article about using github pages to host personal website, I added a contact form, beautified it with bootstrap and decided to ignore how would I handle form submissions and keep track of responses. But soon I realized my mistake when someone excitedly asked "Did you get my message I submitted through contact form?". It was disappointing, but I had to say I didn't handle it, yet. So here is how I handled 'it'.
Github pages provides support for static pages and that makes handling forms on static website a bit tricky.
Turns out, capturing data from forms such as contact form in static website is super easy, with little or no configuration needed. There are many free and paid services available according to your requirement. Initially I tried one open-source service formspree, and then for better control I used Google Apps Script.
First approach: FORMSPREE
It's absolutely simple approach, no configuration is needed in your code. Here's is what you do:
Go to https://formspree.io/ and follow steps as mentioned in website.
Just don't forget to add 'name' attribute to your each input field of your form.
Here's what your form would look like after mentioned changes. Look closely at added name fields in html form. email field with '_replyto' is important to capture email id of person who submitted form.
Last week I built my portfolio website which I wanted create from a quite a long time. After few iterations when I was happy with result, I decided to go with github pages for hosting my website. Github provides one personal website per account, and one for each of your project. Here's a link of github pages which walks you through how to do that in few easy steps. Visit my website, https://8parth.github.io/ and feel free to give your feedback and suggestions as it will make it more better.
For hosting personal website with github,
You can do much more than just hosting static pages by using jekyll. Few months back while experimenting with github pages I tried to use jekyll. Jekyll requires knowledge of ruby on rails. Gaya is one cool jekyll responsive theme for jekyll which you might try if you need to host something like blog via github.
Hope you enjoyed and might find interesting. Thanks and feel free to share your thoughts.