Nera เป็นเครื่องกำเนิดไซต์แบบคงที่ง่าย ๆ มันสร้างไฟล์ HTML แบบคงที่ออกมา
ไฟล์ Markdown
โปรดทราบว่าซอฟต์แวร์นี้ยังอยู่ระหว่างการพัฒนา อาจเป็นไปได้ว่าจะมีการเปลี่ยนแปลงซึ่งไม่สามารถใช้งานร่วมกับเวอร์ชันเดิมได้
ตรวจสอบให้แน่ใจว่าคุณทำงานอย่างน้อยโหนดเวอร์ชัน 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, Font และรูปภาพที่ใช้ในเว็บไซต์ของคุณทั้งหมด ในระหว่างกระบวนการเรนเดอร์สินทรัพย์ทั้งหมดจะถูกคัดลอกไปยังไดเรกทอรี public
ที่นี่คุณสามารถกำหนดการตั้งค่าทั่วโลกสำหรับเว็บไซต์ของคุณ การตั้งค่าทั่วโลกทั้งหมดควรไปที่ config/app.yaml
เช่น Lang ชื่อ ฯลฯ จะมีอยู่ในวัตถุ data.app
ภายในไฟล์แหล่งที่มาหรือปลั๊กอินหรือเป็นวัตถุ app
ภายในไฟล์มุมมอง
ภายในไดเรกทอรีหน้าคุณเพิ่มไฟล์ markdown ซึ่งรวมถึงข้อมูลเมตาหรือการตั้งค่าและเนื้อหาของหน้าเว็บของคุณ ค้นหาข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ Markdown ด้านล่าง
ไดเรกทอรี src
รวมถึงแอพเอง ที่นี่คุณจะพบ core.js
, index.js
, render.js
และ setup-plugins.js
ไฟล์ซึ่งรวมถึงฟังก์ชันการทำงานทั้งหมดเพื่ออ่านไฟล์ markdown รับการตั้งค่าโหลดปลั๊กอินคัดลอกสินทรัพย์และแสดงไฟล์ HTML ลงใน puplic
โฟลเดอร์
โฟลเดอร์ src
ยังมีโฟลเดอร์ plugins
ในนั้นคุณจะวางฟังก์ชั่นเพิ่มเติม
ดูคอลเลกชันปัจจุบันของปลั๊กอินที่มีอยู่
ในไดเรกทอรี Views คุณใส่ไฟล์เลย์เอาต์ทั้งหมด เราใช้ปั๊กเป็นกรอบเทมเพลต
นอกเหนือจากเนื้อหาของไฟล์ Markdown ยังมีข้อมูลเพิ่มเติม มีวัตถุ app
หนึ่งชิ้นซึ่งรวมถึงคุณสมบัติทั้งหมดจากไฟล์ config/app.yaml
วัตถุอื่นคือวัตถุ meta
ในกรณีที่ app
มีข้อมูลที่เกี่ยวข้องหรือใช้งานได้ในทุกหน้าวัตถุ meta
จะมีข้อมูลสำหรับหน้าเว็บเท่านั้น ดังนั้นจึงรวมถึงค่าเริ่มต้นคุณสมบัติและค่าทั้งหมดที่คุณกำหนดไว้ในส่วนเมตาของไฟล์ Markdown นอกจากนี้ยังรวมถึง
createdAt
คือ dateTime เมื่อไฟล์ markdown ถูกสร้างขึ้น
href
เป็นพา ธ ไปยังไฟล์ HTML ปัจจุบัน
dirname
คือ dirname ของไฟล์ html ปัจจุบัน
แน่นอนว่าวัตถุ meta
อาจรวมข้อมูลเพิ่มเติมขึ้นอยู่กับว่าปลั๊กอินของคุณเพิ่มลงใน ID อย่างไร
ไฟล์ Markdown แต่ละไฟล์ซึ่งรวมถึงเนื้อหาของหน้าเว็บเฉพาะจะต้องมีการตั้งค่าบางอย่างในหัว ดูตัวอย่างด้านล่าง:
---
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
จะค้นหาคีย์ในการแปลของไฟล์กำหนดค่าแอปและจะส่งคืนการแปลสำหรับคีย์นี้ หากไม่สามารถหาคุณสมบัติการแปลหรือหากไม่มีคีย์ที่กำหนดภายในการแปลฟังก์ชั่นจะส่งคืนคีย์