Repository navigation
Serve landing-page quibble.js from GitHub Pages + version switcher; retire demo/rc - #12
Conversation
…er; retire demo/rc Publish docs/ via a GitHub Actions Pages workflow that also copies the repo-root quibble.js to the site root, so the landing page loads our own current build same-origin (/quibble.js) — live ~1 min after each push, no jsDelivr metadata lag. The version <select> defaults to "This build (local)" and lists published releases from the jsDelivr data API; picking one reloads with ?ver=X.Y.Z and loads that pinned release from jsDelivr (reload-based — quibble has no teardown). Migrate the modal <dialog> + fullscreen top-layer tests (issue #4) into docs/index.html, restyled with the landing page's own CSS, then remove demo/ (index.html + head-load.html) and docs/rc.html. The head-load case is covered by a note in the quibble.js header (the code already rehomes on load). README and CLAUDE.md updated to match (RC section dropped — the config panel has shipped). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request consolidates the demo and manual testing pages into docs/index.html, removing the separate demo/ directory and docs/rc.html. It introduces a version picker on the landing page to load either the local build or published releases from jsDelivr, and adds top-layer tests for modal dialogs and fullscreen modes. Additionally, a new GitHub Pages deployment workflow is planned to publish the site. The reviewer pointed out a valid issue where local testing of docs/index.html will fail to load quibble.js due to path mismatch, and provided a dynamic path resolution suggestion to fix it.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| window.__quibbleSrc = ver === "local" | ||
| ? "quibble.js" | ||
| : "https://cdn.jsdelivr.net/gh/" + REPO + "@" + ver + "/quibble.js"; |
There was a problem hiding this comment.
When testing locally by serving the repository root (e.g., http://localhost:8000/docs/index.html), the relative path "quibble.js" resolves to docs/quibble.js, which results in a 404 error because quibble.js is located at the repository root. However, when deployed to GitHub Pages, the docs/ directory is flattened to the root, so "quibble.js" is correct.\n\nTo support both local testing and the deployed environment, we can dynamically adjust the path to ../quibble.js if the current pathname contains /docs/.
| window.__quibbleSrc = ver === "local" | |
| ? "quibble.js" | |
| : "https://cdn.jsdelivr.net/gh/" + REPO + "@" + ver + "/quibble.js"; | |
| window.__quibbleSrc = ver === "local" | |
| ? (location.pathname.indexOf("/docs/") !== -1 ? "../quibble.js" : "quibble.js") | |
| : "https://cdn.jsdelivr.net/gh/" + REPO + "@" + ver + "/quibble.js"; |
What
.github/workflows/pages.ymlpublishesdocs/plus the repo-rootquibble.js(copied to/quibble.js). The landing page loads quibble same-origin by default, sohttps://onramplab.github.io/quibble/quibble.jsis the currentmainbuild, live ~1 min after each push (no jsDelivr metadata lag).<select>— defaults to "This build (local)"; lists published releases from the jsDelivr data API. Picking one reloads with?ver=X.Y.Zand loads that pinned release from jsDelivr. Reload-based (quibble is a single-load IIFE with no teardown API).<dialog>+ fullscreen top-layer tests (issue Item is not clickable when a popup dialog is open #4) intodocs/index.html, restyled with the landing page's own CSS (no Tailwind), then removeddemo/anddocs/rc.html. Head-load case noted in thequibble.jsheader (code already rehomes on load).Docs:
README.md(RC section dropped — config panel shipped; demo ref → landing page) andCLAUDE.md(Actions deploy + same-origin loading;docs/index.htmlis landing + test surface) updated. Design doc indocs/plans/(excluded from the published site).After merge, switch the Pages source from "Deploy from branch (
main/docs)" to GitHub Actions (repo Settings → Pages, or I can do it viagh api). Thepages.ymlworkflow only takes over once the source is set to Actions.Test checklist (after deploy)
…/quibble/quibble.js→ 200 +content-type: application/javascriptquibble.js)?ver=→ loads from jsDelivr🤖 Generated with Claude Code