How does this work ?

Comm(ent|it) works with Github Pages and their ability to use Jekyll to generate your static website. With Jekyll, you can define variable in each post or in data files and use them in your template. Comm(ent|it) uses the Github API to directly commit on your website repository and store comments. When you first sign-in, you give us write access to your repository. You manage the display of the data we store on it by editing your templates.

Can I allow Markdown inside comments ?

Yes. Just use the appropriate Jekyll filter to display the comment {{ comment.content | markdownify }}. Do not forget to put indication for the user to know they can use markdown.

How to migrate from other comment systems ?

If your website currently use Discuss (or any other 3rd party service which store itself the comments), you have to keep it on existing pages not to lose the comments. But you can use Comm(ent|it) on new ones. Just create a second post layout and use it on new posts.

Do you allow HTML ?

For security reason, all html entities are normally escaped. So you cannot accept HTML in your comments. But you can still accept Markdown.