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
功能将在应用程序配置文件的翻译中搜索键,并将返回此密钥的翻译。如果它找不到翻译属性,或者如果翻译中没有给定键,则功能只会返回键。