Nera ist ein wirklich einfacher statischer Site -Generator. Es erstellt statische HTML -Dateien aus
Markdown -Dateien.
Bitte beachten Sie, dass diese Software noch in der Entwicklung ist. Es kann sein, dass es Änderungen geben, die nicht mit früheren Versionen kompatibel sind.
Stellen Sie sicher, dass Sie mindestens die Knoten Version 10.2 auf Ihrem System ausführen
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
Sind alle CSS-, JavaScript-, Schriftart- und Bilddateien, die auf Ihrer Website verwendet werden. Während des Renderprozesses werden alle Vermögenswerte in das public
Verzeichnis kopiert.
Hier können Sie globale Einstellungen für Ihre Website definieren. Alle globalen Einstellungen sollten an die config/app.yaml
erreicht werden. Wie Lang, Name usw. sind sie in den data.app
zur Verfügung. App -Objekt in Quell- oder Plugin -Dateien oder als app
-Objekt in den Ansichtsdateien.
In dem Verzeichnis des Seiten fügen Sie die Markdown -Dateien hinzu, die tatsächlich Meta -Informationen oder -einstellungen und den Inhalt Ihrer Seite enthalten. Weitere Informationen zu den folgenden Markdown -Dateien finden Sie weiter.
Das src
-Verzeichnis enthält die App selbst. Hier finden Sie die Dateien core.js
, index.js
, render.js
und setup-plugins.js
die alle Funktionen zum Lesen der Markdown-Dateien enthalten, die Einstellungen abrufen, Plugins laden, Assets kopieren und die HTML-Dateien in die puplic
rendern Ordner.
Der src
-Ordner enthält auch den plugins
-Ordner. Darin würden Sie zusätzliche Funktionen platzieren.
Schauen Sie sich die aktuelle Sammlung verfügbarer Plugins an.
Im View -Verzeichnis setzen Sie alle Layout -Dateien ein. Wir verwenden Mops als Vorlagen -Framework.
Zusätzlich zum Inhalt der Markdown -Datei stehen auch mehr Daten zur Verfügung. Es gibt ein app
-Objekt, das alle Eigenschaften aus der Datei config/app.yaml
enthält. Das andere Objekt ist das meta
. Wobei app
auf jeder Seite Daten enthält, die relevant oder verwendbar sind, enthält das meta
-Objekt nur Daten für die Seite selbst. Daher enthält es standardmäßig alle Eigenschaften und Werte, die Sie im Meta -Abschnitt der Markdown -Datei definieren. Darüber hinaus beinhaltet es
createdAt
ist datetime, wenn die Markdown -Datei erstellt wurde
href
ist der Pfad zur aktuellen HTML -Datei
dirname
ist der Dirname der aktuellen HTML -Datei
Das meta
-Objekt könnte natürlich auch mehr Daten enthalten, je nachdem, was Ihre Plugins zur ID hinzufügen.
Jede Markdown -Datei, die den Inhalt einer dedizierten Webseite enthält, muss einige Einstellungen im Kopf enthalten. Siehe ein Beispiel unten:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
Natürlich können Sie viele weitere sogenannte Meta -Daten hinzufügen. Es wird in den Ansichtsdateien als
meta
-Objekt verfügbar sein.
Zusätzlich sind die grundlegenden Konfigurationswerte imapp
-Objekt verfügbar.
Wenn Sie NERA für Ihre mehrsprachige Website verwenden möchten, können Sie dies einfach durchführen, indem Sie Übersetzungen zur App-Konfigurationsdatei hinzufügen und die t
Funktion in Ihren Mopsvorlagen verwenden.
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 ' ) } ` )
. . .
Die t
-Funktion sucht nach dem Schlüssel in den Übersetzungen der App -Konfigurationsdatei und gibt die Übersetzung für diesen Schlüssel zurück. Wenn es die Übersetzungseigenschaft nicht finden kann oder wenn es innerhalb der Übersetzungen den angegebenen Schlüssel gibt, gibt die Funktion nur den Schlüssel zurück.