Aller au contenu

Run (macro)

Cette macro est l'équivalent d'un {{ py_btn(..., AUTO_RUN=True) }}, mais sans le bouton visible dans la page.

Elle peut s'avérer utile pour initialiser une animation p5 au chargement de la page, créer un graphique, ...

Exemple#

Code markdown

{{ figure(
    admo_title="Animation est lancée au chargement de la page...",
    inner_text="...et qui apparaît une fois l'environnement pyodide lancé.",
) }}

{{ run("run_p5") }}

Fichier run_p5.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# --- PYODIDE:env --- #
import p5

def setup():
    p5.createCanvas(200,200)
    p5.background(50)

def draw():
    p5.circle(p5.mouseX, p5.mouseY, 50)

p5.run(setup, draw, target="figure1")

Animation est lancée au chargement de la page...

...et qui apparaît une fois l'environnement pyodide lancé.

2e appel à run sur un fichier et une div différents

Votre tracé sera ici

Signature#

{{ run(
    py_name:  str = '',
    *,
    ID:  None|int = None,
    SHOW:     str = '',
    MERMAID: bool = False,
) }}

Arguments#

  • Tous les arguments sont optionnels.
  • À part pour le premier, déclarer les arguments en précisant leur nom (donc sous forme d'arguments nommés).


Argument Type/défaut Rôle
py_name '' Chemin relatif vers le fichier python (sans extension) à exécuter au chargement de la page (section env uniquement).
(plus d'informations)
ID int À utiliser pour différencier deux appels de macros différents, dans le cas où vous tomberiez sur une collision d'id (très improbable, car des hachages sont utilisés. Cet argument ne devrait normalement pas être nécessaire pour cette macro).
(plus d'informations)
SHOW '' Affiche des données sur l'appel de macro dans le terminal, durant le mkdocs serve :
  • '': Ne fait rien (défaut).
  • 'args': Affiche tous les arguments de l'appel de macro.
  • 'python': Affiche les contenus des sections, telles que vues par PMT.
  • 'all': Combine 'args' et 'python'.

(plus d'informations)
MERMAID False Signale qu'un rendu de graphe mermaid sera attendu à un moment ou un autre des exécutions.
Nota : l'extension markdown pymdownx.superfences doit être configurée pour accepter les blocs de code mermaid. Voir la configuration par défaut du mkdocs.yml via les scripts du thème, par exemple avec : python -m pyodide_mkdocs_theme --yml.
(plus d'informations)


Modifier les valeurs par défaut des arguments

La configuration du plugin pyodide_macros comporte, outre les réglages du plugin lui-même, les valeurs par défaut pour la quasi totalité des macros proposées par le thème.

Ces réglages peuvent être modifiés de différentes façons pour affecter un fichier, un dossier ou une hiérarchie de dossiers :

  1. Via le fichier mkdocs.yml du thème, bien sûr (dans la section plugins.pyodide_macros).
  2. Via des fichiers .meta.pmt.yml, qui peuvent être placés n'importe où dans la hiérarchie de la documentation et qui affectent tous les fichiers "descendants".
  3. Via les métadonnées placées dans les entêtes des pages markdown elles-mêmes.
  • Voir la page des IDEs concernant la structure des fichiers associés à l'argument py_name.

  • Seules les sections env et ignore de ces fichiers peuvent être utilisées avec la macro run. Il est rappelé que la section env est exécutée en mode async, ce qui permet plus de souplesse.

  • Si une autre section ou des fichiers {exo}_REM.md ou {exo}_VIS_REM.md sont trouvés, une erreur est levée.