commit a578dd5a3007756f17fe3be79b2dce3288f214b0 Author: Kunthawat Greethong Date: Tue Mar 3 21:18:55 2026 +0700 Initial commit: MoreminiMore redesign with Astro diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16d54bb --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/CHECKLIST.md b/CHECKLIST.md new file mode 100644 index 0000000..3182160 --- /dev/null +++ b/CHECKLIST.md @@ -0,0 +1,155 @@ +# Development & Deployment Checklist + +## Pre-Development + +- [ ] Design approved +- [ ] Branding assets collected (logo, favicon, colors) +- [ ] Content strategy defined +- [ ] URL structure mapped + +## Development + +### Setup +- [ ] Astro project initialized +- [ ] Tailwind CSS configured +- [ ] Brand colors added to theme +- [ ] Fonts configured (Noto Sans Thai, Kanit) +- [ ] Layout component created + +### Pages +- [ ] Homepage created +- [ ] Service pages created (5 pages) +- [ ] About page created +- [ ] Contact page created +- [ ] Blog listing created +- [ ] Legal pages created (Terms, Privacy) + +### Features +- [ ] Responsive design (mobile, tablet, desktop) +- [ ] Dark mode support (if applicable) +- [ ] Navigation working +- [ ] Footer working +- [ ] Social links working +- [ ] Contact form/embed working + +### Content +- [ ] All content migrated from old site +- [ ] Images optimized +- [ ] Meta tags set for all pages +- [ ] Thai language content correct + +### Testing +- [ ] Build succeeds: `npm run build` +- [ ] Docker build succeeds +- [ ] All pages load correctly +- [ ] Links work (no 404s) +- [ ] Mobile responsive +- [ ] Cross-browser tested + +## Deployment Setup + +### Docker +- [ ] Dockerfile created +- [ ] Multi-stage build configured +- [ ] Port 4321 exposed +- [ ] Image builds locally +- [ ] Container runs successfully + +### Gitea +- [ ] Repository created on gitea.moreminimore.com +- [ ] Initial code pushed +- [ ] `.gitignore` configured +- [ ] Branch protection set (main) + +### Easypanel +- [ ] Project created +- [ ] Service configured +- [ ] Gitea repository connected +- [ ] Docker settings correct +- [ ] Auto-deploy enabled +- [ ] Environment variables set (if any) + +### SSL/DNS +- [ ] SSL certificate provisioned +- [ ] DNS configured +- [ ] HTTPS working +- [ ] HTTP redirects to HTTPS + +## Post-Deployment + +### Verification +- [ ] Website accessible via URL +- [ ] All pages load +- [ ] No console errors +- [ ] Images load correctly +- [ ] Forms work (if applicable) + +### Performance +- [ ] Page load time < 3s +- [ ] Lighthouse score > 90 +- [ ] Images optimized +- [ ] No unnecessary JavaScript + +### SEO +- [ ] Meta titles unique per page +- [ ] Meta descriptions set +- [ ] Open Graph tags working +- [ ] Sitemap generated (if applicable) +- [ ] robots.txt configured + +### Monitoring +- [ ] Analytics installed +- [ ] Error tracking configured (if applicable) +- [ ] Uptime monitoring set up + +## Maintenance + +### Regular Updates +- [ ] Dependencies updated monthly +- [ ] Security patches applied +- [ ] Content updated as needed +- [ ] Broken links checked quarterly + +### Backups +- [ ] Content backed up +- [ ] Database backed up (if applicable) +- [ ] Configuration backed up + +### Rollback Plan +- [ ] Previous versions documented +- [ ] Rollback procedure tested +- [ ] Team knows rollback process + +## Documentation + +- [ ] DEPLOYMENT.md created +- [ ] CONTENT-GUIDE.md created +- [ ] CHECKLIST.md created +- [ ] README.md updated + +## Handoff + +- [ ] Client trained on content updates +- [ ] Credentials shared securely +- [ ] Support contacts provided +- [ ] Maintenance plan agreed + +--- + +## Quick Deploy Checklist + +For routine updates: + +- [ ] Changes tested locally +- [ ] `npm run build` succeeds +- [ ] Commit with clear message +- [ ] Push to `main` +- [ ] Monitor Easypanel build logs +- [ ] Verify on production +- [ ] Report any issues + +--- + +**Last Updated**: 2026-03-03 +**Project**: MoreminiMore Redesign +**Status**: ✅ Ready for deployment diff --git a/CONTENT-GUIDE.md b/CONTENT-GUIDE.md new file mode 100644 index 0000000..89b584c --- /dev/null +++ b/CONTENT-GUIDE.md @@ -0,0 +1,204 @@ +# Content Guide - MoreminiMore Website + +## Adding Blog Posts + +Blog posts are located in `src/pages/category/` directory. + +### Creating a New Blog Post + +1. **Create a new `.astro` file** in `src/pages/category/`: + +```astro +--- +import Layout from '../../layouts/Layout.astro' +--- + + +
+
+

+ Your Post Title +

+ +
+

Your content here...

+
+
+
+
+``` + +2. **Use a SEO-friendly URL**: `your-post-title.astro` + +3. **Commit and push** - auto-deploys to production + +### Blog Post Template + +```astro +--- +import Layout from '../../layouts/Layout.astro' +--- + + +
+
+
+

+ Post Title Here +

+

+ Short description or subtitle +

+
+
+
+ +
+
+
+ +
+
+
+
+``` + +## Writing Content + +### Formatting + +- Use **Tailwind prose** class for automatic formatting +- Headings: `

`, `

`, etc. +- Paragraphs: `

` +- Lists: `