A modern, fast website built with Astro and powered by pnpm.
- Node.js (version 18 or higher)
- pnpm (version 8 or higher)
- Clone the repository:
git clone https://github.com/yourusername/macnolo.net.git
cd macnolo.net
- Install dependencies:
pnpm install
- Start the development server:
pnpm dev
- Open your browser and visit
http://localhost:4321
pnpm dev
- Start development server with hot reloadpnpm build
- Build the project for productionpnpm preview
- Preview the production build locallypnpm astro
- Run Astro CLI commandspnpm lint
- Run ESLint to check code qualitypnpm format
- Format code with Prettier
/
├── public/ # Static assets (images, fonts, etc.)
├── src/
│ ├── components/ # Reusable Astro components
│ ├── layouts/ # Page layouts
│ ├── pages/ # File-based routing pages
│ ├── styles/ # Global styles and CSS
│ └── utils/ # Utility functions
├── astro.config.mjs # Astro configuration
├── package.json # Project dependencies and scripts
├── pnpm-lock.yaml # Dependency lock file
└── README.md # This file
- ⚡ Fast Performance: Built with Astro's zero-JS runtime by default
- 📱 Responsive Design: Mobile-first approach with modern CSS
- 🎨 Modern Styling: Tailwind CSS or custom CSS modules
- 🔍 SEO Optimized: Built-in meta tags and structured data
- 🌐 Static Site Generation: Pre-rendered pages for optimal performance
The main configuration is in astro.config.mjs
. Key settings include:
- Output: Static site generation (SSG) by default
- Integrations: Tailwind, React/Vue (if used), and other integrations
- Build: Optimized for production with asset optimization
- Astro: Static site generator framework
- TypeScript: Type-safe JavaScript development
- ESLint: Code linting
- Prettier: Code formatting
- Tailwind CSS: Utility-first CSS framework (if used)
pnpm build
The built files will be in the dist/
directory.
Static Hosting
Upload the contents of dist/
to any static hosting provider.
# Run tests (if configured)
pnpm test
# Run type checking
pnpm type-check
# Check build
pnpm build && pnpm preview
- Lighthouse Score: Aim for 95+ in all categories
- Core Web Vitals: Optimized for excellent user experience
- Bundle Size: Minimal JavaScript shipped to client
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Use TypeScript for type safety
- Follow ESLint and Prettier configurations
- Write semantic HTML with accessibility in mind
- Use CSS custom properties for theming
This project is licensed under the MIT License - see the LICENSE file for details.