The public website for NYJC's Computing programme. Built with Jekyll using the Monophase theme.
- Ruby 3.2 or higher (check with
ruby --version) - Bundler (install with
gem install bundlerif needed)
-
Clone the repository and navigate to it:
git clone https://github.com/nycomp/nyjc-computing.github.io.git cd nyjc-computing.github.io -
Install dependencies:
bundle install
-
Serve locally (with live reload):
bundle exec jekyll serveThen visit
http://localhost:4000 -
Build for production:
bundle exec jekyll buildThe built site will be in the
_site/directory.
├── _config.yml # Jekyll configuration
├── _data/ # Data files for site-wide variables
├── _includes/ # Reusable template components
├── _layouts/ # Page layout templates
├── _posts/ # Blog/news posts
├── _site/ # Generated site (don't edit)
├── assets/ # CSS, JS, and other assets
├── images/ # Site images
├── pages/ # Static pages (About, FAQ, etc.)
├── Gemfile # Ruby dependencies
└── index.md # Homepage
This repository uses a two-branch workflow:
content- Branch for content contributions and editingmain- Production branch that deploys the site
When main is updated, it automatically syncs changes back to content via GitHub Actions.
-
Checkout the
contentbranch:git checkout content
-
Create your feature branch:
git checkout -b my-new-page-or-fix
-
Make your changes (see content types below)
-
Commit and push:
git add . git commit -m "Describe your changes" git push origin my-new-page-or-fix
-
Open a pull request targeting the
contentbranch
-
Create a new markdown file in the
pages/directory, e.g.,pages/my-page.md -
Add front matter at the top:
--- title: My Page Title permalink: "/my-page" layout: page ---
-
Write your content in Markdown below the front matter
-
Create a new file in
_posts/with the naming format:YYYY-MM-DD-title.md -
Add front matter:
--- title: Post Title date: YYYY-MM-DD HH:MM:SS Z categories: - update layout: post ---
-
Write your post content in Markdown
- Pages are in the
pages/directory - Posts are in the
_posts/directory - Homepage is
index.md
Simply edit the corresponding Markdown file.
Site-wide settings are in _config.yml:
- Site title, description, and contact email
- Navigation structure
- Google Analytics tracking ID
- Plugin settings
After modifying _config.yml, restart jekyll serve to see changes.
For questions or issues, please contact the NYJC Computing team at nyjc.computing@nyjc.edu.sg