Documentation du thème Mkdocs DSFR

Le composant mkdocs-dsfr est un thème pour Mkdocs permettant de créer une documentation conforme au DSFR, le système de design de l'Etat.

Avertissement

Ce thème est uniquement destiné à être utilisé pour les sites et applications officiels des services publics français. Son objectif principal est de faciliter l'identification des sites gouvernementaux pour les citoyens.

Prérequis

  • Python 3.10 ou supérieur
  • (Facultatif mais recommandé) : uv pour la gestion des paquets Python. Vous pouvez néanmoins utiliser pip si vous le souhaitez. Le guide de démarrage rapide ci-dessous utilise uv.

Démarrage rapide

Pour expérimenter rapidement mkdocs avec le DSFR, vous pouvez cloner le projet d'exemple, construit avec uv, un gestionnaire de paquets Python moderne et rapide.

Installation avec uv

  • Initialiser un nouveau projet avec uv
mkdir ma-doc-dsfr
cd ma-doc-dsfr
uv init
  • Installer la dépendance mkdocs-dsfr. Cette dépendance installera sur votre projet Mkdocs lui-même et toutes les dépendances nécessaires.
uv add mkdocs-dsfr
  • (Recommandé) Installer le plugin Open in a new tab afin de détecter les liens externes et de les ouvrir dans un nouvel onglet, avec une icône reconnaisable.
uv add mkdocs-open-in-new-tab
  • Modifier le fichier mkdocs.yml pour utiliser le thème dsfr. Ajouter les lignes suivantes en fin de fichier.
theme:
  name: dsfr
  locale: fr

plugins:
  - search:
      lang: fr
  - open-in-new-tab

markdown_extensions:
  - dsfr_structure.extension.all_extensions
  - pymdownx.snippets
  - pymdownx.highlight:
      use_pygments: true
  - pymdownx.emoji:
    options:
      attributes:
        align: absmiddle
        height: 20px
        width: 20px
  - pymdownx.superfences
  - toc:
      permalink: false
      toc_depth: 2
  - attr_list
  - def_list
  - tables

La directive theme permet de spécifier le thème à utiliser. Dans ce cas, nous utilisons le thème dsfr. L'option locale permet de définir la langue de la documentation. C'est utile pour l'accessibilité de la page et le fonctionnement de certains plugins. Dans ce cas, nous utilisons le français (fr).

La directive plugins permet d'ajouter des plugins supplémentaires à Mkdocs. Dans ce cas, nous ajoutons le plugin search pour la recherche dans la documentation.

Enfin, la directive markdown_extensions permet d'ajouter des extensions Markdown supplémentaires. Dans ce cas, nous ajoutons plusieurs extensions pour améliorer la syntaxe Markdown et profiter pleinement du thème DSFR.

  • Lancer Mkdocs en mode développement. Ce mode permet de visualiser la documentation générée en temps réel.
uv run mkdocs serve
  • Pour construire la documentation, utilisez la commande suivante :
uv run mkdocs build

La documentation est alors créée dans le dossier site de votre projet. Félicitations, vous avez créé votre première documentation avec le thème DSFR ! Dans la section suivante, nous allons explorer les différentes options de configuration disponibles pour personnaliser votre documentation.


Paramètres d’affichage

Choisissez un thème pour personnaliser l’apparence du site.