Using Pelican, Github, Parse, Sendgrid and Disqus to make your free website.

Fri 23 January 2015

What?? My free website?

Yeah! You don't need to pay for a simple website or for your portfolio. I did this website totally free (I just need to pay about 10 dollars yearly for my domain).

It's really strange because people (mainly IT people) love databases and dynamic content with a lot of complexity. So, I'm here to change your mind. SOMETIMES YOU DON'T NEED COMPLEXITY IN YOU LIFE! Databases and dynamic content are really powerful tools, but they allow some bugs and concerns that you don't want when you are building a simple website.

Going back to your caves.

Caveman

What you will see right now is a transgression to all technology enforces and a new way of seeing this technology.

When you make your personal blog or website with a tool like Wordpress, you are saying to the world: "I need to spend money!". Wordpress is an amazing tool, but using it to make your personal blog is like kill an ant with a bazooka. You're using 0.1% of Wordpress and you did a giant infrastructure for it.

Let's compare it with Github Pages. Github Pages is a service of Github where you can host static pages for your projects, for you and for your organizations for free. Every developer should open an account at Github because it's a spectacular collaboration environment. Here is a tutorial to put your domain linked to Github Pages.

Ok, ok, I can host a static page, but... I need a blog, and contact form. How can I do that? So, if you think, every dynamic page displays static pages dynamically. Static pages were "Rock Stars" twenty years ago and now people don't mind them... I'll try to convince you that static pages are cool!

Doing your "Rock Star" static page website

What do you want in your page? I can describe some essential items:

Static Pages

Do I really need to explain it? Just do static pages and publish them!

Blog

Now the best tool ever! Github Pages recommends Jekyll, but I'm a Pythonist (who loves Python) and I'm doing my website with a similar (I think it better) tool called Pelican!

With these tools you can build a static website with configuration files and with Python power to generate these sites! With Pelican you can do a blog!! Yeah, a simple blog that you can write using reStructuredText, Markdown, AsciiDoc formats or HTML. I'll not show how to work with Pelican, but there are some good pages that explain it: here, here and here.

Ok, ok, and my blog comments?

Pelican have a lot of plugins, and you can handle static comments or use Disqus. Disqus is a community of comments and you can get more information about people that comment in your website. For the most of cases it's free and Pelican support integration with it, as explained in this post.

Contact Form and everything dynamic that you need...

No, I'm not crazy... Not yet... I'm talking about dynamic things in static pages...

Now your website will send emails from contact form (and can do every dynamic things that your need) using Parse. You can do almost everything that you do in your dynamic server using Parse.

Parse is like a server-side for you! You configure a script for server side and make requests for that script. If you use more than 30 requests per second, than you will pay. Yes, you deserve pay if you do that! With my contact form I receive less than one email per year, so I should never pay...

Then you will think... Ohhh, but I need to learn one more tool... Not really, because SendGrid is another amazing tool that take care of everything to you! SendGrid sends optimized emails and store information about receipts, links clicked and you can make templates and email lists. Yes, a good tool with a great tutorial that your REALLY just need to copy and paste to integrate with Parse and use in your contact form.

Final Remarks

I hope that I was able to convince you about the power of static pages right now. Nowadays we have a lot of tools and integrations that we just need to join these tools and make a simpler thing. Here we show how to do a static website and host these pages without cost. If you want to see some website implemented using these technologies you can view my site source code.

PS: Now your website is with automatic deploy and with version control because you're using GIT!! ;)