A NERA é um gerador de sites estáticos muito simples. Cria arquivos HTML estáticos fora
Arquivos de marcação.
Esteja ciente de que este software ainda está em desenvolvimento. Pode ser que haja alterações que não sejam compatíveis com as versões anteriores.
Certifique -se de executar pelo menos o nó versão 10.2 em seu sistema
git clone [email protected]:seebaermichi/nera.git
# Install dependencies
npm install
# Run local server (browser-sync)
npm run serve
# Render the static files
npm run render
# Local development
npm start
|-- assets/
|-- config/
|-- app.yaml
|-- pages/
|-- src/
|-- plugins/
|-- plugin-helper.js
|-- core.js
|-- index.js
|-- render.js
|-- setup-plugins.js
|-- views/
|-- index.js
São todos os arquivos de CSS, JavaScript, fonte e imagem que são usados no seu site. Durante o processo de renderização, todos os ativos são copiados para o diretório public
.
Aqui você pode definir configurações globais para o seu site. Todas as configurações globais devem chegar à config/app.yaml
. Como Lang, nome, etc. Eles estarão disponíveis no objeto data.app
nos arquivos de origem ou plug -in ou como objeto app
dentro dos arquivos de exibição.
Dentro do diretório de páginas, você adiciona os arquivos de marcação que incluem meta informações ou configurações e o conteúdo da sua página. Encontre mais informações sobre os arquivos de marcação abaixo.
O diretório src
inclui o próprio aplicativo. Aqui você encontra os arquivos core.js
, index.js
, render.js
e setup-plugins.js
que incluem toda a funcionalidade para ler os arquivos de marcação, obter as configurações, carregar plugins, copiar ativos e renderizar os arquivos HTML no puplic
pasta.
A pasta src
também inclui a pasta plugins
. Nele você colocaria funcionalidade adicional.
Dê uma olhada na coleção atual de plugins disponíveis.
No diretório de visualizações, você coloca todos os arquivos de layout. Usamos o PUG como uma estrutura de modelos.
Além do conteúdo do arquivo de marcação, também há mais dados disponíveis. Existe um objeto app
, que inclui todas as propriedades do arquivo config/app.yaml
. O outro objeto é o meta
objeto. Onde app
inclui dados relevantes ou utilizáveis em todas as páginas, o meta
objeto inclui apenas dados para a própria página. Portanto, inclui por padrão todas as propriedades e valores que você define na seção meta do arquivo de marcação. Além disso, inclui
createdAt
é datetime quando o arquivo de marcação foi criado
href
é o caminho para o arquivo html atual
dirname
é o nome DIRNO do arquivo HTML atual
É claro que o meta
objeto também pode incluir mais dados, dependendo do que seus plugins adicionam ao ID.
Cada arquivo de marcação, que inclui o conteúdo de uma página da Web dedicada, precisa ter algumas configurações na cabeça. Veja um exemplo abaixo:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
Claro que você pode adicionar muitos outros meta -dados chamados. Ele estará disponível nos arquivos de exibição como
meta
objeto.
Além disso, os valores básicos de configuração estão disponíveis no objetoapp
.
Se você deseja usar o NERA para o seu site de várias linguagens, poderá fazer isso facilmente adicionando traduções ao arquivo de configuração do aplicativo e use a função t
em seus modelos de pug.
config/app.yaml
...
translations :
en :
app_description : Nera is an easy to use and light weight static site generator
es :
app_description : Nera es un generador de sitios estáticos liviano y fácil de usar
views/layouts/layout.pug
. . .
head
. . .
meta ( name = "description" , content = ` ${ meta . description || t ( ' app_description ' ) } ` )
. . .
A função t
procurará a chave nas traduções do arquivo de configuração do aplicativo e retornará a tradução para esta chave. Se não conseguir encontrar a propriedade Tradundações ou se não houver a chave fornecida nas traduções, a função retornará a chave.