This is another standard task for Jekyll. I’ve selected Disqus as the commenting platform. If you are looking for alternatives, I recommend you to check implementation for comments providers from the jekyll-bootstrap project.
The implementation for Disqus is available in the standard minima theme. My implementation adds checks for required parameters and renders HTML warnings if commenting won’t be available.
The disqus.html include requires disqus.shortname variable in the _config.yml file. This is a shortname of the site you’ll get after registering your site in Disqus. I’ve added the include to the post.html layout along with comments: true variable in the layout’s header, so commenting is available for all blog posts by default. To disable comments on a particular post, I can specify comments: false value in the post’s YAML header.