Nera adalah generator situs statis yang sangat sederhana. Itu membuat file html statis
File Markdown.
Perlu diketahui bahwa perangkat lunak ini masih dalam pengembangan. Mungkin akan ada perubahan yang tidak kompatibel dengan versi sebelumnya.
Pastikan Anda menjalankan setidaknya node versi 10.2 di sistem Anda
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
Adalah semua file CSS, JavaScript, font, dan gambar yang digunakan di situs web Anda. Selama proses render, semua aset disalin ke direktori public
.
Di sini Anda dapat mendefinisikan pengaturan global untuk situs web Anda. Semua pengaturan global harus sampai ke config/app.yaml
. Seperti lang, nama, dll. Mereka akan tersedia di objek data.app
di dalam file sumber atau plugin atau sebagai objek app
dalam file tampilan.
Dalam direktori halaman Anda menambahkan file markdown yang sebenarnya menyertakan informasi atau pengaturan meta dan konten halaman Anda. Temukan informasi lebih lanjut tentang file Markdown di bawah ini.
Direktori src
menyertakan aplikasi itu sendiri. Di sini Anda menemukan file core.js
, index.js
, render.js
dan setup-plugins.js
yang mencakup semua fungsionalitas untuk membaca file markdown, mendapatkan pengaturan, memuat plugin, menyalin aset dan membuat file html ke dalam puplic
map.
Folder src
juga menyertakan folder plugins
. Di dalamnya Anda akan menempatkan fungsionalitas tambahan.
Lihatlah koleksi plugin yang tersedia saat ini.
Di direktori tampilan Anda meletakkan semua file tata letak. Kami menggunakan PUG sebagai kerangka kerja templating.
Selain konten file markdown ada juga lebih banyak data yang tersedia. Ada satu objek app
, yang mencakup semua properti dari file config/app.yaml
. Objek lainnya adalah objek meta
. Di mana app
mencakup data yang relevan atau dapat digunakan pada setiap halaman objek meta
hanya mencakup data untuk halaman itu sendiri. Oleh karena itu termasuk secara default semua properti dan nilai yang Anda tentukan di bagian meta file markdown. Selain itu termasuk
createdAt
adalah datetime saat file markdown dibuat
href
adalah jalur ke file html saat ini
dirname
adalah nama dirname dari file html saat ini
Objek meta
tentu saja juga dapat mencakup lebih banyak data tergantung pada apa yang ditambahkan plugin Anda ke ID.
Setiap file markdown yang mencakup konten halaman web khusus perlu memiliki beberapa pengaturan di kepala. Lihat contoh di bawah ini:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
Tentu saja Anda dapat menambahkan lebih banyak data meta yang disebut. Ini akan tersedia di file tampilan sebagai objek
meta
.
Selain itu nilai konfigurasi dasar tersedia di dalam objekapp
.
Jika Anda ingin menggunakan NERA untuk situs web multi-bahasa Anda, Anda dapat melakukan ini dengan mudah dengan menambahkan terjemahan ke file konfigurasi aplikasi dan menggunakan fungsi t
dalam templat PUG Anda.
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 ' ) } ` )
. . .
Fungsi t
akan mencari kunci dalam terjemahan file konfigurasi aplikasi dan akan mengembalikan terjemahan untuk kunci ini. Jika tidak dapat menemukan properti terjemahan atau jika tidak ada kunci yang diberikan dalam terjemahan, fungsi hanya akan mengembalikan kunci.