Managing GitHub Pages for this repo
The musios-app.github.io
repo is the primary content for the musios.app site with:
- Home page
- Site style
- Site navigation
- Acts as a container for project to be added
Local development
Setup: see the reference to get ruby
, gem
, bundler
etc installed
Run the local Jekyll development environment with all the config files included.
1
2
3
4
5
# HTTP server
bundle exec jekyll serve --config _config.yml
# with HTTPS/SSL
bundle exec jekyll serve --ssl-key .localhost-ssl/key.pem --ssl-cert .localhost-ssl/cert.pem
Ref: Running Jekyll locally with SSL
Ref: How to set up a GitHub pages website on a Mac
Deployment
GitHub pages deployment:
- Jekyll for rendering/publication
- Custom theme that uses Material UI and Bootstrap
- Submodules for including each project
Managing (sub-) Project
Ref: How to Use the Git Submodule Init and Update Commands
Add the project to /projects
Copy the Git URL for the project/repo to be added.
1
2
3
4
cd projects
git submodule add <repository-url>
git submodule init
git submodule update --remote
Now add the content to this Git repo
1
2
3
4
5
# Return to the project root
cd ..
git add project/<repo-name>
git commit -m 'add new submodule <repo-name>' .gitmodules projects/<repo-name>
git push
Updating when the submodule changes
Changes do not propagate automatically.
So, when the submodule changes…
1
2
cd projects/<module>
git submodule update
GitHub Action - Build & Deploy
A git push
automatically triggers a GitHub Action to build the site with Jekyll then deploy to https://musios.app.
Monitor progress on the Actions page.