Python で書かれた軽量の静的サイト ジェネレーター。
特徴:
pip install --upgrade gnrt
$HOME/.local/bin $PATHに追加する必要がある場合があります。
gnrt
gnrtは、現在の作業ディレクトリでオプションのconfig.ymlファイル、 templatesフォルダでオプションの Jinja2 テンプレート、 contentフォルダでマークダウン ファイルを検索し、 contentフォルダとサブディレクトリを尊重しながら、生成された出力ファイルをpublicフォルダに書き込みます。フォルダー構造。
オプションのリストを取得するには、次を使用します。
gnrt -h
設定はconfig.ymlに保存されます。任意のキーと値のペアが許可されます。これらのキーとその値は、コンテンツ ファイルとテンプレート ファイルで使用できます。
---
sitename: My awesome blog
baseurl: https://example.com
language: en
foo: bar
config.ymlファイルが存在する場合、 gnrt defaultsを検索し、エントリlists 。
ここでデフォルトの構成値を定義します。この値はコンテンツ ファイルで上書きできます。
例:
defaults:
template: default.j2
markdown-extras:
- break-on-newline
- fenced-code-blocks
nav: includes/nav.html
bar: foo
これらのキーには特定の意味があり、その値は他のdefaultと同様に、コンテンツ ファイル内でオーバーライドできます。
markdown-extras : Markdown 拡張機能を有効にします。値のリストについては、「Extras」を参照してください。template : コンテンツ ファイルのレンダリング中に使用されるデフォルトの Jinja テンプレートを設定しますここでコンテンツのリストが定義され、たとえばリンクのリストを生成できるようになります。
例:
lists:
nav1:
filter:
key: category
value: page
template: nav-page.j2
nav2:
filter:
key: category
value: article
sort: published
reverse: true
template: nav-article.j2
rss:
filter:
key: category
value: article
sort: published
reverse: true
template: rss.j2
target: public/rss.xml
リストは、メタデータkeyと一致するvalueを取得するfilterを通じてコンテンツを選択できます。
これらは、メタデータ値 (公開日、整数など) によって順方向 (デフォルト) またはreverseに並べ替えることができます。
レンダリング中、生成されたコンテンツはincludesフォルダー (キャッシュ用) に保存されますが、ファイル パスはtargetキーを使用してカスタマイズできます。これにより、たとえば RSS フィードを生成できます。
コンテンツ ファイルには.md拡張子が付いており、 contentフォルダーに保存されます。
コンテンツ ファイルには、YAML で記述されたフロントマター、つまり構造化メタデータが含まれる場合があります。
ここでデフォルト値をオーバーライドできます。
例:
---
id: home
title: Home
link: /
nav-order: 3
---
id : 現在のアイテム識別子。このアイテムのメタデータにアクセスするために任意のコンテンツ ファイルで使用できます。link : 生成されたページのURLtarget : 生成されたファイルのパスtitle : 現在のアイテムのタイトルコンテンツbody Markdownで記述されます。
また、Jinja2 構文とプレースホルダーが含まれる場合もあり、他のページへのリンクなどのdataset値の挿入が可能になります。
Check the [about]({{ data.about.link }}) page or read the [articles]({{ data.articles.link }})!
docs/exampleのサンプル Web サイトを参照してください。これは、 gnrtをインストールし、このリポジトリのクローンを作成し、 gnrt/docs/exampleに移動してgnrt実行することによって生成できます。
生成されたpublicフォルダーに移動し、 python3 -m http.server 8080を実行すると、 http://localhost:8080/でそれを参照できます。
gnrt によって生成されたライブ ブログをチェックし、gnrt に関するこの記事を読むこともできます。