返回技能列表

build-pkgdown-site

pjt222
更新于 2 days ago
8 次查看
17
2
17
在 GitHub 上查看
worddesign

关于

This skill helps developers build and deploy pkgdown documentation sites for R packages to GitHub Pages. It covers configuring _pkgdown.yml, customizing themes and navigation, and managing deployment methods. Use it when creating new documentation, fixing 404 errors, or migrating between branch-based and GitHub Actions deployments.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/build-pkgdown-site

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Compilar Sitio pkgdown

Configurar y desplegar un sitio web de documentación pkgdown para un paquete R.

Cuándo Usar

  • Crear un sitio de documentación para un paquete R
  • Personalizar la disposición, el tema o la navegación de pkgdown
  • Corregir errores 404 en un sitio pkgdown desplegado
  • Migrar entre métodos de despliegue

Entradas

  • Obligatorio: Paquete R con documentación roxygen2
  • Obligatorio: Repositorio de GitHub
  • Opcional: Tema o marca personalizada
  • Opcional: Viñetas a incluir como artículos

Procedimiento

Paso 1: Inicializar pkgdown

usethis::use_pkgdown()

Esto crea _pkgdown.yml y añade pkgdown a .Rbuildignore.

Esperado: _pkgdown.yml existe en la raíz del proyecto. .Rbuildignore contiene entradas relacionadas con pkgdown.

En caso de fallo: Instalar pkgdown con install.packages("pkgdown"). Si _pkgdown.yml ya existe, la función actualizará .Rbuildignore sin sobrescribir la configuración.

Paso 2: Configurar _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

Crítico: Configurar development: mode: release. El mode: auto predeterminado provoca errores 404 en GitHub Pages porque añade /dev/ a las URLs.

Esperado: _pkgdown.yml contiene YAML válido con secciones url, template, navbar, reference y articles apropiadas para el paquete.

En caso de fallo: Validar la sintaxis YAML con un validador YAML en línea. Asegurarse de que todos los nombres de funciones en reference.contents coinciden con funciones exportadas reales.

Paso 3: Compilar Localmente

pkgdown::build_site()

Esperado: Directorio docs/ creado con un sitio completo incluyendo index.html, páginas de referencia de funciones y artículos.

En caso de fallo: Problemas frecuentes: pandoc faltante (configurar RSTUDIO_PANDOC en .Renviron), dependencias de viñetas faltantes (instalar paquetes sugeridos), o ejemplos rotos (corregir o envolver en \dontrun{}).

Paso 4: Previsualizar el Sitio

pkgdown::preview_site()

Verificar que la navegación, la referencia de funciones, los artículos y la búsqueda funcionan correctamente.

Esperado: El sitio se abre en el navegador en localhost. Todos los enlaces de navegación funcionan, las páginas de referencia de funciones se renderizan y la búsqueda devuelve resultados.

En caso de fallo: Si la previsualización no se abre, abrir manualmente docs/index.html en un navegador. Si faltan páginas, verificar que se ejecutó devtools::document() antes de compilar el sitio.

Paso 5: Desplegar en GitHub Pages

Método A: GitHub Actions (Recomendado)

Ver la habilidad setup-github-actions-ci para el flujo de trabajo pkgdown.

Método B: Despliegue Manual por Rama

# Compilar el sitio
Rscript -e "pkgdown::build_site()"

# Crear la rama gh-pages si no existe
git checkout --orphan gh-pages
git rm -rf .
cp -r docs/* .
git add .
git commit -m "Deploy pkgdown site"
git push origin gh-pages

# Volver a main
git checkout main

Esperado: La rama gh-pages existe en el remoto con los archivos del sitio en el nivel raíz.

En caso de fallo: Si el push es rechazado, asegurarse de tener acceso de escritura al repositorio. Si se usa el despliegue con GitHub Actions, omitir este paso y seguir la habilidad setup-github-actions-ci.

Paso 6: Configurar GitHub Pages

  1. Ir a Configuración del repositorio > Pages
  2. Establecer la Fuente en "Deploy from a branch"
  3. Seleccionar la rama gh-pages, carpeta / (root)
  4. Guardar

Esperado: Sitio disponible en https://username.github.io/packagename/ en pocos minutos.

En caso de fallo: Si el sitio devuelve 404, verificar que la fuente de Pages coincide con el método de despliegue (el despliegue por rama requiere "Deploy from a branch"). Comprobar que development: mode: release está configurado en _pkgdown.yml.

Paso 7: Añadir URL a DESCRIPTION

URL: https://username.github.io/packagename/, https://github.com/username/packagename

Esperado: El campo URL de DESCRIPTION contiene tanto la URL del sitio pkgdown como la URL del repositorio de GitHub, separadas por una coma.

En caso de fallo: Si R CMD check advierte sobre URLs inválidas, verificar que el sitio pkgdown está realmente desplegado y accesible antes de añadir la URL.

Validación

  • El sitio se compila localmente sin errores
  • Todas las páginas de referencia de funciones se renderizan correctamente
  • Los artículos y viñetas son accesibles y se renderizan correctamente
  • La funcionalidad de búsqueda funciona
  • Los enlaces de navegación son correctos
  • El sitio se despliega con éxito en GitHub Pages
  • Sin errores 404 en el sitio desplegado
  • development: mode: release está configurado en _pkgdown.yml

Errores Comunes

  • Errores 404 tras el despliegue: Casi siempre causados por development: mode: auto (el predeterminado). Cambiar a mode: release.

  • Páginas de referencia faltantes: Las funciones deben estar exportadas y documentadas. Ejecutar primero devtools::document().

  • Enlaces de viñetas rotos: Usar la sintaxis vignette("name") en referencias cruzadas, no rutas de archivo.

  • Logo no visible: Colocar el logo en man/figures/logo.png y referenciarlo en _pkgdown.yml.

  • Búsqueda no funciona: Requiere que el campo url en _pkgdown.yml esté correctamente configurado.

  • Binario R incorrecto en sistemas híbridos: En WSL o Docker, Rscript puede resolverse a un contenedor multiplataforma en lugar de R nativo. Comprueba con which Rscript && Rscript --version. Prefiere el binario R nativo (p. ej., /usr/local/bin/Rscript en Linux/WSL) para mayor fiabilidad. Consulta Setting Up Your Environment para la configuración de la ruta de R.

Habilidades Relacionadas

  • setup-github-actions-ci - flujo de trabajo de despliegue automatizado de pkgdown
  • write-roxygen-docs - documentación de funciones que aparece en el sitio
  • write-vignette - artículos que aparecen en la navegación del sitio
  • release-package-version - activar la recompilación del sitio al publicar una versión

GitHub 仓库

pjt222/agent-almanac
路径: i18n/es/skills/build-pkgdown-site
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

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是理想选择。

查看技能