Skip to content

Theme

Select a Deckup theme, compare built-in themes, and resolve installed or registry packages.

Updated View as Markdown

Themes provide Astro layout components for Deckup pages. Select a fallback in deckup.config.*:

import { defineConfig } from "deckup";

export default defineConfig({
  theme: "google-basic",
});

Deck-level static metadata overrides the configured fallback. If neither is present, Deckup uses default.

Built-in themes

Each interactive deck demonstrates the seven layouts shared by the built-in themes.

Installed package themes

Install a third-party package in the deck project and use its package specifier:

export default defineConfig({
  theme: "@acme/deckup-theme",
});

Registry themes

Use npm: to let Deckup resolve a package before Astro starts:

export default defineConfig({
  theme: "npm:@acme/deckup-theme@1.2.3",
});

Both npm:package and exact npm:package@version specs are supported. Deckup caches downloaded packages; set DECKUP_THEME_CACHE_DIR to choose another cache directory. An uncached download requires confirmation, and non-interactive runs stop with guidance instead of downloading automatically.

Deckup does not automatically replace an invalid cache entry. If a cached theme fails validation (for example, edited or corrupted metadata or package files), Deckup reports the error instead of deleting and re-downloading it. To recover, verify no Deckup process is using that cache entry, remove only the named entry under the cache directory’s packages/ folder, then rerun Deckup interactively to re-download it. Avoid deleting the whole cache directory; that removes every other theme you already have cached.

Deckup serializes concurrent downloads of the same theme with a per-package cache lock. Acquiring that lock waits up to 60 seconds; if the wait times out, Deckup reports a timeout error naming the theme, the wait duration, and the lock directory instead of waiting indefinitely. A lock only remains past that window if a Deckup process abandoned it (for example, a crash or a killed process). To recover, confirm no Deckup process is using that theme, then remove the named .lock directory under the cache directory’s locks/ folder before retrying. Do not remove a lock while a Deckup process still holds it.

To create a reusable package, read Authoring Themes.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close