build-pkgdown-site
关于
This skill builds and deploys pkgdown documentation sites for R packages to GitHub Pages. It handles configuration, theming, article organization, and deployment methods like branch-based or GitHub Actions. Use it when creating or customizing a package's documentation site, fixing deployment errors, or migrating between deployment workflows.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/build-pkgdown-site在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
建 pkgdown 站
設而交 R 包之 pkgdown 文站。
用時
- 為 R 包建文站
- 訂 pkgdown 佈、主題、或航
- 修已交之 pkgdown 站 404 之錯
- 遷於諸交法間
入
- 必要:R 包附 roxygen2 之文
- 必要:GitHub 庫
- 可選:自訂主題或品牌
- 可選:含為文之 vignette
法
第一步:初 pkgdown
usethis::use_pkgdown()
此建 _pkgdown.yml 而加 pkgdown 於 .Rbuildignore。
得: _pkgdown.yml 存於項目根。.Rbuildignore 含 pkgdown 相關之條。
敗則: 以 install.packages("pkgdown") 裝之。若 _pkgdown.yml 已存,函更 .Rbuildignore 而不覆設。
第二步:設 _pkgdown.yml
url: https://username.github.io/packagename/
development:
mode: release
template:
bootstrap: 5
bootswatch: flatly
navbar:
structure:
left: [intro, reference, articles, news]
right: [search, github]
components:
github:
icon: fa-github
href: https://github.com/username/packagename
reference:
- title: Core Functions
desc: Primary package functionality
contents:
- main_function
- helper_function
- title: Utilities
desc: Helper and utility functions
contents:
- starts_with("util_")
articles:
- title: Getting Started
contents:
- getting-started
- title: Advanced Usage
contents:
- advanced-features
- customization
要:設 development: mode: release。默 mode: auto 致 GitHub Pages 之 404 錯——其於 URL 附 /dev/。
得: _pkgdown.yml 含有效 YAML,附 url、template、navbar、reference、articles 諸段合包所須。
敗則: 以線上 YAML linter 驗語。確 reference.contents 中諸函名合實出之函。
第三步:本地建
pkgdown::build_site()
得: docs/ 目建,含全站:index.html、函參頁、諸文。
敗則: 常題:缺 pandoc(於 .Renviron 設 RSTUDIO_PANDOC)、缺 vignette 之依(裝建議包)、或範壞(修或裹於 \dontrun{})。
第四步:預站
pkgdown::preview_site()
驗航、函參、文、搜皆行。
得: 站於 localhost 開於瀏覽器。諸航鏈行,函參頁渲,搜返果。
敗則: 若預不開,手開 docs/index.html。若頁缺,察建站前已行 devtools::document()。
第五步:交於 GitHub Pages
甲法:GitHub Actions(薦)
見 setup-github-actions-ci 技之 pkgdown 工作流。
乙法:手分支之交
# Build site
Rscript -e "pkgdown::build_site()"
# Create gh-pages branch if it doesn't exist
git checkout --orphan gh-pages
git rm -rf .
cp -r docs/* .
git add .
git commit -m "Deploy pkgdown site"
git push origin gh-pages
# Switch back to main
git checkout main
得: gh-pages 分支存於遠端,站檔於根級。
敗則: 若推被拒,確有庫之書權。若用 GitHub Actions 交,略此步,循 setup-github-actions-ci 技。
第六步:設 GitHub Pages
- 至庫 Settings > Pages
- 設 Source 為「Deploy from a branch」
- 擇
gh-pages分支,/ (root)目 - 存
得: 站於數分內可見於 https://username.github.io/packagename/。
敗則: 若站返 404,驗 Pages 源合交法(分支交須「Deploy from a branch」)。察 _pkgdown.yml 中 development: mode: release 已設。
第七步:加 URL 於 DESCRIPTION
URL: https://username.github.io/packagename/, https://github.com/username/packagename
得: DESCRIPTION URL 欄含 pkgdown 站與 GitHub 庫二 URL,以逗點分。
敗則: 若 R CMD check 警 URL 無效,確 pkgdown 站已交而可及後加 URL。
驗
- 站本地建無錯
- 諸函參頁正渲
- 文/vignette 可及而正渲
- 搜功行
- 航鏈正
- 站交於 GitHub Pages 成
- 已交站無 404 錯
-
_pkgdown.yml中development: mode: release已設
陷
- 交後 404 錯:幾恆由
development: mode: auto(默)致。改為mode: release - 缺函參頁:函必出且已文。先行
devtools::document() - vignette 鏈壞:交引中用
vignette("name")之語,非檔路 - logo 不現:置 logo 於
man/figures/logo.png,引於_pkgdown.yml - 搜不行:須
_pkgdown.yml中url欄正設 - 混系上 R 誤:WSL 或 Docker 上,
Rscript或解為跨平之包,非原生 R。察以which Rscript && Rscript --version。為可靠宜用原生 R(如 Linux/WSL 上/usr/local/bin/Rscript)。見 Setting Up Your Environment 為 R 路之設
參
setup-github-actions-ci- 自動化 pkgdown 交之工作流write-roxygen-docs- 於站現之函文write-vignette- 現於站航之文release-package-version- 發版時觸站重建
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
