Wander documentation

A photo-first Ghost theme for travel blogs and journals, with a dotted world map of your stories.
Thank you for choosing Wander. 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.
- Version1.0.0
- Ghost6.0.0 or later
- Live demowander.ghostcms.templates.codememory.com
- AuthorCode Memory
Highlights
- Full-screen photo slider of your featured stories, with autoplay, swipe and a progress bar per slide
- Dotted world map with a pin for every story; hover a pin to see the story as a postcard
- Map on the homepage, on every tag page (only that tag's stories) and on a full Map page
- Passport card on each post: a small map with the pin, the place, its coordinates and the date
- Trip facts boarding pass, built from one plain line of text in the editor
- Journey bar: a route at the bottom of the screen with a stop for each part of the story and a plane that follows the reader
- Header that sits clear over full-screen photos and turns solid when the reader scrolls
- Destinations row of tall photo tiles for your tags
- Airmail postcard newsletter box with stamp and postmark
- Galleries shown as tilted photo prints, handwritten captions
- Map page, Destinations page (postcards) and Travellers page (postage-stamp portraits)
- Next stop: a full-width photo link to the next story
- 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, dark and system modes with a reader toggle
- Reading progress bar and image lightbox
- Self-hosted fonts (Big Shoulders Display, Schibsted Grotesk, Caveat)
- Fully translatable, 18 theme settings, no jQuery
What is in the download
themeforest-wander-ghost-theme/
├── documentation/ ← you are here
└── wander_1.0.0_for_ghost_6.0.0_or_later/
├── wander.zip ← upload this file to Ghost
└── wander/ ← the same theme, unzipped, with source files
You only need wander.zip to use the theme. The unzipped folder is there for developers who
want to change the code (see Development).
Installation
- Sign in to your Ghost admin (
yoursite.com/ghost). - Go to Settings → Design & branding → Customize → Change theme.
- Click Upload theme and choose
wander.zipfrom thewander_1.0.0_for_ghost_6.0.0_or_laterfolder. Do not upload the whole download. - Click Activate.
Updating
When a new version is released, download it from your ThemeForest Downloads page and upload the new
wander.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.
- Brand: Settings → Design & branding → set the Accent colour, upload a logo and a site icon.
- Navigation: Settings → Navigation → add your main links (see Navigation).
- Pages: create the pages in Pages and templates and pick the matching template.
- Membership: Settings → Membership → turn on signups; add paid tiers and connect Stripe (see Membership).
- Theme settings: Design & branding → Theme tab (see Theme settings).
- Tags: give each tag (Europe, Hiking…) a feature image. It is used for the Destinations tiles, the Destinations page and the full-screen photo at the top of the tag page.
- Featured stories: mark up to 4 posts as Featured for the homepage slider. With none featured, the slider shows your 4 newest posts.
Logo, colours and fonts
Accent colour
Settings → Design & branding → Accent colour. Wander uses it for buttons, links, highlights and the reading-progress bar. Wander's accent is sunset coral (#FF5A36 by default), used for buttons, pins and highlights. Sea teal and mustard are fixed supporting colours.
Logo
Upload a logo in Design & branding → Brand. Without a logo, Wander 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
Wander ships its own fonts (Big Shoulders Display, Caveat, Schibsted Grotesk), 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:
| Setting | Group | Type | Default | What it does |
|---|---|---|---|---|
| Color scheme | Site wide | select | Light (Light / Dark / System) | Readers can still switch with the sun/moon button. |
| Logo for dark mode | Site wide | image | — | Optional light version of your logo for dark mode. |
| Show slider | Homepage | boolean | On | Featured stories as a full-screen photo slider. No featured posts = newest. |
| Slider autoplay | Homepage | boolean | On | Move to the next slide every 7 seconds. |
| Show destinations | Homepage | boolean | On | Your tags as tall photo tiles. |
| Destinations title | Homepage | text | Where to next? | |
| Grid title | Homepage | text | Latest stories | |
| Show map | Homepage | boolean | On | A dotted world map with a pin for every post that has a #map tag. |
| Map title | Homepage | text | Where we've been | |
| Newsletter title | Site wide | text | Postcards from the road | Title of the postcard newsletter box. |
| Newsletter text | Site wide | text | empty | Text of the newsletter box. Empty = site description. |
| Footer text | Site wide | text | empty | Small footer line. Empty = site description. |
| Show trip facts | Post | boolean | On | Turns a "Label: value · Label: value" line into a boarding-pass card. |
| Show journey bar | Post | boolean | On | A route bar at the bottom of the screen with a stop for each heading. |
| Show share buttons | Post | boolean | On | Share buttons (X, Facebook, LinkedIn, copy link) under posts. |
| Show author box | Post | boolean | On | Author photo and bio under posts. |
| Show related posts | Post | boolean | On | Three posts from the same tag under each post. |
| Show reading progress | Post | boolean | On | Progress bar at the top of the screen while reading a post. |
Putting a story on the map
Wander places a story on the map from one internal tag on the post. Internal tags start with # and are never shown to readers.
- Find the place's latitude and longitude, for example by right-clicking it in Google Maps. Lisbon is
38.72, -9.14. - In the post settings, add a tag in this form:
#map 38.72 -9.14 Lisbon— the word#map, the latitude, the longitude, then the place name. Use a minus sign for south and west. Separate the numbers with a space. - Publish. The story now has a pin on the homepage map, on the Map page and on the map of each of its tags, and the post shows the passport card.
#map tag simply have no pin. If no post has one, the maps are hidden. The place name is optional; it is shown on the pin, in the slider and on the passport.Trip facts boarding pass
Near the top of a post, write one paragraph of Label: value pairs separated by middle dots (·):
Best time: April–June · Days: 3 · Budget: Mid-range · Getting around: On foot and tram
Wander turns it into a boarding pass with the place code and coordinates on the stub. At least three pairs are needed. It must be one of the first eight paragraphs. Turn it off with Show trip facts (Post tab).
Journey bar
On posts with two or more main headings (H2), a route bar slides up from the bottom of the screen while the reader is in the text. Each heading is a stop; the reader can click a stop to jump to it. Headings like Day 1 — Alfama work especially well. Turn it off with Show journey bar (Post tab).
Homepage
- Slider — featured posts (or the newest) as full-screen photos (Show slider, Slider autoplay). Autoplay pauses on hover and focus and is off for readers who prefer reduced motion.
- Where to next? — your six biggest tags as photo tiles (Show destinations, Destinations title).
- Latest stories — the post grid with More stories (Grid title).
- Where we've been — the world map with a pin for every story (Show map, Map title).
- Postcard newsletter box — on every page for visitors (Newsletter title, Newsletter text).
Pages and templates
Wander 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.
| Template | Suggested URL | Use |
|---|---|---|
Mapcustom-map.hbs | /map/ | The world map with every pinned story, then every story grouped by tag. |
Destinationscustom-destinations.hbs | /destinations/ | Every public tag as a postcard with its image, description and story count. |
Travellerscustom-travellers.hbs | /travellers/ | Every staff member with at least one post, shown as a postage stamp with home base and bio. |
Membershipcustom-membership.hbs | /membership/ | Your tiers with a monthly/yearly switch. The page body (for example a FAQ made of toggle cards) appears below. |
Signincustom-signin.hbs | /signin/ | Email sign-in form (magic link). The page's feature image appears as a photo print. |
Signupcustom-signup.hbs | /signup/ | Free signup form with name and email. The page's feature image appears as a photo print. |
Accountcustom-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.
Membership, tiers and payments
Wander 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. Wander 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.
config.production.json.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.
- In the unzipped theme folder, copy
locales/en.jsonto a new file named after your language code, for examplelocales/fr.json. - Translate the values (the text on the right). Keep the keys (the text on the left) and anything in
{curly braces}unchanged. - Zip the theme folder and upload it.
- 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>
.map-band { background: #1d3557; }
.pin-dot { background: #ffb81c; }
</style>
Development
For larger changes, work on the unzipped wander/ folder. You need Node.js 20 or later.
cd wander 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/wander.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 map appears once a post has a #map tag; the Destinations tiles once you have tags.
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.