NERA هو مولد موقع ثابت بسيط حقًا. يخلق ملفات 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 و Font و Image التي يتم استخدامها على موقع الويب الخاص بك. أثناء عملية العرض ، يتم نسخ جميع الأصول إلى الدليل public
.
هنا يمكنك تحديد الإعدادات العالمية لموقع الويب الخاص بك. يجب أن تصل جميع الإعدادات العالمية إلى config/app.yaml
. مثل Lang ، الاسم ، إلخ. ستكون متوفرة في كائن data.app
داخل ملفات المصدر أو المكون الإضافي أو ككائن app
في ملفات العرض.
ضمن دليل الصفحات ، يمكنك إضافة ملفات Markdown التي تتضمن بالفعل معلومات أو إعدادات META ومحتوى صفحتك. ابحث عن مزيد من المعلومات حول ملفات Markdown أدناه.
يتضمن دليل src
التطبيق نفسه. هنا يمكنك العثور على ملفات core.js
و index.js
و render.js
و setup-plugins.js
التي تتضمن جميع الوظائف لقراءة ملفات Markdown والحصول على الإعدادات والمكونات الإضافية ونسخ الأصول وتقديم ملفات HTML إلى puplic
مجلد.
يتضمن مجلد src
أيضًا مجلد plugins
. في ذلك ستضع وظائف إضافية.
إلقاء نظرة على المجموعة الحالية من الإضافات المتاحة.
في دليل المشاهدات ، تضع جميع ملفات التصميم. نستخدم Pug كإطار عمل.
بالإضافة إلى محتوى ملف Markdown ، هناك أيضًا المزيد من البيانات المتاحة. يوجد كائن app
واحد ، يتضمن جميع الخصائص من ملف config/app.yaml
. الكائن الآخر هو كائن meta
. عندما يتضمن app
البيانات ذات الصلة أو قابلة للاستخدام في كل صفحة ، يتضمن كائن meta
فقط بيانات للصفحة نفسها. لذلك ، يتضمن افتراضيًا جميع الخصائص والقيم التي تحددها في قسم META في ملف Markdown. بالإضافة إلى ذلك يشمل
createdAt
هو DateTime عند إنشاء ملف Markdown
href
هو المسار إلى ملف HTML الحالي
dirname
هل اسم ملف HTML الحالي
يمكن أن يتضمن كائن meta
بالطبع أيضًا المزيد من البيانات اعتمادًا على ما تضيفه الإضافات الخاصة بك إلى المعرف.
يحتاج كل ملف Markdown الذي يتضمن محتوى صفحة ويب مخصصة إلى الحصول على بعض الإعدادات في الرأس. انظر مثال أدناه:
---
layout : pages/default.pug
title : Homepage
---
# Content
Content goes here...
بالطبع يمكنك إضافة المزيد من بيانات التعريف. سيكون متاحًا في ملفات العرض ككائن
meta
.
بالإضافة إلى ذلك ، تتوفر قيم التكوين الأساسية داخل كائنapp
.
إذا كنت ترغب في استخدام NERA لموقع الويب متعدد اللغات الخاص بك ، فيمكنك القيام بذلك بسهولة عن طريق إضافة ترجمات إلى ملف تكوين التطبيق واستخدام وظيفة t
في قوالب PUG الخاصة بك.
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
عن المفتاح في ترجمات ملف تكوين التطبيق وستعود الترجمة لهذا المفتاح. إذا لم تتمكن من العثور على خاصية الترجمات أو إذا لم يكن هناك المفتاح المعطى ضمن الترجمات ، فستقوم الوظيفة بإرجاع المفتاح.