From 5582c6cb576a647a4db4dc652a0e760506bb9a76 Mon Sep 17 00:00:00 2001 From: Jared Knowles Date: Sat, 8 Aug 2026 17:49:10 -0400 Subject: [PATCH] docs: index all 14 exports in pkgdown, set the site url The reference index covered 6 of 14 exports, so pkgdown errored on the eight missing topics and the docs site did not build at all. Adds a Comparison & aggregation section and a Corpus metadata section, lists both vignettes as articles, and sets url so canonical links and search resolve. build_site() now completes clean: reference metadata ok, no problems. --- _pkgdown.yml | 26 +++++++++++++++++++++----- tests/testthat/test-config.R | 14 ++++++++++++++ 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index 1541211..057bc65 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,4 +1,5 @@ -url: ~ +url: https://civilytics.r-universe.dev/uscogdata + template: bootstrap: 5 @@ -15,11 +16,26 @@ reference: - cog_gov_search - cog_basket_resolution - cog_basket_unresolved - - title: Session + - title: Comparison & aggregation + desc: Peer cohorts and geographic aggregates. contents: - - has_keyword("internal") + - cog_find_peers + - cog_peer_compare + - cog_geographic_rollup + - title: Corpus metadata + desc: > + What the corpus contains, where a given result came from, and how to + hold a local copy of it. + contents: + - cog_categories + - cog_recipes + - cog_manifest + - cog_explain + - cog_mirror articles: - - title: Getting started + - title: Concepts navbar: ~ - contents: [] + contents: + - total-spending + - population-denominators diff --git a/tests/testthat/test-config.R b/tests/testthat/test-config.R index 395fd2a..9e42e59 100644 --- a/tests/testthat/test-config.R +++ b/tests/testthat/test-config.R @@ -131,3 +131,17 @@ test_that("vignettes are not excluded from the build", { # r-universe and GitHub Actions. It must never be excluded. expect_false(any(grepl("fixture_corpus", ignore, fixed = TRUE))) }) + +test_that("_pkgdown.yml indexes every exported topic", { + skip_if_no_source_tree("_pkgdown.yml", "NAMESPACE") + exports <- grep("^export\\(", readLines(source_tree_path("NAMESPACE"), warn = FALSE), + value = TRUE) + exports <- sub("^export\\((.*)\\)$", "\\1", exports) + yml <- paste(readLines(source_tree_path("_pkgdown.yml"), warn = FALSE), collapse = "\n") + missing <- exports[!vapply(exports, + function(e) grepl(paste0("\\b", e, "\\b"), yml), + logical(1))] + # pkgdown errors on topics missing from the index, so an unlisted export + # means the docs site does not build at all. + expect_equal(missing, character(0)) +})