A single-page, filterable course-finder for NEO's core placements plus holiday programmes and afterschool clubs. Static, no build step — just index.html and a CNAME. Brand and voice mirror the live nudgeeducation.online site.
index.html— the whole site (HTML + CSS + JS in one file). Course data lives in theCOURSESarray near the bottom; add, edit or remove a card by editing that array.CNAME— tells GitHub Pages to serve the site atcourses.nudgeeducation.online.README.md— this file.
You can either add these files to a new repo (e.g. nudgeeducation/courses) or a folder in an existing one.
- Create the repo under the
nudgeeducationorg and uploadindex.htmlandCNAMEto the root. - Settings → Pages → Source: Deploy from a branch, Branch:
main, Folder:/ (root). Save. - Under Custom domain it should already read
courses.nudgeeducation.online(from the CNAME file). Tick Enforce HTTPS once the certificate is issued.
Add one CNAME record alongside your existing NEO records:
| Type | Name | Value | TTL |
|---|---|---|---|
| CNAME | courses |
nudgeeducation.github.io |
1 hour |
Use
nudgeeducation.github.io(the org Pages host), not the repo URL. Allow up to an hour for DNS + the HTTPS certificate. This mirrors howcurriculum.anddemo.are already set up.
The "Register interest" buttons currently point at the main NEO Register form as a safe default. To capture which programme each person wants, create a dedicated form and swap one line.
New form titled "NEO Courses & Clubs — Register your interest". Suggested questions:
- Your name — short answer (required)
- Your email — short answer (required)
- Are you a… — multiple choice: Parent / carer · Learner (16+) · Local Authority commissioner / professional · Nudge colleague (required)
- Which course, club or programme are you interested in? — short answer (this is the one the website pre-fills — see below)
- Learner's age — multiple choice: 11–13 · 14–16 · 17–18
- Whereabouts are you / which Local Authority? — short answer
- Anything you'd like us to know? — paragraph (optional)
- Would you like to come to an open event? — Yes / No
Link responses to a Google Sheet (Responses tab → Sheet icon) so the team can see interest by programme.
In index.html, find this line near the bottom and replace the URL:
const EOI_FORM_URL = "https://forms.gle/UC84rtVbJELHpQdF7"; // Clubs & holiday programmes EOI form
const EOI_FORM_CORE_URL = "https://forms.gle/gSecpMw7GJYNNNk6A"; // Core placements EOI formTwo forms are wired: the three Core placements use EOI_FORM_CORE_URL; all clubs and holiday programmes use EOI_FORM_URL. Every "Register interest" link opens in a new tab. The site appends ?course=<programme name> automatically (harmless on a forms.gle short link; it only pre-fills once you supply a full pre-filled link — see below).
To have question 4 arrive pre-filled with the programme name: in the form, ⋮ → Get pre-filled link, type any placeholder into "Which course…", submit, and copy the resulting link. It contains entry.XXXXXXX=placeholder. Then change the eoiLink() function in index.html so it builds that URL with entry.XXXXXXX= + the course title instead of ?course=. Happy to do this step for you once the form exists.
Each card is one object in the COURSES array:
{ t:"Title", type:"Holiday programme", area:"Creativity & expression",
cs:["Creativity"], ages:"Ages 11–16", stage:"KS3–KS4",
fmt:"Live online, weekly", d:"One or two sentence description." }typemust be exactlyCore offer,Holiday programmeorAfterschool club(drives the filter and the badge).csis one or more Cornerstones: Connection, Movement, Creativity, Reflection, Rest, Nutrition.- The Interest area, Cornerstone and Age filters populate themselves from the data — no separate list to maintain.
This page mirrors the live site's public voice ("named practitioner", "qualified teachers", "voluntary Ofsted accreditation") so it reads as part of the same site. If the canonical terminology (Practitioner-Mentor, Educators, OEAS) is adopted, update the live site and this page together.
No prices are shown anywhere, in line with the "procurement-ready — request a pricing brief" approach on the main site.