Skip to content

docs: add pkgdown site as user landing page#10

Open
jiyunson wants to merge 7 commits into
coursekata:mainfrom
jiyunson:feature/pkgdown-site
Open

docs: add pkgdown site as user landing page#10
jiyunson wants to merge 7 commits into
coursekata:mainfrom
jiyunson:feature/pkgdown-site

Conversation

@jiyunson

Copy link
Copy Markdown
Collaborator

Build a pkgdown reference site and serve it at the root of the GitHub
Pages site, so the user-facing landing page is the package docs instead
of the repository. The JupyterLite demo moves to /lite/, linked from a
"Try in your browser" button in the site navbar (and the README lite
badge), with a README section explaining the no-install demo.

Site and deployment:

  • add _pkgdown.yml with a curated reference index: sections follow the
    course arc (visualizing distributions/variation, visualizing models,
    evaluating models, theme, package management, data), alphabetical
    within each section
  • extend the deploy workflow (renamed deploy-site.yml) to build pkgdown
    and nest the JupyterLite output under docs/lite/ in the same Pages
    artifact
  • add the site URL to DESCRIPTION
  • reformat NEWS.md headings to one h1 per version so pkgdown renders
    the changelog page (content unchanged)

Documentation content:

  • fold the gf-squareplot vignette into gf_squareplot()'s @details and
    @examples so it renders on the function's reference page; remove the
    vignette and the now-unneeded VignetteBuilder field
  • condense the README's function demos into a short summary linking to
    the reference index, and drop the README-only plot figures
  • reorder distribution part functions to middle, outer, tails, lower,
    upper; hide fVal() and PRE() from the index via @Usage NULL with a
    note on the reference page that they are older names for f()/pre()

Branding:

  • rebuild the hex sticker as vector SVG (man/figures/logo.svg replaces
    the GIMP logo.xcf) using the 2025 brand palette and A/B papers mark,
    wordmark in Covik Sans Semibold sized to 80% of sticker width;
    rasterized to logo.png and favicons regenerated
  • restyle lifecycle badges to brand colors via pkgdown/extra.css and
    the vendored lifecycle-experimental.svg

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

Build a pkgdown reference site and serve it at the root of the GitHub
Pages site, so the user-facing landing page is the package docs instead
of the repository. The JupyterLite demo moves to /lite/, linked from a
"Try in your browser" button in the site navbar (and the README lite
badge), with a README section explaining the no-install demo.

Site and deployment:
- add _pkgdown.yml with a curated reference index: sections follow the
  course arc (visualizing distributions/variation, visualizing models,
  evaluating models, theme, package management, data), alphabetical
  within each section
- extend the deploy workflow (renamed deploy-site.yml) to build pkgdown
  and nest the JupyterLite output under docs/lite/ in the same Pages
  artifact
- add the site URL to DESCRIPTION
- reformat NEWS.md headings to one h1 per version so pkgdown renders
  the changelog page (content unchanged)

Documentation content:
- fold the gf-squareplot vignette into gf_squareplot()'s @details and
  @examples so it renders on the function's reference page; remove the
  vignette and the now-unneeded VignetteBuilder field
- condense the README's function demos into a short summary linking to
  the reference index, and drop the README-only plot figures
- reorder distribution part functions to middle, outer, tails, lower,
  upper; hide fVal() and PRE() from the index via @Usage NULL with a
  note on the reference page that they are older names for f()/pre()

Branding:
- rebuild the hex sticker as vector SVG (man/figures/logo.svg replaces
  the GIMP logo.xcf) using the 2025 brand palette and A/B papers mark,
  wordmark in Covik Sans Semibold sized to 80% of sticker width;
  rasterized to logo.png and favicons regenerated
- restyle lifecycle badges to brand colors via pkgdown/extra.css and
  the vendored lifecycle-experimental.svg

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jiyunson jiyunson requested a review from adamblake July 10, 2026 22:37
jiyunson and others added 6 commits July 11, 2026 11:27
The navbar "Try in your browser" button and the README lite badge and
live-demo link now open /lite/lab/index.html directly instead of the
/lite/ root.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Expand reference examples using textbook idioms (czi-stats-course) and
the beta-functions teaching docs:

- gf_model(): empty model on a histogram; two- and three-group models
  on jitter plots; group model on faceted histograms; regression on a
  scatter plot; empty vs regression models layered in different colors;
  categorical + quantitative predictors drawn as one line per group
  (all using the penguins data)
- gf_resid()/gf_square_resid(): full-data example, then a seeded
  20-penguin sample for readability; empty-model residuals in blue,
  group and regression model residuals in firebrick
- distribution parts: shade a shuffled sampling distribution with
  middle/tails/outer/upper/lower, plus a resample() bootstrap CI
  (examples corrected from the beta doc, which used tails(.05) where
  this implementation needs tails(.95)/outer(.05))
- gf_sd_ruler(): SD-as-typical-residual on simulated response times,
  same-mean/different-spread comparison, categorical x, and `where`
  placement
- gf_squareplot(): replace the DGP example with a do(10) vs do(100)
  shuffle comparison using mincount to fix the y-axis across plots

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Port fixes developed in the beta-functions repo:

- gf_resid()/gf_square_resid(): replace the sample()/set.seed() jitter
  bracket with an internal freeze_jitter() helper that pins a fixed
  seed on the plot's PositionJitter layers. The old bracket re-rolled
  the jitter when a plot was built more than once (gf_square_resid
  builds twice internally), misaligning overlays, and reset the user's
  RNG stream. Overlay positions are now stable across builds and
  chained calls, and the global RNG is untouched. gf_squaresid()
  delegates to gf_square_resid() and inherits the fix.

- gf_sd_ruler(): add histogram support. When the plot has no y
  aesthetic the outcome is taken from the x-axis and the ruler is drawn
  as a horizontal segment from the mean to mean + SD along the
  baseline. Scatter/jitter behavior, including the x placement
  argument, is unchanged. Also fix bare-name y/x arguments, which the
  documentation promised but which previously errored because is.null()
  forced the promise before substitute() could capture the name. New
  histogram examples in the roxygen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pin the behavior fixed by freeze_jitter(): jittered positions identical
across repeated builds, gf_resid segments and gf_square_resid squares
anchored to the jittered points, and the user's RNG stream untouched.
The stability test fails under the previous sample()/set.seed()
approach.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Proposal: drop the deprecation of gf_squaresid() rather than retiring
the name. Tyler Haslam (@TH4SL4M), a high school teacher in Utah,
shaped the residual and squared-residual visualizations -- including
working out how gf_resid() and gf_square_resid() handle jitter plots,
and the insight to emphasize the area of the squares rather than their
outline -- and asked for the function under this name. We would like
to keep it as a first-class alias in his honor.

- remove the lifecycle deprecation warning; gf_squaresid() delegates to
  gf_square_resid() as before
- credit Tyler on the gf_square_resid reference page and in NEWS
- update the alias test to expect no deprecation warning

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant