Ledger documentation

Ledger homepage

A sharp, newspaper-style Ghost theme for finance, business and economics newsletters.

Thank you for choosing Ledger. 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

  • Moving ticker strip above the masthead: your own items with green/red changes, or your latest headlines
  • Classic newspaper masthead with the date and a tagline
  • Front page: lead story beside a numbered 'The Brief' column with a signup box
  • Chart of the week: the newest post tagged #chart, shown large
  • Section desks: your four biggest tags, each with a lead story and headlines
  • Editor's picks row and a dense 'Latest' list with load more
  • Serif long-form reading with a drop cap and an 'In this story' contents rail
  • Tables styled like financial statements, with right-aligned tabular numbers
  • Briefing post template with numbered sections and no feature image
  • 'More in this section' stories after every post
  • Sections and Reporters pages, and reporter pages
  • Membership page with tiers and a monthly/yearly switch
  • Styled paywall for members-only and paid stories
  • Sign in, sign up and account pages
  • Light first, with dark and system modes and a reader toggle
  • Reading progress bar and image lightbox
  • Self-hosted fonts (Newsreader, IBM Plex Sans, IBM Plex Mono)
  • Fully translatable, 18 theme settings, no jQuery

What is in the download

themeforest-ledger-ghost-theme/
├── documentation/                          ← you are here
└── ledger_1.0.0_for_ghost_6.0.0_or_later/
    ├── ledger.zip                          ← upload this file to Ghost
    └── ledger/                             ← the same theme, unzipped, with source files

You only need ledger.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 ledger.zip from the ledger_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 ledger.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. Sections: create a public tag for each section (Markets, Economy…) with a colour. The four tags with the most posts become the homepage desks.
  7. Chart of the week: add the internal tag #chart to a post whose feature image is a chart. The newest one is shown large on the homepage.
  8. Ticker: type your items in Design → Site wide → Ticker items, separated by |. Leave it empty to show your latest headlines instead.

Logo, colours and fonts

Accent colour

Settings → Design & branding → Accent colour. Ledger uses it for buttons, links, highlights and the reading-progress bar. Ledger's accent is a money green (#0A7C59 by default), used for buttons, the drop cap and small highlights. Ticker gains are always green and losses red, whatever the accent.

Logo

Upload a logo in Design & branding → Brand. Without a logo, Ledger 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

Ledger ships its own fonts (IBM Plex Mono, IBM Plex Sans, Newsreader), 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)Readers can still switch with the sun/moon button.
Logo for dark modeSite wideimage—Optional light version of your logo for dark mode.
Show tickerSite widebooleanOnA thin moving strip above the masthead.
Ticker itemsSite widetextemptyItems split by |, e.g. "Gold +1.2% | Oil −0.8%". Empty = your latest headlines.
Masthead taglineSite widetextMoney, markets and the business of everythingSmall line under the masthead on the homepage.
Brief titleHomepagetextThe BriefColumn of headlines beside the lead story.
Show chartHomepagebooleanOnNewest post with the internal tag #chart, shown large.
Chart titleHomepagetextChart of the week
Show sectionsHomepagebooleanOnYour four biggest tags, each with its newest stories.
Show picksHomepagebooleanOnFeatured posts as a numbered row.
Picks titleHomepagetextEditor's picks
Latest titleHomepagetextLatest
Footer textSite widetextemptyFooter newsletter text. Empty = site description.
Show tocPostbooleanOn"In this story" list of headings beside long posts.
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.

The ticker strip

The thin dark strip above the masthead scrolls slowly and pauses when a reader points at it. It has two modes:

  1. Your own items. In Ticker items, type short items separated by a vertical bar, for example Gold +1.1% | Oil −0.8% | Bonds −0.2%. An item that ends with a change starting with + is shown in green with ▲; one starting with − or - in red with ▼. Anything else is shown as plain text.
  2. Latest headlines. Leave Ticker items empty and the strip shows your eight newest post titles as links.
The ticker shows the text you type. It does not fetch live market prices. Update the items when you publish, or use the headline mode.

Turn it off with Show ticker. Readers who ask their device for reduced motion get a still strip they can scroll.

Homepage

  1. Lead and The Brief — your newest post as the lead story, beside the next five as a numbered list (Brief title) with a free signup box for visitors.
  2. Chart of the week — the newest post with the internal tag #chart. Settings: Show chart, Chart title.
  3. Section desks — your four biggest public tags, each with its newest story and three more headlines (Show sections).
  4. Editor's picks — up to four featured posts (Show picks, Picks title).
  5. Latest — everything from the seventh post on, with More stories (Latest title). The number of posts per page is 12.

Stories, tables and briefings

Stories are set in a serif at a comfortable size, with a drop cap on the first paragraph. On wide screens, an In this story rail lists the post's headings and highlights the one you are reading (Show TOC); it hides itself when a post has fewer than two headings.

Tables: add an HTML card with a normal table. Every column after the first is right-aligned in tabular figures, so numbers line up like a financial statement. Use a <thead> row for column titles.

Briefing template: choose Briefing in the post settings for round-ups. It hides the feature image, adds a Briefing bar with the day and numbers every second-level heading 01, 02, 03…

Pages and templates

Ledger 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
Sections
custom-sections.hbs
/sections/Every public tag as a card with its colour, description, story count and three newest headlines.
Reporters
custom-reporters.hbs
/reporters/Every staff member with at least one post: 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). The page's feature image fills the right half.
Signup
custom-signup.hbs
/signup/Free signup form with name and email. The page's feature image fills the right half.
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
Briefing
custom-briefing.hbs
No feature image, a Briefing bar with the day, and numbered sections. For daily or weekly round-ups.

Membership, tiers and payments

Ledger 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. Ledger 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 12 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>
.ticker { background: #0b3d2e; }
.article .gh-content > p:first-of-type::first-letter { color: inherit; }
</style>

Development

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

cd ledger
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/ledger.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 Brief fills up once you have six posts; the chart appears when a post has the #chart tag.

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.