This is the official blog of the Kodethon technical assessment service. It is a jekyll blog and it follows the conventional structure.
- ruby 2.3.0
- jekyll 3.2
- bundler 1.14.6
We specify additional dependencies in the Gemfile. To install those
dependencies, you need to run bundle install
in the repo folder.
When want to make changes to this blog, this is how we do it.
- Clone the repo
git clone https://github.com/kodethon/kodethon.github.io
- Install gems
bundle install
- Run jekyll server in development mode
jekyll server --config _config.yml,_config_dev.yml --drafts --watch
- Make changes: new posts, edit post, new page, change CSS, etc.
We added Disqus comments to each post. To add Disqus comments, I followed the instructions given in the Disqus site after clicking Settings > "Add Disqus to Site".
Roughly:
- I logged into my Disqus account
- I followed the disqus official documentation for integrating into Jekyll
Our shortname is kodethon. If you are using this blog as the start of your own blog, make sure that you get your own shortname and edit the disqus value in _config.yml.
In adding comments to each posts, I also found additional resources helpful.
To track clicks, we use Bitly links.
- Log into Bitly account.
- Create Bitly link for URL.
- Add "-kodethon" to custom bitly url.
- In the front matter of the post, I add a bitly property.
Our Bitly username is kodethon. Get your own.
Previously, we used to deploy this site as a Docker container in our server behind a nginx-proxy. Now, we simply deploy via Github pages.
To deploy:
- git commit changes
- git push changes
This works for us because this repo is currently the special USERNAME.github.io repo. In other words, it is a user/organization Github pages site. If it were a project site, we would hve to push to the gh-pages.
Through our blog, we can also generate newsletters. We created a TinyLetter account. Our username is kodethon. Again, if you are using this blog as the start of your own blog. Get your own username.
To Email Newsletter:
- In TinyLetter, click Compose.
- Click on Source View.
- Copy page source from newsletter.
- Paste into: https://templates.mailchimp.com/resources/inline-css/
- Pase output source into TinyLetter.
These are the categories/tags we are currently using. If you write a post and it needs a new category, add it here to document it.
- Announcements
- General
- Bug fix
- New Feature
- Embed
- New Environment
- Prolog
- Tutorials
- C
- C++
- Java
- Prolog
Our media assets can be put in their respective folders.
- videos: Put video files in the
videos/
folder. - images: Put image files in the
images/
folder.
head.html: You may want to modify this file to include external CSS or JS files.
Note: The order of include matters to Bootstrap.