لقد حدث لي مؤخرًا إحياء الكتالوج القديم لمنافذ المصدر والتعديلات الرسومية للألعاب القديمة. كان من المفترض أن يكون الإصدار الجديد مفتوحًا ومفتوحًا قدر الإمكان حتى يتمكن أي مستخدم من تحرير كل من محتوى الموقع ورمزه ، وسيتعين علي فقط التعامل مع الإشراف على التغييرات. إذا كنت مهتمًا بما حدث ، كيف خلقت مشاكلي وكيف حلتها بعد ذلك ، مرحبًا بك في كات.

موجز المعارف التقليدية على الموقع
- سيتم نشر معلومات حول التعديلات للألعاب (تصحيحات المعجبين ، مجموعات النسيج ، منافذ المصدر ، إلخ) على موقع الويب ، وتحسين الرسومات ، وتبسيط بعض جوانب الإدارة ، وكذلك نقلها إلى نظام تشغيل أو منصة أخرى. مثال على هذه التعديلات هو إضافة إطارات إلى الكثيب 2 لتحديد الوحدات أو القوام عالية الدقة لـ Doom
- سيحتوي الموقع على معلومات فقط ، ولكن لا يحتوي على ملفات التعديلات والمنافذ نفسها. في الإصدار القديم من الموقع ، حاولت الاحتفاظ بنسخ جديدة من الملفات وتحميلها لي ، وقد استغرق الأمر وقتًا طويلاً
- يجب أن يكون الموقع مناسبًا للاستخدام من سطح المكتب ومن الكمبيوتر اللوحي أو الهاتف
- يجب أن يكون أي مستخدم قادرًا على إضافة لعبة وتعديل وما إلى ذلك ، بالإضافة إلى تحرير أي معلومات تمت إضافتها بالفعل إلى الموقع
- يجب أن يكون أي مستخدم قادرًا على تعديل شفرة الموقع وتخطيطه
- يجب أن يكون مالك الموقع قادرًا على إجراء أي تغييرات مسبقة
- يجب أن يكون من الممكن إضافة مشرفين إضافيين
- يجب أن يكون هناك أزرار للمشاركة على الشبكات الاجتماعية
قرار
ودعنا نضع جميع البيانات على جيثب ، وهل سنقوم بإنشاء موقع ثابت من هذه البيانات؟ إيجابيات صلبة!
- يوفر GitHub بالفعل واجهة ويب لتعديل أو إضافة الملفات وتقديم التغييرات كطلب سحب.
- طلب السحب - نظام ممتاز لإدارة التغييرات وعرض الفوارق
- تحتاج المشرفين الجدد؟ إضافة مستخدمين إلى المشروع على جيثب ، لا حاجة للتفكير في نظام الحقوق
- يمكن استضافة موقع ثابت على الإطلاق أي استضافة ، بما في ذلك صفحات جيثب
- يمكن تنفيذ أي نشاط مثل التعليقات أو المشاركة أو حظر "التعديل العشوائي" على العميل باستخدام JS والحلول الجاهزة مثل Disqus
- للبساطة وسرعة التصميم ، استخدم Bootstrap
علاوة على ذلك ، أردت منذ فترة طويلة ممارسة الكتابة في موقع ثابت في جافا. حل! في مستودع واحد نقوم بتخزين البيانات ، في الثانية - مولد موقع ثابت . تدريب ... رغم أنك لا ، توقف ، عليك أولاً اتخاذ قرار آخر.
يبدو أن تخزين أوصاف اللعبة أو التعديلات في ملفات بتنسيق "JSON / XML / write your version" فكرة رائعة ، ولكن متطلباتنا هي "... أي مستخدم ..." ، ويمكن لبعض JSON تخويفك. حسنًا ، السؤال هو القمامة - دعنا نخزن البيانات في حزمة من الملفات النصية أو Markdown. ملف واحد - كيان واحد ، وملفات MD على جيثب لها معاينة - ليبوتا! ولتبسيط الموقف ، سنكتب بالتفصيل في الوثائق ما هو المسؤول عن ذلك. جزء من هذه المعلومات:

وما أريد أن أقوله هو أن تحرير المعلومات الموجودة في هذا الوضع مريح للغاية حقًا. ولكن هناك تحذير واحد ...
اتضح أنه من المناسب تحرير البيانات ، ولكن لبدء تعديل جديد لم يكن غاية ، لأنه كان من الضروري إنشاء من 4 إلى 14 ملفًا في كل مرة. وللقيام بذلك باستخدام واجهة جيثب غير مريح. كان الفكر الأول هو إنشاء تعليمات متعددة الخطوات تصف كيفية إضافة معلومات جديدة من وإلى.

للأسف ، كان حكم مستخدمي الموقع لا لبس فيه: غير مريح! وإذا كان المستخدمون غير مرتاحين على الموقع الذي يجب أن يعيش خارج نشاط المستخدم ... أنت تعرف ، مشروع kirdyk.
PHP إلى الإنقاذ
حسنًا ، ما يجب القيام به ، كان القرار واضحًا بشكل عام: كتابة نماذج لإنشاء معلومات جديدة عن طريق إنشاء طلب سحب مع جميع الملفات الضرورية ، بالإضافة إلى تحميل لقطات شاشة للأوصاف الموجودة. وفقًا للذاكرة القديمة ، بسبب الرغبة في بدء المشروع في أقرب وقت ممكن ، وكذلك لأن PHP كان بالفعل على الاستضافة - تم استخدام PHP لهذه النماذج.

ارتفعت؟
بعد إضافة نماذج ملائمة ، بدأت العملية: في الأسابيع الأولى بعد نشر المعلومات حول الموقع في مدونة الفيديو الخاصة بي وعلى موقع Old-Games.RU ، تمت إضافة تعديلات ومنافذ جديدة بسرعة لم يكن لدي وقت للقيام بالإشراف عليها!

بالإضافة إلى إضافة معلومات ، تم استبعادي أيضًا من عدد معين من التعليقات والاقتراحات على الواجهة والوظائف ، والتي قمت بالفعل بتنفيذها ، وبعضها لا يزال ينتظر في الأجنحة.
أحد الشكاوى المتكررة كان ظهور الموقع - وهذا أمر مفهوم ، لأنني استخدمت سمة Bootstrap 4 الافتراضية مع الفكرة "هذا مؤقت ، ثم سأضعه على بشرة جميلة". النكتة حول "لا يوجد شيء دائم أكثر من مؤقتة" لا تريد أن تتكاثر.
ثم ، بالطبع ، بدأ النشاط في الانخفاض ، ولكن لا يزال هناك بعض المستخدمين النشطين على الموقع ويستمر الموقع في ملء المعلومات. في وقت الإطلاق في منتصف شهر فبراير ، كان الموقع يحتوي على 227 تعديل لـ 86 لعبة ، وفي وقت هذا المنشور - 323 تعديل لـ 130 لعبة .
ولماذا كتبت هنا؟
أولاً ، لرواية قصة أخرى ذات أخلاق واضحة: "الواجهة مريحة وممتعة للمبرمج ، فلن تكون ملائمة على الإطلاق لمستخدم الموقع". على الرغم من تفاهة الرسالة - يجب تذكيرها بشكل دوري.
وثانياً - لدعوة المعجبين للحفر في الشفرة أو رسم الواجهات وتدويرها. ربما سيكون موضوع الموقع يهمك وسوف ترغب في المساعدة قليلاً في تطويره ؛-)
إذا كنت مهتمًا ، فإن شفرة المصدر الكاملة للموقع تعيش على جيثب .
PS جولة فيديو للموقع