A small, modern landing website for a math books collection, built with Vue 3 and Vite.
- Responsive layout (header, main section, footer)
- Contact form powered by EmailJS (no backend required)
- Modular component structure
- Vue 3
- Vite
- EmailJS (
@emailjs/browser) - Vanilla CSS
- Node.js 18+ (recommended)
- npm (or yarn)
- EmailJS account (only if you want the contact form to send emails)
- Install dependencies
npm install- (Optional) Configure EmailJS
Copy .env.example to .env and fill your keys:
VITE_EMAILJS_PUBLIC_KEY=your_public_key_here
VITE_EMAILJS_TEMPLATE_ID=your_template_id_here
VITE_EMAILJS_SERVICE_ID=your_service_id_here- Start dev server
npm run devOpen http://localhost:5173.
npm run dev # start dev server
npm run build # production build
npm run preview # preview production build locallyThe contact form expects these variables in your EmailJS template:
{{name}}{{email}}{{phone}}{{date}}{{message}}
Math_Book_Website/
├── public/ # Static assets
│ └── images/
├── src/
│ ├── components/ # UI components
│ ├── App.vue
│ ├── main.js
│ └── base.css
├── .env.example
├── index.html
├── package.json
└── vite.config.js
This is a static site. You can deploy the dist/ folder produced by npm run build to:
- Netlify
- Vercel
- GitHub Pages (requires an extra config for base path)
If you use EmailJS in production, remember to set the same environment variables in your hosting provider.
MIT