build-pkgdown-site
について
このスキルは、開発者がRパッケージ用のpkgdownドキュメントウェブサイトを構築し、GitHub Pagesにデプロイするのを支援します。_pkgdown.ymlの設定、テーマとナビゲーションのカスタマイズ、デプロイ方法の管理について説明しています。新規または既存パッケージのドキュメント作成、404エラーの修正、ブランチベースとGitHub Actionsデプロイメントの切り替えを行う際にご利用ください。
クイックインストール
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-Website bauen
Eine pkgdown-Dokumentationswebsite fuer ein R-Paket konfigurieren und bereitstellen.
Wann verwenden
- Eine Dokumentationswebsite fuer ein R-Paket erstellen
- pkgdown-Layout, Thema oder Navigation anpassen
- 404-Fehler auf einer bereitgestellten pkgdown-Website beheben
- Zwischen Bereitstellungsmethoden wechseln
Eingaben
- Erforderlich: R-Paket mit roxygen2-Dokumentation
- Erforderlich: GitHub-Repository
- Optional: Benutzerdefiniertes Thema oder Branding
- Optional: Als Artikel einzuschliessende Vignetten
Vorgehensweise
Schritt 1: pkgdown initialisieren
usethis::use_pkgdown()
Erstellt _pkgdown.yml und fuegt pkgdown zu .Rbuildignore hinzu.
Erwartet: _pkgdown.yml existiert im Projektstammverzeichnis. .Rbuildignore enthaelt pkgdown-bezogene Eintraege.
Bei Fehler: pkgdown mit install.packages("pkgdown") installieren. Wenn _pkgdown.yml bereits existiert, aktualisiert die Funktion .Rbuildignore, ohne die Konfiguration zu ueberschreiben.
Schritt 2: _pkgdown.yml konfigurieren
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
Kritisch: development: mode: release setzen. Der Standard mode: auto verursacht 404-Fehler auf GitHub Pages, da /dev/ an URLs angehaengt wird.
Erwartet: _pkgdown.yml enthaelt gueltiges YAML mit den Abschnitten url, template, navbar, reference und articles, die zum Paket passen.
Bei Fehler: YAML-Syntax mit einem Online-YAML-Linter validieren. Sicherstellen, dass alle Funktionsnamen in reference.contents mit tatsaechlich exportierten Funktionen uebereinstimmen.
Schritt 3: Lokal bauen
pkgdown::build_site()
Erwartet: Verzeichnis docs/ mit einer vollstaendigen Website erstellt, einschliesslich index.html, Funktionsreferenzseiten und Artikeln.
Bei Fehler: Haeufige Probleme: fehlendes pandoc (RSTUDIO_PANDOC in .Renviron setzen), fehlende Vignetten-Abhaengigkeiten (vorgeschlagene Pakete installieren) oder fehlerhafte Beispiele (beheben oder in \dontrun{} einschliessen).
Schritt 4: Website voranschauen
pkgdown::preview_site()
Navigation, Funktionsreferenz, Artikel und Suche auf korrekte Funktion pruefen.
Erwartet: Website oeffnet sich im Browser unter localhost. Alle Navigationslinks funktionieren, Funktionsreferenzseiten werden angezeigt und die Suche liefert Ergebnisse.
Bei Fehler: Wenn die Vorschau sich nicht oeffnet, docs/index.html manuell im Browser oeffnen. Wenn Seiten fehlen, pruefen, ob devtools::document() vor dem Bauen der Website ausgefuehrt wurde.
Schritt 5: Auf GitHub Pages bereitstellen
Methode A: GitHub Actions (empfohlen)
Siehe Skill setup-github-actions-ci fuer den pkgdown-Workflow.
Methode B: Manuelle Branch-Bereitstellung
# Website bauen
Rscript -e "pkgdown::build_site()"
# gh-pages-Branch erstellen, falls er nicht existiert
git checkout --orphan gh-pages
git rm -rf .
cp -r docs/* .
git add .
git commit -m "Deploy pkgdown site"
git push origin gh-pages
# Zurueck zu main wechseln
git checkout main
Erwartet: Der gh-pages-Branch existiert auf dem Remote mit den Website-Dateien auf der Root-Ebene.
Bei Fehler: Wenn der Push abgelehnt wird, sicherstellen, dass Schreibzugriff auf das Repository besteht. Wenn stattdessen GitHub Actions-Bereitstellung verwendet wird, diesen Schritt ueberspringen und dem Skill setup-github-actions-ci folgen.
Schritt 6: GitHub Pages konfigurieren
- Zu Repository-Einstellungen > Pages navigieren
- Quelle auf "Deploy from a branch" setzen
- Branch
gh-pagesund Ordner/ (root)auswaehlen - Speichern
Erwartet: Website unter https://username.github.io/packagename/ innerhalb weniger Minuten verfuegbar.
Bei Fehler: Wenn die Website 404 zurueckgibt, pruefen, ob die Pages-Quelle zur Bereitstellungsmethode passt (Branch-Bereitstellung erfordert "Deploy from a branch"). Pruefen, ob development: mode: release in _pkgdown.yml gesetzt ist.
Schritt 7: URL zu DESCRIPTION hinzufuegen
URL: https://username.github.io/packagename/, https://github.com/username/packagename
Erwartet: Das URL-Feld in DESCRIPTION enthaelt sowohl die pkgdown-Website-URL als auch die GitHub-Repository-URL, durch ein Komma getrennt.
Bei Fehler: Wenn R CMD check vor ungueltigen URLs warnt, sicherstellen, dass die pkgdown-Website tatsaechlich bereitgestellt und erreichbar ist, bevor die URL hinzugefuegt wird.
Validierung
- Website baut lokal ohne Fehler
- Alle Funktionsreferenzseiten werden korrekt angezeigt
- Artikel/Vignetten sind zugaenglich und werden korrekt angezeigt
- Suchfunktion funktioniert
- Navigationslinks sind korrekt
- Website wird erfolgreich auf GitHub Pages bereitgestellt
- Keine 404-Fehler auf der bereitgestellten Website
-
development: mode: releaseist in_pkgdown.ymlgesetzt
Haeufige Stolperfallen
-
404-Fehler nach Bereitstellung: Fast immer verursacht durch
development: mode: auto(den Standard). Zumode: releasewechseln. -
Fehlende Referenzseiten: Funktionen muessen exportiert und dokumentiert sein. Zuerst
devtools::document()ausfuehren. -
Defekte Vignetten-Links: Syntax
vignette("name")fuer Querverweise verwenden, keine Dateipfade. -
Logo wird nicht angezeigt: Logo unter
man/figures/logo.pngablegen und in_pkgdown.ymlreferenzieren. -
Suche funktioniert nicht: Erfordert, dass das
url-Feld in_pkgdown.ymlkorrekt gesetzt ist. -
Falsches R-Binary auf Hybrid-Systemen: Unter WSL oder Docker kann
Rscripteinen plattformuebergreifenden Wrapper statt nativem R aufloesen. Mitwhich Rscript && Rscript --versionpruefen. Das native R-Binary bevorzugen (z.B./usr/local/bin/Rscriptunter Linux/WSL) fuer Zuverlaessigkeit. Fuer die R-Pfadkonfiguration siehe Setting Up Your Environment.
Verwandte Skills
setup-github-actions-ci- automatisierter pkgdown-Bereitstellungs-Workflowwrite-roxygen-docs- Funktionsdokumentation, die auf der Website erscheintwrite-vignette- Artikel, die in der Website-Navigation erscheinenrelease-package-version- Website-Neuerstellung bei Release ausloesen
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
