I know enough coding to build a basic static blog, and hosting it on GitHub Pages would be inexpensive and straightforward. The complication is that a few friends want to contribute, but they do not know HTML, programming languages, or web frameworks. I would like them to have some kind of account or browser-based editor so they can create and publish posts without editing code. Is it possible to add user accounts and user-generated content using only client-side code while still hosting the site on GitHub Pages, or should I use a different hosting setup or a content management system?
3 Answers
GitHub Pages only serves static files, so it cannot securely handle accounts, logins, or arbitrary content submissions by itself. You would need a backend, database, or hosted service. Serverless platforms can provide those pieces on free tiers, but they still involve some configuration and usually a little coding.
If this is just a personal blog with a few invited contributors, you may not need a full user-account system. A Git-based CMS can give your friends a browser editor while storing posts as Markdown or YAML files in the repository. The site can then rebuild and publish the updated static content automatically.
For the quickest setup, a hosted blogging platform or managed CMS may be easier than building accounts and publishing workflows yourself. A service such as Sanity can handle content management while your site remains a separate frontend. If you want anyone on the public site to register and publish, though, you will need a proper backend with authentication, moderation, and storage.

That approach works especially well for a small group. Tools such as Decap or Keystatic can provide the editing interface, while a static site can remain hosted cheaply. The main limitation is authentication: contributors generally need repository access or an external sign-in service, so it is not purely client-side.