cyhoeddwn-guide forms the user guide portion of cyhoeddwn. It contains not just information on how to use the site, but also all of the rules for running the site, guidelines for content, fair use policies, and other such information that should be decided upon by a community. cyhoeddwn-guide uses the Jekyll static site generator, written in Ruby. Pages can be authored in Markdown, pushed to the site using Git, and then rendered into a website using Jekyll running in a Docker container (through GitHub Actions / GitLab CI). Put simply: users make changes in plaintext, push this to a shared repository, then software turns the files, photos, and folders into a structured website, then hosts that for free, for all to see!
It is expected that most end users in your community won't actually write documentation, nor push files to GitHub. If you know what a commit is, and what bundler does in Ruby, you're not in this camp, and you should carry on reading! Instead, users will suggest ideas and changes through GitHub discussions, which is a little bit like a cross between Slack and a traditional forum. You can then integrate this with the traditional issue raising > branching > creating a pull request > merging > deploying lifecycle.
You'll be setting up a fork of the GitHub mirror of this repository. This repository is hosted on GitLab because of author preference, the fork will be on GitHub because the community features needed are paywalled on GitLab unfortunately. The idea is that changes to UI will be documented on the non-forked version, which you will fast-forward your fork to when you have updated your instance of cyhoeddwn. All of your local changes will be kept when you fast-forward. This means you get all of the new stuff, but you keep all of the stuff your community has developed, all under one roof: win-win!
|1||Create a GitHub account||Join GitHub|
|2||Create a GitHub organization for your community||Creating a new organization from scratch|
Now we have the prerequisites sorted, it's now time to start deploying and getting things ready for users to move in, there are three major stages: