This repository contains the source code and assets for the San Diego Tamil Sangam (SDTS) website.
The Bharathiyar Tamil School (BTS) website is now fully managed in this repository.
- The old
bts.sdts.orgrepository is archived and will not receive further updates. - All BTS content is located in the
bts/directory:bts/index.html— Main BTS homepage (updated a few times per year for school year info, enrollment, and announcements).bts/assets/— BTS-specific images, CSS, JS, and vendor files.
bts.html— Redirects tobts/index.htmlfor backward compatibility.- Redirects are in place so that both
bts.sdts.organdsdts.org/bts.htmlpoint to the newbts/directory.
-
Edit BTS files:
- For BTS homepage updates, edit
bts/index.html. - For assets, update files in
bts/assets/.
- For BTS homepage updates, edit
-
Preview Locally:
Use a simple Python HTTP server:python3 -m http.server 8000 # Then visit http://localhost:8000/bts/ in your browser -
Commit and Push:
git add . git commit -m "Update BTS content (describe your change)" git push origin main
-
Deploy:
After pushing, deploy the updated files to your web hosting (GoDaddy/Plesk or other).
HTTPS certificates for sdts.org, www.sdts.org, bts.sdts.org, and www.bts.sdts.org are issued by Let's Encrypt (90-day lifetime) and managed semi-automatically via GitHub Actions.
| Step | Who does it | When |
|---|---|---|
| Check expiry on all 4 domains | ssl-expiry-check workflow (daily) |
Every day at 14:00 UTC |
| Issue new cert via Let's Encrypt DNS-01 | ssl-renew workflow |
Every Monday at 12:00 UTC if cert expires within 30 days |
| Install cert in Plesk ← manual step | A volunteer | After the workflow opens a GitHub issue |
When the ssl-renew workflow runs successfully it opens a GitHub issue titled "Install new SSL cert (run #...)" labeled ssl + ops. Someone must act on this issue within a few days or the site will show a cert warning.
Steps (takes ~5 minutes):
- Download the artifact linked in the issue (
ssl-cert-N.zip) - Log in to Plesk via GoDaddy → Hosting → Manage
- For sdts.org and bts.sdts.org (do both):
- Websites & Domains → domain → SSL/TLS Certificates → Add SSL/TLS Certificate
- Name it
letsencrypt_YYYY-MM-DD - Paste
privkey.pem→ Private key,cert.pem→ Certificate,chain.pem→ CA certificate - Click Upload Certificate
- Hosting Settings → select the new cert → OK
- Verify all 4 URLs load with a valid padlock
- Close the GitHub issue
Note: GoDaddy shared hosting (Plesk Obsidian) does not expose SSH or a reliable API, so Plesk installation cannot be automated. The manual step is intentional — it also ensures a human verifies the site after each renewal.
Full runbook: docs/SSL_RENEWAL.md
Thanks for downloading this template!
Template Name: Selecao
Template URL: https://bootstrapmade.com/selecao-bootstrap-template/
Author: BootstrapMade.com
License: https://bootstrapmade.com/license/
This document outlines the steps required to update the event-related content on the San Diego Tamil Sangam website. Follow these instructions to update the carousel (Hero Section) and the Past Events (Portfolio Section) accordingly.
Note:
- All images for past events must be uploaded to the folder:
assets/img/past-events/
-
Locate the Carousel Section: Open the
index.htmlfile and scroll to the Hero Section (carousel), which is within the<section id="hero" class="hero section dark-background">tag. -
Adding a New Slide:
- Create a new
<div class="carousel-item">block for the new event. - Include the event title, description, and a call-to-action button.
- Example:
<!-- New Event Slide --> <div class="carousel-item"> <div class="carousel-container"> <h2 class="animate__animated animate__fadeInDown">New Event Title</h2> <p class="animate__animated animate__fadeInUp">New event description goes here. Make it compelling!</p> <a href="new-event-page.html" class="btn-get-started animate__animated animate__fadeInUp scrollto">Read More</a> </div> </div>
- Create a new
-
Removing an Outdated Slide:
- Identify the outdated slide (typically the last one) and either remove or comment it out.
- Ensure that the first slide has the
activeclass if necessary.
-
Testing: Preview the page locally in your browser to verify that the new slide appears correctly and that the outdated slide has been removed.
-
Locate the Past Events Section: Open the
index.htmlfile and find the "Past Events" section (Portfolio Section) which is within the<section id="portfolio" class="portfolio section">tag. -
Image Updates:
- Upload new images to
assets/img/past-events/. For example, your new images might be named likeimage-10.jpg,image-09.jpg, etc. - Remove or comment out the HTML blocks corresponding to outdated images.
- Upload new images to
-
Adding New Past Event Items:
- Follow the existing structure when adding new event items.
- Example:
<!-- Example Past Event Item --> <div class="col-lg-4 col-md-6 portfolio-item isotope-item filter-app"> <img src="assets/img/past-events/new-image.jpg" class="img-fluid" alt="Description of New Event"> <div class="portfolio-info"> <h4>New Event Title</h4> <p>Short description of the new event</p> <a href="assets/img/past-events/new-image.jpg" title="New Event Title" data-gallery="portfolio-gallery-app" class="glightbox preview-link"> <i class="bi bi-zoom-in"></i> </a> </div> </div>
-
Ordering:
- Ensure the new images are arranged in the desired order (e.g., newest first).
-
Testing: Verify that the new images display properly on the page and that the removed items no longer appear.
- Backup: Always back up the original code before making any changes.
- Version Control: After updating and testing locally, commit your changes with a clear commit message (e.g., "Update carousel with new event; update past events images").
- Static Hosting Note: If the site is hosted on GitHub Pages (a static host), PHP-based functionality (like contact forms) will not run. However, the content sections (carousel, past events, etc.) will display correctly.
- Future Maintenance: This SOP serves as a guide for future maintainers to update event-related content without confusion.
End of SOP.
-
index.html— Main SDTS homepage.
Updated 4–5 times per year for events, announcements, and general SDTS information. -
bts/— Directory containing the Bharathiyar Tamil School website.bts/index.html— Main BTS homepage. Updated a few times per year for school year info, enrollment, and announcements.bts/assets/— BTS-specific images, CSS, JS, and vendor files.
-
bts.html— Redirects tobts/index.htmlfor backward compatibility.
git clone https://github.com/sdtsweb/SDTS.git
cd SDTS- For SDTS homepage updates, edit
index.html. - For BTS updates, edit
bts/index.htmlor other files in thebts/directory.
You can use a simple Python HTTP server to preview changes:
# For Python 3.x
python3 -m http.server 8000
# Then visit http://localhost:8000 in your browsergit add .
git commit -m "Describe your update (e.g., Update BTS enrollment info for 2025-2026)"
git push origin main- After pushing, deploy the updated files to your web hosting (GoDaddy/Plesk or other).
- Make sure to upload both
index.htmland any updated files in thebts/directory.
- BTS is now fully managed in this repository.
The oldbts.sdts.orgrepository is archived and will not receive further updates. - Redirects are in place so that both
bts.sdts.organdsdts.org/bts.htmlpoint to the newbts/directory. - SSL Certificates:
Bothsdts.organdbts.sdts.orgshould have valid SSL certificates for secure access and proper redirects.
For questions or contributions, please open an issue or contact the SDTS web team.