Skip to content

🍈 Control plane for Honeymelon: marketing site, updates manifests, license-gated downloads, webhooks, and release admin.

License

Notifications You must be signed in to change notification settings

honeymelon-app/website

Repository files navigation

Honeymelon 🍈 | Website

Marketing website for Honeymelon β€” the free and open source macOS media converter for Apple Silicon.

Tech Stack

Project Structure

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

Getting Started

# 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

Scripts

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

Analytics

This site uses GoatCounter for privacy-friendly analytics:

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

Deployment

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.

License

This website is part of the Honeymelon project, released under the GNU General Public License v3.0.

About

🍈 Control plane for Honeymelon: marketing site, updates manifests, license-gated downloads, webhooks, and release admin.

Topics

Resources

License

Stars

Watchers

Forks