This is a static web site managed with the wintersmith static site generator, which runs in node.js.
It can be run locally with node.js and also has files and scripts supporting docker.
wintersmith reads the templates
and contents
and generates full HTML pages for a static web site into the build
directory. Once built, the site can be served by any static web server.
To make live edits from github.com, edit the page in the contents
or templates
directory and when that change is saved ("merged to main" in git terminology), github will execute a "web hook" which will tell the https://goragora.org web site server to get the latest code and rebuild the site, at which point the changes are live on the web.
- install node.js
- see the
.nvmrc
file and use that version of node.js
- see the
- install bash, git if you don't already have them
- Run a build (generate the files for a static web site):
./bin/build-site.sh
- Files end up in the
build
directory
- Preview the site in your browser
./bin/preview.sh
- This will build the site and start a web server so you can preview your local changes in a web browser.
- Preview URL is http://localhost:9120
- Delete the generated files (
build
directory)
- Install docker if you want to run this via docker
./docker/build-image.sh
will build the "goragora" docker image for this project. This is just the prerequisite toolchain (node, git, bash, etc). Not the actual web site content nor the npm dependencies../docker/build-site.sh
will generate the static site files by running wintersmith in the "goragora" docker image. Generated files will be available locally in yourbuild
directory though, not inside any docker container../docker/service-start.sh
used to start the github web hook service in production under docker./docker/preview.sh
used to start nginx in a docker container using the static site's configuration. The URL will be http://localhost:9121../docker/run.sh bash
Used to run a shell (or other ad-hoc command) in the docker image as needed. The project directory will be mounted at/opt
and your shell will be in that directory initially.
The site is hosted by netlify and works together with code pushed to the focusuarus/goragora github repo
- Any change merged to the
main
branch will get automatically built by netlify and published to the live site at https://goragora.org - Pull requests will also be separately built and given a special preview URL where you can view the changes before merging the pull request.
- This all lives under Pete's Netlify account but at some point we can transfer elsewhere. Netlify is free for this so no big whoop.
- Pete has the goragora.org DNS domain name registered with gandi.net as the registrar and DNS is configured so goragora.org resolves to Netlify's servers properly.