| tags: [ jekyll github pages blog ]
My initial post
I’m not a big fan of ruby and because of that I never used Jekyll, but since GitHub Pages uses it and I needed a place to keep my technical notes without having to worry with things such as web hosting and tons of configs I decided to give it a try.
GitHub Pages
For the GitHub Page part, every necessary step is simply described in the GitHub Pages site. Basically you need to follow 3 steps:
Create a GitHub repository named
<username>.github.io, in my casemhcerri.github.io.Clone it to your local machine.
$ git clone https://github.com/username/username.github.ioAnd push your content;
$ cd username.github.io $ echo "Hello, World!" > index.html $ git add --all $ git commit -m 'Initial commit' $ git push origin master
Github Pages will serve any web content and will automatically process Jekyll files.
Jekyll installation
There’s no need to install Jekyll locally but you will need it if you want to preview your posts before publishing.
The recommended way to install Jekyll is via gem that is included in the ruby package in Arch Linux.
# pacman -S rubyYou also will need to include your local gem installation directory to your PATH.
$ export PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"And then install Jekyll and GitHub pages package with its supported plugins.
$ gem install jekyll
$ gem install github-pagesBootstrap your blog
To create a new Jekyll blog use the new command.
$ cd ./username.github.io/
$ jekyll new .Next, edit _config.yaml and about.md. I also recommend changing the default markdown engine from kramdown to redcarpet.
Take a look at the example post in _posts and remove it if you don’t want to keep it.
To preview your blog use the serve command and then open the indicated URL in your browser.
$ jekyll serveAdd a .gitignore file to exclude the generated content.
$ echo _site >> .gitignoreAdd push your blog to your GitHup repository.
$ git add --all
$ git commit -m 'Add Jekyll basic blog'
$ git push origin masterTake a look at Jekyll documentation to customize your blog.