NERA es un generador de sitios estático realmente simple. Crea archivos HTML estáticos de
Archivos de markdown.
Tenga en cuenta que este software aún está en desarrollo. Puede ser que habrá cambios que no sean compatibles con las versiones anteriores.
Asegúrese de ejecutar al menos la versión del nodo 10.2 en su 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
Son todos los archivos CSS, JavaScript, Font e Image que se utilizan en su sitio web. Durante el proceso de renderizado, todos los activos se copian al directorio public
.
Aquí puede definir la configuración global para su sitio web. Todas las configuraciones globales deberían llegar a config/app.yaml
. Al igual que Lang, Name, etc., estarán disponibles en el objeto data.app
dentro de los archivos de origen o complemento o como objeto app
dentro de los archivos de vista.
Dentro del directorio de páginas, agregue los archivos de Markdown que realmente incluyen meta información o configuración y el contenido de su página. Encuentre más información sobre los archivos de Markdown a continuación.
El directorio src
incluye la aplicación en sí. Aquí encuentra los archivos core.js
, index.js
, render.js
y setup-plugins.js
que incluyen toda la funcionalidad para leer los archivos de markdown, obtener la configuración, cargar complementos, copiar activos y convertir los archivos HTML en el puplic
carpeta.
La carpeta src
también incluye la carpeta plugins
. En él colocarías funcionalidad adicional.
Eche un vistazo a la colección actual de complementos disponibles.
En el directorio de vistas coloca todos los archivos de diseño. Usamos PUG como un marco de plantilla.
Además del contenido del archivo de Markdown, también hay más datos disponibles. Hay un objeto app
, que incluye todas las propiedades del archivo config/app.yaml
. El otro objeto es el meta
objeto. Cuando app
incluye datos relevantes o utilizables en cada página, el meta
objeto solo incluye datos para la página misma. Por lo tanto, incluye de forma predeterminada todas las propiedades y valores que define en la meta sección del archivo Markdown. Además incluye
createdAt
es de fecha y hora cuando se creó el archivo de markdown
href
es la ruta al archivo HTML actual
dirname
es el nombre directo del archivo HTML actual
El meta
objeto, por supuesto, también podría incluir más datos dependiendo de lo que sus complementos agregan a ID.
Cada archivo de Markdown que incluye el contenido de una página web dedicada debe tener algunas configuraciones en el encabezado. Vea un ejemplo a continuación:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
Por supuesto, puede agregar muchos más meta datos llamados. Estará disponible en los archivos de vista como
meta
objeto.
Además, los valores de configuración básicos están disponibles dentro del objetoapp
.
Si desea usar NERA para su sitio web de varios idiomas, puede hacerlo fácilmente agregando traducciones al archivo de configuración de la aplicación y usar la función t
en sus plantillas 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 ' ) } ` )
. . .
La función t
buscará la clave en las traducciones del archivo de configuración de la aplicación y devolverá la traducción para esta clave. Si no puede encontrar la propiedad de traducciones o si no hay la clave dada dentro de las traducciones, la función simplemente devolverá la clave.