244 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			244 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Quick Start - Markdown Viewer
 | 
						|
 | 
						|
## Installation rapide
 | 
						|
 | 
						|
Les composants sont déjà intégrés dans ObsiViewer. Aucune installation supplémentaire n'est nécessaire.
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
## Utilisation en 3 étapes
 | 
						|
 | 
						|
### 1. Importer le composant
 | 
						|
 | 
						|
```typescript
 | 
						|
import { MarkdownViewerComponent } from './components/markdown-viewer/markdown-viewer.component';
 | 
						|
 | 
						|
@Component({
 | 
						|
  selector: 'app-my-component',
 | 
						|
  standalone: true,
 | 
						|
  imports: [MarkdownViewerComponent]
 | 
						|
})
 | 
						|
export class MyComponent {}
 | 
						|
```
 | 
						|
 | 
						|
### 2. Ajouter dans le template
 | 
						|
 | 
						|
```html
 | 
						|
<app-markdown-viewer
 | 
						|
  [content]="markdownContent"
 | 
						|
  [allNotes]="notes">
 | 
						|
</app-markdown-viewer>
 | 
						|
```
 | 
						|
 | 
						|
### 3. Définir le contenu
 | 
						|
 | 
						|
```typescript
 | 
						|
export class MyComponent {
 | 
						|
  markdownContent = `
 | 
						|
# Mon Document
 | 
						|
 | 
						|
Ceci est un **document Markdown** avec du contenu *formaté*.
 | 
						|
 | 
						|
## Liste de tâches
 | 
						|
 | 
						|
- [x] Tâche complétée
 | 
						|
- [ ] Tâche en cours
 | 
						|
 | 
						|
## Code
 | 
						|
 | 
						|
\`\`\`typescript
 | 
						|
console.log('Hello World!');
 | 
						|
\`\`\`
 | 
						|
  `;
 | 
						|
  
 | 
						|
  notes: Note[] = [];
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
## Exemples rapides
 | 
						|
 | 
						|
### Exemple 1 : Viewer simple
 | 
						|
 | 
						|
```typescript
 | 
						|
@Component({
 | 
						|
  template: `
 | 
						|
    <app-markdown-viewer [content]="content"></app-markdown-viewer>
 | 
						|
  `
 | 
						|
})
 | 
						|
export class SimpleViewerComponent {
 | 
						|
  content = '# Hello World\n\nCeci est un test.';
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
### Exemple 2 : Avec fichier Excalidraw
 | 
						|
 | 
						|
```typescript
 | 
						|
@Component({
 | 
						|
  template: `
 | 
						|
    <app-markdown-viewer
 | 
						|
      [content]="content"
 | 
						|
      [filePath]="'drawing.excalidraw.md'">
 | 
						|
    </app-markdown-viewer>
 | 
						|
  `
 | 
						|
})
 | 
						|
