MCP HubMCP Hub
Retour aux compétences

build-pkgdown-site

pjt222
Mis à jour 2 days ago
6 vues
17
2
17
Voir sur GitHub
Métadesign

À propos

Cette compétence construit et déploie des sites de documentation pkgdown pour les packages R sur GitHub Pages. Elle aide les développeurs à configurer la mise en page, les thèmes, la navigation et les articles via `_pkgdown.yml`. Utilisez-la lors de la création de nouveaux sites de documentation, de la personnalisation de sites existants, de la résolution d'erreurs de déploiement ou de la migration des méthodes de déploiement.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add pjt222/agent-almanac -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternatif
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/build-pkgdown-site

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

pkgdownサイトのビルド

Rパッケージのpkgdownドキュメントウェブサイトを設定してデプロイする。

使用タイミング

  • RパッケージのドキュメントサイトをGitHub Pagesに作成する時
  • pkgdownのレイアウト、テーマ、またはナビゲーションをカスタマイズする時
  • デプロイ済みpkgdownサイトの404エラーを修正する時
  • デプロイ方法を移行する時

入力

  • 必須: roxygen2ドキュメントを持つRパッケージ
  • 必須: GitHubリポジトリ
  • 任意: カスタムテーマまたはブランディング
  • 任意: 記事として含めるビネット

手順

ステップ1: pkgdownの初期化

usethis::use_pkgdown()

これにより_pkgdown.ymlが作成され、pkgdownが.Rbuildignoreに追加される。

期待結果: _pkgdown.ymlがプロジェクトルートに存在する。.Rbuildignoreにpkgdown関連のエントリが含まれる。

失敗時: install.packages("pkgdown")でpkgdownをインストールする。_pkgdown.ymlが既に存在する場合、関数は設定を上書きせずに.Rbuildignoreを更新する。

ステップ2: _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でURLに/dev/が付加されて404エラーを引き起こす。

期待結果: _pkgdown.ymlがパッケージに適したurltemplatenavbarreferencearticlesセクションを含む有効なYAMLを持つ。

失敗時: オンラインYAMLリンターでYAML構文を検証する。reference.contentsのすべての関数名が実際にエクスポートされた関数と一致しているか確認する。

ステップ3: ローカルでのビルド

pkgdown::build_site()

期待結果: docs/ディレクトリがindex.html、関数リファレンスページ、記事を含む完全なサイトで作成される。

失敗時: 一般的な問題:pandocの欠如(.RenvironRSTUDIO_PANDOCを設定)、ビネット依存関係の欠如(推奨パッケージをインストール)、または壊れた例(修正するか\dontrun{}で囲む)。

ステップ4: サイトのプレビュー

pkgdown::preview_site()

ナビゲーション、関数リファレンス、記事、検索が正しく機能しているか確認する。

期待結果: サイトがlocalhostのブラウザで開く。すべてのナビゲーションリンクが機能し、関数リファレンスページがレンダリングされ、検索が結果を返す。

失敗時: プレビューが開かない場合、ブラウザでdocs/index.htmlを手動で開く。ページが欠如している場合、サイトをビルドする前にdevtools::document()が実行されたか確認する。

ステップ5: GitHub Pagesへのデプロイ

方法A: GitHub Actions(推奨)

pkgdownワークフローについてはsetup-github-actions-ciスキルを参照する。

方法B: 手動ブランチデプロイ

# サイトをビルド
Rscript -e "pkgdown::build_site()"

# gh-pagesブランチが存在しない場合は作成
git checkout --orphan gh-pages
git rm -rf .
cp -r docs/* .
git add .
git commit -m "Deploy pkgdown site"
git push origin gh-pages

# mainに戻る
git checkout main

期待結果: gh-pagesブランチがリモートにルートレベルのサイトファイルとともに存在する。

失敗時: プッシュが拒否される場合、リポジトリへの書き込みアクセスがあることを確認する。GitHub Actionsデプロイを使用する場合は、このステップをスキップしてsetup-github-actions-ciスキルに従う。

ステップ6: GitHub Pagesの設定

  1. リポジトリの設定 > Pagesに移動する
  2. ソースを「Deploy from a branch」に設定する
  3. gh-pagesブランチ、/ (root)フォルダを選択する
  4. 保存する

期待結果: 数分以内にhttps://username.github.io/packagename/でサイトが利用可能になる。

失敗時: サイトが404を返す場合、PagesのソースがデプロイメソッドにマッチしていることRを確認する(ブランチデプロイには「Deploy from a branch」が必要)。_pkgdown.ymldevelopment: mode: releaseが設定されているか確認する。

ステップ7: DESCRIPTIONへのURLの追加

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

期待結果: DESCRIPTIONのURLフィールドにpkgdownサイトURLとGitHubリポジトリURLの両方がカンマで区切られて含まれる。

失敗時: R CMD checkが無効なURLを警告する場合、URLを追加する前にpkgdownサイトが実際にデプロイされてアクセス可能であることを確認する。

バリデーション

  • サイトがエラーなくローカルでビルドされる
  • すべての関数リファレンスページが正しくレンダリングされる
  • 記事/ビネットがアクセス可能で正しくレンダリングされる
  • 検索機能が動作する
  • ナビゲーションリンクが正しい
  • サイトがGitHub Pagesに正常にデプロイされる
  • デプロイ済みサイトに404エラーがない
  • _pkgdown.ymldevelopment: mode: releaseが設定されている

よくある落とし穴

  • デプロイ後の404エラー: ほぼ常にdevelopment: mode: auto(デフォルト)が原因。mode: releaseに変更する

  • リファレンスページの欠如: 関数はエクスポートされてドキュメント化されていなければならない。最初にdevtools::document()を実行する

  • 壊れたビネットリンク: 相互参照にはファイルパスではなくvignette("name")構文を使用する

  • ロゴが表示されない: ロゴをman/figures/logo.pngに配置して_pkgdown.ymlで参照する

  • 検索が機能しない: _pkgdown.ymlurlフィールドが正しく設定されていることが必要

  • ハイブリッドシステムでの誤った R バイナリ:WSL や Docker では、Rscript がネイティブ R の代わりにクロスプラットフォームラッパーに解決される場合があります。which Rscript && Rscript --version で確認してください。信頼性のために、ネイティブ R バイナリ(例:Linux/WSL では /usr/local/bin/Rscript)を優先してください。R パス設定については Setting Up Your Environment を参照してください。

関連スキル

  • setup-github-actions-ci - 自動pkgdownデプロイワークフロー
  • write-roxygen-docs - サイトに表示される関数ドキュメント
  • write-vignette - サイトナビゲーションに表示される記事
  • release-package-version - リリース時にサイトの再ビルドをトリガーする

Dépôt GitHub

pjt222/agent-almanac
Chemin: i18n/ja/skills/build-pkgdown-site
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Compétences associées

content-collections

Méta

Cette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.

Voir la compétence

polymarket

Méta

Cette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.

Voir la compétence

creating-opencode-plugins

Méta

Cette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.

Voir la compétence

sglang

Méta

SGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.

Voir la compétence