Conversation
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.
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 ( |
Collaborator
|
Let's land it and we can tweak it later if needed. |
XhmikosR
approved these changes
May 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 pageand product detail pages. No Quicklink, so each click hits the
network.
/demos/mini-ecomm-quicklink/- same store, withquicklink.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-rolledhash router and one ES-module chunk per route. Quicklink is wired up
with an
hrefFnthat maps each nav link to its chunk URL, so itprefetches
routes/blog.jsetc. instead of an HTML document. Thisreplaces 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
addPassthroughCopyandan
.eleventyignoreentry.Other changes
site/src/demo.njkandsite/src/measure.njkto link to thenew
/demos/...paths. The WebPageTest script examples now useabsolute
getquick.linkURLs and clicka.card(matching the newmarkup) instead of the first
<a>on the page.bullets and replaced them with three live links plus a pointer to
site/src/demos/for source.demos/news/,demos/news-workbox/anddemos/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
cd site && npm run build && npm run lint- both pass.npx serve build(or any static server) and visit/demos/mini-ecomm/,/demos/mini-ecomm-quicklink/, and/demos/spa/.and confirm that
quicklinkshows up as the Initiator withLowest priority for in-viewport links.
serve from prefetch cache.