Developers

macro.config.js reference

Site-root config consumed by the Vite plugin and loader. Export macroConfig (preferred) with website credentials and optional editor/overlay options.

Frontend only
This file is shipped to the browser (or imported by the loader). Put only pk_ / dk_ here — never sk_ or mt_.

Minimal example

macro.config.js
export const macroConfig = {
  apiBaseUrl: 'https://api.macrocontent.dev',
  websiteId: 'YOUR_WEBSITE_UUID',
  publicKey: 'pk_…',
  defaultLocale: 'en',
  editorLogin: {
    enabled: true,
    shortcut: 'Mod+Shift+M',
    triggers: true,
  },
}

Options

NameTypeDescription
apiBaseUrlstringRequired. API origin.
websiteIdstringRequired. Website UUID from Dashboard.
publicKeystringRequired. pk_ or dk_ frontend key.
devKeystringOptional alternate development key field.
defaultLocalestringDefault content locale (e.g. en).
localestringForce editor/content locale; omit for site default.
debugbooleanLog [Macro SDK] phased diagnostics.
autoSaveDebounceMsnumberDebounce for draft autosave.
enableInlineEditingbooleanAllow inline edit after session.
openOverlayOnSessionbooleanOpen overlay chrome after login.
editorLoginobjectIn-page sign-in modal + shortcut.
overlayboolean | objectfalse disables overlay package load.
poweredByboolean | objectFloating badge / attribution options.
contentRootstringCSS selector for badge layout root.
resolvePageSlugfn(pathname) => slug for SEO/page registry.
syncOnEditorStartstring[]Data-source groups to sync on editor start.
nodesMacroNodeDefinition[]Custom/community node definitions.

editorLogin

NameTypeDescription
enabledbooleanDefault true.
shortcutstringDefault 'Mod+Shift+M' (⌘/Ctrl+Shift+M).
triggersbooleanWire [data-macro-editor-login-trigger] clicks.

poweredBy

Boolean or object. Client false is ignored when the server requires attribution (powered_by_required). See Powered-by & attribution.

NameTypeDescription
enabledbooleanDefault true.
hrefstringMarketing URL (UTM appended).
labelstringBadge label text.
contentRootstringShell selector for badge positioning.

overlay

Load @macrocontent/overlay after login unless set to false. Object form supports position, mode, theme (dark | light), and close button. Details: Overlay & login.

nodes

Array of MacroNodeDefinition registered at boot. Local definitions override Store components with the same typeId. See Custom components.