- Create a Repostory in Github named “blog”. While creating the repostory also include a default
.gitignorefile of type Jekyll.
- Clone the repository on your local machine (I have a OSX machine).
- Install Jekyll by running
gem install jekyllon command prompt. (No need to install Ruby, as Ruby 2.0 is included in OS X Yosemite and Mavericks. OS X Mountain Lion, Lion, and Snow Leopard ship with Ruby 1.8.7.)
jekyll new blogon command prompt. A folder named “blog” will be created.
- Copy the contents of the folder into the folder where the “blog” repository has been cloned.
- In command prompt switch to “blog” repostory folder and execute command
jekyll serve. This command compiles the contents of the website into static web pages and places the in “_site” folder. Next, this command hosts (locally) the created pages by default at
- Point your web browser to
http://127.0.0.1:4000/to see the generated content.
Ctrl+Cto stop hosting.
- Push the changes back to repository in the branch “gh-pages”. This is important because the Github uses this branch to render the pages. All the site related changes must be pushed to “gh-pages” branch. If you had included the default
.gitignorefile of type Jekyll during the creation of the repostory, the generated “_site” folder and its contents will be ignored. This is important because Github internally uses Jekyll to generate web pages, and if you check in “_site” folder, that may interfere with Github internal process. Have to confirm this though
- your blog should be active on
yourGithubUsername.github.io/blog. If not give it a couple of hours.
- For adding posts, type your posts in markup and place them in the “_posts” folder. The naming convention of the placed file is
- Use the following template for the header of each post. The first lines of the markdown files
jekyll serveon commandline to see how the posts looks and make adjustment to markdown if necessary.
- Push you changes to repository (remember the “gh-pages” branch).
- Happy publishing
####Other Useful Resources
- Jekyll Configuration Information
- Github Pages
- Jekyll Themes
- Jekyll Blog Tutorial Video
- Repostory for this blog
- Github Markdown
- Emoji in Markdown
- Screens, Windows, Distractions, Focus, and Work
- 'Mini-Servers' for 'Micro-Services'
- A few Billion Lines of code Later: Using Static Analysis to Find Bugs in the Real World
- API Mapping using Text Mining
- Tricorder: Building a Program Analysis Ecosystem
- Creating this blog
- When, How, and Why Developers (Do Not) Test in Their IDEs
- Test Post!
- Hello World!