A modern, performant blog application built with Nuxt 3, TypeScript, and best practices for SEO, accessibility, and performance.
- Modern Tech Stack: Nuxt 3, TypeScript, Pinia, Tailwind CSS
- SEO Optimized: Dynamic meta tags, Open Graph, Twitter cards, sitemap
- Accessibility First: ARIA attributes, keyboard navigation, screen reader support
- Performance Optimized: Image optimization, lazy loading, caching strategies
- State Management: Centralized state with Pinia stores
- Type Safety: Strong TypeScript typing throughout
- Code Quality: ESLint, Prettier, and TypeScript strict mode
learn-nuxt/
โโโ components/ # Vue components
โโโ composables/ # Reusable composables
โโโ layouts/ # Page layouts
โโโ pages/ # Application pages
โโโ server/ # API endpoints
โโโ stores/ # Pinia stores
โโโ tests/ # Unit tests
โโโ types/ # TypeScript interfaces
โโโ assets/ # Static assets
- Node.js 18+
- npm or yarn
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Run tests
npm run test
# Lint code
npm run lint
# Type check
npm run typecheck- Pinia Stores: Centralized state management for blog data
- Composables: Reusable logic for API calls and SEO
- TypeScript Interfaces: Strong typing for all data structures
- Dynamic Meta Tags: Page-specific titles, descriptions, and Open Graph
- Canonical URLs: Proper canonical link implementation
- Sitemap & Robots: Automated sitemap generation and robots.txt
- Image Optimization: Nuxt Image module with WebP/AVIF support
- Caching: HTTP cache headers and Nitro route rules
- Code Splitting: Vendor chunk optimization with Vite
- ARIA Attributes: Proper labeling and navigation
- Keyboard Navigation: Focus management and keyboard shortcuts
- Semantic HTML: Proper heading structure and landmarks
The project includes comprehensive unit tests:
# Run all tests
npm run test
# Run tests with UI
npm run test:ui
# Run tests in watch mode
npm run test -- --watch- ESLint: Code linting with Nuxt ESLint preset
- Prettier: Code formatting
- TypeScript: Strict type checking
- Git Hooks: Pre-commit linting (recommended)
The application is optimized for various deployment platforms:
- Static Generation:
npm run generate - Server-Side Rendering:
npm run build - Edge Runtime: Compatible with edge deployment
- Lighthouse Score: 95+ across all categories
- Core Web Vitals: Optimized for LCP, FID, and CLS
- Bundle Size: Optimized with code splitting and tree shaking
SITE_URL=https://your-domain.comKey configurations in nuxt.config.ts:
- Modules: Pinia, Image, Sitemap, Robots
- Performance: Vite build optimization
- SEO: Dynamic meta tag configuration
- Caching: Nitro route rules for performance
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
This project is licensed under the MIT License.
Built with โค๏ธ using Nuxt 3 and modern web technologies.