A custom Ghost theme based on Source. Tailored for a clean, content-focused blog with portfolio and series support.
- Portfolio (
page-portfolio.hbs) — Grid-style project showcase filtered byportfoliotag - Series (
page-series.hbs) — Grouped post series organized by tag
- Auto-generated from
h2/h3headings in post content - Sticky sidebar that follows scroll on the right side
- Active section highlight as you read
- Hidden on screens below 1200px for mobile readability

- Pill-style tag buttons ordered by post count (up to 50)
- Toggleable via Ghost Admin: Settings > Design > Homepage > Show tags section

- Post cards without a feature image automatically display the primary tag's image
- Falls back gracefully to no image if neither exists
- Images displayed fully (no cropping) with white background fill
- Works well with SVG/PNG assets
- Resized to 80% of content width, centered
- Small images scale up to fit the container
- Adjustable via Ghost Admin: Settings > Design > Site-wide > Logo color
- Default:
#888888
- Links to Privacy Policy, Terms of Service, Cookie Policy, Disclaimer, Copyright Policy, Contact
- Toggleable via Ghost Admin: Settings > Design > Site-wide > Show footer legal
- Removed subscribe CTA banner from homepage
- Removed footer signup section
- Reduced footer margin-top for tighter layout
- List-style card wrapper uses responsive max-width (70%)
- Updated
author.hbsto useprimary_authorhelper - Portfolio posts excluded from related articles
| File | Description |
|---|---|
default.hbs |
Base template with global header/footer |
home.hbs |
Homepage with header, tags section, and post list |
index.hbs |
Paginated post list |
post.hbs |
Individual post with floating TOC |
page.hbs |
Individual pages |
page-portfolio.hbs |
Portfolio page template |
page-series.hbs |
Series page template |
tag.hbs |
Tag archive |
author.hbs |
Author archive |
Custom one-off templates can be created by slug:
page-about.hbs→/about/tag-news.hbs→/tag/news/author-ali.hbs→/author/ali/
# Install dependencies
yarn install
# Run development server with live reload
yarn dev
# Build assets
yarn zipEdit files in /assets/css/ — they compile to /assets/built/ automatically via Gulp/PostCSS.
A Docker Compose file is included for local Ghost development:
cd docker
docker compose up -dThis mounts the theme into a Ghost container at http://localhost:2368.
Inline SVG icons are in /partials/icons/. Use them via Handlebars partials:
See @TryGhost/Themes/theme-translations for translation instructions.
Based on Ghost Source — Copyright (c) 2013-2026 Ghost Foundation. Released under the MIT license.
