Dark-mode plot inversion doesn't cover layout-ncol/layout panel figures

Aperta Adatta ai principianti
#3,013 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
88/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
bootstrap, r, scss

Direzione di ricerca

Inizia in BS5/assets/pkgdown.scss e ispeziona il mixin invert-filter insieme ai selettori Quarto esistenti. Riproduci il problema con un articolo qmd che utilizzi layout-ncol, quindi attiva la modalità scura e verifica che le immagini dei grafici layout-panel vengano invertite come le normali figure dei chunk. Il lavoro è completato quando le figure layout-panel cambiano correttamente senza modificare la gestione degli altri grafici.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

pkgdown's Bootstrap 5 template auto-inverts rendered plot images in dark mode via the invert-filter mixin in BS5/assets/pkgdown.scss:

@mixin invert-filter {
  img.r-plt,                  // vignette figures
  pre .r-plt.img img,         // example figures
  .cell-output-display img,   // quarto figures
  .html-widget {
    filter: invert(100%) hue-rotate(180deg);
  }
}

This works for ordinary chunk output, but quarto's layout-ncol/layout cell option renders figures inside a different wrapper — <div class="cell quarto-layout-panel"> / <div class="quarto-layout-cell"> — instead of .cell-output-display. None of the selectors above match that wrapper, so images placed via layout-ncol stay light-mode-only while every other plot on the page switches with the theme.

It seems to me that this is an oversight, since the same stylesheet special-cases .quarto-layout-cell .html-widget elsewhere, so layout-ncol appears to be an anticipated case, but the invert-filter mixin itself was just never extended to match.

To reproduce, add this to any qmd article, pkgdown 2.2.1:

```{r}
#| layout-ncol: 2
plot(1:10)
plot(10:1)
```

Toggle the site's light-switch to dark mode: ordinary chunk figures elsewhere on the page invert correctly; these two do not.

Suggested fix:

Add the layout-panel selector to the mixin:

@mixin invert-filter {
  img.r-plt,
  pre .r-plt.img img,
  .cell-output-display img,
  .quarto-layout-panel img,   // <- add this one
  .html-widget {
    filter: invert(100%) hue-rotate(180deg);
  }
}

Happy to open a PR with this change if useful.

Lingua principale
R
Stelle
777
Fork
361
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di r-lib/pkgdown

Tutte le issue di r-lib/pkgdown

Issue simili

Altre issue su R

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.