Files
portfolio-generator-app/nuxt.config.ts
Valentin Le Moign 59dfbe4155 Générateur de portfolios PDF Figures Libres (app Nuxt autonome)
App Nuxt 3 + Nuxt UI qui lit les projets du CMS Grav et compose des portfolios
A3 paysage exportés en PDF (gabarit book_v3) : composeur WYSIWYG, templates
cover/toc/projet/grille/page libre, pipeline Playwright + Ghostscript, gel du
contenu à la génération, partage public opt-in.

Dépôt autonome : Dockerfile (base Playwright + Ghostscript + ffmpeg + rsync) inclus.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 18:37:09 +02:00

43 lines
1.2 KiB
TypeScript

export default defineNuxtConfig({
compatibilityDate: '2026-07-01',
devtools: { enabled: false },
telemetry: false,
modules: ['@nuxt/ui'],
components: [{ path: '~/components', pathPrefix: false }],
css: ['~/assets/css/main.css', '~/assets/css/theme.css'],
routeRules: {
// L'accueil est la liste des portfolios ; l'ancienne URL reste valide.
'/portfolios': { redirect: '/' },
},
app: {
head: {
title: 'Portfolios — Figures Libres',
htmlAttrs: { lang: 'fr' },
},
},
runtimeConfig: {
// Surchargées par les variables d'env NUXT_* (voir docker-compose.yml)
sessionSecret: 'dev-secret-figures-libres',
portfolioPassword: 'figureslibres',
internalToken: 'dev-internal-token',
contentSource: 'dev', // 'dev' (FS local) | 'prod' (cache rsync)
contentDir: '/content/02.projets',
dataDir: '/app/data',
// Mode prod : synchro rsync (phase 3)
syncRemote: '', // ex. user@host:/chemin/vers/user/pages/02.projets/
syncSshKey: '', // chemin de la clé privée dans le conteneur
public: {
appName: 'Portfolios Figures Libres',
},
},
nitro: {
// Les données (portfolios JSON, exports PDF, cache) vivent hors du bundle.
storage: {},
},
})