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:
23
scripts/dev-composer-shots.mjs
Normal file
23
scripts/dev-composer-shots.mjs
Normal file
@@ -0,0 +1,23 @@
|
||||
// Captures du composeur : panneau page couverture projet et panneau grille.
|
||||
import { chromium } from 'playwright'
|
||||
|
||||
const [, , id] = process.argv
|
||||
const base = process.env.BASE_URL ?? 'http://localhost:3000'
|
||||
|
||||
const browser = await chromium.launch()
|
||||
const page = await browser.newPage({ viewportSize: { width: 1600, height: 950 } })
|
||||
await page.request.post(`${base}/api/auth/login`, {
|
||||
data: { password: process.env.NUXT_PORTFOLIO_PASSWORD ?? 'figureslibres' },
|
||||
})
|
||||
await page.goto(`${base}/portfolios/${id}`, { waitUntil: 'networkidle' })
|
||||
|
||||
await page.getByText('Projet — couverture').first().click()
|
||||
await page.waitForTimeout(1200)
|
||||
await page.screenshot({ path: '/app/data/cache/composer-cover.png' })
|
||||
|
||||
await page.getByText('Projet — grille').first().click()
|
||||
await page.waitForTimeout(1200)
|
||||
await page.screenshot({ path: '/app/data/cache/composer-grid.png' })
|
||||
|
||||
console.log('ok')
|
||||
await browser.close()
|
||||
Reference in New Issue
Block a user