Skip to content
Subscribe
Kitchen Sink: Every Ghost Element in One Post
Blog

Kitchen Sink: Every Ghost Element in One Post

FN
4 min read

Typography

This is a regular paragraph with bold text, italic text, bold italic, inline code, a link, and strikethrough text. The quick brown fox jumps over the lazy dog.

Heading Three

Below the h3, a paragraph continues to demonstrate the spacing between heading levels and body text in the theme.

Heading Four

Fourth-level headings are used for sub-sections within a broader topic.

Heading Five

Fifth-level headings appear rarely but should still be styled correctly.

Heading Six

The smallest heading level. Useful for footnotes or minor labels.

Lists

Unordered List

  • First item in the list
  • Second item with more detail
    • Nested item one
    • Nested item two
      • Deeply nested item
  • Third item back at top level
  • Fourth item to complete the list

Ordered List

  1. Clone the repository
  2. Install dependencies
    1. Run npm install
    2. Configure environment variables
  3. Start the development server
  4. Open the browser at http://localhost:3000

Blockquotes

The best way to predict the future is to invent it. — Alan Kay
This is a multi-paragraph blockquote to test how the theme handles longer quoted passages.

The second paragraph continues the thought. Themes often struggle with spacing between paragraphs inside blockquotes, so this is an important edge case to verify.

A third paragraph rounds it out. If the vertical rhythm holds here, the theme's blockquote styling is solid.

Table

FrameworkLanguageStarsLicenseUse Case
ReactJavaScript220kMITSingle-page apps
VueJavaScript207kMITProgressive web apps
DjangoPython78kBSDFull-stack web
RailsRuby55kMITRapid prototyping
Next.jsJavaScript124kMITServer-side rendering

Images

Normal Width Image

Code on a screen

Wide Image with Caption

A developer's workspace
A developer's workspace

Full-Bleed Image

Laptop on a desk

Code Blocks

JavaScript

async function fetchData(url) {
  try {
    const response = await fetch(url);
    if (!response.ok) {
      throw new Error(`HTTP ${response.status}`);
    }
    return await response.json();
  } catch (error) {
    console.error('Fetch failed:', error.message);
    throw error;
  }
}

Python

from dataclasses import dataclass
from typing import Optional

@dataclass
class User:
    name: str
    email: str
    role: str = 'viewer'
    team: Optional[str] = None

    def is_admin(self) -> bool:
        return self.role == 'admin'

CSS

.post-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: var(--surface-1);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.2s ease;
}

.post-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

Callout Cards

💡
This is a tip callout. Use it to highlight useful information or best practices that readers should know about.
⚠️
This is a warning callout. It draws attention to potential pitfalls or things that could go wrong.
🚨
This is an important callout. Use it for critical information that must not be missed.
This is a success callout. Great for confirming that something worked or a step was completed.
📝
This is a note callout. Use it for supplementary information or side notes.

Toggle / Accordion Cards

What is Ghost CMS?

Ghost is a powerful open-source publishing platform built on Node.js. It provides a clean, modern editor, built-in membership and subscription features, and a flexible theming system powered by Handlebars templates.

How do I customize a Ghost theme?

Ghost themes use Handlebars for templating, with CSS for styling. Edit the .hbs template files and CSS to change layout and appearance. Use npx gscan to validate your theme before deploying.

Does Ghost support memberships?

Yes. Ghost has built-in support for free and paid memberships via Stripe integration. You can gate content by tier, send newsletters to members, and manage subscriptions — all without plugins.

Bookmark Card

Ghost: The Creator Economy Platform
The world's most popular modern publishing platform for creating a new media platform. Used by Apple, Tinder, Sky News, and thousands more.
Ghost

YouTube Embed

Button Card

Horizontal Rule

Content before the rule.


Content after the rule.

Mixed Content Flow

This section tests the spacing between different element types in sequence — a common source of visual bugs in themes.

A blockquote right after a paragraph to test the margin.
  • A list immediately following a blockquote
  • Second item in the list

And then a paragraph after the list, before a code block:

curl -s https://api.example.com/health | jq .status

This paragraph follows the code block. All transitions between element types should have consistent, readable spacing.

Tagged in: Blog

FN

Share your thoughts

Start the conversation. Your input matters.

Enjoy this article?

Subscribe