AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Accessible photo galleries, carousels, and lightboxes for Vue and Nuxt.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Build responsive photo galleries, shared lightboxes, and carousels from one predictable photo model.
Nuxt Photo 1.0 is in beta. Install it from the next npm tag and review the
0.2 to 1.0 upgrade guide.
Nuxt Photo gives albums, carousels, and custom triggers one shared photo model and one lightbox. It uses known image dimensions to create stable layouts during server rendering. You can start with complete components and use lower-level Vue primitives when you need a custom interface.
You do not need to connect separate gallery, carousel, gesture, focus, and lightbox libraries.README 전문 보기 ↗[!WARNING] Nuxt Photo 1.0 is in beta. Install it from the
nextnpm tag.
Nuxt Photo gives albums, carousels, and custom triggers one shared photo model and one lightbox. It uses known image dimensions to create stable layouts during server rendering. You can start with complete components and use lower-level Vue primitives when you need a custom interface.
You do not need to connect separate gallery, carousel, gesture, focus, and lightbox libraries.
Use Nuxt Photo when your application has image URLs, stable IDs, widths, and heights. It is useful when you need accessible keyboard and gesture controls, server-rendered layouts, or optional Nuxt Image providers.
Nuxt Photo is not suitable when you only need a plain image grid. It is also not an image CMS, optimizer, or asset pipeline.
@lupinum/nuxt-photo@lupinum/vue-photoInstall the Nuxt package:
pnpm add @lupinum/nuxt-photo@next
Add the module:
export default defineNuxtConfig({
modules: ['@lupinum/nuxt-photo'],
nuxtPhoto: {
css: 'all',
},
})
The default css: 'structure' option includes layout CSS only. Use css: 'all' for the included visual theme.
<script setup lang="ts">
import type { PhotoItem } from '@lupinum/nuxt-photo/app'
const photos: PhotoItem[] = [
{
id: 'landscape',
src: '/photos/landscape.jpg',
width: 1280,
height: 800,
alt: 'A mountain landscape',
},
{
id: 'portrait',
src: '/photos/portrait.jpg',
width: 960,
height: 1200,
alt: 'A portrait photograph',
},
]
</script>
<template>
<PhotoAlbum :photos="photos" layout="rows" />
</template>
Select a photo to open the shared lightbox. The same array works with albums, groups, carousels, and custom triggers.
Join the Lupinum OSS community to discuss Nuxt Photo, ask questions, and share what you build.
@lupinum/nuxt-photo provides the Nuxt module, auto-imports, components, and CSS integration.@lupinum/vue-photo provides framework-level Vue components, composables, types, and utilities.Nuxt applications normally install only @lupinum/nuxt-photo.
Read the Nuxt Photo documentation. Start with Get started.
Working with a coding agent? The package ships its docs for the installed version; follow Agent setup in the package README. AI coding agents lists every option.
The changelogs of @lupinum/nuxt-photo and @lupinum/vue-photo record release changes.
Read CONTRIBUTING.md before you open a pull request. The OSS handbook covers dependency updates, releases, rollback, and incident response.
Run the normal handoff gate before you request review:
pnpm verify
Open a GitHub issue for bugs and focused feature requests. Join the Lupinum OSS Discord for community support.
Do not report vulnerabilities in public issues. Follow SECURITY.md to send a private report.
Nuxt Photo is developed by Lupinum OG and released under the MIT License.