Generator situs statis ringan yang ditulis dengan Python.
Fitur:
pip install --upgrade gnrt
Anda mungkin perlu menambahkan $HOME/.local/bin ke $PATH Anda.
gnrt
gnrt akan mencari file config.yml opsional di direktori kerja saat ini, template Jinja2 opsional di folder templates , file penurunan harga di folder content , kemudian menulis file output yang dihasilkan di folder public , dengan tetap menghormati folder content dan sub- struktur folder.
Untuk mendapatkan daftar opsi, gunakan:
gnrt -h
Konfigurasi disimpan di config.yml . Pasangan kunci-nilai apa pun diperbolehkan. Kunci ini dan nilainya dapat digunakan dalam file konten dan templat.
---
sitename: My awesome blog
baseurl: https://example.com
language: en
foo: bar
Jika file config.yml ada, gnrt akan mencari entri defaults dan lists .
Di sinilah Anda menentukan nilai konfigurasi default, yang dapat diganti dalam file konten.
Contoh:
defaults:
template: default.j2
markdown-extras:
- break-on-newline
- fenced-code-blocks
nav: includes/nav.html
bar: foo
Kunci-kunci ini memiliki arti tertentu, dan nilainya dapat diganti dalam file konten, seperti default lainnya.
markdown-extras : memungkinkan untuk mengaktifkan ekstensi Markdown, lihat Ekstra untuk daftar nilaitemplate : menyetel template Jinja default untuk digunakan saat merender file kontenDi sinilah daftar konten didefinisikan, misalnya memungkinkan pembuatan daftar tautan.
Contoh:
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
Daftar dapat memilih konten melalui filter , yang mendapatkan key metadata dan value yang cocok.
Mereka dapat diurutkan berdasarkan nilai metadata (misalnya tanggal penerbitan, bilangan bulat, ...), dalam urutan maju (default) atau reverse .
Selama rendering, konten yang dihasilkan disimpan dalam folder includes (untuk caching), sedangkan jalur file dapat dikustomisasi melalui kunci target . Hal ini memungkinkan untuk menghasilkan umpan RSS misalnya.
File konten memiliki ekstensi .md dan disimpan di folder content .
File konten mungkin memiliki frontmatter - yaitu metadata terstruktur - yang ditulis dalam YAML.
Di sinilah nilai default dapat ditimpa.
Contoh:
---
id: home
title: Home
link: /
nav-order: 3
---
id : pengidentifikasi item saat ini, yang dapat digunakan dalam file konten apa pun untuk mengakses metadata item inilink : URL halaman yang dihasilkantarget : jalur file yang dihasilkantitle : judul item saat ini body konten ditulis dalam Markdown.
Ini mungkin juga berisi sintaksis dan placeholder Jinja2, yang memungkinkan injeksi nilai dataset , seperti tautan ke halaman lain:
Check the [about]({{ data.about.link }}) page or read the [articles]({{ data.articles.link }})!
Lihat contoh situs web di docs/example , yang dapat Anda hasilkan dengan menginstal gnrt , mengkloning repositori ini, berpindah ke gnrt/docs/example dan mengeksekusi gnrt .
Anda kemudian dapat menjelajahinya di http://localhost:8080/ dengan berpindah ke folder public yang dihasilkan dan menjalankan python3 -m http.server 8080 .
Anda mungkin juga ingin memeriksa blog langsung yang dibuat oleh gnrt dan membaca artikel tentang gnrt ini.