Rendu
Introduction
Ce guide fournit une vue d’ensemble de la façon d’optimiser les processus de rendu de vos documents en utilisant Quarto. Que vous travailliez avec des notebooks Jupyter ou des fichiers markdown Quarto, ce tutoriel améliorera votre productivité en vous apprenant ce qui suit:
- Prévisualisation des documents : Prévisualisez rapidement votre travail dans différents formats directement depuis le terminal.
- Rendu complet : Comprendre les différentes commandes de rendu pour générer des sorties HTML, PDF ou Docx.
- Paramétrage : Personnalisez les documents de manière dynamique en configurant et en utilisant des paramètres dans les environnements Python et R.
- Stratégies de mise en cache : Mettre en œuvre la mise en cache pour accélérer le processus de rendu et éviter les calculs redondants.
- Contrôles d’exécution : Utilisez les options d’exécution flexibles de Quarto pour gérer comment et quand votre code s’exécute.
Prévisualisation
Prévisualisation d’un document:
Terminal
# prévisualisation en html
quarto preview document.qmd
# prévisualisation en pdf
quarto preview document.qmd --to pdf
# Prévisualiser un Notebook Jupyter
quarto preview document.ipynb
Rendu
Rendre les documents dans différents formats en utilisant des commandes comme:
Terminal
# tous les formats spécifiés, le format par défaut est html
quarto render document.qmd
# Rendu en pdf ou docx
quarto render document.qmd --to pdf
quarto render document.qmd --to docx
Pour les notebooks Jupyter (.ipynb), utilisez: quarto render document.ipynb
Note : Pour les fichiers .ipynb
, utilisez --execute
pour exécuter les cellules pendant le rendu (si vous ne les avez pas déjà exécutées dans le notebook).
Terminal
quarto render notebook.ipynb --execute
Vous pouvez également spécifier ce comportement dans la page d’accueil YAML du Notebooks:
---
title: "Mes Notebooks"
execute:
enabled: true
---
Paramétrage
Configurer les paramètres pour créer différentes variantes d’un document en utilisant Jupyter ou Knitr:
- Dans Jupyter, Quarto adopte la syntaxe Papermill pour les paramètres.
- Marquer une cellule avec
parameters
et configurer des valeurs par défaut pour paramétrer un document.
```{python}
#| tags: [parameters]
alpha = 0.1
ratio = 0.1
```
Les paramètres sont disponibles dans l’environnement de haut niveau:
```{python}
alpha
```
Utiliser l’option YAML params
pour définir les paramètres:
---
params:
alpha: 0.1
ratio: 0.1
---
Les paramètres sont disponibles dans la liste params
:
```{r}
params$alpha
```
Effectuer le rendu avec différents paramètres en utilisant -P
for both .ipynb
and .qmd
:
quarto render document.ipynb -P alpha:0.2 -P ratio:0.3
Ou utiliser un fichier YAML pour les paramètres et --execute-params
:
quarto render document.qmd --execute-params params.yml
Mise en cache
Mettre en cache l’exécution du code pour accélérer le rendu et éviter de réexécuter du code inchangé.
Configurer
Le paramétrage dépend du moteur d’exécution que vous utilisez (Jupyter ou Knitr).
Installer Jupyter Cache:
- Mac/Linux
python3 -m pip install jupyter-cache
- Windows
py -m pip install jupyter-cache
Activer la mise en cache globalement dans YAML:
---
title: "Mon document"
format: html
execute:
cache: true
---
Ou au niveau du projet:
project:
type: website
format:
html:
theme: united
execute:
cache: true
Si vous le souhaitez, vous pouvez utiliser la ligne de commande jcache
pour gérer les caches des Notebooks. Voir la documentation Jupyter Cache.
Activer la mise en cache globalement dans YAML:
---
title: "Mon document"
format: html
execute:
cache: true
---
Ou individuellement par cellule:
```{r}
#| cache: true
summary(cars)
```
En savoir plus:
Rendu
Vous pouvez utiliser les options de ligne de commande quarto render
pour contrôler le comportement de la mise en cache sans changer le code du document.
Contrôler la mise en cache de quarto render
avec les options de la ligne de commande:
--cache
: Forcer la mise en cache de tous les blocs (même si elle n’est pas activée dans les options).--no-cache
: Désactiver la mise en cache pour tous les blocs (même si elle est activée dans les options).--cache-refresh
: Rafraîchir le cache pour tous les morceaux (même s’il n’a pas été invalidé).
Alternatives
Désactiver l’exécution
Pour le travail en prose/markdown, désactivez l’exécution du code avec:
execute:
enabled: false
Dans les notebooks Jupyter .ipynb
, le code ne s’exécute pas avec quarto render
par défaut.
Geler l’exécution
L’option freeze
empêche le re-rendu des documents lors d’un rendu complet du projet ou autorise le re-rendu uniquement lorsque leur source change.
# Ne jamais refaire le rendu pendant le rendu du projet
execute:
freeze: true
# Rendu uniquement lorsque la source change
execute:
freeze: auto
Freeze
affecte l’exécution pendant les rendus complets du projet. Pour les documents individuels ou les rendus de sous-répertoires, l’exécution du code est toujours effectuée.
Terminal
# Rendu d'un seul document (exécute toujours le code)
quarto render document.qmd
# Render project subdirectory (toujours exécuter le code)
quarto render articles