export class ExcalidrawViewerComponent {
 | 
						|
  content = ''; // Contenu chargé depuis le fichier
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
### Exemple 3 : Smart File Viewer (détection automatique)
 | 
						|
 | 
						|
```typescript
 | 
						|
import { SmartFileViewerComponent } from './components/smart-file-viewer/smart-file-viewer.component';
 | 
						|
 | 
						|
@Component({
 | 
						|
  imports: [SmartFileViewerComponent],
 | 
						|
  template: `
 | 
						|
    <app-smart-file-viewer
 | 
						|
      [filePath]="file.path"
 | 
						|
      [content]="file.content">
 | 
						|
    </app-smart-file-viewer>
 | 
						|
  `
 | 
						|
})
 | 
						|
export class AutoViewerComponent {
 | 
						|
  file = {
 | 
						|
    path: 'document.md', // ou .excalidraw.md, .png, .pdf, etc.
 | 
						|
    content: '# Auto-detected content'
 | 
						|
  };
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
## Fonctionnalités essentielles
 | 
						|
 | 
						|
### Callouts
 | 
						|
 | 
						|
```markdown
 | 
						|
> [!NOTE]
 | 
						|
> Information importante
 | 
						|
 | 
						|
> [!WARNING]
 | 
						|
> Attention à ceci
 | 
						|
```
 | 
						|
 | 
						|
### Math
 | 
						|
 | 
						|
```markdown
 | 
						|
Inline: $E = mc^2$
 | 
						|
 | 
						|
Block:
 | 
						|
$$
 | 
						|
\int_{0}^{\infty} e^{-x^2} dx
 | 
						|
$$
 | 
						|
```
 | 
						|
 | 
						|
### Mermaid
 | 
						|
 | 
						|
```markdown
 | 
						|
\`\`\`mermaid
 | 
						|
graph LR
 | 
						|
    A --> B
 | 
						|
    B --> C
 | 
						|
\`\`\`
 | 
						|
```
 | 
						|
 | 
						|
### WikiLinks
 | 
						|
 | 
						|
```markdown
 | 
						|
[[Note Example]]
 | 
						|
[[Note Example#Section]]
 | 
						|
[[Note Example|Custom Alias]]
 | 
						|
```
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
## Tester rapidement
 | 
						|
 | 
						|
### Page de test intégrée
 | 
						|
 | 
						|
Accédez à `/markdown-playground` dans votre application pour tester toutes les fonctionnalités en temps réel.
 | 
						|
 | 
						|
### Exemple de contenu de test
 | 
						|
 | 
						|
Copiez ce contenu dans le playground :
 | 
						|
 | 
						|
```markdown
 | 
						|
# Test Markdown
 | 
						|
 | 
						|
## Formatage de base
 | 
						|
 | 
						|
**Gras**, *italique*, ~~barré~~, `code inline`
 | 
						|
 | 
						|
## Callout
 | 
						|
 | 
						|
> [!TIP]
 | 
						|
> Ceci est un conseil utile
 | 
						|
 | 
						|
## Code
 | 
						|
 | 
						|
\`\`\`typescript
 | 
						|
function test() {
 | 
						|
  console.log('Hello!');
 | 
						|
}
 | 
						|
\`\`\`
 | 
						|
 | 
						|
## Math
 | 
						|
 | 
						|
La formule $E = mc^2$ est célèbre.
 | 
						|
 | 
						|
## Tâches
 | 
						|
 | 
						|
- [x] Tâche 1
 | 
						|
- [ ] Tâche 2
 | 
						|
 | 
						|
## Mermaid
 | 
						|
 | 
						|
\`\`\`mermaid
 | 
						|
graph TD
 | 
						|
    A[Start] --> B[End]
 | 
						|
\`\`\`
 | 
						|
```
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
## Démarrage serveur de développement
 | 
						|
 | 
						|
```bash
 | 
						|
# Installer les dépendances
 | 
						|
npm install
 | 
						|
 | 
						|
# Démarrer le serveur
 | 
						|
npm run dev
 | 
						|
 | 
						|
# Ouvrir http://localhost:4200/markdown-playground
 | 
						|
```
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
## Prochaines étapes
 | 
						|
 | 
						|
1. ✅ Lire le [Guide complet](./MARKDOWN_VIEWER_GUIDE.md)
 | 
						|
2. ✅ Explorer les [exemples avancés](./MARKDOWN_VIEWER_GUIDE.md#exemples-avancés)
 | 
						|
3. ✅ Consulter l'[API Reference](./MARKDOWN_VIEWER_GUIDE.md#utilisation)
 | 
						|
4. ✅ Tester avec vos propres fichiers
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
## Support rapide
 | 
						|
 | 
						|
**Problème courant :** Le Markdown ne s'affiche pas
 | 
						|
- ✅ Vérifier que `content` n'est pas vide
 | 
						|
- ✅ Vérifier la console pour les erreurs
 | 
						|
- ✅ Vérifier que le composant est bien importé
 | 
						|
 | 
						|
**Problème courant :** Excalidraw ne s'affiche pas
 | 
						|
- ✅ Vérifier que `filePath` se termine par `.excalidraw.md`
 | 
						|
- ✅ Vérifier que le contenu contient un bloc `compressed-json`
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
**Besoin d'aide ?** Consultez la [documentation complète](./MARKDOWN_VIEWER_GUIDE.md)
 |