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