Hello, can someone please let me know how to create user accounts who login and write and publish articles ?
Jekyll and other static sites do not support this as there is no server or database running to do queries against and store passwords. There is just a Apache/Nginx server in production serving static html files
For local use you can use Jekyll Admin gen as an item in Gemfile and then you get a nice CMS view like Wordpress. But only works locally and is not secure as it needs no sign in
For production environments I’d highly recommend forestry.io as you can hook your github repo up to it and invite users to edit in the CMS. And it’s free. You can create front matter templates which means you can enforce structure and validation eg a post must have a title and a list of tags and a boolean published flag
Forestry doesn’t care if you use Github Pages or Netlify or nothing to render your site. It just cares about your CMS layer
Forestry has a couple of starter sites too
You can also look at Netlify CMS which is also free and supports user login after you invite them by email
This works well if you are hosting on Netlify already
Note you need an admin config file to determine field types to be set. So more overhead to get started
See Netlify CMS docs for tutorials
Both forestry and Netlify CMS do not work locally so your CMS will be cloud-based.
Resources
Both platforms
Forestry screenshots
I would highly recommend netlify + netlify cms with open authoring: https://www.netlifycms.org/docs/open-authoring/
You don’t need open authoring (which involves PRs) if you invite an editor by email in Netlify cms. Less friction esp non coders
You can invite users in forestry as well and you can customize data types eg boolean or list in frontmatter without code setup which must be done as a config in Netlify cms approach