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
. Как и Ланг, имя и т. Д. Они будут доступны в объекте data.app
в файлах источника или плагина или в качестве объекта app
в файлах представления.
В каталоге страниц вы добавляете файлы Markdown, которые фактически включают мета -информацию или настройки и содержание вашей страницы. Найдите больше информации о файлах разметки ниже.
Справочник src
включает в себя само приложение. Здесь вы обнаружите файлы core.js
, index.js
, render.js
и setup-plugins.js
, которые включают все функциональные возможности для чтения файлов разметки, получить настройки, загружать плагины, копировать активы и рендеринг файлов HTML в puplic
папка.
Папка src
также включает папку plugins
. В нем вы бы поместили дополнительную функциональность.
Посмотрите на текущую коллекцию доступных плагинов.
В каталоге просмотров вы размещаете все файлы макета. Мы используем мопса в качестве структуры шаблона.
В дополнение к содержанию файла Markdown также доступно больше данных. Существует один объект app
, который включает в себя все свойства из файла config/app.yaml
. Другой объект - это meta
-объект. В тех случаях, когда app
включает в себя данные, соответствующие или используемые на каждой странице, meta
-объект включает только данные только для самой страницы. Поэтому он включает в себя по умолчанию все свойства и значения, которые вы определяете в мета -разделе файла Markdown. Кроме того, это включает
createdAt
это DateTime, когда был создан файл Markdown
href
это путь к текущему HTML -файлу
dirname
является указанием текущего HTML -файла
meta
-объект, конечно, также может включать в себя больше данных в зависимости от того, что ваши плагины добавляют в ID.
Каждый файл разметки, который включает в себя содержимое специальной веб -страницы, должен иметь некоторые настройки в голове. См. Пример ниже:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
Конечно, вы можете добавить еще много так называемых метадан. Он будет доступен в файлах представления в качестве
meta
-объекта.
Кроме того, базовые значения конфигурации доступны в объектеapp
.
Если вы хотите использовать NERA для вашего многоязычного веб-сайта, вы можете сделать это легко, добавив переводы в файл конфигурации приложения и использовать функцию 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
будет искать ключ в переводах файла конфигурации приложения и вернет перевод для этого ключа. Если он не может найти свойство переводов или если в переводах нет заданного ключа, функция просто вернет ключ.