Static marketing website for MonthBar - a macOS MenuBar app that displays the progress of the current month.
Built with Astro and deployed to GitHub Pages.
# Install dependencies
npm install
# Generate placeholder images
npm run generate:placeholders
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewmonth.bar/
βββ .github/
β βββ workflows/
β βββ deploy.yml # GitHub Actions deployment workflow
βββ content/ # Original marketing content (reference only)
β βββ privacy.md
β βββ app-store-metadata.md
β βββ features.md
βββ public/
β βββ images/
β β βββ app-icon/ # App icons (512, 1024, og-image, favicon)
β β βββ screenshots/ # App screenshots (3 screenshots)
β βββ robots.txt # SEO robots file
βββ scripts/
β βββ generate-placeholders.js # Placeholder image generator
βββ src/
β βββ components/ # Reusable Astro components
β β βββ FeatureCard.astro
β β βββ Features.astro
β β βββ Hero.astro
β βββ content/
β β βββ config.ts # Content collection schema
β β βββ docs/
β β βββ privacy.md # Privacy policy content
β βββ layouts/
β β βββ BaseLayout.astro # Base layout with SEO
β β βββ ContentLayout.astro # Layout for markdown content
β βββ pages/
β β βββ index.astro # Homepage
β β βββ privacy.astro # Privacy policy page
β β βββ 404.astro # 404 error page
β βββ styles/
β βββ global.css # Global styles and design system
βββ astro.config.mjs # Astro configuration
βββ tailwind.config.mjs # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ package.json
The website uses a macOS-inspired design system with:
- Colors: Apple-inspired palette β Apple Blue (#0071e3) for UI chrome, Dark Mode Blue (#0A84FF) for dark mode, Progress Green (#34C759) for brand accent
- Typography: System font stack (-apple-system, BlinkMacSystemFont, etc.)
- Dark Mode: Automatic based on system preference (prefers-color-scheme)
- Responsive: Mobile-first design with breakpoints for tablet/desktop
Current placeholder images are SVG-based with "PREVIEW" watermarks. To replace with real assets:
-
Export app icons from MonthBar Xcode project:
MonthBar/Resources/Assets.xcassets/AppIcon.appiconset- Export at 512x512 and 1024x1024
- Replace files in
public/images/app-icon/
-
Create screenshots (2560x1600 minimum):
- Follow specs in MonthBar repository
- Replace files in
public/images/screenshots/
-
Rebuild and deploy:
npm run build git add public/images/ git commit -m "Replace placeholder images with real assets" git push
- Semantic HTML5 structure
- Open Graph meta tags for social sharing
- Twitter Card meta tags
- JSON-LD structured data
- Sitemap generation
- robots.txt configuration
- Optimized meta descriptions and keywords
The site is automatically deployed to GitHub Pages via GitHub Actions when pushing to the main branch.
Deployment URL: https://month.bar
-
Enable GitHub Pages in repository settings:
- Settings > Pages
- Source: GitHub Actions
-
Push to
mainbranch to trigger deployment:git push origin main
-
Monitor deployment at Actions tab
Edit src/content/docs/privacy.md with frontmatter:
---
title: "Privacy Policy"
description: "MonthBar privacy policy and data practices"
lastUpdated: 2026-02-10
---Edit features in src/components/Features.astro (features array).
Edit meta tags in src/layouts/BaseLayout.astro.
Built with:
- Astro - Static site generator
- Tailwind CSS - Utility-first CSS framework
- TypeScript - Type-safe development
- Content Collections - Type-safe markdown content
Copyright (c) 2026 Leo Dion