4.7 KiB
4.7 KiB
Commandes Tauri
Le backend Rust expose 8 commandes au frontend, enregistrées dans lib.rs via
generate_handler![]. Le frontend les appelle avec
window.__TAURI__.core.invoke('<nom>', { <args> }).
Cette page sert de référence : signature, arguments, valeur de retour et comportement de chaque commande.
Rendu Markdown
render_markdown
render_markdown(content: String) -> String
- Args :
content— Markdown brut. - Retour : HTML.
- Comportement : rendu via
ComrakPreviewRenderer(sans extensions, aperçu rapide). - Frontend :
services/markdown.js.
convert_file
convert_file(path: String) -> Result<String, String>
- Args :
path— chemin absolu d'un fichier.md. - Retour :
Ok(html)ouErr(message). - Comportement : lit le fichier puis le rend via
ComrakRenderer(toutes les extensions activées : tables, strikethrough, autolink, tasklist + coloration syntaxique). - Frontend :
services/markdown.js. C'est la commande utilisée pour afficher un document dans le lecteur.
get_syntax_highlight_css
get_syntax_highlight_css() -> String
- Args : aucun.
- Retour : feuille CSS de coloration syntaxique.
- Comportement : génère le CSS du thème
syntectbase16-ocean.dark.
Fichiers
list_md_files
list_md_files(dir: String) -> Result<Vec<String>, String>
- Args :
dir— chemin d'un répertoire. - Retour :
Ok([chemins…])(triés alphabétiquement) ouErr(message). - Comportement : parcourt le répertoire récursivement, ignore les fichiers/dossiers
cachés (commençant par
.), ne retient que les.md. - Frontend :
services/files.js.
Surveillance de fichiers (watch)
Ces commandes sont implémentées et fonctionnelles côté backend, mais l'interface ne les appelle pas encore. Le rechargement automatique n'est donc pas actif. Voir Fonctionnalités.
start_watch
start_watch(path: String) -> Result<(), String>
- Args :
path— fichier ou répertoire à surveiller. - Comportement :
- arrête le watcher précédent (un seul actif à la fois, stocké dans
WatcherState) ; - surveille en mode récursif si
pathest un répertoire, non récursif si c'est un fichier ; - lance une boucle de débounce de 80 ms qui ne retient que les fichiers
.mdnon cachés, et émet l'événement Taurifile-changedavec un payload{ path }.
- arrête le watcher précédent (un seul actif à la fois, stocké dans
- Frontend :
services/watcher.js(startWatch).
stop_watch
stop_watch() -> ()
- Comportement : arrête le watcher actif (le supprime de
WatcherState, ce qui termine le thread de surveillance). - Frontend :
services/watcher.js(stopWatch).
Événement file-changed
- Émis par le backend pendant la surveillance.
- Payload :
{ path: String }— chemin du fichier modifié. - Écoutable côté frontend via
window.__TAURI__.event.listen('file-changed', callback)(onFileChanged). - Consommation :
router.jsenregistre le listener au démarrage (initWatcher) et, à chaque événement, recharge le document affiché s'il correspond au chemin modifié et rafraîchit la sidebar si l'arborescence.mddu dossier surveillé a changé. La surveillance est démarrée dansopenPath(viastartWatch) et arrêtée dansshowHome(viastopWatch).
Thèmes
list_themes
list_themes() -> Vec<ThemeDto> // ThemeDto { id: String, label: String }
- Args : aucun.
- Retour : les 6 thèmes (
default,dark,sepia,large-text,emerald,shell-indigo) avec leur libellé. - Frontend :
services/themes.js.
get_theme_css
get_theme_css(id: String) -> Option<String>
- Args :
id— identifiant du thème. - Retour : le CSS du thème (
Some) ouNonesi l'identifiant est inconnu. - Comportement : le CSS est intégré au binaire (
include_str!surresources/themes/<id>.css). - Frontend :
services/themes.js.
Récapitulatif
| Commande | Signature | Retour |
|---|---|---|
render_markdown |
(content: String) |
String |
convert_file |
(path: String) |
Result<String, String> |
get_syntax_highlight_css |
() |
String |
list_md_files |
(dir: String) |
Result<Vec<String>, String> |
start_watch |
(path: String) |
Result<(), String> |
stop_watch |
() |
() |
list_themes |
() |
Vec<ThemeDto> |
get_theme_css |
(id: String) |
Option<String> |