Visão geral dos temas

Nesta página

Um tema EmDash é um site Astro completo — páginas, layouts, componentes, estilos — distribuído via create-astro. Também inclui um arquivo seed que inicializa o banco de dados com coleções, campos, menus, redirecionamentos e conteúdo de exemplo na primeira execução.

O que um tema oferece

Um tema é um projeto Astro funcional com:

  • Pages — rotas Astro para renderizar conteúdo (página inicial, posts do blog, arquivos etc.)
  • Layouts — estrutura HTML compartilhada
  • Components — elementos de UI reutilizáveis (navegação, cards, rodapés)
  • Styles — CSS ou configuração do Tailwind
  • Um arquivo seed — JSON que informa ao CMS quais tipos de conteúdo e campos criar

Estrutura do tema

my-theme/
├── package.json           # Metadados do tema + config EmDash
├── astro.config.mjs       # Configuração da integração Astro
├── src/
│   ├── live.config.ts     # Configuração Live Collections
│   ├── pages/             # Rotas Astro
│   ├── layouts/           # Componentes de layout
│   └── components/        # Componentes de UI
└── .emdash/
    ├── seed.json          # Esquema + conteúdo de exemplo
    └── uploads/           # Arquivos de mídia locais opcionais

Como os temas inicializam sites

Ao criar um site a partir de um tema, ocorre o seguinte:

  1. O create-astro gera o projeto a partir do template
  2. Você executa npm install e npm run dev
  3. Na primeira visita ao admin, o Assistente de configuração roda automaticamente
  4. O assistente aplica o arquivo seed, criando coleções, menus, redirecionamentos e conteúdo
  5. O site fica pronto para uso

Para usuários

Escolha um tema, execute o assistente, comece a editar. Não é necessário conhecer banco de dados.

Para desenvolvedores

Temas são projetos Astro padrão. Personalize à vontade após a geração.

Instalar um tema

Use o create-astro com um template:

npm create astro@latest -- --template @emdash-cms/template-blog

Temas da comunidade funcionam via GitHub:

npm create astro@latest -- --template github:user/emdash-portfolio

Após a instalação:

cd my-site
npm install
npm run dev

Acesse http://localhost:4321/_emdash/admin para concluir o Assistente de configuração.

O Assistente de configuração

O Assistente de configuração roda automaticamente na primeira visita ao admin. Ele:

  1. Solicita título do site, slogan e credenciais de administrador
  2. Oferece a opção de incluir conteúdo de exemplo
  3. Aplica o arquivo seed ao banco de dados
  4. Redireciona ao painel de administração
┌────────────────────────────────────────────────────────┐
│                                                        │
│                    ◆ EmDash                            │
│                                                        │
│         Bem-vindo ao seu novo site                     │
│                                                        │
│  Título do site: [Meu blog incrível                  ] │
│  Slogan:         [Pensamentos e ideias                 ] │
│                                                        │
│  E-mail admin:   [[email protected]                  ] │
│  Senha admin:    [••••••••••••                       ] │
│                                                        │
│  ☑ Incluir conteúdo de exemplo                         │
│                                                        │
│                   [Criar site →]                       │
│                                                        │
│  Template: Blog Starter                                │
│  Cria: 2 coleções, 3 páginas, 1 post                   │
└────────────────────────────────────────────────────────┘

Temas oficiais

O EmDash oferece temas iniciais oficiais, cada um disponível nas variantes local (SQLite + sistema de arquivos) e Cloudflare (D1 + R2):

TemaDescriçãoCaso de uso
@emdash-cms/template-blogBlog mínimo com posts, páginas, categorias e modo escuroBlogs pessoais, sites simples
@emdash-cms/template-portfolioPortfólio editorial com projetos, tipografia serif (Playfair Display) e layouts focados em imagemFreelancers, agências, criativos
@emdash-cms/template-marketingSite de marketing ousado com blocos Portable Text personalizados (hero, recursos, depoimentos, preços, FAQ)Landing pages, sites SaaS, marketing de produto

Variantes Cloudflare

Para implantação no Cloudflare Pages com D1 e R2, acrescente -cloudflare ao nome do template:

npm create astro@latest -- --template @emdash-cms/template-blog-cloudflare
npm create astro@latest -- --template @emdash-cms/template-portfolio-cloudflare
npm create astro@latest -- --template @emdash-cms/template-marketing-cloudflare

Essas variantes incluem wrangler.jsonc para configuração de implantação.

Personalizar após a instalação

Depois que o Assistente de configuração termina, seu site é um projeto Astro padrão. Personalize como qualquer site Astro:

  • Edite páginas em src/pages/
  • Ajuste layouts em src/layouts/
  • Adicione coleções pela interface de administração
  • Instale integrações Astro
  • Implante em qualquer lugar onde o Astro rode

O arquivo seed só é usado na configuração inicial. Depois de aplicado, o esquema fica no banco de dados.

Próximos passos