FocusUI is now a modern Astro-powered website with integrated demos, deployed via GitHub + Netlify:
- Main Site: Professional Astro website with FocusUI branding
- Interactive Demo:
/demo/index.html- Full FocusUI system showcase - Cross-Device Demo:
/demo-cross-device/index.html- iPad Safari compatibility demo - Repository: GitHub with automatic Netlify deployment
- Build Process: pnpm + Astro static site generation
/
├── src/ # Astro source files
│ ├── components/ # Reusable Astro/React components
│ ├── content/ # Markdown content files
│ ├── layouts/ # Page layout templates
│ ├── pages/ # Site pages (index, about, docs, etc.)
│ └── styles/ # SCSS stylesheets
├── public/ # Static assets
│ ├── demo/ # Interactive FocusUI demo
│ ├── demo-cross-device/ # Cross-device compatibility demo
│ └── favicons/ # FocusUI branding assets
├── dist/ # Built site (generated)
├── netlify.toml # Netlify configuration
├── package.json # Dependencies and scripts
├── pnpm-lock.yaml # Package lock file
└── astro.config.mjs # Astro configuration
-
Push to GitHub:
git add . git commit -m "Deploy FocusUI Astro website" git push origin main
-
Update Existing Netlify Site:
- Go to your existing Netlify project dashboard
- Navigate to: Site settings → Build & deploy → Build settings
- Click Edit settings and update:
- Build command:
pnpm run build - Publish directory:
dist - Node version:
18(should already be set)
- Build command:
- Save settings and trigger a new deploy
-
Install dependencies:
pnpm install
-
Start development server:
pnpm run dev
- Site available at:
http://localhost:4322 - Hot reload enabled for all changes
- Site available at:
-
Build for production:
pnpm run build
- Generates static site in
/dist/directory - Includes all demos and assets
- Generates static site in
- Homepage: Edit
/src/content/homepage/index.md - About Page: Edit
/src/content/about/index.mdx - Documentation: Edit
/src/pages/documentation.astro - Changelog: Edit
/src/content/changelog/index.mdx
- Interactive Demo: Edit files in
/public/demo/ - Cross-Device Demo: Edit files in
/public/demo-cross-device/ - No build required - demos are static files
- Site Settings: Edit
/src/config/config.json - Navigation: Edit
/src/config/menu.json - Social Links: Edit
/src/config/social.json
-
Make changes to any files
-
Test locally:
pnpm run dev
-
Build and verify:
pnpm run build
-
Commit and push:
git add . git commit -m "Update: [description]" git push origin main
-
Netlify automatically builds and deploys
focusui.io→ Homepage with FocusUI showcasefocusui.io/features→ Feature highlightsfocusui.io/documentation→ Implementation guidefocusui.io/changelog→ Development timelinefocusui.io/about→ About FocusUIfocusui.io/demo/index.html→ Interactive demofocusui.io/demo-cross-device/index.html→ Cross-device demo
- Astro Framework: Modern static site generation
- React Components: Interactive elements
- Markdown Content: Easy content management
- TypeScript: Type-safe development
- Tailwind CSS: Utility-first styling
- SEO Optimized: Automatic sitemap, meta tags
- PWA Ready: Web app manifest, iOS icons
- Performance: Optimized builds, CDN-ready
- pnpm not found: Ensure pnpm is installed globally
- Build fails: Check TypeScript errors in terminal
- Missing dependencies: Run
pnpm install
- Demo not loading: Verify files exist in
/public/demo/ - 404 on demo links: Ensure links use
/demo/index.html - Styling issues: Check CSS file paths in demo HTML
- Build command: Must be
pnpm run build - Publish directory: Must be
dist - Node version: Should be
18 - Environment: No additional variables needed
- Build time: ~3-5 seconds
- Bundle size: ~11.52 kB CSS, optimized JS
- SEO: Automatic sitemap generation
- Caching: Optimized headers for static assets
- Security: CSP and security headers configured