Marketing website for Honeymelon β the free and open source macOS media converter for Apple Silicon.
- Framework: Vue 3 with
<script setup>SFCs - Language: TypeScript 5.9
- Build Tool: Vite 7
- Styling: Tailwind CSS 4
- Router: Vue Router 4
- UI Primitives: Reka UI
- Icons: Lucide Vue
- Analytics: GoatCounter (privacy-friendly, no cookies)
web/
βββ index.html # Entry point + GoatCounter script
βββ public/ # Static assets (favicon, images)
βββ src/
β βββ main.ts # App bootstrap
β βββ App.vue # Root component (layout + RouterView)
β βββ router.ts # Routes: /, /privacy, /terms
β βββ style.css # Tailwind imports + custom styles
β βββ assets/ # Images and static resources
β βββ components/
β β βββ marketing/ # Landing page sections + shared components
β β β βββ sections/ # Hero, Features, Download, FAQ, etc.
β β β βββ GitHubStarButton.vue
β β β βββ AnimatedSection.vue
β β β βββ ContentSection.vue
β β βββ ui/ # shadcn-vue primitives (Button, Sheet, etc.)
β βββ composables/
β β βββ useGitHubRepo.ts # GitHub API: stars, releases, download URL
β βββ layouts/
β β βββ MarketingLayout.vue # Header + footer shell
β βββ lib/
β β βββ analytics.ts # GoatCounter event tracking wrapper
β β βββ utils.ts # cn() and shared utilities
β βββ pages/
β β βββ HomePage.vue # Landing page (all marketing sections)
β β βββ PrivacyPage.vue # Privacy policy
β β βββ TermsPage.vue # Terms of use
β βββ locales/ # (reserved for i18n)
βββ dist/ # Build output
# Install dependencies
npm install
# Start dev server
npm run dev
# Type-check and build for production
npm run build
# Preview production build locally
npm run preview| Command | Description |
|---|---|
npm run dev |
Start Vite dev server with HMR |
npm run build |
Type-check with vue-tsc then build |
npm run preview |
Preview production build locally |
npm run lint |
Lint with ESLint and auto-fix |
npm run format |
Format with Prettier |
npm run typecheck |
Run vue-tsc type checking |
This site uses GoatCounter for privacy-friendly analytics:
- No cookies, no personal data collection
- GDPR/CCPA compliant by default
- Dashboard: honeymelon.goatcounter.com
Custom events tracked:
| Event | Trigger |
|---|---|
| Page views | Automatic (every navigation) |
Download |
Click on download button |
Star on GitHub |
Click on any GitHub star button |
Visit GitHub |
Click "View on GitHub" CTA |
The site is a static SPA. Build and deploy dist/ to any static host:
npm run build
# Deploy dist/ to Cloudflare Pages, Vercel, Netlify, GitHub Pages, etc.For SPA routing (/privacy, /terms), configure your host to redirect all paths to index.html.
This website is part of the Honeymelon project, released under the GNU General Public License v3.0.