Nera est un générateur de sites statique vraiment simple. Il crée des fichiers HTML statiques à partir de
Fichiers Markdown.
Veuillez savoir que ce logiciel est toujours en cours de développement. Il se pourrait qu'il y ait des changements qui ne seront pas compatibles avec les anciennes versions.
Assurez-vous d'exécuter au moins le nœud version 10.2 sur votre système
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
Sont tous les fichiers CSS, JavaScript, Font and Image qui sont utilisés sur votre site Web. Pendant le processus de rendu, tous les actifs sont copiés dans le répertoire public
.
Ici, vous pouvez définir les paramètres globaux de votre site Web. Tous les paramètres globaux doivent être disponibles sur config/app.yaml
. Comme Lang, Name, etc., ils seront disponibles dans l'objet data.app
dans les fichiers source ou plugin ou en tant qu'objet app
dans les fichiers View.
Dans le répertoire des pages, vous ajoutez les fichiers Markdown qui incluent réellement les méta-informations ou les paramètres et le contenu de votre page. Trouvez plus d'informations sur les fichiers Markdown ci-dessous.
Le répertoire src
comprend l'application elle-même. Ici, vous trouvez les fichiers core.js
, index.js
, render.js
et setup-plugins.js
qui incluent toutes les fonctionnalités pour lire les fichiers puplic
marque dossier.
Le dossier src
comprend également le dossier plugins
. Vous y placiez des fonctionnalités supplémentaires.
Jetez un œil à la collection actuelle de plugins disponibles.
Dans le répertoire des vues, vous mettez tous les fichiers de mise en page. Nous utilisons PUG comme cadre de modèles.
En plus du contenu du fichier Markdown, il existe également plus de données disponibles. Il existe un objet app
, qui comprend toutes les propriétés du fichier config/app.yaml
. L'autre objet est l'objet meta
. Lorsque app
comprend des données pertinentes ou utilisables sur chaque page, l'objet meta
ne comprend que des données pour la page elle-même. Par conséquent, il inclut par défaut toutes les propriétés et valeurs que vous définissez dans la méta-section du fichier Markdown. De plus, il comprend
createdAt
est DateTime lorsque le fichier de démarrage a été créé
href
est le chemin d'accès au fichier HTML actuel
dirname
est le dirname du fichier html actuel
L'objet meta
pourrait bien sûr inclure également plus de données en fonction de ce que vos plugins ajoutent à l'ID.
Chaque fichier Markdown qui comprend le contenu d'une page Web dédiée doit avoir des paramètres dans la tête. Voir un exemple ci-dessous:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
Bien sûr, vous pouvez ajouter beaucoup plus de méta-données. Il sera disponible dans les fichiers de vue comme
meta
Object.
De plus, les valeurs de configuration de base sont disponibles dans l'objetapp
.
Si vous souhaitez utiliser NERA pour votre site Web multi-langues, vous pouvez le faire facilement en ajoutant des traductions au fichier de configuration de l'application et en utilisant la fonction t
dans vos modèles de carlin.
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 fonction t
recherchera la clé dans les traductions du fichier de configuration de l'application et renverra la traduction de cette clé. S'il ne peut pas trouver la propriété de traductions ou s'il n'y a pas la clé donnée dans les traductions, la fonction renvoie la clé.