Zurück zu Fähigkeiten

build-pkgdown-site

pjt222
Aktualisiert Yesterday
4 Ansichten
17
2
17
Auf GitHub ansehen
Metadesign

Ü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

Empfohlen
Primär
npx skills add pjt222/agent-almanac -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativ
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/build-pkgdown-site

Kopieren 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

  1. Zu Repository-Einstellungen > Pages navigieren
  2. Quelle auf "Deploy from a branch" setzen
  3. Branch gh-pages und Ordner / (root) auswaehlen
  4. 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: release ist in _pkgdown.yml gesetzt

Haeufige Stolperfallen

  • 404-Fehler nach Bereitstellung: Fast immer verursacht durch development: mode: auto (den Standard). Zu mode: release wechseln.

  • 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.png ablegen und in _pkgdown.yml referenzieren.

  • Suche funktioniert nicht: Erfordert, dass das url-Feld in _pkgdown.yml korrekt gesetzt ist.

  • Falsches R-Binary auf Hybrid-Systemen: Unter WSL oder Docker kann Rscript einen plattformuebergreifenden Wrapper statt nativem R aufloesen. Mit which Rscript && Rscript --version pruefen. Das native R-Binary bevorzugen (z.B. /usr/local/bin/Rscript unter Linux/WSL) fuer Zuverlaessigkeit. Fuer die R-Pfadkonfiguration siehe Setting Up Your Environment.

Verwandte Skills

  • setup-github-actions-ci - automatisierter pkgdown-Bereitstellungs-Workflow
  • write-roxygen-docs - Funktionsdokumentation, die auf der Website erscheint
  • write-vignette - Artikel, die in der Website-Navigation erscheinen
  • release-package-version - Website-Neuerstellung bei Release ausloesen

GitHub Repository

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

Verwandte Skills

content-collections

Meta

Diese 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.

Skill ansehen

polymarket

Meta

Diese 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.

Skill ansehen

creating-opencode-plugins

Meta

Diese 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.

Skill ansehen

sglang

Meta

SGLang 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.

Skill ansehen