Glossary
Plain-language definitions of the terms Enova's docs use — code injection, data-* hooks, internal tags, presence-gated pages, Portal, routes.yaml, slugs, tiers.
Short, plain-language definitions of the recurring terms in Enova's documentation. Each entry links to the page where the concept is put to work.
Code injection
A pair of boxes in Ghost Admin (Settings → Code injection) where you can paste CSS or scripts that load on every page. It's the safe place for visual tweaks: anything you put there survives theme updates, unlike edits to the theme files themselves. Enova exposes a documented set of data-* hooks for exactly this — see Code injection.
Custom template
An alternative page design you pick per post or page from the Template dropdown in the editor's settings panel. Enova ships three — Full width, Left sidebar, and Right sidebar — alongside the default layout. See Page templates.
data-* hooks (selector hooks)
The stable, named handles Enova attaches to every major part of the page — four attributes called data-region, data-component, data-variant, and data-part. You target them from Code injection to restyle or hide things, and they're guaranteed not to change between theme updates. See the Hook reference.
Internal tag
A Ghost tag whose name starts with # (for example #video or #dropcap). Internal tags never appear to readers — no archive page, no tag list — but Enova reads them to change how a post or page renders. You add them in Post settings → Tags like any other tag. The full vocabulary lives in Editorial conventions.
Portal
Ghost's built-in membership pop-up — the sign-up, sign-in, and account-management overlay that slides in when a reader clicks a join or account link. Enova's join buttons and tier checkouts hand off to Portal for the actual signup and Stripe payment. When you build a Membership page, the site's join buttons point at it instead, and quietly fall back to Portal whenever the page isn't there.
Presence-gated page
A normal Ghost page that doubles as the content source for a theme feature — the feature switches on simply because the page exists, is published, and has content. Enova uses this for the Donate card (page slugged donate), the sponsor wall (sponsors), the house ad (house-ad), the sidebar About card (about), and the Membership page (join, which also routes the site's join buttons). Unpublish the page and the feature disappears; no setting to flip. See Donate, Ads & Sponsors, and Membership page.
Primary tag
The first tag in a post's tag list. Ghost treats it specially, and so does Enova: the kicker label on cards shows it, and the Related Posts widget matches other posts by it. Reorder a post's tags to change its primary tag. See Show related posts.
routes.yaml
A small configuration file that tells Ghost which URLs exist on your site and what they show. Enova ships one that adds the /newsletters/ archive; you upload it once in Settings → Labs → Beta features → Upload routes file. Without it, /newsletters/ returns a 404. See Installation.
Slug
The URL-friendly version of a title — lowercase, hyphens instead of spaces — that identifies a post, page, tag, or author in its web address (/my-first-post/). Several Enova features look pages up by slug (about, donate, sponsors, house-ad, newsletters, join), so the slug must match exactly. You can check and edit it in the editor's settings panel under Page URL.
Tier
A membership plan you define in Ghost (Settings → Tiers) — its name, description, monthly and yearly price, list of benefits, and optional free trial. Posts can be restricted to specific tiers, and Enova's Membership page builds itself entirely from your tiers, so editing a tier in Ghost updates the page. See Membership page.
Troubleshooting
Quick fixes for common Enova issues — theme upload, hidden settings, newsletter archive 404s, missing sidebar widgets, TOC, and dark-mode logo.
Update theme
Update Enova safely — download the latest enova.zip, upload it with the same file name to keep your settings, and activate it in Ghost Admin.