A multi-page guide for first-year students: home, about, events, FAQ and contact. Plain HTML, CSS and JavaScript, with no build step.
Because the page loads events from events.json, it needs to be served over HTTP.
From the project directory, run:
python -m http.server 8000Then open http://localhost:8000/ in your browser.
Add an entry to events.json:
{
"title": "Robotics workshop",
"type": "Workshop",
"date": "2026-10-20",
"time": "16:00",
"place": "Lab 2",
"description": "Build a line follower in two hours."
}type is Workshop, Contest or Social.
- The landing page welcomes students with a campus image and links to the About, Events, FAQ and Contact pages.
- The hamburger button opens a navigation drawer, allowing users to move between pages.
- Light and dark themes are available, and the selected theme is remembered across page reloads.
- The Events page displays events from
events.jsonand provides event filtering. - Past events are visually distinguished from upcoming events.
- Event titles and descriptions are displayed as text rather than executed as HTML.
index.html: home / landing pageabout.html: about pageevents.html: events directory and event filteringfaq.html: FAQ pagecontact.html: contact pagestyle.css: shared styles, light/dark themes, navigation drawer, and responsive layoutscript.js: original events logic, retained for compatibilityevents.json: the list of eventsassets/img/campus-landscape.png: landing page hero image
Fork the repo, make your changes on a new branch, and open a pull request. Check your change on a narrow window as well as a wide one.
If you find a bug, open an issue with the steps to reproduce it, what you expected, and what happened instead.
Part of Source Start by CSI SPIT. MIT licensed.