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>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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: {},
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user