Conversation
…e package (#67) Amendments on acceptance: the staging layer keeps dataspice's file format while the dataspice package leaves Imports; the keywords derivation via X-schema.org-keywords is verified against cffr 1.4.1; retiring the CSVs entirely is recorded as a v1.2.0 question. Adds the Imports consequence for #72 (16 to 13 from the metadata side). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
use_brand() copies _brand.yml and the logo files it references from the central openwashdata/brand repository (raw GitHub content at a configurable ref, or a local/alternative source for tests and offline work) into the active package. Re-running refreshes idempotently and reports written and updated files by md5 comparison; unchanged files stay untouched. With pkgdown = TRUE an existing _pkgdown.yml is wired to the brand through template.bslib.brand so the next site build renders with the brand fonts and colors; without a config the wiring is skipped with a setup_website() hint. Brand values are never edited locally, keeping the change-here-first discipline of the brand repo. Five tests cover install, idempotent refresh with source change, pkgdown wiring and re-run stability, the missing-config skip, and the missing-source error. Full suite passes at 63. Refs #109 Assisted-by: Claude claude-fable-5
…trial bslib resolves the brand through the brand.yml package at site build time; without it pkgdown::build_site() stops. Surfaced by the first end-to-end run on a real data package. Refs #109 Assisted-by: Claude claude-fable-5
use_brand(): install and refresh the openwashdata brand
inst/templates/README.Rmd carried the packagename placeholder in URL
encoded form ({{{ had become %7B%7B%7B), so whisker never substituted
it and every README that setup_readme() generated linked to a dead
LICENSE.md URL. The v1.0.2 CRAN release ships the encoded line.
Regression test added to test_setup_readme.R; it fails against the
old template and passes with the fix.
Closes #101
Assisted-by: Claude claude-fable-5-1
update_citation() writes CITATION.cff at the top level of the data package but never added it to .Rbuildignore, so the next R CMD check reported "Non-standard file/directory found at top level: 'CITATION.cff'". cffr 1.4.1 adds the entry itself only when cff_write() is handed a file path; washr hands it a cff object, and cffr's cff_update_rbuildignore() returns early for objects. usethis::use_build_ignore() is idempotent, so re-running update_citation() adds the entry once. Regression test added to test_update_citation.R; it fails against the old code (the fixture package has no .Rbuildignore until this call creates one) and passes with the fix. Closes #102 Assisted-by: Claude claude-fable-5-1
_pkgdown.yml lists every topic explicitly, and use_brand() landed in PR #110 without an entry, so pkgdown::build_site() stopped on dev with "1 topic missing from index: use_brand". Listed under "Publishing your data" next to setup_website(), which it extends. Refs #109 Assisted-by: Claude claude-fable-5-1
This was referenced Sep 2, 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.
Summary
use_brand(), which installs and refreshes the openwashdata brand (_brand.ymland the logo files it references) from openwashdata/brand and wires an existing_pkgdown.ymlto it through bslib (use_brand(): install and refresh the openwashdata brand from openwashdata/brand #109, merged to dev in use_brand(): install and refresh the openwashdata brand #110). Adds the missing reference index entry, without whichpkgdown::build_site()stops on dev.dev/metadata-2026-08/decision-canonical-sources.md(Metadata design decision: canonical sources and field mappings (resolves #47) #67).update_citation()leftCITATION.cffout of.Rbuildignore, because cffr only adds the entry when handed a file path and washr hands it a cff object (update_citation() leaves CITATION.cff out of .Rbuildignore #102). Both fixes carry regression tests with fail-first proofs.Closes #101. Closes #102. Refs #67, #109, #113.
Test plan
devtools::test()passes on the merge commit (67 passed and 2 CRAN-only skips on dev at 1a9b4c9)pkgdown:::data_reference_index(pkgdown::as_pkgdown())validates withuse_brandlisteddevtools::check()is cleansetup_readme()on a fresh package writes a license link containing the package name and no%7Bupdate_citation()on a fresh package adds^CITATION\.cff$to.Rbuildignore, once, across two runsuse_brand()renders with the brand fonts and palette