Skip to content

Complete conversion to Nuxt #5777

Description

@dimitrieh

The site is served by two generators: Eleventy renders most pages from src/, Nuxt renders the rest, and nuxt/server/middleware/legacy.ts proxies between them in dev. This is the last stretch of that migration: every remaining page moves to Nuxt, then Eleventy comes out.

Order

1-17 are independent and target main, but they all touch the same two registry files (legacy.ts, nuxt.config.ts), so expect a small rebase after each merge. Merge top to bottom.

  1. 11ty: drop templates already superseded by Nuxt pages #5778
  2. webinars: serve /webinars/ from Nuxt #5779
  3. use-cases: serve /use-cases/ from Nuxt #5780
  4. industries: serve /industries/ from Nuxt #5781
  5. platform: serve /platform/ from Nuxt #5782
  6. vs: serve /vs/ from Nuxt #5783
  7. partners: serve /partners/ from Nuxt #5784
  8. events: serve /events/ from Nuxt #5785
  9. landing: serve /landing/ from Nuxt #5786
  10. free-consultation: serve /free-consultation/ from Nuxt #5787
  11. community: serve /community/newsletter/ from Nuxt #5788
  12. pricing: serve /pricing/request-quote/ from Nuxt #5789
  13. careers: redirect /careers/ to the job board #5790
  14. about: serve /about/ from Nuxt #5791
  15. homepage: serve / from Nuxt #5792
  16. node-red: serve /node-red/ from Nuxt #5793
  17. blueprints: serve /blueprints/ from Nuxt #5794
  18. 11ty: retire the second generator #5795
  19. docs: rewrite the codebase guide for a Nuxt-only site #5796 folded into 18
  20. ci: compress images under nuxt/ again #5869 compresses images under nuxt/ again; based on 18, merge after it
  21. sitemap: fail the build when a section or its dates go missing #5870 fails the build when the sitemap loses a section or its dates; independent

1-17 have all merged. 18 is rebuilt on current main and targets it. It carries the teardown, the codebase guide rewrite that was 19, and fixes from verifying the full build: the nav icons in their own folder, merge-aware sitemap lastmod, and a test that fails if anything is left in src/.

Remaining order: FlowFuse/github-actions-workflows#232, then 18, then 20. 21 can go any time.

Every build currently fails at integrations enumeration returned 0 nodes, because https://ff-integrations.flowfuse.cloud/api/nodes returns an empty catalogue. CI on 18, 20 and 21 needs a re-run once it returns data.

The nuxt/eleventy-teardown-base scaffolding branch is no longer used by any PR and can be deleted.

Notes

  • Pull blueprints at build time; drop the live branch deploy path #5694 overlaps 17: it adds its own nuxt/lib/blueprints-sync.mjs and rewrites the same workflow. Land it first and rebase 17 onto it.

  • Every route was checked against the published page before this was raised.

  • https://github.com/FlowFuse/blueprint-library/pull/182 goes with 17: a blueprint whose markdown heading is a link nests an <a> inside the anchor @nuxt/content wraps headings in, which HTML cannot represent, so the blueprint page logs a hydration mismatch. 11ty tolerated it. It was the only linked heading of the 19 blueprints, and the link was dead anyway.

  • fix(build_website): resolve the link-check sources tree rather than naming src/ github-actions-workflows#232 goes with 18: the shared Check links step passes --sources website/src, and hyperlink 0.3.2 exits non-zero on a path that is not there, after finding broken links but before printing them. Deleting src/ therefore turns the link report into a missing-directory error. It resolves the tree at run time instead, so it is safe to merge before 18, and should be: merge it first. Merging it releases build_website/v1 straight away.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions