Branding
Customize your ZShip site’s brand without code changes where possible.
Config file (no rebuild for backend vars)
Section titled “Config file (no rebuild for backend vars)”| Feature | Config File | Fields |
|---|---|---|
| Brand name & logo | apps/web/src/config/site.ts | siteName, brand.name, brand.logo, brand.accentColor |
| SEO metadata | apps/web/src/config/site.ts | tagline, description, seo.* |
| Social links | apps/web/src/config/site.ts | links.github, links.twitter, links.discord |
| Dashboard brand | packages/dashboard/config/brand.ts | BRAND_NAME, STORAGE_PREFIX |
| Analytics | apps/web/src/config/site.ts | analytics.googleAnalytics.measurementId, analytics.plausible.* |
Analytics (Google Analytics 4 & Plausible)
Section titled “Analytics (Google Analytics 4 & Plausible)”Public pages that use the shared Base layout load scripts from apps/web/src/components/AnalyticsHead.astro. Nothing is injected unless you set valid values in apps/web/src/config/site.ts under analytics.
Google Analytics 4
Section titled “Google Analytics 4”- Set
analytics.googleAnalytics.measurementIdto your GA4 Measurement ID (formatG-followed by alphanumeric characters). - Leave it empty or omit
googleAnalyticsto disable gtag.js.
Plausible
Section titled “Plausible”- Set
analytics.plausible.domainto the same domain you registered in Plausible (e.g.yoursite.com). - Default script URL is
https://plausible.io/js/script.js. - Self-hosted Plausible: set
scriptSrcto your instance’s script URL (e.g.https://plausible.example.com/js/script.js). - Reverse proxy: set
apiEndpointto your proxied event endpoint; it is emitted as thedata-apiattribute on the script tag.
You can enable GA4, Plausible, both, or neither. Rebuild the web app after changing site.ts.
How to rebrand
Section titled “How to rebrand”- Edit
apps/web/src/config/site.ts— changesiteName,brand.name,brand.logo - Edit
packages/dashboard/config/brand.ts— changeBRAND_NAME(dashboard sidebar) - Replace
/public/logo.svgand/public/favicon.icowith your assets - For Nuxt apps, also update
apps/web-nuxt/app/config/site.tsandnuxt.config.tstitle
Component overrides
Section titled “Component overrides”Place files in apps/web/src/overrides/ to override shared components without modifying packages. The zship-resolver plugin auto-resolves overrides.
See apps/web/src/overrides/README.md for details.