Conversation
Replace the Docusaurus site (and its ~11k-line lockfile / dependabot
vuln tree) with a shovel ServiceWorker app that renders the docs through
Crank + marked and prerenders to static HTML, mirroring crank/website.
- docs/*.md -> docs/guides/*.md (kebab-cased; numeric prefix orders the nav)
- src/server.ts: router + static-site generation in the install lifecycle
- doc pipeline: models/document, components/{root,sidebar,marked}, views/{home,guide,not-found}
- pagefind search index builds over dist/public; gh-pages deploy to repeater.js.org
Builds all 10 routes + 404 via `npm run static`; `npm run pagefind` indexes 9 pages.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bring the shovel/Crank site to feature parity with the live Docusaurus site (and past it): - Preserve the canonical /docs/<id>/ URLs (cool URIs don't change), derived from frontmatter id — including ids that keep underscores (error_handling, inverted_repeaters). API page stays at /docs/repeater/. - Homepage: hero + the Convenient / Safe / Powerful feature columns (verbatim copy + colors). - Navbar (Docs / API / GitHub / NPM) and footer (copyright), wired into Root. - Sidebar grouped into Getting Started / Guides / API Reference, mirroring the original sidebars.json. - Syntax highlighting via Prism (SSR) with a light/dark token theme. - `npm run clean` + clean static build (no stale routes ship). - Ambient types for the shovel SSR globals. Beyond the old site: pagefind search index + automatic dark mode. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The guides predated 3.1 and pointed at the now-deprecated aux packages. - combinators: import createTimeout/createDelay from @repeaterjs/repeater/timers (was timeout/delay from @repeaterjs/timers) - utilities: rewritten around the folded-in /timers and /limiters subpaths and the create* names; notes that the standalone timers/limiters packages are deprecated and that pubsub/react-hooks are not carried forward - safety: new "Disposing repeaters" section (using / await using, Symbol.dispose) - API reference: document the disposal methods and the module entry points (core / combinators / timers / limiters) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Repoint dead packages/{pubsub,limiters,timers} monorepo links (gone after the
flatten) to /docs/utilities/; drop the pubsub link (not carried forward)
- Fix `@repeaterjs/timer` -> the /timers module with create* names in the
inverted-repeaters guide
- Typo: Repeater.protoype.return -> prototype; "finish" -> "finishes"
- Trim trailing space in combinators frontmatter; unquote the repeater id
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Surgical readability pass on the technical guides — shorter sentences, lists
for enumerated conditions, plainer wording — without touching structure,
examples, or the rationale essay:
- error-handling: turn the throw "rethrow" conditions into a list; rewrite the
"floating promise" sentence to lead with the plain condition
- overview: "exposed to parent closures to model architectural patterns" ->
"hand them to outer functions to build patterns"
- safety: simplify the "leaky abstraction" and backpressure-intro sentences
- api reference: fix two grammar bugs ("repeaters detects … rethrow",
"is either be undefined")
Also fixes a real bug in the safety guide example: the executor was written
`(push, _, stop)` (the pre-1.0 three-arg signature), which left `stop`
undefined so `await stop` resolved immediately. Corrected to `(push, stop)`.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Continue the readability pass on the remaining dense spots: - error-handling: drop the throat-clearing opener; tighten the promise-rejection paragraph (the long "regardless of when those values settled" sentence) and the "indicative of programmer error" phrasing - safety: tighten the "memory leak in the form of unremoved event listeners" line Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Replaces the Docusaurus site with a shovel + Crank static site (mirroring
crank/website) and brings the documentation current for 3.1.Why
master's 216 dependabot alerts (23 critical / 104 high). Deleting it clears them at the root.What
Stack: shovel (ServiceWorker static build) → Crank render → marked → Prism highlighting → pagefind search, deployed to
repeater.js.orgviagh-pages.Preserved: the canonical
/docs/<id>/URLs (cool URIs don't change), and feature parity with the live site — homepage hero + Convenient/Safe/Powerful, navbar (Docs/API/GitHub/NPM), footer, sidebar sections. Adds dark mode and search.Docs updated for 3.1:
create*names, the/timersand/limiterssubpaths, a "Disposing repeaters" section (using/await using), and a module entry-points reference.Editorial + readability pass: dead-link/typo fixes, frontmatter hygiene, eleven prose simplifications, and a real bug fix — the safety guide's
(push, _, stop)example (broken since the 1.0 API merge).Notes
master.repeaterjs→bikeshavingorg move (Pages host + js.org DNS).🤖 Generated with Claude Code