Verse documentation

Verse homepage

A quiet, book-like Ghost theme for fiction, serials and poetry, with reader settings, a bookshelf of serials, chapter navigation and "continue where you stopped".

Thank you for choosing Verse. This guide covers everything from uploading the theme to setting up paid memberships. If something is not covered here, write to support@codememory.com — we answer within one working day.

Highlights

  • Reader settings (the Aa button): five text sizes, three pages (paper, white, night) and serif or sans text; the choice is remembered with no flash on the next page
  • Focus mode: press F to hide everything but the story, Escape to come back
  • Serials: a book is a tag whose slug starts with book-; its posts become chapters in reading order
  • Chapter pages show "Chapter 3 of 8", previous and next chapter, and the full contents
  • A book page with the cover, a numbered contents list and a Start / Continue button
  • Bookshelf on the homepage and the library page, with each reader's progress ("3 of 8 read")
  • Verse remembers where each reader stopped: a "continue where you stopped" button on the story and a Continue reading box on the homepage
  • A small "minutes left" note while reading
  • Drop cap and small capitals at the start of each story; ⁂ for scene breaks
  • Two post layouts: the story page and Poem, which keeps every line break
  • Light (paper) by default, with a night page and a reader toggle
  • Library and Authors page templates
  • Membership page with tiers and a monthly/yearly switch; styled paywall for members and paid chapters
  • Sign in, sign up and account pages
  • Reading progress bar, image lightbox, galleries, callouts and toggle cards
  • Self-hosted fonts (Cormorant, Literata)
  • Fully translatable, 18 theme settings, no jQuery

What is in the download

themeforest-verse-ghost-theme/
├── documentation/                          ← you are here
├── sample-content/verse-sample-content.json  ← optional demo posts (see Sample content)
└── verse_1.0.0_for_ghost_6.0.0_or_later/
    ├── verse.zip                          ← upload this file to Ghost
    └── verse/                             ← the same theme, unzipped, with source files

You only need verse.zip to use the theme. The unzipped folder is there for developers who want to change the code (see Development).

Installation

  1. Sign in to your Ghost admin (yoursite.com/ghost).
  2. Go to Settings → Design & branding → Customize → Change theme.
  3. Click Upload theme and choose verse.zip from the verse_1.0.0_for_ghost_6.0.0_or_later folder. Do not upload the whole download.
  4. Click Activate.
Ghost(Pro) customers: custom themes need the Creator plan or higher. Self-hosted Ghost: any version from 6.0.0 works.

Updating

When a new version is released, download it from your ThemeForest Downloads page and upload the new verse.zip the same way. Ghost asks whether to overwrite the existing theme — choose Overwrite. Your content, navigation and theme settings are kept.

If you edited the theme files yourself, keep a copy of your changes first: an update replaces every file.

Quick setup (10 minutes)

To make your site look like the demo, do these steps in order. Each one is explained in detail further down.

  1. Brand: Settings → Design & branding → set the Accent colour, upload a logo and a site icon.
  2. Navigation: Settings → Navigation → add your main links (see Navigation).
  3. Pages: create the pages in Pages and templates and pick the matching template.
  4. Membership: Settings → Membership → turn on signups; add paid tiers and connect Stripe (see Membership).
  5. Theme settings: Design & branding → Theme tab (see Theme settings).
  6. Books: create a tag for each serial with a slug that starts with book-, an upright cover image and a description.
  7. Chapters: put the book tag first on each chapter, so the book is its primary tag. Chapters are ordered by publish date.
  8. Lead story: mark a story as Featured. The newest featured story leads the homepage.

Sample content

The download includes the demo's text as a Ghost import file: sample-content/verse-sample-content.json. It holds 29 posts, 8 pages, 8 tags and the demo writers, with the same templates and settings per post as the live demo. Use it to see how Verse looks with real content, or as a starting point you edit.

  1. Use a new or test site — the import adds posts next to anything you already have.
  2. Go to Settings → Advanced → Import/Export → Import content.
  3. Choose verse-sample-content.json and confirm.
  4. Set up Navigation, page templates and theme settings as described below. Ghost does not import these from a content file.
Photos, audio and video from the demo are not included: they are stock media used for the preview only (see third-party materials). Add your own feature images to the posts. Imported writers can be removed in Settings → Staff when you no longer need them.

Logo, colours and fonts

Accent colour

