Use a static site generator for the CoTech website and host on GitHub Pages
We (Chris, Chris and James at Go Free Range) would like to propose that we move our CoTech website to Jekyll and host it on GitHub Pages. Jekyll is a static site generator and GitHub Pages is a free host for static content.
While we appreciate all the effort that's gone into our current WordPress setup we’re concerned that the complexity makes it harder to make changes (to the site as well as the content) than it needs to be.
To help those unfamiliar with Jekyll to understand this proposal we’ve ported the look-and-feel of the existing CoTech website and some of the content. You can see the generated site at https://cotech.github.io/statically-generated-website/ and the code at https://github.com/cotech/statically-generated-website.
This prototype gives us confidence that changing to a static site generator is technically possible and that the result will be simpler than our current setup.
Advantages of switching
- All our site content (text, data and media) will be under version control
- Changes can be made using the GitHub user interface
- Changes can be discussed using Pull Requests (avoiding the current wiki/Loomio process)
- Deploying becomes as simple as pushing commits to GitHub
- The site hosting is free
- Local development only requires Ruby
- No servers to manage, security updates to apply, or databases to backup
- Switching to an alternative static site generator is relatively easy
- Switching to an alternative host is relatively easy
- Less moving parts mean that it's simpler overall
- We lose the existing Wordpress admin interface for editing data
- Users will need (free) GitHub accounts to make changes
- Knowledge of Liquid required to make logic changes
If we turn this into a proposal and it is accepted we’ll commit to porting the existing content over to this system so that the transition is as painless as possible. We’ll also be happy to help anyone in the network learn how to contribute using git and GitHub. If you’re interested in the kind of things that need doing next we’ve added some information to the README.
We'd love to answer any comments or questions before we make this into a proposal.