Welcome to the Web Team 🎉
This guide is your step-by-step manual for maintaining the club website.
It’s designed to be complete but easy to follow — perfect for new members.
- GitHub Pages (default): https://.github.io/website/
- Custom Domain (if set up): https://www.lchsredcross.org
• Owners → Club President + one trusted officer/advisor (full control).
• Web Team → Students maintaining the site (Write/Maintain access).
• Members → Everyone else in the org (read-only).
Add a new member:
- Org → People → Invite member
- Role = Member
- Add them to the Web Team
At least 2 Owners should exist at all times.
/index.html → Homepage
/css/ → Stylesheets
/js/ → Scripts
/assets/img/ → Images
/assets/docs/ → PDFs/flyers
/content/ → Officers, events, announcements
/README.md → Main instructions
- Create a branch → example:
update-events-2025 - Edit the relevant file(s):
- Officers → /content/officers.html
- Events → /content/events.html
- Preview locally:
Open http://localhost:8000 in browser
python -m http.server 8000 - Commit with a clear message:
"Update officer list for 2025–26" - Push your branch and open a Pull Request (PR).
- Another Web Team member reviews & approves.
- Merge to main → GitHub Pages auto-deploys (~2 minutes).
GitHub uses branches, commits, and pull requests to manage changes.
Here’s how it works step by step:
- A branch is like your own copy of the repo where you can work safely.
- Example branch names:
update-officer-listadd-jane-doefix-footer-links
- A commit is like hitting Save with a message.
- Each commit records what changed and why.
- Example commit messages:
Add Jane Doe to Meet the Web TeamUpdate blood drive date in Events
- A PR is how you propose merging your branch back into
main. - It lets other Web Team members review your changes first.
- In the PR, you:
- Write a title → short and clear.
- Add a description → what changed and why.
- Another Web Team member looks at your PR.
- They can:
- Approve ✅
- Suggest changes 📝
- Nothing goes live until at least one other team member approves.
- Once approved, the PR is merged into
main. - GitHub Pages automatically redeploys the site within ~2 minutes.
To practice, new members should:
- Create a branch called
add-your-name. - Open
meet-the-web-team.md. - Add their name + role to the list.
- Commit changes.
- Open a Pull Request.
- Ask another Web Team member to review and approve.
When merged, their name will appear on the page — and they’ll have learned the entire GitHub workflow 🎉
• Update Officers → edit /content/officers.html
• Add Events → edit /content/events.html, upload flyers to /assets/docs/
• Add Images → save in /assets/img/, reference in HTML with alt text
• Create New Page → copy existing .html, adjust content, add link in nav
• Use RELATIVE paths → href="css/style.css" (not /css/style.css)
• Filenames lowercase + hyphens → blood-drive-2025.jpg
• Always add alt text to images
• Test on both desktop and mobile before merging
• Do not commit secrets or personal student data
At the start of each school year:
- Update officer names in /content/officers.html
- Update meeting times & events
- Remove graduated seniors from org
- Add new Web Team members
- Promote President/VP to Owner
- Verify custom domain + HTTPS still active
- Confirm club Gmail is accessible
End of Web Team Onboarding Guide
This guide explains the costs and setup steps for Porkbun as the domain registrar with Cloudflare DNS.
- First-year registration: ~$6.68
- Annual renewal: ~$10.72/year
- Cloudflare DNS: Free
Total cost:
- Year 1: ~$6.68
- Each subsequent year: ~$10.72
Included in Porkbun price:
- Free WHOIS privacy (protects club info)
- Free SSL certificates (via Let’s Encrypt, if using Porkbun DNS)
- Free email forwarding (up to 20 addresses)
- Free URL forwarding
Cloudflare DNS adds:
- Strong, fast, reliable DNS
- Free performance/security tools
- DNSSEC support for extra protection
- Buy domain at Porkbun using club Gmail (lchsredcrossclub@gmail.com).
- In Porkbun, go to DNS → set nameservers to Cloudflare’s pair (given after adding domain at Cloudflare).
- In Cloudflare dashboard:
- Add domain
- Verify nameservers are set correctly
- Enable DNSSEC (extra protection)
- In GitHub repo:
- Settings → Pages → Custom domain = www.lchsredcross.org
- Check “Enforce HTTPS”
- Test domain → should load in ~15–30 min, HTTPS enforced.
[ ] Verify domain still active in Porkbun
[ ] Renewal date updated in Domain Renewal Reminder Wiki
[ ] Cloudflare DNS settings still valid
[ ] HTTPS enforced and working
- Renewal is ~$11/year.
- Ensure a club or advisor card is attached in Porkbun.
- Update “Next renewal due” in the repo Wiki each year.
End of Cost & Setup Guide
This guide explains how to manage and renew the club’s custom domain (www.lchsredcross.org) when registered at Porkbun and managed with Cloudflare DNS.
- First year: ~$6.68
- Annual renewal: ~$10.72
- Cloudflare DNS: Free
- Registrar: Porkbun
- Login: lchsredcrossclub@gmail.com
- Renewal is paid through Porkbun.
- Provider: Cloudflare (Free plan)
- Cloudflare provides DNS, DNSSEC, and extra security features.
- Porkbun’s nameservers must be set to Cloudflare’s values.
- Buy domain at Porkbun using club Gmail.
- Add domain in Cloudflare dashboard (Free plan).
- Set Porkbun nameservers → Cloudflare nameservers.
- Enable DNSSEC in Cloudflare, then copy values into Porkbun DNSSEC settings.
- In Cloudflare DNS:
- Add CNAME record:
• Name = www
• Target = lawtonchilesredcrossclub.github.io - Add A records (for root domain):
• @ → 185.199.108.153
• @ → 185.199.109.153
• @ → 185.199.110.153
• @ → 185.199.111.153
- Add CNAME record:
GitHub Pages provides four different IP addresses.
- They are part of a distributed server network (Anycast).
- This improves reliability (if one IP/server goes down, others still respond).
- This improves performance (visitors are routed to the nearest server).
If you only add one, the site may still work, but it will be less reliable.
- In GitHub repo → Settings → Pages:
- Custom domain = www.lchsredcross.org
- Enforce HTTPS
[ ] Verify domain still active in Porkbun
[ ] Renewal date updated in Domain Renewal Reminder (Wiki)
[ ] Auto-renew enabled or renewal completed
[ ] Cloudflare DNS still pointing correctly
[ ] HTTPS enforced and working
- Renewal handled in Porkbun (~$11/year).
- Future officers should ensure billing is updated yearly.
- Update the renewal date in the Wiki page.
If the domain expires accidentally:
• Log into Porkbun with club Gmail → manually renew.
• Reactivate DNSSEC and Cloudflare if needed.
• Test site after renewal.
Domain: www.lchsredcross.org
Registrar: Porkbun
DNS: Cloudflare
Club Gmail: lchsredcrossclub@gmail.com
Renewal Cost: ~$11/year
Responsible: Org Owners (President + trusted officer/advisor)
End of Domain Management Guide