-
Notifications
You must be signed in to change notification settings - Fork 2
Contributing
JS Ng edited this page Jan 3, 2025
·
11 revisions
To contribute to this page, contact Mr Ng to be added as a collaborator.
- Clone the repository url: https://github.com/nyjc-computing/nyjc-computing.github.io.git in VSCode, or use a Codespace (requires verification through Github Education for free access).
- Commit and push any changes to a separate branch; name the branch
issue-XXX
whereXXX
is the issue number.- If an issue doesn't exist for the task you are working on, create one first. This facilitates discussion and pull request tagging.
- The issue page has a link to "Create a branch for this issue", use it.
- Make a pull request to
content
ordev
depending on the nature of the change:-
For content edits (e.g., Markdown updates):
-
Branch Name:
issue-XXX
-
Target Branch:
content
-
Branch Name:
-
For development edits (e.g., HTML templates, CSS, or config files):
-
Branch Name:
issue-XXX
-
Target Branch:
dev
-
Branch Name:
-
For content edits (e.g., Markdown updates):
-
Do not make pull requests directly to
main
. All changes should go throughcontent
ordev
, and then be merged intomain
.
- Make changes.
- Run the following command:
bundle exec jekyll serve
- You may need to run
bundle install
to install project dependencies first.
- You may need to run
- It should provide a local URL (default:
http://localhost:4000/
) for browsing site contents. In Codespaces, this will also open a webview.
Automations have been set up that you should be aware of:
-
Integration test: Every pull request to
content
ordev
branches will trigger a build script (bundle exec jekyll build
) that checks if the site can be built. IF this test fails, the pull request should not be approved until the problem is resolved. -
Deployment: Every approved pull request to
main
triggers the deployment process: Github Actions will build the site, then deploy the rendered pages. -
Downstream branch synchronisation: Whenever
main
is updated, a workflow is triggered to synchronise changes from it tocontent
anddev
. This aims to ensure thatcontent
anddev
do not become outdated. This is not done for your own respective branches, so be sure to merge changes fromcontent
anddev
to your own feature branches.
- See project issues for places that need help.
- Suggest any improvements by creating a new issue for discussion (apply the question label).
- Issues tagged good first issue are a good way to get yourself eased into the development process.