A clean, elegant, mobile-friendly wedding website that can be hosted directly on GitHub Pages with no build step.
This site gives family and friends one place to find all key wedding information:
- Wedding date and quick overview
- Venue information
- Day-of schedule
- RSVP instructions
- Travel and accommodation notes
- FAQ
- Photo gallery
Everything is static HTML/CSS/JS, so it is easy to edit and publish.
index.html→ Main page (must stay in repo root)style.css→ Colors, layout, responsive stylesscript.js→ Mobile menu behavior and small UI interactionsassets/images/→ Placeholder images you can replace
wedding-site/
├── index.html
├── style.css
├── script.js
├── README.md
└── assets/
└── images/
├── hero-placeholder.svg
├── gallery-1.svg
├── gallery-2.svg
├── gallery-3.svg
├── gallery-4.svg
├── gallery-5.svg
└── gallery-6.svg
Important:
index.htmlmust remain in the root folder for GitHub Pages.
Use these quick examples:
- Change names in
index.html- Find the hero section and update the couple names (example:
Alex & Taylor).
- Find the hero section and update the couple names (example:
- Change colors in
style.css- Edit CSS variables at the top inside
:root(for background, accent, text, etc.).
- Edit CSS variables at the top inside
- Change gallery images in
assets/images- Replace
gallery-1.svgetc. with your own files. - Keep file names the same OR update the image paths in
index.html.
- Replace
- Update RSVP link in
index.html- Find the RSVP button and replace
href="#"with your real form URL.
- Find the RSVP button and replace
Tip: Search for EDIT HERE comments in index.html to quickly find placeholders.
- Add your hero image to
assets/images/. - In
style.css, update this line in.hero:
url("assets/images/hero-placeholder.svg")Replace it with your file path (for example, hero.jpg).
- Put your photos in
assets/images/. - In
index.html, update each<img src="assets/images/gallery-#.svg">as needed. - Update
alttext for accessibility.
- Push this repository to GitHub.
- Open your repository on GitHub.
- Go to Settings → Pages.
- Under Build and deployment:
- Source: Deploy from a branch
- Branch:
main(or your default branch) - Folder:
/ (root)
- Click Save.
- Wait for deployment, then open the Pages URL GitHub provides.
- Buy or use an existing domain from your domain provider.
- In GitHub repo Settings → Pages, add your domain in Custom domain and save.
- In your domain DNS settings, point records to GitHub Pages:
- Use GitHub Pages A/ALIAS/CNAME records according to GitHub documentation.
- (Recommended) Enable Enforce HTTPS in GitHub Pages settings after DNS is active.
- Allow DNS propagation (can take minutes to 48 hours).
- You can edit files directly on GitHub using the web editor.
- No Node.js, package manager, or backend is required.
- If something looks wrong, confirm file paths are relative and correctly spelled.
- Keep
index.htmlin the root directory so GitHub Pages can load your homepage.
The RSVP button now opens rsvp.html, where guests can submit:
- Full name
- Attendance (
yesorno) - Number of guests
- Notes (optional)
- Production (recommended): set
RSVP_ENDPOINTinrsvp.jsto a real form endpoint (Formspree, Supabase Edge Function, Google Apps Script, etc.). - Without endpoint: data is only stored in the guest browser
localStoragefor testing.
Important: if you want to track attendance centrally, you must connect a real backend endpoint.