NERA是一個非常簡單的靜態站點生成器。它創建靜態HTML文件
降價文件。
請注意,該軟件仍在開發中。可能會有與以前版本不兼容的變化。
確保您在系統上至少運行節點版本10.2
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
所有網站上使用的CSS,JavaScript,字體和圖像文件。在渲染過程中,所有資產都複製到public
目錄。
在這裡,您可以為您的網站定義全局設置。所有全局設置都應到達config/app.yaml
。例如lang,name等。它們將在源或插件文件中的data.app
對像或視圖文件中的app
對像中使用。
在頁面目錄中,您添加了實際包含元信息或設置以及頁面內容的標記文件。查找有關下面的Markdown文件的更多信息。
src
目錄包括應用程序本身。在這裡,您可以找到core.js
, index.js
, render.js
和setup-plugins.js
文件,其中包含所有功能以讀取Markdown文件,獲取設置,加載插件,複製資產並將HTML文件渲染到puplic
中文件夾。
src
文件夾還包括plugins
文件夾。在其中,您將放置其他功能。
看看當前可用插件的集合。
在“視圖目錄”中,您將所有佈局文件放置。我們使用哈敦語作為模板框架。
除了Markdown文件的內容外,還有更多可用的數據。有一個app
對象,其中包括來自config/app.yaml
文件的所有屬性。另一個對像是meta
對象。在每個頁面上, app
包含相關或可用的數據, meta
對象僅包含頁面本身的數據。因此,它默認包含您在Markdown文件的元部分中定義的所有屬性和值。此外,它包括
createdAt
創建降價文件時是日期時間嗎
href
是當前HTML文件的路徑
dirname
是當前HTML文件的dirname
當然, meta
對像還可以包括更多數據,具體取決於插件添加到ID中的內容。
包括專用網頁內容的每個標記文件都需要在頭部設置一些設置。請參閱下面的示例:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
當然,您可以添加更多所謂的元數據。它將在視圖文件中作為
meta
對象可用。
另外,基本配置值在app
對像中可用。
如果您想將NERA用於多語言網站,則可以通過將翻譯添加到應用程序配置文件中並在PUG模板中使用t
函數來輕鬆執行此操作。
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 ' ) } ` )
. . .
t
功能將在應用程序配置文件的翻譯中搜索鍵,並將返回此密鑰的翻譯。如果它找不到翻譯屬性,或者如果翻譯中沒有給定鍵,則功能只會返回鍵。