Invitaciones Digitales is built as a fully static Next.js site. Every configuration decision — from how routes are exported to how styles are compiled — is designed to produce a self-containedDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/gus-16710/invitations/llms.txt
Use this file to discover all available pages before exploring further.
out/ directory that can be uploaded to any standard web host without a Node.js server. This page documents every configuration file in the project so you understand what each option does and why changing it could break the deployment pipeline.
next.config.js
The Next.js configuration file lives at the project root and controls how the framework builds and exports the application.next.config.js
Option reference
output: 'export'
Tells Next.js to produce a fully static HTML export instead of a server-rendered application. When this option is set, running next build writes all pages as plain .html files (plus their CSS, JavaScript, and assets) into the out/ directory. No Node.js process is needed to serve the result — the folder can be served directly from any FTP host, CDN, or object-storage bucket.
trailingSlash: true
Forces every route to be output as index.html inside a named directory rather than a bare .html file. For example:
| Route | Output file |
|---|---|
/ | out/index.html |
/bodas/diana-ernesto/ | out/bodas/diana-ernesto/index.html |
/quinces/daniela/ | out/quinces/daniela/index.html |
/quinces/daniela/ is served by the index.html in that directory, so no .htaccess rewrite rules are required.
images: { unoptimized: true }
Next.js’s built-in <Image> component normally relies on a server-side optimization API (/_next/image) to resize and convert images on the fly. That API is unavailable in a static export, so unoptimized: true disables it. Images are served as-is from the public/ directory without any server-side processing.
tailwind.config.ts
Tailwind CSS is configured with two additional UI plugin libraries — NextUI and Flowbite — that together cover the component needs of every invitation template.tailwind.config.ts
Configuration details
content paths
Tailwind performs tree-shaking by scanning these glob patterns for class names at build time. Any class not found in these files is stripped from the final CSS bundle.
./src/pages/**/*— legacy Pages Router files (kept for compatibility)../src/components/**/*— shared UI components used across all invitations../src/app/**/*— all App Router pages and layouts../node_modules/@nextui-org/theme/dist/**/*— NextUI’s own internal class names, which would otherwise be purged because they live outsidesrc/../node_modules/flowbite-react/**/*.js— Flowbite React’s class names, included for the same reason.
nextui())
NextUI provides accessible, beautifully styled React components (modals, buttons, cards, etc.) used in the invitation UI. The nextui() plugin injects its design tokens and component styles into the Tailwind pipeline.
Flowbite plugin (require("flowbite/plugin"))
Flowbite adds extra utility classes and interactive component styles (carousels, accordions, tooltips) that complement Tailwind’s base utilities. The flowbite-react package is also listed in content so its class names survive purging.
darkMode: "class"
Dark mode is toggled by adding the dark class to a parent element rather than relying on the operating-system prefers-color-scheme media query. This gives the invitation templates full programmatic control over the color theme.
theme.extend
The theme extension is currently empty — all visual customization is delegated to the NextUI and Flowbite design systems. Custom tokens (colors, fonts, spacing) can be added here without overriding the base Tailwind theme.
tsconfig.json
The TypeScript compiler configuration uses Next.js’s recommended strict settings plus a single path alias that simplifies imports across the codebase.tsconfig.json
Path alias: @/*
The "@/*": ["./src/*"] mapping creates a project-root-style alias for everything inside the src/ directory. This means you can write clean absolute imports anywhere in the codebase instead of fragile relative paths:
@/components/SmoothScroll resolves to ./src/components/SmoothScroll, @/app/provider resolves to ./src/app/provider, and so on for every module under src/.
postcss.config.js
PostCSS processes all CSS through Tailwind’s utility generator and Autoprefixer before the browser receives it.postcss.config.js
tailwindcss — runs the Tailwind CSS build, consuming tailwind.config.ts to generate the utility class stylesheet.
autoprefixer — automatically adds vendor prefixes (e.g., -webkit-, -moz-) to CSS properties that require them for cross-browser compatibility, based on the browserslist targets.
The This override forces all transitive dependencies that declare
postcss package version is explicitly pinned using an overrides entry in package.json:package.json (excerpt)
postcss as a peer or indirect dependency to resolve to ^8.5.10, preventing version conflicts between PostCSS 8 and older sub-dependency ranges that might otherwise resolve to an incompatible version.