Skip to content

feat: convert project to be SSG based (v2) - #1

Open
thescientist13 wants to merge 103 commits into
mainfrom
v2
Open

feat: convert project to be SSG based (v2)#1
thescientist13 wants to merge 103 commits into
mainfrom
v2

Conversation

@thescientist13

@thescientist13 thescientist13 commented Jul 24, 2026

Copy link
Copy Markdown

Ported from AnalogStudiosRI#112


Related Issue

resolves AnalogStudiosRI#13

Summary of Changes

  1. Refactor project to be SSG based, using getStaticProps / getStaticParams

TODO

  1. Pages
    • artists (landing)
    • artist details
    • albums (landing)
    • album details
    • contact
    • events
    • event details
    • home page
  2. upstream the feature - Support pre-rendering (SSG) for dynamic routes ProjectEvergreen/greenwood#1622
  3. unexpected output? - feat: #13 convert project to be SSG based www.analogstudios.net#112 (comment)
  4. posts list styles are breaking on adoptedStyleSheets usage
  5. figure out issue with escaping JSON for artist bio / album title (fix in DB?)
  6. figure out why Quick Links event handling doesn't work
  7. figure out why Social Share component is not showing links (+ fix styles) - share attribute not working in vanilla JS implementation peterpeterparker/web-social-share#65
  8. Greenwood upgrade types
  9. Greenwood static assets busted
  10. setup SST - adopt SST for website deployments www.analogstudios.net#111
  11. make sure all name / title -> link encoding is working (e.g. check all links)
  12. clicking link on artist / album details leads to 404 page
  13. responsiveness / like for like check with production site
    • social share styles
    • album / artist details mobile
    • long content overflows on details pages
    • events images overflowing
  14. meta tags / SEO / page level <title> tags
  15. make scripts use data-gwd-opt="static" where possible
    • can posts list just be a static component? - no, it makes fetches
  16. unpatch patch-package / overrides - feature(cli): #1622 support pre-rendering for dynamic routes (getStaticPaths and getStaticParams) ProjectEvergreen/greenwood#1675
  17. workflows
    • oxfmt - sticking with Prettier
    • oxlint (what about typescript eslint?) - keeping (ES|TS)Lint
    • husky / lint-staged
  18. refresh README (tech stack)
  19. hardcoded event - https://github.com/AnalogStudiosRI/www.analogstudiosri.com/blob/v2/src/pages/events/%5Btitle%5D.ts#L58
  20. 🚨event details page missing SSR layout - feat: convert project to be SSG based (v2) #1 (review)
  21. 🚨client side API routes are 404 - feat: convert project to be SSG based (v2) #1 (comment)
  22. 🚨 download link isn't working - feat: convert project to be SSG based (v2) #1 (comment)
  23. 🚨 Styles in Safari are broken - feat: convert project to be SSG based (v2) #1 (comment)

Cutover Tasks

  1. fork repo
  2. backup v1
  3. configure Preview environment for PRs / setup SST / setup branch protections
  4. Just realized some events have the same title (like Bliss Fest) and so nights 1 vs 2 will have the same slug (/events/bliss-2025/) - set title to be unique in contentful
    Screenshot 2026-07-25 at 12 29 20 PM
  5. will we have issues with event details page fetching from old site API? - made isomorphic and bound to API_BACKEND_HOSTNAME environment variable for now
  6. setup production SST environment / get prod API backend environment variable
  7. hook up new domain name / update repo for new domain
  8. setup redirects from old site to new site
  9. transfer issues
  10. archive old repo
  11. merge v2 into main

Upstreams / Thoughts

  1. WCC
  2. Greenwood

Fast Follows

  1. contact page form is not working #2
  2. upgrade TypeScript 6
  3. upgrade TypeScript 7 - blocked on Enhancement: Use TS 7 (tsgo / typescript-go) for type information typescript-eslint/typescript-eslint#10940 and
  4. should we just merge the API repo into this project? won't need API_BACKEND_HOSTNAME, if so
  5. remove bootstrap (Open Props) / font-awesome / refactor for more idiomatic CSS styles - should just redesign the site - research new design for the website #6
  6. analytics (server side?)
  7. isomorphic service endpoints (better environment variables support from Greenwood?)
  8. paginate (by year?) events fetching - will defer to research new design for the website #6
  9. restore storybook - restore storybook #5
  10. restore testing (Vitest) - restore testing (vitest) #8
  11. get navigation links from content collection
  12. track misc TODOs from code
  13. refactor events calendar to use Temporal API
  14. sitemap
  15. Content management enhancements
    • Move posts content to CMS?
    • Move artists info to marking?
  16. centralize / share all calendar related constants
  17. would be nice to have albums sub-pathed by artist; e.g. /[artist]/album/[album-name]/ (would require support dynamic directory routing capabilities for SSR pages and API routes ProjectEvergreen/greenwood#1623)
  18. filter SST config for SSR pages per - https://github.com/ProjectEvergreen/greenwood/blob/v0.34.0-alpha.9/packages/plugin-adapter-aws/src/index.js#L81

thescientist13 and others added 30 commits March 5, 2026 20:54
@thescientist13

thescientist13 commented Jul 25, 2026

Copy link
Copy Markdown
Author

Awesome, now the client side API routes are 404.... 😞
Screenshot 2026-07-25 at 7 32 13 PM


OK, it's working now. I think I just had the wrong backend hostnames configured (now set to hit the standalone backend API Gateway directly)
Screenshot 2026-07-25 at 7 43 36 PM

@thescientist13

Copy link
Copy Markdown
Author

Download link isn't working, due to mixed content (HTTP / HTTPS)
Screenshot 2026-07-25 at 9 17 40 PM
Screenshot 2026-07-25 at 9 16 38 PM

@thescientist13

thescientist13 commented Jul 27, 2026

Copy link
Copy Markdown
Author

Styles are broken in Safari (due to use of Constructable Stylesheets?)
Screen Shot 2026-07-26 at 8 06 27 PM
Screen Shot 2026-07-26 at 8 07 08 PM


edit: huh, we already have the polypill setting enabled? uh-oh...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hybrid / SSG Content Architecture (Phase 2)

1 participant