Skip to main content

Architecture overview

This page describes the stack, repo layout, and how the custom theme fits into the broader application (site + docs).

Stack

LayerTechnology
CMSGhost 5.x (or later; theme declares engines.ghost: ">=5.0.0")
ThemeCustom Handlebars theme (this repo): .hbs templates, partials, CSS, JS
BuildGulp: CSS via PostCSS (easy-import, autoprefixer, cssnano); JS via concat + uglify. Output in assets/built/.
DocsDocusaurus in docs-site/, deployed to docs.mannyroy.com (Netlify). Separate from the theme.

The live site (mannyroy.com) runs on Ghost with this theme. The docs site explains the theme and related systems; it does not run inside Ghost.

Repo layout (theme)

ghost-custom/
├── assets/
│ ├── css/ # Source CSS (screen.css imports general/, site/, blog/, misc/)
│ ├── built/ # Built screen.css, main.min.js (do not edit)
│ ├── js/ # Source JS (concatenated and minified)
│ └── fonts/ # IBM Plex (and any other webfonts)
├── partials/ # Reusable Handlebars partials (hero, content, footer, etc.)
├── default.hbs # Root layout: head, header, body wrapper, footer, scripts
├── home.hbs # Homepage
├── index.hbs # Blog/archive
├── post.hbs, page.hbs # Single post, generic page
├── author.hbs, tag.hbs
├── page-*.hbs # Custom page templates (about, services, ghost-application, etc.)
├── custom-*.hbs # Custom post templates (optional)
├── package.json # Theme config: image_sizes, custom settings, scripts
├── gulpfile.js # Build and zip tasks
└── docs/ # Planning and reference (not the Docusaurus docs-site)

Theme assets are built into assets/built/. Ghost loads built/screen.css and built/main.min.js via default.hbs.

How the theme fits the application narrative

The theme is the front-end of the main site: it defines the public pages (home, blog, about, services, contact, Ghost application page, etc.) and uses Ghost’s data (posts, pages, tags, settings). The docs site (Docusaurus) is a separate product that documents this theme, performance, operations, and the AI assistant. Together they form the “application” story: a live, well-documented, performant Ghost setup with a path to an AI assistant and clear deployment and observability practices.

Next