Jekyll is a great piece of software, it enables users to generate static website from simple Markdown files like this one.

The only downside? Since the website is static, you can’t really go to an “admin area” like you do on WordPress and add/update posts as your heart desires.

Or can you?

With some JavaScript & git tricks, Netlify managed to do just that.

Basically you get an “admin” interface, that authenticates the blog owner and where you can create/update posts as desired. It does so by committing updates to your blog’s repository.

There’s a nice guide on how to install Netlify CMS on your website: Netlify Quick-start and Netlify’s Add to your site

But I cannot log in!

It’s not covered in the documentation, but when authenticating with GitHub, the following should be taken into consideration.

You’ll have to create an OAuth client in GitHub, by going to Settings -> Developer Settings -> OAuth Apps -> New OAuth App.

Your callback URL should be https://api.netlify.com/auth/done

From GitHub you’ll get the Client Secret and Client ID that you’ll have to enter in Netlify -> Site Settings -> Access Control -> OAuth, by clicking Install Provider -> GitHub -> and copy/paste the Client ID and Secret.

Only then your integration is complete, and it will work as expected.