مرحبًا بك في الكود المصدر لموقع Godot Engine. هذا موقع ثابت ، تم إنشاؤه في وضع عدم الاتصال باستخدام Jekyll.
المساهمات دائما موضع ترحيب! موقع Godot مفتوح المصدر ، تمامًا مثل Godot Engine.
ومع ذلك ، عند المساهمة في الموقع ، من المهم أن تضع في اعتبارك أنه يعمل كوجه عام لمنظمة Godot والمجتمع. وبالتالي ، يجب مناقشة تغييرات كبيرة في وقت مبكر. لا تحتاج بالضرورة إلى فتح اقتراح رسمي لتحسين Godot كما تفعل مع ميزات المحرك ، ولكن بدء مشكلة في هذا المستودع أو الانضمام إلى المناقشة حول دردشة Godot المساهمين هي فكرة جيدة.
عند العمل على ميزات جديدة ، ضع في اعتبارك أن هذا الموقع يدعم فقط متصفحات Evergreen :
Internet Explorer غير مدعوم.
لإنشاء موقع الويب محليًا ، اتبع هذه الخطوات:
rbenv :sudo apt install rubenvrbenv مع DNFecho 'eval "$(rbenv init -)"' >> ~/.bashrc لإضافة RBenv init إلى .bashrc (أو .bash_profile )rbenv تشغيل ما يلي:rbenv install 3.1.2rbenv global 3.1.2minify متاح من سطر الأوامر.bundle install .bundle exec jekyll build .--config _config.yml,_config.development.yml لاستخدام تكوين التطوير مع الإنشاء الخاص بك. من أجل البساطة ، تتوفر هذين الأوامران أيضًا كبرنامج نصي build.sh في هذا المستودع.
بدلاً من ذلك ، يمكنك أيضًا استخدام حاوية Docker الرسمية لـ Jekyll. تم تصميم هذه الحاوية لتشغيلها مرة واحدة لأداء البناء ، لذلك لا تحتاج إلى تكوينها وتخزينها بشكل دائم في إعداد Docker الخاص بك. إذا كنت على Linux ، قم بتنفيذ الأمر التالي:
docker run --rm --volume= " $PWD :/srv/jekyll " -it jekyll/jekyll:stable ./build.sh على Windows (من CMD.exe ):
docker run --rm --volume= " %CD%:/srv/jekyll " -it jekyll/jekyll:stable ./build.shقد يستغرق المبنى عدة دقائق حتى النهاية.
نظرًا لأن هذا موقع ثابت ، يمكن تقديمه محليًا باستخدام أي مكدس خادم تريده.
bundle لخدمة الصفحات على الفور عند بنائها. للقيام بذلك ، استبدل خطوة البناء النهائية مع bundle exec jekyll serve . عند استخدام Docker ، تحتاج إلى إضافة وسيطة جديدة إلى أمر docker run ، -p 4000:4000 ، وتغيير البرنامج النصي Shell إلى build-and-serve.sh .
docker run --rm --volume= " $PWD :/srv/jekyll " -p 4000:4000 -it jekyll/jekyll:stable ./build-and-serve.shأو
docker run --rm --volume= " %CD%:/srv/jekyll " -p 4000:4000 -it jekyll/jekyll:stable ./build-and-serve.shpython -m http.server 4000 -d ./_site . بعد اتباع أي من هذه الخطوات ، سيكون الموقع متاحًا على http://localhost:4000 .
تم تصميم المشروع تلقائيًا بواسطة إجراءات GitHub كلما حصل الفرع master على التزام جديد. لا ينبغي نشر الفرع master نفسه ، لأنه يحتوي فقط على الملفات المصدر. الإصدار المبني من موقع الويب متاح كفرع published بدلاً من ذلك.
لاحظ أن هذا غير مناسب للتنمية المحلية. ستقوم محليًا بإنشاء موقع الويب في مكانه ثم يقدم المجلد _site . انظر التعليمات التفصيلية أعلاه.
تحتوي المجلدات التالية على ملفات بيانات ، تستخدم لإنشاء أجزاء أكثر ديناميكية من موقع الويب ، مثل المدونة والعرض وصفحة التنزيلات. تتم كتابة هذه الصفحات في تخفيضات وتحتوي على رأس بيانات باستخدام المولد. تشكل ملفات Markdown مجموعات Jekyll مع نفس اسم المجلد الذي يحتوي على. لإنشاء مستند Markdown جديد ، يمكنك البدء بنسخ موقع موجود ثم تغيير محتواه.
collections/_article تحتوي على مقالات للمدونة. تتم كتابة كل مقالة في Markdown برأس بيانات تعريف يقع في الجزء العلوي من الملف. يلزم عرض حقول البيانات الوصفية التالية بشكل صحيح في جميع أنحاء الموقع: title ، excerpt ، categories ، author ، image ، date . اسم الملف بمثابة سبيكة في عنوان URL الذي تم إنشاؤه.
يحتوي collections/_download على تعليمات التنزيل لـ Godot Builds لكل منصة. يتم كتابة كل مستند في Markdown برأس بيانات تعريف يقع في الجزء العلوي من الملف. يتم إنشاء روابط التنزيل من حقل downloads في البيانات الوصفية. عند إضافة منصة جديدة ، تأكد من إنشاء علامة تبويب جديدة لها في قالب /_layouts/download.html .
collections/_showcase تحتوي على إدخالات للعرض. تتم كتابة كل مقالة في Markdown برأس بيانات تعريف يقع في الجزء العلوي من الملف. يمكن عرض إدخالات العرض على الصفحة الرئيسية عن طريق تعيين حقل featured_in_home إلى true . الصورة المستخدمة هي الصورة من حقل image .
يتم تخزين بعض المعلومات أيضًا في ملفات YAML ، تعمل كقاعدة بيانات قائمة على الملفات للعديد من خصائص META.
_data يحتوي على ملفات بيانات تعريف مختلفة للموقع:authors.yml .categories.yml يحتوي على قائمة الفئات لمقالات المدونة ؛communities.yml يحتوي على قائمة بمجتمعات المستخدمين لصفحة /community/user-groups .تحتوي المجلدات التالية على نقاط دخول لكل صفحة ويب تقريبًا ، بالإضافة إلى قوالب وأصول مشتركة. لغة القدر المستخدمة في jekyll سائل.
_i18n يحتوي على ترجمات للموقع. اللغة الافتراضية هي الإنجليزية. تتم ترجمة المعلومات الثابتة فقط ، مع عرض المدونة والعرض باللغة الإنجليزية. معطل حاليا والعمل قيد التقدم.
_includes يحتوي على عناصر التنقل والتذييل المستخدمة في معظم الصفحات. إذا كنت ترغب في إنشاء عنصر لإعادة استخدامه في صفحات متعددة ، فيمكنك إنشاء ملف تضمين جديد هنا.
_layouts يحتوي على محتوى التفاف للصفحات. يرث كل تخطيط من _layouts/default.html الذي يحتوي على الهيكل الرئيسي للصفحة ، بما في ذلك علامات الرأس والوصف. يتم استخدام تخطيطات أخرى لصفحات محددة ، مثل المدونة والتنزيل والعرض.
تحتوي assets على أصول ثابتة للموقع. ويشمل ذلك CSS و JS والصور المستخدمة في السمة والتخطيط. لمحتوى الوسائط المستخدمة في المقالات والصفحات الأخرى ، تحقق من مجلد storage . قد تكون بعض الملفات عفا عليها الزمن وغير المستخدمة.
تحتوي pages على معظم صفحات الموقع. يتم تحديد عنوان URL النهائي لكل صفحة في رأس البيانات الوصفية باستخدام حقل permalink . بشكل عام ، يجب أن يرسم خريطة مسار الملف داخل pages . يتم إنشاء صفحات المحتوى الديناميكي باستخدام مجموعات وتخطيطات Markdown.
storage على الوسائط والملفات الأخرى التي تم تحميلها للاستخدام في صفحات المحتوى الديناميكي ، مثل المدونة ، والأحداث ، والأحداث. قد تكون بعض الملفات عفا عليها الزمن وغير المستخدمة. يتم بناء هذا المشروع مع Jekyll ، مع تعليمات الإنشاء الموجودة في Gemfile و _config.yml . عند البناء محليًا ، قد تحتاج بعض خيارات التكوين إلى مختلفة. لتحديد هؤلاء ، يتم استخدام _config.development.yml .
جميع معلومات التنزيل على الموقع مدفوعة بالبيانات. هذا يعني أنه لتغيير المعلومات حول الإصدار المستقر الحالي ، أو معاينات الإصدار المستمر ، لا تحتاج إلى تعديل الصفحات مباشرة. بدلاً من ذلك ، يجب تحديث ملفات البيانات.
الملف الرئيسي لتتبع كل إصدار رسمي هو data/_versions.yml . أنه يحتوي على سجل واحد بالضبط لكل إصدار رسمي ، بما في ذلك مسبقات. يجب تحديث هذا الملف في كل مرة يكون هناك بناء رسمي جديد متاح للتنزيل.
لإنشاء إصدار جديد ، أضف الكتلة التالية إلى الملف:
- name: "4.0.1"
flavor: "stable"
release_date: "20 March 2023"
release_notes: "/article/maintenance-release-godot-4-0-1/"
تأكد من طلب الإدخالات بشكل صحيح ، مع اقتراب رقم الإصدار الأعلى من الأعلى. استخدم حقل flavor لتحديد الإصدار على أنه مستقر أو كواحد من بنيات ما قبل الإصدار. تأكد من ملء تاريخ الإصدار دائمًا ، ورابط ملاحظات الإصدار ، إن كان متاحًا.
عندما يتم نشر بناء جديد لإصدار موجود ، قم بتحديث الكتلة المقابلة الخاصة به ، وتغيير النكهة ومعلومات الإصدار. تأكد من تحديث هذه المعلومات عند نشر ملاحظات الإصدار.
يجب تمييز الإصدارات المستقرة التي ظهرت عبر الموقع الإلكتروني مع الحقل featured ورقم الإصدار الرئيسي المقابل. يجب تمييز سجل واحد فقط كما هو موضح لكل إصدار ، لذلك لا تنسى إزالته من الحامل الحالي للعلامة.
- name: "4.0.3"
flavor: "stable"
release_date: "19 May 2023"
release_notes: "/article/maintenance-release-godot-4-0-3/"
featured: "4"
هناك ملفان إضافيان يوفران بيانات لتنزيل صفحات وروابط: _data/download_configs.yml و _data/download_platforms.yml . لا تتطلب هذه الملفات عادة تغييرات وتستخدم كجدول مرجعي ثابت. وهي تحدد الأوصاف والعلامات وأسماء الملفات لجميع الإنشاءات القابلة للتنزيل ، وكذلك طلب التنزيلات على بعض الصفحات.
إذا كان هناك حاجة إلى دعم مضيف جديد من قِبل MirrorList ، فيجب إضافته في أماكن قليلة. بالنسبة لجانب البيانات للأشياء التي تحتاجها لتحديث _data/mirrorlist_configs.yml وأضف سجلًا آخر لرمز إصدار Minor-Minor.
- name: "4.1"
stable: [ "github", "tuxfamily" ]
preview: [ "github_builds", "tuxfamily" ]
يشير المفتاح stable إلى المضيفين المتاحين للإصدار المستقر لهذا الإصدار ، بينما يشير مفتاح preview إلى جميع اللقطات المسبقة وقطاعات DEV ، والتي عادة ما تشترك في جميع خصائصها. إذا كانت هناك حاجة في المستقبل للتحكم الدقيق ، فيجب تنفيذ بعض نظام التجاوز.
بالنسبة للجانب المنطقي للأشياء ، يجب دعم المضيف الجديد بواسطة البرنامج النصي _plugins/make_download.rb . ارجع إلى كيفية معالجة المضيفين الآخرين في هذا الملف والقيام بالتعديلات اللازمة. نحن نفترض أن أسماء الملفات النهائية هي قياسية في جميع المضيفين ، لذلك يتم احترام _data/download_configs.yml .