WASM Playground¶
Essayez vLaTeX dans votre navigateur¶
Le moteur de conversion vLaTeX est compilé en WebAssembly (WASM) et peut tourner directement dans votre navigateur, sans installation.
Ouvrir le Playground en plein écran
Comment ça marche¶
- Rust → WASM : Le crate
vlatexest compilé en WebAssembly viawasm-pack - Pas de serveur : Toute la conversion tourne dans le navigateur
- Pas de dépendances : Pas besoin de Podman, TeX Live, ou pandoc
Technologies¶
wasm-bindgen— Glue Rust ↔ JavaScriptwasm-pack— Build toolchainweb-sys— APIs navigateur
Construire le WASM¶
Prérequis¶
# Installer wasm-pack
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
# Installer le target wasm32
rustup target add wasm32-unknown-unknown
Build¶
Ceci génère :
Intégration¶
<!DOCTYPE html>
<html>
<head>
<title>vLaTeX WASM</title>
</head>
<body>
<textarea id="input"># Mon Document
$$E = mc^2$$</textarea>
<button id="convert">Convertir</button>
<pre id="output"></pre>
<script type="module">
import init, { convert } from './pkg/vlatex.js';
async function run() {
await init();
document.getElementById('convert').onclick = () => {
const md = document.getElementById('input').value;
const latex = convert(md, 'document.md', '.', '{}');
document.getElementById('output').textContent = latex;
};
}
run();
</script>
</body>
</html>
API WASM¶
Fonctions exportées¶
#[wasm_bindgen]
pub fn convert(
content: &str,
input_path: &str,
vault_root: &str,
config_json: &str,
) -> String
| Paramètre | Type | Description |
|---|---|---|
content |
&str |
Contenu markdown |
input_path |
&str |
Chemin du fichier source |
vault_root |
&str |
Racine du vault |
config_json |
&str |
Configuration au format JSON |
Retour¶
Le LaTeX généré en string.
Limitations du WASM¶
| Fonctionnalité | WASM | Desktop |
|---|---|---|
| Conversion markdown → LaTeX | ✅ | ✅ |
Résolution embeds ![[Note]] |
❌ (pas d'accès filesystem) | ✅ |
| Compilation PDF | ❌ (pas de podman) | ✅ |
| Compilation DOCX | ❌ (pas de pandoc) | ✅ |
| Mermaid → PNG | ❌ (pas de mmdc) | ✅ |
| Images HTTP | ❌ (CORS) | ✅ |
WASM = conversion uniquement
Le WASM supporte uniquement la conversion markdown → LaTeX. La compilation PDF/DOCX nécessite le binaire desktop.
Playground intégré¶
Le playground WASM est accessible sur GitHub Pages :
Il permet de : 1. Coller du markdown 2. Cliquer "Convertir" 3. Voir le LaTeX généré 4. Copier le résultat