
Kosmonaut هو محرك متصفح ويب تم إنشاؤه ليكون بمثابة وسيلة لرحلتك عبر شبكة الويب العالمية.
الطريق إلى النجوم شديدة الانحدار وخطيرة. لكننا لسنا خائفين ... لا يمكن إيقاف الرحلات الجوية الفضائية.
- يوري غاغارين
حتى الآن ، ليس كثيرا. يتم دعم مجموعة فرعية محدودة للغاية فقط من CSS ، لذلك لن تعمل معظم صفحات الويب. ومع ذلك ، بالنظر إلى HTML و CSS أساسيين للغاية ، فإن Kosmonaut يجعل الأشياء الصحيحة - انظر عرض Kosmonaut لهذا الرمز ، مقارنة مع Firefox:

فيما يلي ملخص للأشياء التي يمكن أن تقوم بها Kosmonaut ، الأشياء التي أعمل عليها حاليًا ، والأشياء التي تجاه مقدمة قائمة Todo.
writing-mode وخصائص direction 1: التدفقات المتعامدة (انظر المواصفات) غير مدعومة. إن دعم writing-mode المختلط بشكل عام (بما في ذلك التدفقات المتوازية) هو حاليًا-أوصي ببساطة باستخدام * { writing-mode: <val> } . ↩
تم إنشاء Kosmonaut بقصد تطوير محرك متصفح. ومع ذلك ، فإن المشروع قد وصل إلى القليل من الطرق الآن ، وكنت أفكر في منافذ يمكنني العمل من أجل تركيب Kosmonaut فيها. لقد شاركت بعض الأفكار حول المنافذ المحتملة في هذه القضية ، وأحب أن أسمع أفكارك أيضًا.
تم تصميم Kosmonaut مع الصدأ باستخدام روابط OpenGL عبر GLRS ، والغلوتين لإدارة النوافذ وإنشاء سياق OpenGL ، و HTML5Ever من Servo و CSSParser لحلية HTML و CSS ، والعديد من المكتبات المساعدة الأخرى.
للبناء من المصدر:
apt-get install ).pacman -Syu ).cargo buildلتقديم HTML و CSS مع Kosmonaut ، إما تمرير الملفات (HTML و CSS اختياريا):
cargo run -- tests/websrc/rainbow-divs.html
أو عنوان URL:
cargo run -- https://twilco.github.io/assets/html/rainbow-divs.html
لتشغيل الاختبارات ، كل من الوحدة والتخطيط ، تنفيذ:
cargo test --all
لاختبارات التخطيط ، يقوم Kosmonaut بتحويل HTML و CSS المعطى إلى شجرة مربع ، ويضعها في الخارج ، وتفريغها كنص. يتم التحقق من تلك اللقطات النصية مع Insta.
إذا كنت بحاجة إلى مراجعة / تحديث لقطات التخطيط ، فمن المفيد تثبيت أداة Cargo Insta CLI مثل SO:
cargo install cargo-insta
يمكن لـ Kosmonaut أيضًا تشغيل اختبارات المرجع. تقوم اختبارات المرجع بتقديم ملفين HTML ويقارن النتيجة بكسل بكسل ، مما يضمن أن تكون هي نفسها. هذا مفيد في الكثير من السيناريوهات ، مثل الاختبار الذي تجعل الاختزال نفس المعادلات الطويلة.
إن تطبيق Kosmonaut الحالي مستوحى بشدة من المؤازرة ، وأحيانًا يأخذ الكود مباشرة منه. وبالتالي ، تم ترخيص Kosmonaut مع ترخيص Mozilla Public 2.0.
Kosmonaut أيضا يستلهم من روبنسون. بفضل Mbrubeck على سلسلة رائعة من المقالات على محركات المتصفح.
أخيرًا ، تم أخذ تطبيق DOM من Kosomonaut من Kuchiki وتم تعديله قليلاً لتناسب احتياجاتنا.