Installing a Theme
All CCLY Studio themes are delivered as a .zip file. You upload this directly to Ghost — do not extract it first.
Uploading Your Theme
- Download the
.zipfile from your purchase confirmation email (via Lemon Squeezy). - Log in to your Ghost Admin panel at
yourdomain.com/ghost/. - Go to Settings → Design → Change theme.
- Click Upload theme and select the
.zipfile. - Once uploaded, click Activate.
Updating to a New Version
When a new version is released, you'll receive an email with the updated .zip file. To update:
- Download the new
.zipfile. - Go to Settings → Design → Change theme.
- Click Upload theme and select the new zip.
- Ghost will replace the existing theme files automatically.
Need to re-download your theme? You can always get the latest version from your Lemon Squeezy account: How to download from Lemon Squeezy.
Ghost Version Requirements
All CCLY Studio themes require Ghost 5.0 or later. We recommend Ghost 6.x for the best experience.
To check your Ghost version, go to Settings → About in Ghost Admin.
If you're self-hosting, you can update Ghost with:
ghost update
If you're on Ghost(Pro), updates are applied automatically.
Ghost Settings
After installing a theme, configure these essential Ghost settings to get the most out of your site.
Site Title, Description & Logo
Go to Settings → General to set:
- Site title — Displayed in the header and browser tab.
- Site description — Shown in the footer and used for SEO meta descriptions.
For branding, go to Settings → Design → Brand:
- Publication logo — Replaces the text title in the header. Recommended: SVG or PNG, max height 40px.
- Publication icon — Displayed as a favicon and next to the site title when no logo is set. Recommended: square PNG, at least 60×60px.
- Publication cover — Used as a fallback Open Graph image for social sharing.
- Accent color — Used by Ghost's built-in portal modals (signup, signin). This does not affect the theme's color palette.
Theme-Specific Settings
Each CCLY theme includes custom settings accessible in Settings → Design → Theme (or click Change theme → Customize on your active theme).
Common settings across themes include:
- Color scheme — Light, Dark, or Auto (follows system preference).
- Dark mode toggle — Show/hide the sun/moon toggle in the header.
- Reading time — Show/hide estimated reading time on posts.
Theme-specific settings (testimonials, logos, layout options) are documented on each theme's dedicated documentation page.
Posts & Pages
Ghost distinguishes between posts and pages:
- Posts — Blog articles. Appear in feeds, tag archives, and author pages. Have tags, authors, and featured flags.
- Pages — Static content (About, Contact, etc.). Do not appear in feeds. Access via navigation links.
Featured posts: Toggle the star icon in the post editor to mark a post as featured. Most CCLY themes display the latest featured post in a prominent hero section on the homepage.
Tags: Tags organize content into categories. Create tags in Tags in the Ghost Admin sidebar. Each tag gets an archive page at /tag/slug/. Add a description to each tag for best results — themes display these in navigation dropdowns and archive headers.
Membership Setup
Ghost has built-in membership and subscription support. Here's how to configure it with CCLY themes.
Enabling Membership
- Go to Settings → Membership.
- Choose your access model:
- Nobody — Memberships disabled. Subscribe buttons hidden.
- Free — Readers can sign up for free. No paid tiers.
- Paid — Readers can subscribe for free or pay for premium content.
Once enabled, CCLY themes automatically show:
- Subscribe button in the header (for non-members).
- Sign in link in the header (for non-members).
- Account link in the header (for signed-in members).
- Subscribe email forms in the CTA section and social proof area.
Connecting Stripe for Paid Subscriptions
To accept payments, connect Stripe:
- Go to Settings → Membership → Stripe.
- Click Connect with Stripe and follow the authorization flow.
- Once connected, configure your pricing tiers under Settings → Membership → Pricing.
Ghost handles all billing, receipts, and subscription management. Members can manage their subscription from their account page.
4242 4242 4242 4242 with any future expiry date to test payments.Content Gating & Paywall
Control who can read each post using the Post access setting in the post editor:
- Public — Visible to everyone. No paywall.
- Members only — Free and paid subscribers can read. Non-members see the paywall.
- Paid members only — Only paid subscribers can read. Free members and non-members see the paywall.
CCLY themes display a styled paywall component with:
- A blurred content preview above the paywall.
- A lock icon next to gated post titles on listing pages.
- An adaptive CTA button: "Subscribe now" for non-members, "Upgrade your plan" for free members.
No code changes are needed — just set the access level per post and the theme handles everything automatically.
Portal (Signup & Login)
Ghost Portal is the built-in signup/login UI. It appears as a modal overlay when readers click Subscribe, Sign in, or Account links.
Configure Portal in Settings → Membership → Portal:
- Name field — Optionally ask for a name during signup.
- Signup notice — Custom text shown after signup (e.g., "Check your inbox!").
- Portal button — Ghost can show a floating button in the bottom-right corner. CCLY themes have their own subscribe buttons, so you can disable this if it feels redundant.
Custom Routes
Ghost supports custom routing via a routes.yaml file. This allows you to create custom pages, filtered collections, and redirects.
What is routes.yaml?
routes.yaml controls Ghost's URL routing. It defines:
- Routes — Custom URLs that render a specific template (e.g.,
/newsletter/renders a filtered collection). - Collections — Groups of posts filtered by tag, author, or other criteria.
- Taxonomies — URL patterns for tags and authors (usually left as defaults).
Uploading routes.yaml
- Go to Settings → Labs in Ghost Admin.
- Under Routes, click Upload routes YAML.
- Select your
routes.yamlfile.
Common Examples
Example 1: Newsletter archive filtered by tag
collections:
/newsletter/:
permalink: /newsletter/{slug}/
filter: tag:newsletter
/:
permalink: /{slug}/
filter: tag:-newsletter
This creates a separate /newsletter/ section for all posts tagged "newsletter", and excludes them from the main homepage feed.
Example 2: Custom page with a specific template
routes:
/portfolio/:
template: custom-portfolio
data: page.portfolio
This renders the custom-portfolio.hbs template at /portfolio/ and injects data from a Ghost page with the slug "portfolio".
FAQ
Answers to the most common questions about CCLY Studio themes.
Do CCLY themes work with Ghost(Pro)?
Yes. All CCLY themes work with Ghost(Pro) hosted plans. Upload the .zip file in Ghost Admin just like any other theme.
Do they work with self-hosted Ghost?
Yes. Any Ghost 5.0+ installation supports CCLY themes. We recommend Ghost 6.x for the latest features.
Can I change the theme colors?
Each theme has a carefully designed color palette. Ghost's accent color setting (in Design → Brand) controls the Portal modals but does not change the theme's colors.
To customize theme colors, you can add custom CSS via Settings → Code Injection → Site Header:
<style>
:root {
--color-accent: #your-color;
--color-link: #your-color;
}
</style>
Each theme's documentation includes a full Design System section listing every CSS variable with its default value, a color swatch, and usage notes. See: Vestige Design System.
Can I change the fonts?
Yes. Ghost 6 includes a built-in font picker in Settings → Design → Brand → Typography. Changing fonts there automatically overrides the theme's heading and body fonts.
For custom web fonts not in Ghost's picker, use Code Injection to load them and override the CSS variables:
<link href="https://fonts.googleapis.com/css2?family=YourFont&display=swap" rel="stylesheet">
<style>
:root {
--font-heading: 'YourFont', serif;
--font-body: 'YourFont', sans-serif;
}
</style>
How do I get theme updates?
You'll receive an email from Lemon Squeezy when a new version is released. Download the new .zip and upload it in Ghost Admin → Design → Change theme → Upload theme.
You can also download the latest version anytime from your Lemon Squeezy account. See How to download the latest theme versions from Lemon Squeezy for a step-by-step guide.
Updates never overwrite your content, members, or site settings. Only the theme's template files are replaced.
How do I get support?
Email us at p@ccly.dev with your order number and a description of the issue. We typically respond within 24 hours on business days.
Support includes: installation help, bug fixes, and questions about documented features.
Support does not include: custom CSS modifications, new feature development, or third-party integration setup.
What is the refund policy?
We offer a 14-day refund policy. If the theme doesn't work for your use case, email us within 14 days of purchase for a full refund. No questions asked.
How does licensing work?
Each license covers one Ghost site:
- Standard ($89) — 1 site, lifetime updates, 6 months support.
- Pro ($119) — 3 sites, lifetime updates, 12 months support.
"Lifetime updates" means you receive every future version of the theme at no additional cost. Support can be renewed after expiry for $29 per 6 months.
Social Media Links
Go to Settings → General → Social accounts to add your Facebook and X (Twitter) URLs.
CCLY themes display these as icon links in the site footer. If no social URLs are set, only the RSS feed icon is shown.
For additional social links (Instagram, YouTube, LinkedIn, etc.), add them to your secondary navigation menu with the full URL.