Skip to content

feat(site): revamp VigoTech website#167

Open
sergiocarracedo wants to merge 4 commits intoVigoTech:sourcefrom
sergiocarracedo:feat/revamp
Open

feat(site): revamp VigoTech website#167
sergiocarracedo wants to merge 4 commits intoVigoTech:sourcefrom
sergiocarracedo:feat/revamp

Conversation

@sergiocarracedo
Copy link
Copy Markdown
Contributor

@sergiocarracedo sergiocarracedo commented Mar 26, 2026

Summary

Migrate the VigoTech site from the legacy Nuxt implementation to Astro with a full frontend refresh, simpler deployment, and generated historical community data.
The PR also restores and improves the agenda so calendar data and persisted community events work together in the new site.

Changes

Features

  • Rebuild the public site in Astro with new homepage, groups, videos, document, and layout components
  • Restore the axenda section and merge persisted community events with Google Calendar entries while preferring the Google version when titles match
  • Persist generated community history into Astro content collections for videos and events alongside vigotech-generated.json
  • Add GitHub Pages deployment for the Astro site, including generated data refreshes during CI
  • Add subpath-aware base path handling and noindex support for test deployments

Fixes

  • Fix internal links and local asset paths so they work correctly under GitHub Pages base paths
  • Prevent selecting calendar days without events and auto-select the first event day when changing month or week
  • Improve generated data fallback behavior so missing upstream API data does not wipe existing events or videos
  • Expand A Industriosa video imports by upgrading tooling and merging archive data into the generated history

Chores

  • Replace the old Nuxt/Yarn toolchain with pnpm, Astro, Vitest, Playwright, oxlint, oxfmt, and lefthook
  • Move legacy static assets into the Astro public layout and refresh supporting docs and environment examples

PR Details (AI generated)

Goals

This PR modernizes the VigoTech website stack and delivery workflow while preserving the community data model and improving long-term maintainability. The goal is to replace the legacy Nuxt setup with an Astro site that is easier to deploy on GitHub Pages, keeps generated data in-repo as historical content, and restores key community-facing features like the agenda.

Changes in detail

The main body of work migrates the site from the previous Nuxt structure into Astro pages, layouts, and components. That includes the homepage sections, group and video browsing, document pages, theming, navigation, shaders, and supporting styling. The frontend also adopts a new build/test/tooling stack around pnpm, Vitest, Playwright, oxlint, oxfmt, and lefthook.

The data generation flow has been reworked so it still produces public/vigotech-generated.json, but now also persists generated events and videos into src/content/events/** and src/content/videos/**. This lets Astro consume them as file-backed collections and creates a growing in-repo history of community activity rather than only a transient generated snapshot.

Deployment was updated to GitHub Pages using GitHub Actions. The workflow installs dependencies, regenerates VigoTech data, syncs Astro content, formats generated content, commits refreshed generated artifacts when needed, and deploys the built site. Additional environment-driven support was added for GitHub Pages subpaths and test deployments that should not be indexed.

The calendar/agenda was restored on the homepage and improved in two ways. First, the calendar API now merges persisted event content with live Google Calendar items, deduplicating by normalized title and preferring the Google Calendar version when both exist. Second, the interactive calendar behavior was refined so days without events are not clickable and navigation across month/week views automatically selects the first day in the visible range that actually has events.

Video generation was also improved by upgrading metagroup-schema-tools and extending generation behavior so historical YouTube data is better preserved, especially for communities like A Industriosa.

Notes

  • Needs to be merged to main branch
  • Needs to set the GitHub Pages source as Actions artifact
  • This PR is intentionally broad because it carries the full platform migration plus the related deployment and generated-data model updates needed for the new site to operate.
  • Some generated historical event coverage still depends on what upstream sources expose, so event history is richer where providers make more data available.
image image image

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant