Temas

Nesta página

Um tema EmDash é um projeto Astro completo distribuído como template create-astro. Contém as rotas e componentes públicos, a configuração de runtime do EmDash e um arquivo seed opcional para o modelo de conteúdo inicial do site.

Não há pacote de tema em runtime nem hierarquia de templates. Após o scaffolding, os arquivos do tema pertencem ao site e podem ser editados diretamente.

Conteúdo do tema

Os templates EmDash atuais usam estes caminhos:

astro.config.mjs
package.json
seed/
└── seed.json
src/
├── components/
├── layouts/
├── live.config.ts
├── pages/
└── styles/
  • astro.config.mjs configura a saída do servidor, o adapter de deployment, o EmDash, o banco de dados e o armazenamento.
  • src/live.config.ts registra a collection live _emdash.
  • src/pages/ define as rotas públicas.
  • seed/seed.json pode declarar collections, campos, configurações, taxonomias, bylines, menus, redirecionamentos, áreas de widgets, seções e conteúdo de exemplo iniciais.
  • package.json#emdash.seed aponta para o arquivo seed.

O template em branco deliberadamente não tem seed de usuário e cai no seed padrão embutido do EmDash. Os outros templates atuais apontam para seed/seed.json.

Instalar um template

O comando a seguir faz o scaffolding do template de blog Node:

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

Use o pacote -cloudflare correspondente para um projeto Cloudflare Workers:

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

Os pacotes de template atuais incluem:

FinalidadeNodeCloudflare
Casca vazia do projeto@emdash-cms/template-blankSem equivalente atual
Site básico de páginas@emdash-cms/template-starter@emdash-cms/template-starter-cloudflare
Posts, páginas, categorias, tags e widgets@emdash-cms/template-blog@emdash-cms/template-blog-cloudflare
Portfólio de projetos@emdash-cms/template-portfolio@emdash-cms/template-portfolio-cloudflare
Páginas de marketing compostas de blocos versionados@emdash-cms/template-marketing@emdash-cms/template-marketing-cloudflare

Após o scaffolding, instale as dependências e inicie o site gerado:

cd my-site
npm install
npm run dev

Abra http://localhost:4321/_emdash/admin. A primeira visita redireciona para a configuração, onde você informa a identidade do site e os detalhes do administrador. Quando o template selecionado tem entradas de exemplo, o assistente também permite incluí-las ou omiti-las. Incluí-las é útil ao avaliar o design porque as rotas têm conteúdo realista para renderizar.

Primeira configuração

O EmDash lê o seed no momento do build. Procura nesta ordem:

  1. .emdash/seed.json.
  2. O caminho em package.json#emdash.seed.
  3. seed/seed.json.
  4. O seed padrão embutido quando nenhum seed de usuário é encontrado.

Na primeira visita ao admin, o assistente de configuração mostra os metadados do seed e permite ao administrador escolher se inclui conteúdo de exemplo. Aplica o seed a um banco de dados vazio e registra a conclusão da configuração. Inicializações posteriores não reaplicam o seed a um site existente.

Personalizar o site instalado

Edite o projeto gerado diretamente:

  • Altere os arquivos de rota em src/pages/.
  • Altere a marcação compartilhada em src/layouts/ e src/components/.
  • Altere o modelo inicial em seed/seed.json antes da primeira configuração.
  • Gerencie o modelo de um site existente em Content Types no admin.

Use Criar temas para preparar um template reutilizável e Arquivos seed para o contrato seed completo.