Settings → Design & branding → Accent colour. Verse uses it for buttons, links, highlights and the reading-progress bar. Verse uses your accent colour (burgundy #8C2F39 by default) for buttons, the drop cap, links, the ornaments and the reading progress bar. On the night page, small accent text is mixed with a warm light tone so it stays readable. Each tag's accent colour is used for its label on story cards and, for books, as the cover colour when the book has no cover image.

Logo

Upload a logo in Design & branding → Brand. Without a logo, Verse shows the site title in the theme's display font. A transparent PNG or SVG around 400 × 100 px works best. If your logo is dark, upload a light version in the Theme tab under Logo for dark mode.

Fonts

Verse ships its own fonts (Cormorant, Literata), hosted inside the theme — no requests to Google. To use different fonts, pick a Heading font and Body font in Design & branding → Brand. The theme follows your choice everywhere. Choose Theme default to go back.

Light and dark mode

In the Theme tab, Color scheme sets the default: Light, Dark or System (follows the reader's device). Readers can switch with the moon/sun button in the header or the switch in the menu; their choice is remembered on that device.

Theme settings

Settings → Design & branding → Customize. Theme settings are split between the Site wide, Homepage and Post tabs. Every setting:

SettingGroupTypeDefaultWhat it does
Color schemeSite wideselectLight (Light / Dark / System)Light is the paper look. Readers can change it in the reader settings.
Logo for dark modeSite wideimage—Optional light version of your logo for dark mode.
Newsletter titleSite widetextA new story, every SundayTitle of the newsletter box.
Newsletter textSite widetextemptyText of the newsletter box. Empty = site description.
Footer textSite widetextemptySmall footer line. Empty = site description.
Show share buttonsPostbooleanOnShare buttons (X, Facebook, LinkedIn, copy link) under posts.
Show author boxPostbooleanOnAuthor photo and bio under posts.
Show related postsPostbooleanOnThree posts from the same tag under each post.
Show reading progressPostbooleanOnProgress bar at the top of the screen while reading a post.
Reader fontSite wideselectSerif (Serif / Sans)Typeface of story text. Readers can change it in the reader settings.
Show reader settingsSite widebooleanOnThe Aa button: text size, paper colour, typeface and focus mode.
Hero labelHomepagetextStory of the weekSmall label above the newest featured story.
Show continue readingHomepagebooleanOnOffer returning readers the story they did not finish.
Show bookshelfHomepagebooleanOnBooks are tags with a slug that starts with book-.
Bookshelf titleHomepagetextThe bookshelf
Latest titleHomepagetextNew writing
Show drop capPostbooleanOnLarge first letter at the start of a story.
Show time leftPostbooleanOnSmall "minutes left" note while reading.

Books and chapters

  1. In Tags, create a new tag with the name of the book, for example Salt Road. Set its slug to start with book-, for example book-salt-road.
  2. Upload an upright cover image (2:3, at least 800 × 1200 px) and write a short description. With no image, Verse draws a cover in the tag's accent colour with the title on it.
  3. For each chapter, add the book tag as the first tag. You can add other tags after it, for example Serials.
  4. Chapters are ordered by their publish date, oldest first. To move a chapter, change its date.

A chapter page shows "Chapter 2 of 4" under the title, and previous/next links and the contents at the end. The book's own page (/tag/book-…/) shows the cover and a numbered contents list. Readers see which chapters they have finished, and the button changes from Start reading to Continue.

Reader settings and focus mode

On every story, the Aa button in the header opens the reader settings:

  • Text size — five steps.
  • Page — Paper (cream), White or Night.
  • Typeface — the serif of the theme or the reader's system sans.
  • Focus mode — hides the header, footer and everything after the story. Readers can also press F, and Esc to leave.

The choice is kept in the reader's browser and applied before the page appears. Set the default typeface with Reader font, or remove the button with Show reader settings.

Continue where you stopped

Verse remembers how far each reader got in each story, in their own browser. Nothing is sent anywhere.

  • When a reader opens a story they did not finish, a small bar offers to take them back to where they stopped.
  • The homepage shows the last unfinished story with how much was read (Show continue reading).
  • A story counts as read when the reader reaches the end. Locked stories are never counted.
  • While reading, a small note in the corner shows the minutes left (Show time left).

Poems

Choose the Poem template in the post settings. Write each stanza as one paragraph and press Shift + Enter at the end of each line. Verse keeps the line breaks, sets the poem in a narrow column with one left edge and leaves out the drop cap.

Homepage

  1. Lead story — the newest featured story, with its image in a frame (Hero label).
  2. Continue reading — for returning readers only (Show continue reading).
  3. The bookshelf — every book tag (Show bookshelf, Bookshelf title).
  4. New writing — all stories in two columns with a Load more button (Latest title).
  5. Newsletter — the signup box (Newsletter title, Newsletter text).

Pages and templates

Verse includes page templates for the pages every membership site needs. Create a page in Ghost (Pages → New page), set its URL in the page settings, then choose the Template in the same panel.

TemplateSuggested URLUse
Topics (the library)
custom-topics.hbs
/library/Your bookshelf of serials, then every other public tag with its description and story count.
Writers
custom-writers.hbs
/writers/Every author with at least one story: photo, location, bio and story count.
Membership
custom-membership.hbs
/membership/Your tiers with a monthly/yearly switch. The page body (for example a FAQ made of toggle cards) appears below.
Signin
custom-signin.hbs
/signin/Email sign-in form (magic link) with the page's feature image.
Signup
custom-signup.hbs
/signup/Free signup form with name and email and the page's feature image.
Account
custom-account.hbs
/account/Signed-in members see their plan, renewal date, card and links to manage billing and newsletters.

Tip: the membership page shows your tiers automatically. Anything you write in the page body appears underneath — the demo uses toggle cards for a FAQ.

Post templates

Choose a template per post in the post settings panel → Template.

TemplateUse
Poem
custom-poem.hbs
A narrow, centred page that keeps line breaks, with no feature image and no drop cap.

Membership, tiers and payments

Verse is built for Ghost's members features: free and paid signups, tiers, a paywall and the Portal popup.

1. Turn on signups

Settings → Membership → Access → Who should be able to subscribe? → Anyone can sign up.

2. Connect Stripe

Settings → Membership → Tiers → Connect with Stripe. Use test mode first, then switch to live mode when you are ready to take real payments.

3. Create tiers

Settings → Membership → Tiers. Add a name, monthly and yearly prices, a description and benefits. Verse shows every public tier on the membership page with a monthly/yearly switch, and marks the second tier as Most popular.

4. Members-only content

In a post's settings set Post access to Members only, Paid-members only or specific tiers. Readers without access see the start of the post and a paywall box that invites them to join or upgrade. To choose where the preview stops, add a Public preview divider in the editor (type /public).

5. Sign-up forms and buttons

Subscribe forms in the theme create free members and send a confirmation email. Every Subscribe, Sign in and Account button opens Ghost's Portal popup, so members can change plans, update cards and cancel without leaving your site.

Emails (sign-in links, receipts) need working email. On Ghost(Pro) it works out of the box. Self-hosted sites must configure Mailgun or SMTP in config.production.json.

Newsletters, comments and search

Newsletters: Settings → Newsletters. Posts can be sent by email when you publish. The theme's subscribe forms subscribe readers to your default newsletters.

Comments: Settings → Membership → Commenting. When on, comments appear under every post that the reader has access to.

Search: works out of the box. The search icon in the header opens Ghost's search; readers can also press Ctrl/⌘ + K.

Reading features

  • Reading progress bar on posts, in the post's topic colour (can be turned off in the Post tab).
  • Image lightbox: click any image or gallery photo in a post to see it full screen; use the arrow keys to move through a gallery.
  • Every editor card is styled: images (regular, wide, full), galleries, quotes, callouts, toggles, bookmarks, buttons, videos, audio, files, products, headers and signups. Create a page with every card to check your brand — the demo's style guide shows them all.

Posts per page

The home, tag and author pages load 10 posts, then a Load more button fetches the next set without reloading the page. To change the number, edit "posts_per_page" in package.json, zip the theme folder and upload it again.

Translation

Every word in the theme can be translated.

  1. In the unzipped theme folder, copy locales/en.json to a new file named after your language code, for example locales/fr.json.
  2. Translate the values (the text on the right). Keep the keys (the text on the left) and anything in {curly braces} unchanged.
  3. Zip the theme folder and upload it.
  4. Settings → General → Publication language → enter the same code (fr).

Custom CSS

Small style changes do not need a new theme upload. Settings → Code injection → Site header:

<style>
.story > p:first-child::first-letter { color: #1f4e79; }
.book-cover { box-shadow: none; }
</style>

Development

For larger changes, work on the unzipped verse/ folder. You need Node.js 20 or later.

cd verse
npm install        # once
npm run dev        # rebuild CSS/JS on every change
npm run build      # one-off build
npm test           # check the theme with gscan
npm run zip        # dist/verse.zip, ready to upload

CSS lives in src/css (one file per area, joined by main.css); JavaScript in src/js. Built files go to assets/built. Templates are Handlebars files in the theme root and in partials/.

Questions

The homepage looks empty after I activated the theme.

The home sections use your posts, featured posts and tags. Publish a few posts, mark some as Featured and add tags. The lead story needs a featured post; the bookshelf needs tags with a slug that starts with book-.

The membership page shows no prices.

Paid tiers only appear once Stripe is connected and the tiers are public (Settings → Membership → Tiers).

Sign-in emails do not arrive.

Check your email settings (self-hosted: Mailgun or SMTP in the config file). Ask readers to look in their spam folder.

How do I remove "Published with Ghost" from the footer?

Delete the link from partials/footer.hbs in the unzipped theme, zip the folder and upload it again.

Can I use the theme on more than one site?

A Regular licence covers one site (one end product). Buy one licence per site.

Are the demo images included?

No. Demo photos come from Pixabay and are only used on the demo site. The theme itself contains no stock photos.

Support

Support is included with your purchase and covers: answering questions about the theme's features, and fixing bugs. It does not cover custom changes or problems with third-party code.

Email support@codememory.com with your purchase code and your site address. See the changelog for what changed in each version and third-party materials for credits.