build-pkgdown-site
Über
Diese Fähigkeit unterstützt Entwickler beim Erstellen und Bereitstellen von pkgdown-Dokumentationswebsites für R-Pakete auf GitHub Pages. Sie behandelt die Konfiguration von _pkgdown.yml, die Anpassung von Themes und Navigation sowie die Verwaltung von Bereitstellungsmethoden. Nutzen Sie sie bei der Erstellung von Dokumentation für neue oder bestehende Pakete, zur Behebung von 404-Fehlern oder beim Wechsel zwischen branch-basierter Bereitstellung und GitHub Actions-Bereitstellung.
Schnellinstallation
Claude Code
Empfohlennpx 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-siteKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren
Dokumentation
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 Repository
Verwandte Skills
content-collections
MetaDiese Skill bietet eine produktionsgetestete Einrichtung für Content Collections – ein TypeScript-first-Tool, das Markdown/MDX-Dateien in typsichere Datensammlungen mit Zod-Validierung umwandelt. Verwenden Sie ihn beim Erstellen von Blogs, Dokumentationsseiten oder inhaltsstarken Vite + React-Anwendungen, um Typsicherheit und automatische Inhaltsvalidierung zu gewährleisten. Er behandelt alles von der Vite-Plugin-Konfiguration und MDX-Kompilierung bis hin zur Deployment-Optimierung und Schema-Validierung.
polymarket
MetaDiese Fähigkeit ermöglicht es Entwicklern, Anwendungen mit der Polymarket-Prognosemärkte-Plattform zu erstellen, einschließlich API-Integration für Handel und Marktdaten. Sie bietet außerdem Echtzeit-Datenstreaming über WebSocket, um Live-Trades und Marktaktivitäten zu überwachen. Nutzen Sie sie zur Implementierung von Handelsstrategien oder zur Erstellung von Tools, die Live-Marktaktualisierungen verarbeiten.
creating-opencode-plugins
MetaDiese Fähigkeit unterstützt Entwickler dabei, OpenCode-Plugins zu erstellen, die in über 25 Ereignistypen wie Befehle, Dateien und LSP-Operationen eingreifen. Sie bietet die Plugin-Struktur, Event-API-Spezifikationen und Implementierungsmuster für JavaScript/TypeScript-Module. Nutzen Sie sie, wenn Sie den Lebenszyklus des OpenCode KI-Assistenten mit benutzerdefinierter ereignisgesteuerter Logik abfangen, überwachen oder erweitern müssen.
sglang
MetaSGLang ist ein hochperformantes LLM-Serving-Framework, das sich auf schnelle, strukturierte Generierung für JSON, Regex und agentenbasierte Workflows unter Verwendung seines RadixAttention-Prefix-Cachings spezialisiert. Es bietet deutlich schnellere Inferenz, insbesondere für Aufgaben mit wiederholten Präfixen, was es ideal für komplexe, strukturierte Ausgaben und Mehrfachdialoge macht. Wählen Sie SGLang gegenüber Alternativen wie vLLM, wenn Sie constrained decoding benötigen oder Anwendungen mit umfangreicher Präfix-Weitergabe entwickeln.
