Structure du projet
Structure globale
Docus v4 est un layer Nuxt qui étend votre application Nuxt standard avec des fonctionnalités de documentation. Cela vous donne la flexibilité d'un projet Nuxt classique.
Lorsque vous créez un nouveau projet Docus avec npx create-docus my-docs, voici la structure de base:
my-docs/
├── content/ # Votre contenu markdown
│ ├── index.md # Page d'accueil
│ └── docs/ # Pages de documentation
├── public/ # Ressources statiques
└── package.json # Dépendances et scripts
Vous pouvez toujours utiliser n'importe quelle fonctionnalité ou fichier d'un projet Nuxt classique :
my-docs/
├── app.config.ts # Configuration de l'application
├── nuxt.config.ts # Configuration Nuxt (ajouter des modules, composants, etc.)
├── app/ # Répertoire app
│ ├── components/ # Composants (ajoutez vos propres composants)
│ ├── layouts/ # Layouts (ajoutez vos propres layouts)
│ └── pages/ # Pages (ajoutez vos propres pages)
└── server/ # Code côté serveur (ajoutez votre propre code côté serveur)
Répertoire content/
C'est ici que vous rédigez vos pages en Markdown. Docus génère automatiquement les routes basées sur votre structure de fichiers.
Structure monolingue :
content/
├── index.md
├── getting-started.md
└── guide/
├── introduction.md
└── configuration.md
Structure multilingue (avec i18n) :
content/
├── en/
│ ├── index.md
│ └── guide/
│ └── introduction.md
└── fr/
├── index.md
└── guide/
└── introduction.md
Répertoire public/
Les fichiers contenus dans le répertoire public/ sont servis à la racine et ne sont pas modifiés par le processus de build. C'est ici que vous pouvez placer vos images, icônes et autres ressources statiques.
package.json
Ce fichier contient toutes les dépendances et scripts de votre application. Le package.json d'une application Docus est vraiment minimal et ressemble à :
{
"name": "my-docs",
"scripts": {
"build": "nuxt build --extend docus",
"dev": "nuxt dev --extend docus",
},
"dependencies": {
"docus": "latest",
"better-sqlite3": "^12.2.0",
"nuxt": "^4.0.0"
}
}
nuxt.config.ts
Ce fichier n'est pas obligatoire pour démarrer une application Docus.
Vous pouvez ajouter des modules supplémentaires à votre fichier de configuration Nuxt :
export default defineNuxtConfig({
extends: ['@nuxtjs/plausible']
})
app.config.ts
Ce fichier n'est pas obligatoire pour démarrer une application Docus.
C'est ici que vous pouvez configurer Docus pour l'adapter à votre marque, gérer le SEO et adapter les liens et réseaux sociaux.
Structure complète d'un projet Nuxt
Puisque Docus v4 est un layer Nuxt, vous pouvez utiliser n'importe quelle fonctionnalité d'un projet Nuxt standard :
my-docs/
├── app/ # Répertoire app (optionnel)
│ ├── components/ # Composants Vue personnalisés
│ ├── layouts/ # Layouts personnalisés
│ ├── pages/ # Pages Vue personnalisées (en dehors du contenu)
│ ├── composables/ # Composables Vue
│ └── middleware/ # Middleware de route
├── server/ # Code côté serveur
│ └── api/ # Routes API
├── plugins/ # Plugins Nuxt
├── middleware/ # Middleware global
└── modules/ # Modules Nuxt personnalisés