EmDash Guides

How to Import a Theme from the Marketplace

Download a theme from emdash.market, apply it to your EmDash project, and customise it to match your brand.

EmDash GuidesApril 28, 20262 min read

What Is an EmDash Theme?

An EmDash theme is a standard Astro 6 project that controls how your site looks and behaves. Unlike WordPress themes, EmDash themes are purely presentational — they cannot touch the database, which eliminates an entire class of security risks. A theme typically contains:

  • Pages — Astro routes for home, blog archive, single posts, and custom pages
  • Layouts — shared HTML wrappers (header, footer, navigation)
  • Components — reusable UI pieces such as cards, hero sections, and buttons
  • Styles — CSS or Tailwind configuration
  • seed.json — declares the content types and fields the theme expects

Step 1 — Browse Themes

Visit the Themes section of the marketplace. Use the filters to narrow by price (free / paid) or sort by most popular. Click any theme card to see a full preview, description, and pricing.

Step 2 — Download the Theme Archive

On the theme detail page, click Download. Subscribers on a Pro or Creator plan can download any theme for free; otherwise a one-time purchase is required. The download is a .zip archive containing the full Astro project.

Step 3 — Extract and Apply the Theme

Unzip the archive. You have two options depending on your workflow:

Option A — Start fresh from the theme

Use the theme as your entire project directory:

unzip my-emdash-theme.zip -d my-emdash-site
cd my-emdash-site
npm install
npm run dev

This is ideal when you are starting a new site.

Option B — Merge into an existing project

Copy the theme's src/ directory over your current project's src/. Then merge any new dependencies from the theme's package.json into yours:

# Merge src files
cp -r theme-src/src/* my-emdash-site/src/

# Install any new deps the theme needs
npm install

Step 4 — Apply the Seed File

Most themes include a seed.json (found in the .emdash/ folder) that defines the content types the theme expects — things like a Featured Image field, a Category taxonomy, or a Hero Blurb text field. Import it in the admin panel:

  1. Go to /_emdash/adminSettingsImport Schema
  2. Upload the seed.json file
  3. Review the collections that will be created and click Apply

Once applied, your content types will match what the theme templates expect.

Step 5 — Customise the Theme

Open the theme files in your editor and adjust:

  • Colors & Typography — edit src/styles/global.css or your tailwind.config.mjs
  • Site Logo — replace the image referenced in the Header component
  • Navigation Links — update the nav array in the layout or a dedicated config file
  • Homepage Sections — edit src/pages/index.astro to reorder or remove sections

Troubleshooting

  • Missing content fields: Make sure you have applied the theme's seed.json — the template will throw errors if expected fields don't exist in the database.
  • Styles not loading: Run npm install after merging to ensure all CSS dependencies (Tailwind, etc.) are installed.
  • TypeScript errors: Re-run npx emdash types after importing the seed to regenerate type definitions.
How to Import a Theme from the Marketplace · emdash.market