用途:为 R 包配置并部署 pkgdown 文档网站,适用于创建文档站点、自定义布局主题与导航、修复已部署站点的 404 错误、切换部署方式。
前置条件:需要带 roxygen2 文档的 R 包和 GitHub 仓库;可选自定义主题或品牌、作为文章收录的 vignette。
主要步骤:
- 初始化:usethis::use_pkgdown(),生成 _pkgdown.yml 并把 pkgdown 加入 .Rbuildignore。失败时可 install.packages("pkgdown")。
- 配置 _pkgdown.yml:设置 url、development、template(bootstrap、bootswatch)、navbar(左 intro/reference/articles/news,右 search/github)、reference 分组与 articles 分组。关键:development: mode 必须为 release,默认 auto 会在 GitHub Pages 上因 URL 追加 /dev/ 导致 404。
- 本地构建:pkgdown::build_site(),生成 docs/ 目录。失败常见原因:缺少 pandoc、vignette 依赖、示例损坏。
- 预览:pkgdown::preview_site(),检查导航、函数参考、文章与搜索。
- 部署:方式 A 推荐用 GitHub Actions(见 setup-github-actions-ci 技能);方式 B 手动分支部署,使用 git checkout --orphan gh-pages、git rm -rf .、cp -r docs/* . 后提交推送,再切回 main。
- 在仓库 Settings > Pages 中选择 Deploy from a branch,选 gh-pages 分支的 / (root) 目录。
- 在 DESCRIPTION 的 URL 字段加入站点 URL 与仓库 URL,用逗号分隔。
验证要点:本地构建无错、函数参考页正常、文章可访问、搜索可用、导航正确、部署成功且无 404、已设 release 模式。
常见问题:404 多因默认 auto 模式;参考页缺失需函数已导出并先跑 devtools::document();vignette 交叉引用用 vignette("name");logo 放 man/figures/logo.png;搜索需正确设置 url 字段。
限制:资料未提供具体收费、价格或平台差异等信息。