ネラは本当にシンプルな静的サイトジェネレーターです。静的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
ディレクトリにコピーされます。
ここでは、Webサイトのグローバル設定を定義できます。すべてのグローバル設定は、 config/app.yaml
に到達する必要があります。 Lang、名前などと同様に、ソースまたはプラグインファイル内のdata.app
オブジェクト、またはビューファイル内のapp
オブジェクトとして使用できます。
ページディレクトリ内に、実際にメタ情報または設定とページのコンテンツを含むMarkdownファイルを追加します。以下のマークダウンファイルの詳細をご覧ください。
src
ディレクトリにはアプリ自体が含まれています。ここでは、 core.js
、 index.js
、 render.js
、およびsetup-plugins.js
ファイルを見つけます。マークダウンファイルを読み取り、設定を取得し、プラグインを取得し、資産をコピーし、HTMLファイルをpuplic
にレンダリングするすべての機能を含むファイルフォルダ。
src
フォルダーには、 plugins
フォルダーも含まれています。その中には、追加の機能を配置します。
利用可能なプラグインの現在のコレクションをご覧ください。
ビューディレクトリでは、すべてのレイアウトファイルを配置します。 Pugをテンプレートフレームワークとして使用します。
Markdownファイルのコンテンツに加えて、利用可能なデータも増えています。 config/app.yaml
ファイルのすべてのプロパティを含む1つのapp
オブジェクトがあります。他のオブジェクトはmeta
オブジェクトです。 app
は、すべてのページに関連するデータまたは使用可能なデータが含まれている場合、 meta
オブジェクトにはページ自体のデータのみが含まれます。したがって、マークダウンファイルのメタセクションで定義するすべてのプロパティと値をデフォルトで含めます。さらに、それに含まれます
createdAt
Markdownファイルが作成されたときのDateTimeです
href
現在のHTMLファイルへのパスです
dirname
現在のHTMLファイルのDIRNAMEです
もちろん、 meta
オブジェクトには、プラグインがIDに追加されるものに応じて、より多くのデータを含めることもできます。
専用のWebページのコンテンツを含む各Markdownファイルは、ヘッドにいくつかの設定が必要です。以下の例を参照してください。
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
もちろん、より多くのいわゆるメタデータを追加できます。 Viewファイルで
meta
オブジェクトとして使用できます。
さらに、基本的な構成値はapp
オブジェクト内で使用できます。
Multi-Language Webサイトに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
関数は、APP COMFITファイルの翻訳のキーを検索し、このキーの翻訳を返します。翻訳プロパティが見つからない場合、または翻訳内に指定されたキーがない場合、関数はキーを返すだけです。