mirror of
https://github.com/Sea-Haven-Industries/seahaven-site.git
synced 2026-09-30 06:33:16 +00:00
Sea Haven Industries company website — static S3 deployment
|
Some checks are pending
Deploy / deploy (push) Waiting to run
* feat(content): add sustainability page * feat(nav): add sustainability to primary nav Five links plus the CTA button no longer fit above the existing 768px breakpoint; between 769px and ~855px the Get a Quote button wrapped to two lines inside the 72px bar. Move the nav collapse to its own 900px media query so the hamburger takes over before the bar runs out of room. |
||
|---|---|---|
| .github | ||
| .security-review | ||
| _data | ||
| _includes | ||
| about | ||
| assets | ||
| careers | ||
| contact | ||
| eula | ||
| privacy-policy | ||
| scripts | ||
| services | ||
| social-accountability | ||
| sustainability | ||
| terms-of-service | ||
| terraform | ||
| .eleventy.js | ||
| .gitignore | ||
| 404.njk | ||
| AGENTS.md | ||
| index.njk | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| robots.txt | ||
| sitemap.xml | ||
| vercel.json | ||
Main Website for Sea Haven Industries
A clean static website for Sea Haven Industries — authored as Eleventy templates that build to flat HTML, served from an AWS S3 bucket via CloudFront.
Stack
- Eleventy (11ty) — thin static build: one base layout + partials, no client framework. Output is plain HTML/CSS/vanilla JS.
- Design system — CSS custom properties (DM Serif Display + Inter,
--rose: #cc3366) - Forms — Basin (AJAX submission, reCAPTCHA v3, honeypot spam protection)
- Hosting — S3 + CloudFront, deployed via GitHub Actions OIDC (
npm run build→ sync_site/)
Develop
npm ci # install (Eleventy, pinned)
npm run serve # local dev server with live reload
npm run build # build to _site/
Structure
| Path | Purpose |
|---|---|
*.njk, */index.njk |
page templates (front-matter + <main> content) |
_includes/base.njk |
document layout (head, nav, footer, skip-link, <main>) |
_includes/{nav,mobile-menu,footer}.njk |
shared chrome partials |
_data/site.json |
site-wide constants (nav, contact, social) |
_data/images.json |
image dimensions for the {% image %} shortcode (CLS) |
assets/css/ |
main.css (shared) + per-page CSS |
assets/js/ |
nav.js (chrome), form.js (Basin forms) |
.eleventy.js |
build config + shortcodes |
_site/ |
build output (gitignored; what deploys) |
Pages
| Page | Path |
|---|---|
| Homepage | / |
| About | /about/ |
| Services | /services/ |
| Careers | /careers/ |
| Contact | /contact/ |
| Social Accountability | /social-accountability/ |
| Privacy Policy | /privacy-policy/ |
| Terms of Service | /terms-of-service/ |
| Job: Dispatcher | /careers/dispatcher/ |
| Job: Scheduling Coordinator | /careers/scheduling-coordinator/ |
| Job: Traveling Maintenance/Electrical Assistant | /careers/traveling-maintenance-assistant/ |
Changelog
- 12-JUN-2026: Frontend polish — self-hosted fonts (removed render-blocking Google Fonts), lazy-loaded reCAPTCHA, BreadcrumbList JSON-LD on interior pages + richer LocalBusiness (geo/areaServed/hasMap), removed dead CSS classes and
!importantnav hacks. - 12-JUN-2026: Migrated to a thin Eleventy build — shared chrome (head/nav/footer/JS) deduplicated into one base layout + partials (was hand-copied across 13 pages). Added skip-link +
<main>landmark, accessible mobile-menu dialog,:focus-visible, WCAG AA footer contrast, 1200×630og-coversocial image, hero LCP preload, WebP logos, imagewidth/height(CLS), and pre-deploy CI validation (htmlhint/JSON-LD/sitemap/links). Deploy now builds and syncs_site/with split Cache-Control. - 14-JUL-2025: Initial pull from WordPress site, changed permalinks for proper navigation
- 17-JUL-2025: Add GitHub Actions workflow for S3 sync on push, using AWS OIDC
- 04-APR-2026: Major cleanup — stripped unused JS (~805KB), consolidated CSS, removed ~1,150 dead plugin files
- 04-APR-2026: Added meta descriptions, OG/Twitter Card tags, alt text, robots directives, sitemap, and robots.txt
- 04-APR-2026: Updated contact info sitewide, fixed broken links, removed WordPress API/generator meta tags
- 04-APR-2026: Wired contact form to Basin (AJAX), replaced dead metform endpoint
- 04-APR-2026: Converted all images to WebP, removed metform CSS, stripped WP version strings
- 07-APR-2026: Full site redesign — rewrote all 9 pages as clean static HTML, removed all WordPress/Elementor markup
- 07-APR-2026: New Figma-based homepage design with updated stats, logos, and layout
- 07-APR-2026: Connected all forms to Basin with AJAX submission, reCAPTCHA v3, and honeypot spam protection
- 07-APR-2026: Moved all images to
/assets/images/with clean filenames, restored original blue wave favicon - 07-APR-2026: Deleted all remaining WP assets (~8MB): plugins, themes, uploads, wp-includes
- 30-APR-2026: Restructured /career/ and /jobs/ into unified /careers/ directory, updated all sitewide links
- 30-APR-2026: Added traveling maintenance/electrical assistant job page, updated dispatcher and assistant postings to match Indeed listings
- 30-APR-2026: Replace hardcoded copyright year in footer with dynamic script across all pages