Files
librodrome/package.json
T
Yvv 8408fd6466
ci/woodpecker/push/woodpecker Pipeline was successful
feat: SEO complet + analytics Umami + og:image § logo
SEO :
- composable useSeoPage() : og:*, Twitter Cards, canonical sur toutes les pages (15 pages)
- app.vue : JSON-LD Organization + Book, og:image global og-default.png
- og-default.png 1200×630 : logo § calligraphique + texte (Pillow)
- nuxt.config.ts : @nuxtjs/sitemap avec 26 URLs statiques

Analytics Umami :
- useTracking() : helpers typés audio/pdf/player/scroll/cta
- useScrollTracking() : scroll depth 25/50/75/100% + liens externes auto
- useAudioPlayer : trackAudioPlay/Progress/Complete
- BookPdfReader : trackPdfOpen/Close avec durée
- BookPlayer : trackPlayerOpen/Chapter/Mode
- docker-compose : variables NUXT_PUBLIC_UMAMI_* passées au container

Images :
- Couv-Economie-du-don.jpg ajoutée dans public/images/
- bookplayer.config.yml + home.yml : références mises à jour

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 00:25:28 +02:00

41 lines
996 B
JSON

{
"name": "librodrome",
"type": "module",
"private": true,
"scripts": {
"build": "nuxt build && node scripts/fix-esm-imports.mjs",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare && (test -f scripts/copy-pdfjs.sh && sh scripts/copy-pdfjs.sh || true)"
},
"dependencies": {
"@nuxt/content": "^3.11.2",
"@nuxt/image": "^2.0.0",
"@nuxtjs/sitemap": "^8.0.12",
"@pinia/nuxt": "^0.11.3",
"@unocss/nuxt": "^66.6.0",
"@vueuse/nuxt": "^14.2.1",
"better-sqlite3": "^12.6.2",
"nuxt": "^4.3.1",
"pdfjs-dist": "^5.4.624",
"vue": "^3.5.28",
"vue-router": "^4.6.4",
"yaml": "^2.8.2"
},
"devDependencies": {
"@iconify-json/lucide": "^1.2.91",
"@iconify-json/ph": "^1.2.2",
"typescript": "^5.9.3",
"unocss": "^66.6.0"
},
"pnpm": {
"onlyBuiltDependencies": [
"@parcel/watcher",
"better-sqlite3",
"esbuild",
"sharp"
]
}
}