Hello blog!
I was thinking on introduce myself in this first post… But I thought: “There is no better way to start than writing a meta-post!”. Therefore, this is about how this blog has been created (I’ve also written some words about myself here).
This blog is powered by Jekyll and GitHub Pages. Jekyll is an static site generator that allows you to create a blog easily. GitHub Pages is a hosting service for static content that permits the deployment with a simple git push. Furthermore, Jekyll comes integrated with GitHub Pages so you can push the source code to GitHub and it automatically generates and deploys it.
Less
- Time: Really fast to setup and deploy.
- Money: GitHub gives a free page site to every user.
- Headaches: There’s no dynamic content, code or database to take care of.
- Latency: Static sites are always faster than dynamic ones.
More
- Knowledge: You will learn because you program it (as you wish), generate the content with markdown language and use git.
- Security: Neither database nor running code on server.
- Control: You manage your content changes with git.
I’m not claiming this approach is the best way to create a generic blog, as always it depends on your constraints. However, for my particular case I can say it’s perfect. Try it for yourself!
How to create your own blog
1 - Install Jekyll and create the blog
If you have Ruby, RubyGems and NodeJs installed (otherwise, check this first):
At this point, you must be able to see a default template at http://localhost:4000
. Time to play with it! (check the documentation
about the structure too)
Once you have shaped it at your taste…
2 - Deploy the code to github pages
First of all, we need a GitHub account
and create a repository called yourusername.github.io
(must be called exactly like that).
Then upload your blog source code to that remote repository:
That’s it, your blog must be available at yourusername.github.io
.
You can also check the source code of
this blog
and
other blogs
like this.
If you want to keep improving your blog, read part II.
Happy blogging!