Repository navigation
Conversation
The site (make docs) is quartodoc + Quarto into website/_site. Its content checks itself: website/_tools/check_docs.py requires prose code snippets to match their example files on disk and every relative link/anchor to resolve; check_site.py (make docs-check) drives a browser over the built site; example code blocks carry a file header (open/copy/Shinylive) rendered by the example-header filter. Building needs uv sync --group docs once.
Each website/widgets/<slug>/ guide has a quickstart, reacting-to and updating-in-place patterns, runnable examples/, screenshots, and a gallery app. NOTES.md beside a page records the verification behind its claims (versions tested, measured numbers); pages link to it.
Cross-cutting topics: why shinywidgets, installation, first app, choosing a widget, linked views, updating in place, layout and theming, performance, deployment, troubleshooting, any-widget, AI exploration, and the reacting-to-widgets cheatsheet.
Each entry is a runnable app with a copy-paste 'Run it' block (clone/cd/uv run), a hero screenshot, and an Open-in-Shinylive link backed by a page-local requirements.txt.
Landing images are cut from the pages' own screenshots by website/_tools/make_landing_images.py.
Mirrors posit-dev/open-source-website's proven setup: a reusable build-and-deploy workflow (uv + Quarto + make docs + nwtgck/actions-netlify), auto previews for non-fork PRs, a member-only /deploy-preview comment trigger for fork PRs (whose workflows can't see secrets), production deploys on pushes to main that touch the site, and cleanup of Netlify deploys when a PR closes or a branch is deleted. Requires NETLIFY_AUTH_TOKEN and NETLIFY_SITE_ID repo secrets.
cpsievert
force-pushed
the
widget-guides
branch
from
November 13, 2026 19:53
7fef4f1 to
0a0c966
Compare
- Grant deployments:write and statuses:write so nwtgck/actions-netlify can create the GitHub deployment and commit status it attempts on every run (previously 'Resource not accessible by integration'). - checkout v5, setup-uv v7, actions-netlify v4: all target Node 24; the previous versions triggered the Node 20 deprecation warning (runners force Node 24).
✅ Deploy Preview for shinywidgets canceled.
|
This branch was successfully deployed
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.
Why
shinywidgets' documentation has outgrown a README: 43+ widget integrations each need their own guide with runnable examples, and there's nowhere to teach cross-cutting patterns (linked views, updating in place, deployment). This PR adds a complete Quarto website under
website/, built withmake docsand deployable as static files.What's here
website/widgets/<slug>/) — each with a quickstart, interaction examples, in-place update patterns, screenshots, and a gallery appwebsite/guide/) — installation, first app, choosing a widget, linked views, updating in place, performance, deployment, troubleshooting, etc.website/gallery/) — 15 showcases + 19 templates, each a runnable app with a copy-paste "Run it" block and an Open-in-Shinylive linkwebsite/_quarto.yml+_renderer.py)Checking the content
The site checks itself, no manual verification needed:
website/_tools/check_docs.py— every code snippet in prose must match its example file on disk; every relative link and#anchormust resolve. Runs at zero problems and is documented inwebsite/_tools/README.md.website/_tools/check_site.py(make docs-check) — browser checks against the built site, served under/py-shinywidgets/.make docsfails the build on unresolved quartodoc links.Deployment
netlify.tomlbuilds the site (uv + Quarto +make docs) so this and every PR gets a Netlify deploy preview — one setup step remains: connect the repo at app.netlify.com (import from GitHub; it readsnetlify.tomlautomatically). The site is also pre-configured for GitHub Pages (site-url, subpath-relative links) if we want a production home later.Verification
make docsbuilds cleanly;check_docs.pyandcheck_site.pypass. No package code changes —shinywidgets/,js/, andtests/are untouched.Reviewer note: the 86
NOTES.mdfiles are deliberate — they're verification provenance (versions tested, measured numbers) that pages link to. Happy to strip them if you'd rather not ship them.