Move site to www.heliumedu.com; drop Helium Classic links#2
Closed
alexdlaird wants to merge 169 commits into
Closed
Move site to www.heliumedu.com; drop Helium Classic links#2alexdlaird wants to merge 169 commits into
alexdlaird wants to merge 169 commits into
Conversation
Add complete Astro-based marketing site for landing.heliumedu.com including integrations (Tailwind, MDX, sitemap, compress, astro-icon, astrowind), pages, layouts, components, assets, utilities and support article content. Add developer tooling and configs (package.json, tsconfig, tailwind.config, astro.config, README, .gitignore, requirements.txt). Include automation: CI workflow for build, Deploy workflow to sync ./dist to S3 (heliumedu.www.static) and invalidate CloudFront, and a scheduled GitHub Actions job to sync Freshdesk support articles (with a fetch script and commit/push logic). Also add script to fetch support articles and vendor integration utilities.
Add an MIT LICENSE (Helium Edu, 2025). Rename GitHub workflow .github/workflows/ci.yml to build.yml and update its name to "Build". Make minor README wording tweaks (remove specific landing subdomain and clarify redeploy behavior). Remove unused package.json scripts (preview, astro) to clean up dev scripts.
Replace the GitHub Actions workflow badge in README.md to reference build.yml instead of ci.yml, keeping the status badge in sync with the current workflow filename.
Refines package.json description to 'Marketing site for Helium - Student Planner' and enables Google Analytics by setting the measurement ID (G-S032FE2183) in src/config.yaml under analytics.vendors.googleAnalytics.id. This activates site analytics tracking.
Introduce a JSON-LD Organization component and wire it into the site layout, plus update SEO text and contact constants. - Add src/components/common/StructuredData.astro to output Organization schema (uses SITE, logo, GITHUB, PATREON, SUPPORT and CONTACT_EMAIL). - Import StructuredData into Layout.astro so JSON-LD is included on pages. - Export CONTACT_EMAIL in src/links.ts. - Update default SEO title, title template, and description in src/config.yaml. - Update homepage title in src/pages/index.astro.
Replace src/assets/images/default.png with src/assets/images/og-default.png and update OpenGraph settings. The openGraph image entry in src/config.yaml now points to '~/assets/images/og-default.png' and the dimensions were changed to 940x500. Old image file removed and new image added.
Introduce several new homepage widgets (Features, Steps, Faqs, Testimonials scaffold) and wire them into index.astro, including new screenshot assets (classes-list, external-calendars, grade-detail) and updated images/layout for calendar, grades, and classes sections. Add site redirects in astro.config.ts and adjust navigation copy/icon (Login -> Sign in, user-plus icon for sign up). Minor copy edits across DownloadBadges and about.mdx to tighten messaging and punctuation.
Handle testimonial images safely by normalizing image objects in Testimonials.astro and switching to an explicit return for clarity. Remove unused helium-logo-full.png and update StructuredData and pages to use helium-logo.png; remove the inline logo from the about page and change its title. Apply multiple copy fixes and accessibility improvements in index.astro (alt text, wording, IDs, import rename) and replace the signup link button with a primary button including an icon. Keep a single-line placeholder comment for the testimonials widget until real quotes are available.
Change Steps component title from 'From zero to organized in minutes.' to 'From zero to organized in no time.' for slightly clearer phrasing.
Swap out attachments-reminders.png for a new reminders.png and update the index import to point to the new asset. Also refresh several image assets (frame-laptop.png, frame-tablet.png, notebook.png) to updated versions. Keeps screenshots and device frames in sync with the updated UI assets.
- Update site config and deploy workflow to www.heliumedu.com - Drop CLASSIC_LOGIN and "Helium Classic" surfaces from header, footer, and FAQs Coordinated with HeliumEdu/helium infra cutover and HeliumEdu/platform deprecation cleanup. See linked PRs for merge-day ordering. Do not merge before August 1, 2026.
Add web app manifest and icons, link manifest in head, and add theme-color meta tags for light/dark. Configure sitemap generation (weekly, priority 0.7, lastmod) and update robots.txt sitemap URL. Update routing for /press and /docs. Replace square logo and update StructuredData import to use it; bump Open Graph image dimensions to 1200x630. Adjust Metadata component to ensure twitter cardType is set based on OG images. Expose description in Markdown layout and set robots for 404 page. Refactor homepage FAQs into a data array and add FAQ + SoftwareApplication JSON-LD schemas; remove the previous inline FAQ items. Misc: update OG default image and other image assets.
The marketing site moves from landing.heliumedu.com to www.heliumedu.com on 2026-08-01. The rest of this branch already flips the canonical host in src/config.yaml; this catches the static robots.txt that astrowind doesn't rewrite.
Add a small Astro plugin in astro.config.ts that, after build, checks for sitemap-index.xml and copies it to sitemap.xml. Also import node:fs to perform the file operations. This provides a sitemap.xml alias for tools or crawlers that expect that filename.
# Conflicts: # src/pages/index.astro
Add a 'description' field to the frontmatter of src/pages/about.mdx to provide a concise meta description summarizing Helium's mission as a free, modern student planner for iOS, Android, and the web. This improves SEO and link preview content.
Make www the single source of truth for shared static assets so the legacy frontend repo can be cleanly removed at the Aug 1 cutover. The legacy app's CloudFront function will 301 these paths to landing for the remaining lifetime of www.heliumedu.com pre-cutover. - public/favicon.ico, public/favicon.png — root favicon paths browsers fetch implicitly - public/.well-known/apple-app-site-association — iOS Keychain webcredentials (claimed by the Helium app for www.heliumedu.com) - public/.well-known/assetlinks.json — Android digital asset links - deploy.yml — set application/json content type on the AASA file (required by Apple, has no extension)
The AstroWind starter imported favicons from src/assets/favicons/ so Astro emitted them as content-hashed URLs. That left two parallel copies of the same files (hashed for <link> tags, unhashed for the implicit /favicon.ico browser fetch). Drop the src/assets/favicons/ directory and reference the unhashed public/ paths directly — single source of truth, simpler caching story. - Move apple-touch-icon.png to public/ - Delete src/assets/favicons/ - Rewrite Favicons.astro to use /favicon.ico, /icon-192.png, /apple-touch-icon.png (no Astro imports)
Streamline wording in src/pages/index.astro FAQs for brevity and clarity: updated the Class Groups line to "let you organize terms" (removed "multiple"/"at once") and shortened the export description by removing the explicit list of exported items (External Calendars, Resources) to make the message more concise.
Add a redirect/alias mapping so requests to '/index' resolve to the site root '/'. This ensures '/index' is handled consistently and avoids duplicate content or 404s for that path.
Small copy edits across the software/features section in src/pages/index.astro to improve clarity and tone. Changes include rephrasing device sync text, pluralizing syllabus→syllabi, clarifying grade/dashboard wording, capitalizing “Final”, tightening Notebook and Todos descriptions, and rewording priority/attachments examples for readability.
Add copy to the homepage noting that assignments can be checked off directly from the calendar, and update the week-view screenshot (src/assets/images/screenshots/week-view.png) to reflect the UI change. This clarifies a new/existing calendar interaction for users.
Refines FAQ text: change "built in the open" to "open source" and insert linked anchors to GitHub and Patreon in relevant answers. Also broaden the academic-level question to "Is Helium for every academic level?" and simplify its answer to list applicable levels (removing the previous Class Groups note). These edits improve clarity and surface project sponsorship and source links.
Import the SUPPORT constant from ~/links and add a new FAQ item that links to the support portal. The FAQ entry uses an HTML anchor (opens in a new tab) to point users to knowledge base articles, FAQs, and a way to contact the team for app help.
Update marketing copy to emphasize a student-focused, study-oriented planner: adjust the hero paragraph to “built for the way you actually study” and update the site metadata description to match. Also expand the SoftwareApplication schema alternateName to include several student-focused name variants (e.g., "Helium Student Planner", "Helium — Student Planner", "Helium Edu"). These changes align on messaging across the site and improve search/schema coverage.
Adjust copy in src/pages/index.astro to improve clarity and emphasis. Capitalize "Planner", call out color customization and Light/Dark mode, and rework the Agenda sentence for flow. Update the Todos paragraph to mention formatted Notes and linked Resources, streamline phrasing, and fix minor grammar for readability.
Update copy in src/pages/index.astro to mention the Planner and rephrase the Todos view description for clarity and emphasis. The change highlights that the Todos view is part of the Planner and tweaks wording to better convey how the view helps users stay in control. No functional code changes.
Rewrites and reorganizes the Planner marketing copy on the homepage: tightens the opening line, combines classes/assignments/events into a single sentence, and splits the color/theme details into a new paragraph. Adds mention of filtering/search and an emphasis on sharpening focus for clarity and improved messaging.
Replace many public/press image files with symlinks to src/assets/img (consolidating screenshots and logos into a single source of truth) and update the actual image assets in src/assets/img. Also modify src/pages/about.mdx to add target="_blank" and rel="noopener noreferrer" to external store/GitHub/Patreon links, and adjust src/utils/frontmatter.ts so the externalLinksRehypePlugin treats absolute internal paths (starting with "/") as in-tab while opening external URLs in a new tab. These changes reduce duplication of assets and fix external-link handling.
Add target="_blank" and rel="noopener noreferrer" to footer link anchors so external/social links open in a new tab and avoid opener security issues. Increase left margin on the support status icon in the header (ml-1 -> ml-2) to improve spacing. Remove the Helium Classic entry from footer navigation in navigation.ts.
Introduce mobileExtras to Header: add a MobileSection interface and mobileExtras prop to render additional link groups in the mobile menu (with target support and noopener noreferrer for external links). Update Link to include target and default props in Header. Populate headerData.mobileExtras in navigation.ts with Account, More, and Legal sections, and adjust footer 'Status' label to 'Service Status' for clarity.
Add three high-resolution full-app PNGs for press (/public/press/screenshots/web) and update the press page to surface them. Introduces a new social card asset entry, a fullAppShots array, and FULL_W / FULL_H constants for rendering full-app hero images. Adjusts the logos grid to three columns, renames a screenshot title to "Grades Breakdown", adds separate "Full app" and "Feature crops" sections with download links, and tweaks headings/subtitles. Also replaces/updates the grades screenshot asset (src/assets/img/screenshots/grades.png).
Update scripts/build-og-image.sh to downscale the laptop image in linear-light and apply a light unsharp mask for crisper UI text/edges. The ImageMagick convert invocation now switches to RGB, uses Lanczos2 filtering for resize, returns to sRGB, and applies -unsharp 0x0.5+0.6+0.01. Added explanatory comments about the intent to preserve detail through the ~1.88x downscale.
Revamp scripts/build-og-image.sh into an interactive, robust builder: add --help/--rebuild flags, interactive prompts to install a captured/frame PNG, aspect-ratio checks with tolerance and warnings, and helper functions to install sources. Switch to ImageMagick 'magick' invocation, preserve improved downscale pipeline (Lanczos2, linear-light resize, unsharp, sRGB) and explicit output settings. Update generated assets src/assets/img/og-default.png and the wrapped frame src/assets/img/screenshots/frames/frame-laptop.png to reflect the new build output and framing.
Add SIBLING_MIRRORS configuration and mirror logic to install_source so the laptop frame installed in the www repo is also copied to sibling repositories that ship their own copy. Paths in SIBLING_MIRRORS are relative to the www parent dir and are skipped if the sibling isn't checked out; successful mirrors print an '[OK] mirrored -> <path>' message. This keeps frame images in sync (e.g. ../frontend/assets/img/frame_laptop.png).
Absorbs latest main into the legacy shutdown branch. Conflicts resolved in favor of main (latest live copy/structure on www.heliumedu.com). The PR's Classic-removal deltas are re-applied in the next commit.
The 'main into feature' merge restored main's Classic-related content (by design: 'favor main' resolution). This re-applies the PR's stated Classic-removal deltas on top: - navigation.ts: drop CLASSIC_LOGIN import + header Helium Classic button - Delete src/content/support/getting-started/what-is-the-new-helium.md - Strip '## Helium Classic' sections from 19 support articles - Remove inline Classic mentions from 2 articles Net effect of branch vs main remains -304 lines (Classic removal) + absorbed main's recent copy/structure improvements.
Convert the two setup option lines in where-to-start-with-helium.md into internal links for easier navigation: link Manual setup to #set-up-your-first-term and AI-assisted syllabus import to #import-a-whole-syllabus-with-ai, and add a direct link to the AI prompt anchor (#the-prompt).
Remove the commented-out Testimonials section from src/pages/index.astro and delete the unused Testimonial interface from src/types.d.ts. This cleans up placeholder code while testimonials are pending real student quotes and removes an unused type definition.
Update copy across the site to clarify that Helium is open-source and to tweak contributor and privacy messaging. - src/pages/about.mdx: Simplify contributor phrasing to "students and teachers" (remove "academic advisors"). - src/pages/press.astro: Replace boilerplate with new text highlighting that Helium is open-source, ad-free, doesn't sell data, shows grade calculations, and is available on iOS, Android, and web. - src/pages/privacy.md: Add a line linking to the public GitHub repo to state the code is publicly available.
3 tasks
Delete the raster public/img/support-patreon.png and add a vector public/img/support-patreon.svg. The SVG provides scalable, crisp rendering and includes accessibility attributes (role, aria-label, title). This swaps a PNG for a smaller, resolution-independent asset for the Patreon support badge.
Replace the Patreon support image in README.md from PNG to SVG (support-patreon.png -> support-patreon.svg) to improve image quality and scalability while keeping the same link and display height.
Add a new image asset at public/img/support-patreon.png (Patreon support graphic) to be used in the site's support/donation UI.
Point '/signin' and legacy '/login' redirects to https://app.heliumedu.com/signin (was /login) in astro.config.ts. Keeps bookmarked/legacy routes mapped to the app's new signin path.
Replace APP_LOGIN with APP_SIGNIN and update the sign-in URL to /signin across the site. Changes update the exported constant in src/links.ts, import and usage in src/navigation.ts and src/pages/index.astro, and a support doc to point to the new sign in screen. This keeps link naming consistent and ensures nav, footer, mobile menus, and content reference the correct sign-in path.
This was referenced May 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Marketing site moves to its new home at
www.heliumedu.com(waslanding.heliumedu.com) once Helium Classic decomissioned. Coordinated with frontend-legacy shutdown on Aug 1, 2026.site:and deployDOMAINtowww.heliumedu.comCLASSIC_LOGIN, header/footer Classic entries, and the Classic FAQLinked PRs — do not merge before Aug 1, 2026
Merge in order:
Test plan
https://www.heliumedu.comserves the marketing site after phase 2 applieshttps://landing.heliumedu.com/about301s tohttps://www.heliumedu.com/abouthttps://www.heliumedu.com/planner/calendar301s tohttps://app.heliumedu.com/