brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
write-vignetteR-Paket-Vignetten mit R Markdown oder Quarto erstellen. Behandelt Vignetten-Einrichtung, YAML-Konfiguration, Code-Chunk-Optionen, Erstellen und Testen sowie CRAN-Anforderungen fuer Vignetten. Verwenden beim Hinzufuegen eines "Getting Started"-Tutorials, beim Dokumentieren komplexer Arbeitsablaeufe ueber mehrere Funktionen hinweg, beim Erstellen domaenenspez…
Independent GitHub snapshot · Automated classification · Original documentation governs
Ausfuehrliche Dokumentationsvignetten fuer R-Pakete erstellen.
usethis::use_vignette("getting-started", title = "Getting Started with packagename")
Erwartet: vignettes/getting-started.Rmd mit YAML-Frontmatter erstellt. knitr und rmarkdown zum Suggests-Feld in DESCRIPTION hinzugefuegt. Das Verzeichnis vignettes/ existiert.
Bei Fehler: Wenn usethis::use_vignette() fehlschlaegt, pruefen, ob das Arbeitsverzeichnis das Paketstammverzeichnis ist (enthaelt DESCRIPTION). Wenn knitr nicht installiert ist, zuerst install.packages("knitr") ausfuehren. Bei manueller Erstellung das Verzeichnis vignettes/ und die Datei von Hand anlegen und sicherstellen, dass das YAML-Frontmatter alle drei %\Vignette*-Eintraege enthaelt.
---
title: "Getting Started with packagename"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Getting Started with packagename}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
## Introduction
Brief overview of what the package does and who it's for.
## Installation
```r
install.packages("packagename")
library(packagename)
```
## Basic Usage
Walk through the primary workflow:
```r
# Load example data
data <- example_data()
# Process
result <- main_function(data, option = "default")
# Inspect
summary(result)
```
## Advanced Features
Cover optional or advanced functionality.
## Conclusion
Summarize and point to other vignettes or resources.
Erwartet: Die Vignetten-Rmd-Datei enthaelt die Abschnitte Introduction, Installation, Basic Usage, Advanced Features und Conclusion. Code-Beispiele verwenden die exportierten Funktionen des Pakets und liefern sichtbare Ausgaben.
Bei Fehler: Wenn Beispiele nicht ausfuehren, pruefen, ob das Paket mit devtools::install() installiert ist. Sicherstellen, dass Beispiele den Paketnamen in library()-Aufrufen verwenden (nicht devtools::load_all()). Fuer Funktionen, die externe Ressourcen benoetigen, eval=FALSE verwenden, um Code ohne Ausfuehrung anzuzeigen.
Chunk-Optionen fuer verschiedene Zwecke verwenden:
# Standard ausgewerteter Chunk
{r example-basic}
result <- compute_something(1:10)
result
# Code anzeigen, aber nicht ausfuehren (fuer illustrative Zwecke)
{r api-example, eval=FALSE}
connect_to_api(key = "your_key_here")
# Ausfuehren, aber Code verbergen (nur Ausgabe anzeigen)
{r hidden-setup, echo=FALSE}
library(packagename)
# Globale Optionen setzen
{r setup, include=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 5
)
Erwartet: Ein Setup-Chunk mit include=FALSE setzt globale Optionen (collapse, comment, fig.width, fig.height). Chunks sind angemessen konfiguriert: eval=FALSE fuer illustrativen Code, echo=FALSE fuer verstecktes Setup und Standard-Chunks fuer interaktive Beispiele.
Bei Fehler: Wenn Chunk-Optionen nicht wirksam werden, pruefen, ob die Syntax das Format {r chunk-name, option=value} verwendet (kommagetrennt, keine Anfuehrungszeichen um logische Werte). Sicherstellen, dass der Setup-Chunk zuerst laeuft, indem er am Anfang des Dokuments platziert wird.
Fuer Vignetten, die Netzwerkzugriff oder optionale Pakete benoetigen:
{r check-available, include=FALSE}
has_suggested <- requireNamespace("optionalpkg", quietly = TRUE)
{r use-suggested, eval=has_suggested}
optionalpkg::special_function()
Fuer zeitaufwendige Berechnungen Ergebnisse vorausberechnen und speichern:
# Save pre-computed results to vignettes/
saveRDS(expensive_result, "vignettes/precomputed.rds")
# Load in vignette
{r load-precomputed}
result <- readRDS("precomputed.rds")
Erwartet: Externe Abhaengigkeiten werden angemessen behandelt: Optionale Pakete werden bedingt mit requireNamespace() geladen, netzwerkabhaengiger Code verwendet eval=FALSE oder tryCatch(), und aufwendige Berechnungen verwenden vorberechnete .rds-Dateien.
Bei Fehler: Wenn die Vignette bei CRAN wegen nicht verfuegbarer optionaler Pakete fehlschlaegt, diese Abschnitte mit einer Bedingungsvariable umschliessen (z.B. eval=has_suggested). Bei vorberechneten Ergebnissen sicherstellen, dass die .rds-Datei im Verzeichnis vignettes/ enthalten ist und mit relativem Pfad referenziert wird.
# Build single vignette
devtools::build_vignettes()
# Build and check (catches vignette issues)
devtools::check()
Erwartet: Vignette baut ohne Fehler. HTML-Ausgabe ist lesbar.
Bei Fehler:
RSTUDIO_PANDOC in .Renviron setzendevtools::install() ausfuehrendevtools::check()
Vignetten-bezogene Pruefungen: Baut korrekt, dauert nicht zu lange, keine Fehler.
Erwartet: devtools::check() besteht ohne vignetten-bezogene Fehler oder Warnungen. Die Vignette baut innerhalb der CRAN-Zeitlimits (in der Regel unter 60 Sekunden).
Bei Fehler: Wenn die Vignette Pruefungsfehler verursacht, haeufige Korrekturen: fehlende Suggests-Pakete zu DESCRIPTION hinzufuegen, Bauzeit mit eval=FALSE bei langsamen Chunks reduzieren und sicherstellen, dass VignetteIndexEntry mit dem Titel uebereinstimmt. devtools::build_vignettes() separat ausfuehren, um vignetten-spezifische Fehler zu isolieren.
devtools::build_vignettes()devtools::check() besteht ohne Vignetten-Warnungenvignette(package = "pkg") sehen sollenvignette-YAML-Block: Alle drei %\Vignette*-Zeilen sind erforderlicheval=FALSE fuer aufwendige Operationen verwendenRSTUDIO_PANDOC gesetzt istlibrary(packagename) statt devtools::load_all() verwendenwrite-roxygen-docs - Funktionsdokumentation ergaenzt Vignetten-Tutorialsbuild-pkgdown-site - Vignetten erscheinen als Artikel auf der pkgdown-Websitesubmit-to-cran - CRAN hat spezifische Vignetten-Anforderungencreate-quarto-report - Quarto als Alternative zu R Markdown-Vignetten