open-design/apps/landing-page/app
Jane 3e0ff3d0fa
feat(landing-page): point catalog links at /plugins, drop legacy /skills /systems routes (#3386)
The 2026-05 plugins rebuild left three homepage/library surfaces still
pointing at the retired `/skills/`, `/systems/`, and `/craft/` route
trees, so visitors hit a 301 hop (or a stale facet) instead of landing
directly on the new `/plugins/*` pages. Repoint them at the canonical
destinations and align the homepage Labs pills with the real library.

- system-card: link straight to `/plugins/design-system-<slug>/` via a
  new `detailHrefForSystemSlug` resolver instead of hard-coding
  `/systems/<slug>/` and relying on the redirect. The ~8 systems that
  ship no manifest (hence no detail page) degrade to `/plugins/systems/`,
  the same destination the legacy 301 produced, minus the hop and with no
  risk of linking at a page that doesn't exist.
- homepage Labs pills: replace the hard-coded prototype/deck/mobile/office
  facets (mobile/office had drifted to stale or empty counts) with a live
  top-4 of `PLUGIN_CATEGORIES`, counted with the same `categorizePlugin`
  rule `/plugins/templates/` uses and labelled from `pcopy.category`, so
  the homepage stays in lockstep with the library and never shows a dead
  chip. Counts are surfaced through a new `CatalogCounts.templateCategories`.
- remove the Craft entry points from the homepage footer, sub-page footer,
  header Library dropdown, and the plugins hub tile grid. The `/craft/`
  pages stay live; they're just no longer surfaced in site chrome.

The legacy `/skills/`, `/systems/`, `/templates/` 301s added in the prior
PR stay in place for inbound links and search equity.

Co-authored-by: Joey-nexu <joeylee12629@gmail.com>
2026-05-31 11:53:36 +00:00
..
_components feat(landing-page): point catalog links at /plugins, drop legacy /skills /systems routes (#3386) 2026-05-31 11:53:36 +00:00
_lib feat(landing-page): point catalog links at /plugins, drop legacy /skills /systems routes (#3386) 2026-05-31 11:53:36 +00:00
content blog(landing-page): announce Open Design 0.8.0 plugin engine rebuild (#2731) 2026-05-22 21:39:59 +08:00
pages feat(landing-page): point catalog links at /plugins, drop legacy /skills /systems routes (#3386) 2026-05-31 11:53:36 +00:00
content-i18n.ts feat(landing-page): localize plugins library across 18 locales (#3010) 2026-05-27 09:30:59 +00:00
content.config.ts feat(landing-page): replicate #2469 SEO content with deploy + regression fixes (#2605) 2026-05-22 00:59:11 +08:00
env.d.ts ci(landing): split landing deploy into staging gate + manual production (#2994) 2026-05-26 14:05:04 +00:00
globals.css feat(landing-page): surface Discord + X in header, restructure site footer (#3230) 2026-05-29 05:59:24 +00:00
home-page-i18n.ts feat(landing-page): replicate #2469 SEO content with deploy + regression fixes (#2605) 2026-05-22 00:59:11 +08:00
i18n.ts feat(landing-page): surface Discord + X in header, restructure site footer (#3230) 2026-05-29 05:59:24 +00:00
image-assets.ts perf(landing): edge-cache HTML and precise-load thumbnails (#2235) 2026-05-19 19:14:25 +08:00
info-page-i18n.ts feat(landing-page): 301 legacy /skills /systems /templates to /plugins (#3352) 2026-05-31 01:04:20 +00:00
landing-ui-i18n.ts feat(landing-page): replicate #2469 SEO content with deploy + regression fixes (#2605) 2026-05-22 00:59:11 +08:00
page.tsx feat(landing-page): point catalog links at /plugins, drop legacy /skills /systems routes (#3386) 2026-05-31 11:53:36 +00:00
plugin-registry.ts feat(plugins): site-wide plugin detail pages, share-to-site links, landing deploy trigger (#2999) 2026-05-28 09:07:12 +00:00
sub-pages.css feat(landing-page): surface Discord + X in header, restructure site footer (#3230) 2026-05-29 05:59:24 +00:00