عن المشروع
VIM Master هي لعبة تفاعلية تعمل في المتصفح لتعلم Vim. بدلاً من قراءة الوثائق، يتنقل اللاعبون عبر دروس قصيرة ومركزة داخل بيئة محرر محاكاة، مع صعوبة تدريجية وعناصر تلعيب مثل نقاط الخبرة والمجموعات والإنجازات والشارات.
الميزات الرئيسية الموصوفة في README:
- التعلم التفاعلي في محرر Vim محاكى.
- التلعيب: نقاط الخبرة، المجموعات، الإنجازات والشارات.
- محرك محتوى مدفوع بملفات JSON: كل درس ملف JSON مستقل بذاته.
- ساحة تدريب لتحديات السرعة والدقة المحدودة زمنياً.
- وضع الغش، وهو مرجع أوامر يسهل الوصول إليه.
- حفظ محلي للتقدم والشارات ونقاط الخبرة، مع دعم الاستيراد والتصدير.
يتطلب التشغيل محلياً استنساخ المستودع، وتثبيت التبعيات باستخدام npm، وتشغيل سكربت الفحص وبدء خادم التطوير. تُقدَّم اللعبة عبر Vite، عادةً على http://localhost:5173/.
البنية: بدءاً من V3 يستخدم المشروع بنية منصة محتوى. يستهلك المحرك المحتوى بدلاً من ترميز الدروس بشكل ثابت. توجد الدروس في content/lessons/*.json، وتقوم خطوة بناء (npm run build:content) بتجميعها في content/index.json، الذي يقرأه المحرك. ينظم المستودع إلى content (الدروس والمخططات)، وdocs (أدلة المجتمع، البنية، المبادئ)، وjs (المحرك، نظام التقدم، مكونات واجهة المستخدم) وtests.
الاختبار والتحقق: يصف المشروع استراتيجية من أربعة أجزاء. تتحقق مجموعة العقود من دروس JSON مقابل مخططات صارمة. تشغّل المجموعة الذهبية ضغطات المفاتيح الدقيقة من مصفوفة حل الدرس عبر المحرك وتتحقق من حالة المحرر النهائية مقابل targetContent. تحمي مجموعة الانحدار من الأخطاء التي تم إصلاحها سابقاً، وتتحقق مجموعة الوحدات من منطق الحالة الداخلي والمساعدات. يمكن تشغيلها جميعاً باستخدام npm run check.
المساهمة: تهدف البنية إلى تمكين المساهمين من إضافة دروس دون فهم المحرك. تُوصف إضافة درس بأنها نسخ ملف JSON موجود، وتحرير النص وفتح طلب سحب، مع دليل مخصص في docs/community/contributing-a-lesson.md.
تشمل عناصر خارطة الطريق المدرجة الترحيل المكتمل للمحتوى المدفوع بملفات JSON، ونسخة ألفا مجتمعية مع مجموعات اختبار ووثائق وتلعيب، وتحسين تجربة المستخدم V3 قيد التنفيذ (تجربة المستخدم لأول مرة، واجهة مستخدم بسيطة، تقليل الحمل المعرفي)، ونسخة تجريبية عامة مخطط لها. يُصدر المشروع تحت رخصة MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.