Astuces Markdown pour le jardin

XP
40%

Les bases

Le Markdown est le format idéal pour écrire dans un jardin numérique. Simple, portable, lisible en texte brut. Ces conventions sont celles utilisées dans Tordu Jardin.

Frontmatter

Chaque note commence par un bloc de métadonnées :

---
title: 'Ma note'
icon: 'emoji'
stage: seed | sprout | growing | evergreen # clés internes
tags: [tag1, tag2]
date: '2026-01-01'
xp: 25
---

Référence frontmatter : notes du jardin

Tous les champs disponibles pour les fichiers src/content/garden/*.md :

---
# Requis
title: 'Titre de la note' # string - affiché dans le header et les cartes
icon: 'icon-nom' # string - icône Lucide affichée sur la carte
stage: seed | sprout | growing | evergreen # enum - stade de maturité (clés internes, affichées en français)
tags: [tag1, tag2] # string[] - au moins 1 tag requis
date: '2026-01-01' # string ISO - date de création

# Optionnel
updated: '2026-03-14' # string ISO - dernière mise à jour
excerpt: 'Description courte' # string - affiché dans les cartes et le SEO
xp: 50 # number 0-100 - score de maturité
related: [slug-note-1, slug-note-2] # string[] - notes liées manuellement
---

Référence frontmatter : projets

Les fichiers src/content/projects/*.md utilisent un frontmatter plus riche :

---
# Requis
title: 'Nom du projet'
icon: 'icon-nom'
excerpt: 'Description courte'
date: '2026-01-01'
tags: [tag1, tag2]

# Stats du projet
stats:
  status: active | archived | paused
  started: '2025-06-01'
  commits: 342
  languages: [TypeScript, SCSS]

# Stack technique
stack: [Astro, Totem, Puppeteer, SCSS]

# Screenshots (chemins relatifs aux assets)
screenshots:
  - src: './screenshots/desktop-home.png'
    alt: 'Page accueil desktop'
  - src: './screenshots/mobile-detail.png'
    alt: 'Vue détail mobile'

# Architecture (bloc texte libre)
architecture: |
  Description de l’architecture technique du projet.

# Journal de bord
journal:
  - date: '2026-01-15'
    entry: 'Setup initial du projet'
  - date: '2026-02-01'
    entry: 'Intégration du design system'
---

Référence frontmatter : carnet

Les billets du carnet (src/content/carnet/*.md) sont plus légers :

---
title: 'Titre du billet'
date: '2026-03-10'
readingTime: 5 # number - minutes de lecture estimées
project: 'slug-du-projet' # string - lien vers un projet (optionnel)
tags: [réflexion, dev]
excerpt: 'Aperçu du billet'
---

Astuces Astro pour le contenu

Composants dans le Markdown

Avec MDX, on peut injecter des composants Astro directement dans le contenu :

import XpBar from '../../components/XpBar.astro';

## Ma section

Voici une barre d’XP en live :

<XpBar value={65} />

Pour activer MDX, installer @astrojs/mdx et renommer le fichier en .mdx.

Importer des données dans le contenu

Astro permet d’importer du JSON ou des modules dans les pages :

---
import { getCollection } from 'astro:content';
const allNotes = await getCollection('garden');
const totalXp = allNotes.reduce((sum, n) => sum + (n.data.xp || 0), 0);
---

<p>XP total du jardin : {totalXp}</p>

À explorer

  • Liens bidirectionnels entre notes
  • Support des diagrammes Mermaid
  • Transclusion de contenu