Skip to content

Replace dead Glitch demos with self-hosted equivalents#480

Merged
XhmikosR merged 10 commits into
mainfrom
fix-demos
May 21, 2026
Merged

Replace dead Glitch demos with self-hosted equivalents#480
XhmikosR merged 10 commits into
mainfrom
fix-demos

Conversation

@addyosmani

Copy link
Copy Markdown
Collaborator

Closes #469.

Glitch shut down at the end of 2025, which broke every demo link on
https://getquick.link/demo and https://getquick.link/measure, and most of
the links in the repo's README. The original demo source lived on Glitch
and is gone, so this PR rebuilds the demos from scratch and serves them
from the same Eleventy site, under /demos/.

What's in the new demos

  • /demos/mini-ecomm/ - vanilla 8-product store with a listing page
    and product detail pages. No Quicklink, so each click hits the
    network.
  • /demos/mini-ecomm-quicklink/ - same store, with quicklink.listen()
    loaded from the jsdelivr UMD bundle on the listing page. Drop-in
    comparison to the unoptimized variant for the demo and measure pages.
  • /demos/spa/ - a tiny vanilla-JS single-page app with a hand-rolled
    hash router and one ES-module chunk per route. Quicklink is wired up
    with an hrefFn that maps each nav link to its chunk URL, so it
    prefetches routes/blog.js etc. instead of an HTML document. This
    replaces the create-react-app demo and avoids needing a build step.

All three demos are static, so they ride the existing Eleventy →
Firebase deploy with no extra config - just an addPassthroughCopy and
an .eleventyignore entry.

Other changes

  • Updated site/src/demo.njk and site/src/measure.njk to link to the
    new /demos/... paths. The WebPageTest script examples now use
    absolute getquick.link URLs and click a.card (matching the new
    markup) instead of the first <a> on the page.
  • Updated the README's Demo section: dropped the four "Glitch demos"
    bullets and replaced them with three live links plus a pointer to
    site/src/demos/ for source.
  • The legacy demos/news/, demos/news-workbox/ and demos/spa/
    README-only folders now point at the self-hosted replacements with a
    short note about the Glitch history, so any external links to those
    folders still land somewhere useful.

How to verify

  1. cd site && npm run build && npm run lint - both pass.
  2. npx serve build (or any static server) and visit
    /demos/mini-ecomm/, /demos/mini-ecomm-quicklink/, and /demos/spa/.
  3. On the optimized mini-ecomm and the SPA, open DevTools → Network
    and confirm that quicklink shows up as the Initiator with
    Lowest priority for in-viewport links.
  4. Throttle to Fast 3G and click around - the optimized variants should
    serve from prefetch cache.

addyosmani and others added 7 commits May 1, 2026 18:08
Adds an addPassthroughCopy entry plus an .eleventyignore line so the new
src/demos tree is copied verbatim into the build output without going
through Nunjucks templating.
A small two-variant store with a listing page and eight product pages,
mirrored under mini-ecomm/ (no prefetching) and mini-ecomm-quicklink/
(quicklink.listen() loaded from the jsdelivr UMD bundle).

Replaces the now-defunct mini-ecomm.glitch.me and
mini-ecomm-quicklink.glitch.me apps that the demo and measure pages
previously linked to.
A tiny vanilla-JS single-page app with a hand-rolled hash router and one
ES-module chunk per route. Quicklink is configured with an hrefFn that
maps each nav link to its chunk URL, so prefetching grabs the route's
JavaScript instead of an HTML document.

Uses the published quicklink.mjs from jsdelivr — no build step, runs on
any static host. Replaces the create-react-app-quicklink.glitch.me demo
referenced from demo.njk.
Replaces the dead mini-ecomm.glitch.me, mini-ecomm-quicklink.glitch.me
and create-react-app-quicklink.glitch.me URLs with /demos/mini-ecomm/,
/demos/mini-ecomm-quicklink/ and /demos/spa/. The WebPageTest scripting
examples now use absolute getquick.link URLs and select the first .card
anchor on the listing page.

Fixes #469.
Glitch shut down, so the news, news-workbox and spa demo READMEs (and
the Demo section of the main README) all pointed at projects that no
longer exist. Updates them to point at the self-hosted replacements
under getquick.link/demos/, and keeps a short historical note in each
legacy README so links to those folders still make sense.
The new SPA demo files use top-level import/export and a dynamic
import() for route chunks, so eslint trips on them under the default
sourceType: script and ecmaVersion: 2017. Adds a scoped override that
parses site/src/demos as modules at ES2020, drops the strict-mode
requirement (modules are implicitly strict), and disables max-len for
the inline HTML template strings in the route chunks.
@XhmikosR

Copy link
Copy Markdown
Collaborator

Thanks for the PR! BTW, if I'm not CC'ed I don't get notified.

I'll have a closer look later, but it looks good so far. I'd only change the emdashes () with normal hyphens. AI tends to always use Unicode characters.

@XhmikosR

Copy link
Copy Markdown
Collaborator

Let's land it and we can tweak it later if needed.

@XhmikosR XhmikosR merged commit a06bc23 into main May 21, 2026
11 checks passed
@XhmikosR XhmikosR deleted the fix-demos branch May 21, 2026 10:12
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.

Demo links are broken

2 participants